From 737763ea1b0d9b761c244325c0d742cc4f5e5b02 Mon Sep 17 00:00:00 2001 From: Markus Rosenstihl Date: Fri, 14 Jun 2013 08:44:34 +0200 Subject: [PATCH] initial commit --- .hgignore | 2 + ConductivityGroupBox.py | 196 ++++ ConductivityGroupBox.ui | 308 ++++++ ConductivityWidget.py | 75 ++ Makefile | 5 + MatplotlibWidget.py | 124 +++ PeakGroupBox.py | 263 +++++ PeakGroupBox.ui | 481 ++++++++ PeakWidget.py | 87 ++ QDS.py | 667 +++++++++++ QDSMain.py | 118 ++ QDSMain.ui | 160 +++ data.py | 28 + icons/add_cond.qrc | 1 + icons/add_cond.svg | 3 + icons/add_peak.qrc | 1 + icons/add_peak.svg | 3 + icons/border-1d-left-icon.png | Bin 0 -> 320 bytes icons/border-1d-right-icon.png | Bin 0 -> 304 bytes icons/fit_limits.png | Bin 0 -> 22321 bytes icons/fit_limits.qrc | 1 + icons/fit_limits.svg | 3 + icons/images.qrc | 8 + icons/qds_icons.graffle | 619 +++++++++++ icons/qds_icons.svg | 3 + icons/save_fit.png | Bin 0 -> 15818 bytes icons/save_fit.qrc | 1 + icons/save_fit.svg | 6 + images_rc.py | 1905 ++++++++++++++++++++++++++++++++ 29 files changed, 5068 insertions(+) create mode 100644 .hgignore create mode 100644 ConductivityGroupBox.py create mode 100644 ConductivityGroupBox.ui create mode 100644 ConductivityWidget.py create mode 100644 Makefile create mode 100644 MatplotlibWidget.py create mode 100644 PeakGroupBox.py create mode 100644 PeakGroupBox.ui create mode 100644 PeakWidget.py create mode 100755 QDS.py create mode 100644 QDSMain.py create mode 100644 QDSMain.ui create mode 100644 data.py create mode 100644 icons/add_cond.qrc create mode 100644 icons/add_cond.svg create mode 100644 icons/add_peak.qrc create mode 100644 icons/add_peak.svg create mode 100644 icons/border-1d-left-icon.png create mode 100644 icons/border-1d-right-icon.png create mode 100644 icons/fit_limits.png create mode 100644 icons/fit_limits.qrc create mode 100644 icons/fit_limits.svg create mode 100644 icons/images.qrc create mode 100644 icons/qds_icons.graffle create mode 100644 icons/qds_icons.svg create mode 100644 icons/save_fit.png create mode 100644 icons/save_fit.qrc create mode 100644 icons/save_fit.svg create mode 100644 images_rc.py diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..2c9154d --- /dev/null +++ b/.hgignore @@ -0,0 +1,2 @@ +syntax: glob +*.pyc diff --git a/ConductivityGroupBox.py b/ConductivityGroupBox.py new file mode 100644 index 0000000..0bdfb95 --- /dev/null +++ b/ConductivityGroupBox.py @@ -0,0 +1,196 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'ConductivityGroupBox.ui' +# +# Created: Fri Jun 7 16:23:12 2013 +# by: PyQt4 UI code generator 4.10.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) + +class Ui_ConductivityGroupBox(object): + def setupUi(self, ConductivityGroupBox): + ConductivityGroupBox.setObjectName(_fromUtf8("ConductivityGroupBox")) + ConductivityGroupBox.resize(289, 168) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(ConductivityGroupBox.sizePolicy().hasHeightForWidth()) + ConductivityGroupBox.setSizePolicy(sizePolicy) + ConductivityGroupBox.setMinimumSize(QtCore.QSize(0, 150)) + self.gridLayout_2 = QtGui.QGridLayout(ConductivityGroupBox) + self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) + self.gridLayout = QtGui.QGridLayout() + self.gridLayout.setSizeConstraint(QtGui.QLayout.SetFixedSize) + self.gridLayout.setSpacing(5) + self.gridLayout.setContentsMargins(0, 0, -1, -1) + self.gridLayout.setObjectName(_fromUtf8("gridLayout")) + self.checkBox_2 = QtGui.QCheckBox(ConductivityGroupBox) + self.checkBox_2.setText(_fromUtf8("")) + self.checkBox_2.setObjectName(_fromUtf8("checkBox_2")) + self.gridLayout.addWidget(self.checkBox_2, 2, 4, 1, 1) + self.checkBox_1 = QtGui.QCheckBox(ConductivityGroupBox) + self.checkBox_1.setLayoutDirection(QtCore.Qt.LeftToRight) + self.checkBox_1.setText(_fromUtf8("")) + self.checkBox_1.setObjectName(_fromUtf8("checkBox_1")) + self.gridLayout.addWidget(self.checkBox_1, 1, 4, 1, 1) + self.lineEdit_3 = QtGui.QLineEdit(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_3.sizePolicy().hasHeightForWidth()) + self.lineEdit_3.setSizePolicy(sizePolicy) + self.lineEdit_3.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3")) + self.gridLayout.addWidget(self.lineEdit_3, 3, 1, 1, 1) + self.label_3 = QtGui.QLabel(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) + self.label_3.setSizePolicy(sizePolicy) + self.label_3.setAlignment(QtCore.Qt.AlignCenter) + self.label_3.setObjectName(_fromUtf8("label_3")) + self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1) + self.pushButton_2 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth()) + self.pushButton_2.setSizePolicy(sizePolicy) + self.pushButton_2.setObjectName(_fromUtf8("pushButton_2")) + self.gridLayout.addWidget(self.pushButton_2, 1, 3, 1, 1) + self.label_2 = QtGui.QLabel(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy) + self.label_2.setAlignment(QtCore.Qt.AlignCenter) + self.label_2.setObjectName(_fromUtf8("label_2")) + self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1) + self.pushButton_5 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_5.sizePolicy().hasHeightForWidth()) + self.pushButton_5.setSizePolicy(sizePolicy) + self.pushButton_5.setObjectName(_fromUtf8("pushButton_5")) + self.gridLayout.addWidget(self.pushButton_5, 3, 2, 1, 1) + self.pushButton_6 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_6.sizePolicy().hasHeightForWidth()) + self.pushButton_6.setSizePolicy(sizePolicy) + self.pushButton_6.setObjectName(_fromUtf8("pushButton_6")) + self.gridLayout.addWidget(self.pushButton_6, 3, 3, 1, 1) + self.lineEdit_2 = QtGui.QLineEdit(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_2.sizePolicy().hasHeightForWidth()) + self.lineEdit_2.setSizePolicy(sizePolicy) + self.lineEdit_2.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2")) + self.gridLayout.addWidget(self.lineEdit_2, 2, 1, 1, 1) + self.lineEdit_1 = QtGui.QLineEdit(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_1.sizePolicy().hasHeightForWidth()) + self.lineEdit_1.setSizePolicy(sizePolicy) + self.lineEdit_1.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_1.setObjectName(_fromUtf8("lineEdit_1")) + self.gridLayout.addWidget(self.lineEdit_1, 1, 1, 1, 1) + self.checkBox_3 = QtGui.QCheckBox(ConductivityGroupBox) + self.checkBox_3.setText(_fromUtf8("")) + self.checkBox_3.setObjectName(_fromUtf8("checkBox_3")) + self.gridLayout.addWidget(self.checkBox_3, 3, 4, 1, 1) + self.label_1 = QtGui.QLabel(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_1.sizePolicy().hasHeightForWidth()) + self.label_1.setSizePolicy(sizePolicy) + self.label_1.setAlignment(QtCore.Qt.AlignCenter) + self.label_1.setObjectName(_fromUtf8("label_1")) + self.gridLayout.addWidget(self.label_1, 1, 0, 1, 1) + self.pushButton_3 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth()) + self.pushButton_3.setSizePolicy(sizePolicy) + self.pushButton_3.setObjectName(_fromUtf8("pushButton_3")) + self.gridLayout.addWidget(self.pushButton_3, 2, 2, 1, 1) + self.pushButton_4 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_4.sizePolicy().hasHeightForWidth()) + self.pushButton_4.setSizePolicy(sizePolicy) + self.pushButton_4.setObjectName(_fromUtf8("pushButton_4")) + self.gridLayout.addWidget(self.pushButton_4, 2, 3, 1, 1) + self.pushButton_1 = QtGui.QPushButton(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_1.sizePolicy().hasHeightForWidth()) + self.pushButton_1.setSizePolicy(sizePolicy) + self.pushButton_1.setAutoDefault(False) + self.pushButton_1.setDefault(False) + self.pushButton_1.setFlat(False) + self.pushButton_1.setObjectName(_fromUtf8("pushButton_1")) + self.gridLayout.addWidget(self.pushButton_1, 1, 2, 1, 1) + self.label = QtGui.QLabel(ConductivityGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy) + self.label.setAlignment(QtCore.Qt.AlignCenter) + self.label.setObjectName(_fromUtf8("label")) + self.gridLayout.addWidget(self.label, 0, 4, 1, 1) + self.removeButton = QtGui.QPushButton(ConductivityGroupBox) + self.removeButton.setObjectName(_fromUtf8("removeButton")) + self.gridLayout.addWidget(self.removeButton, 0, 1, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) + + self.retranslateUi(ConductivityGroupBox) + QtCore.QObject.connect(self.removeButton, QtCore.SIGNAL(_fromUtf8("clicked()")), ConductivityGroupBox.hide) + QtCore.QMetaObject.connectSlotsByName(ConductivityGroupBox) + + def retranslateUi(self, ConductivityGroupBox): + ConductivityGroupBox.setWindowTitle(_translate("ConductivityGroupBox", "GroupBox", None)) + ConductivityGroupBox.setTitle(_translate("ConductivityGroupBox", "GroupBox", None)) + self.lineEdit_3.setText(_translate("ConductivityGroupBox", "0.0", None)) + self.label_3.setText(_translate("ConductivityGroupBox", "α", None)) + self.pushButton_2.setText(_translate("ConductivityGroupBox", "+", None)) + self.label_2.setText(_translate("ConductivityGroupBox", "σ", None)) + self.pushButton_5.setText(_translate("ConductivityGroupBox", "-", None)) + self.pushButton_6.setText(_translate("ConductivityGroupBox", "+", None)) + self.lineEdit_2.setText(_translate("ConductivityGroupBox", "0.00e+00", None)) + self.lineEdit_1.setText(_translate("ConductivityGroupBox", "0.00e+00", None)) + self.label_1.setText(_translate("ConductivityGroupBox", "εstatic", None)) + self.pushButton_3.setText(_translate("ConductivityGroupBox", "-", None)) + self.pushButton_4.setText(_translate("ConductivityGroupBox", "+", None)) + self.pushButton_1.setText(_translate("ConductivityGroupBox", "-", None)) + self.label.setText(_translate("ConductivityGroupBox", "Fix", None)) + self.removeButton.setText(_translate("ConductivityGroupBox", "Remove", None)) + diff --git a/ConductivityGroupBox.ui b/ConductivityGroupBox.ui new file mode 100644 index 0000000..c6cf3b8 --- /dev/null +++ b/ConductivityGroupBox.ui @@ -0,0 +1,308 @@ + + + ConductivityGroupBox + + + + 0 + 0 + 289 + 168 + + + + + 0 + 0 + + + + + 0 + 150 + + + + GroupBox + + + GroupBox + + + + + + QLayout::SetFixedSize + + + 0 + + + 0 + + + 5 + + + + + + + + + + + + Qt::LeftToRight + + + + + + + + + + + 0 + 0 + + + + + 90 + 16777215 + + + + 0.0 + + + + + + + + 0 + 0 + + + + α + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + σ + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + - + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + + 90 + 16777215 + + + + 0.00e+00 + + + + + + + + 0 + 0 + + + + + 90 + 16777215 + + + + 0.00e+00 + + + + + + + + + + + + + + + 0 + 0 + + + + ε<sub>static</sub> + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + - + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + - + + + false + + + false + + + false + + + + + + + + 0 + 0 + + + + Fix + + + Qt::AlignCenter + + + + + + + Remove + + + + + + + + + + + removeButton + clicked() + ConductivityGroupBox + hide() + + + 95 + 48 + + + 144 + 80 + + + + + diff --git a/ConductivityWidget.py b/ConductivityWidget.py new file mode 100644 index 0000000..ac0546a --- /dev/null +++ b/ConductivityWidget.py @@ -0,0 +1,75 @@ +# -*- encoding: utf-8 -*- +from PyQt4.QtCore import * +from PyQt4.QtGui import * +import ConductivityGroupBox + + +class ConductivityWidget(QGroupBox): + changedTable = pyqtSignal() + def __init__(self, parent=None): + QGroupBox.__init__(self) + super(ConductivityWidget, self).__init__(parent) + self.setTitle(u"Conductivity …") + self.ui = ConductivityGroupBox.Ui_ConductivityGroupBox() + self.ui.setupUi(self) + self.lineEdits = [self.ui.lineEdit_1, + self.ui.lineEdit_2, + self.ui.lineEdit_3] + self.fixedCheckBoxes = [self.ui.checkBox_1, + self.ui.checkBox_2, + self.ui.checkBox_3] + for le in self.lineEdits: + le.editingFinished.connect(self.changedTable.emit) + self.signalMapper = QSignalMapper(self) + for i, button in enumerate([self.ui.pushButton_1, + self.ui.pushButton_2, + self.ui.pushButton_3, + self.ui.pushButton_4, + self.ui.pushButton_5, + self.ui.pushButton_6, + ]): + self.signalMapper.setMapping(button,i) + button.clicked.connect(self.signalMapper.map) + self.signalMapper.mapped.connect(self.changeValues) + + def changeValues(self, num): + logstep = 1.29154967 # 10 log even steps per decade + linstep = 0.05 + # 0-3 down/up for d_eps and tau, respectively + # 4-7 down, up for a, b + if num == 0: + self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]/logstep)) + if num == 1: + self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]*logstep)) + if num == 2: + self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]/logstep)) + if num == 3: + self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]*logstep)) + if num == 4: + self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]-linstep)) + if num == 5: + self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]+linstep)) + self.changedTable.emit() + + def fixedParameter(self): + return [0 if cb.isChecked() else 1 for cb in self.fixedCheckBoxes] + + def setColor(self, color): + r,g,b = color + palette = self.palette() + palette.setColor(QPalette.Foreground, QColor(r,g,b)) + self.setPalette(palette) + + def getTable(self): + tmp = [i.text().toDouble()[0] # selects the number, ignores the status + for i in self.lineEdits ] + print "peakParams:",tmp + return tmp + + def update(self): + self.changedTable.emit() + + def updateTable(self, *args): + for i,arg in enumerate(args): + self.lineEdits[i].setText("%g"%(args[i])) + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1b15769 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +all: + pyrcc4 icons/images.qrc -o images_rc.py + pyuic4 QDSMain.ui -o QDSMain.py + pyuic4 PeakGroupBox.ui -o PeakGroupBox.py + pyuic4 ConductivityGroupBox.ui -o ConductivityGroupBox.py diff --git a/MatplotlibWidget.py b/MatplotlibWidget.py new file mode 100644 index 0000000..a50c698 --- /dev/null +++ b/MatplotlibWidget.py @@ -0,0 +1,124 @@ +# -*- coding: utf-8 -*- +# +# Copyright © 2009 Pierre Raybaut +# Licensed under the terms of the MIT License + +""" +MatplotlibWidget +================ + +Example of matplotlib widget for PyQt4 + +Copyright © 2009 Pierre Raybaut +This software is licensed under the terms of the MIT License + +Derived from 'embedding_in_pyqt4.py': +Copyright © 2005 Florent Rougon, 2006 Darren Dale +""" + +__version__ = "1.0.0" + +from PyQt4.QtGui import QSizePolicy +from PyQt4.QtCore import QSize + +from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as Canvas +from matplotlib.figure import Figure + +from matplotlib import rcParams +rcParams['font.size'] = 9 + + +class MatplotlibWidget(Canvas): + """ + MatplotlibWidget inherits PyQt4.QtGui.QWidget + and matplotlib.backend_bases.FigureCanvasBase + + Options: option_name (default_value) + ------- + parent (None): parent widget + title (''): figure title + xlabel (''): X-axis label + ylabel (''): Y-axis label + xlim (None): X-axis limits ([min, max]) + ylim (None): Y-axis limits ([min, max]) + xscale ('linear'): X-axis scale + yscale ('linear'): Y-axis scale + width (4): width in inches + height (3): height in inches + dpi (100): resolution in dpi + hold (False): if False, figure will be cleared each time plot is called + + Widget attributes: + ----------------- + figure: instance of matplotlib.figure.Figure + axes: figure axes + + Example: + ------- + self.widget = MatplotlibWidget(self, yscale='log', hold=True) + from numpy import linspace + x = linspace(-10, 10) + self.widget.axes.plot(x, x**2) + self.wdiget.axes.plot(x, x**3) + """ + def __init__(self, parent=None, title='', xlabel='', ylabel='', + xlim=None, ylim=None, xscale='linear', yscale='linear', + width=6, height=4, dpi=100, hold=False): + self.figure = Figure(figsize=(width, height), dpi=dpi) + self.axes = self.figure.add_subplot(111) + self.axes.set_title(title) + self.axes.set_xlabel(xlabel) + self.axes.set_ylabel(ylabel) + if xscale is not None: + self.axes.set_xscale(xscale) + if yscale is not None: + self.axes.set_yscale(yscale) + if xlim is not None: + self.axes.set_xlim(*xlim) + if ylim is not None: + self.axes.set_ylim(*ylim) + self.axes.hold(hold) + + Canvas.__init__(self, self.figure) + self.setParent(parent) + + Canvas.setSizePolicy(self, QSizePolicy.Expanding, QSizePolicy.Expanding) + Canvas.updateGeometry(self) + + def sizeHint(self): + w, h = self.get_width_height() + return QSize(w, h) + + def minimumSizeHint(self): + return QSize(10, 10) + + + +#=============================================================================== +# Example +#=============================================================================== +if __name__ == '__main__': + import sys + from PyQt4.QtGui import QMainWindow, QApplication + from numpy import linspace + + class ApplicationWindow(QMainWindow): + def __init__(self): + QMainWindow.__init__(self) + self.mplwidget = MatplotlibWidget(self, title='Example', + xlabel='Linear scale', + ylabel='Log scale', + hold=True, yscale='log') + self.mplwidget.setFocus() + self.setCentralWidget(self.mplwidget) + self.plot(self.mplwidget.axes) + + def plot(self, axes): + x = linspace(-10, 10) + axes.plot(x, x**2) + axes.plot(x, x**3) + + app = QApplication(sys.argv) + win = ApplicationWindow() + win.show() + sys.exit(app.exec_()) diff --git a/PeakGroupBox.py b/PeakGroupBox.py new file mode 100644 index 0000000..4884e79 --- /dev/null +++ b/PeakGroupBox.py @@ -0,0 +1,263 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'PeakGroupBox.ui' +# +# Created: Fri Jun 7 16:23:12 2013 +# by: PyQt4 UI code generator 4.10.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) + +class Ui_PeakGroupBox(object): + def setupUi(self, PeakGroupBox): + PeakGroupBox.setObjectName(_fromUtf8("PeakGroupBox")) + PeakGroupBox.setEnabled(True) + PeakGroupBox.resize(385, 230) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.MinimumExpanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(PeakGroupBox.sizePolicy().hasHeightForWidth()) + PeakGroupBox.setSizePolicy(sizePolicy) + PeakGroupBox.setMinimumSize(QtCore.QSize(275, 210)) + PeakGroupBox.setFlat(False) + PeakGroupBox.setCheckable(False) + self.gridLayout_2 = QtGui.QGridLayout(PeakGroupBox) + self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) + self.gridLayout = QtGui.QGridLayout() + self.gridLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint) + self.gridLayout.setSpacing(5) + self.gridLayout.setContentsMargins(0, 0, -1, -1) + self.gridLayout.setObjectName(_fromUtf8("gridLayout")) + self.checkBox_2 = QtGui.QCheckBox(PeakGroupBox) + self.checkBox_2.setText(_fromUtf8("")) + self.checkBox_2.setObjectName(_fromUtf8("checkBox_2")) + self.gridLayout.addWidget(self.checkBox_2, 2, 4, 1, 1) + self.lineEdit_3 = QtGui.QLineEdit(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_3.sizePolicy().hasHeightForWidth()) + self.lineEdit_3.setSizePolicy(sizePolicy) + self.lineEdit_3.setMinimumSize(QtCore.QSize(128, 0)) + self.lineEdit_3.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3")) + self.gridLayout.addWidget(self.lineEdit_3, 3, 1, 1, 1) + self.checkBox_3 = QtGui.QCheckBox(PeakGroupBox) + self.checkBox_3.setObjectName(_fromUtf8("checkBox_3")) + self.gridLayout.addWidget(self.checkBox_3, 3, 4, 1, 1) + self.pushButton_7 = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_7.sizePolicy().hasHeightForWidth()) + self.pushButton_7.setSizePolicy(sizePolicy) + self.pushButton_7.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_7.setObjectName(_fromUtf8("pushButton_7")) + self.gridLayout.addWidget(self.pushButton_7, 4, 2, 1, 1) + self.label_2 = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy) + self.label_2.setAlignment(QtCore.Qt.AlignCenter) + self.label_2.setObjectName(_fromUtf8("label_2")) + self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1) + self.lineEdit_4 = QtGui.QLineEdit(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_4.sizePolicy().hasHeightForWidth()) + self.lineEdit_4.setSizePolicy(sizePolicy) + self.lineEdit_4.setMinimumSize(QtCore.QSize(128, 0)) + self.lineEdit_4.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_4.setObjectName(_fromUtf8("lineEdit_4")) + self.gridLayout.addWidget(self.lineEdit_4, 4, 1, 1, 1) + self.pushButton_1 = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_1.sizePolicy().hasHeightForWidth()) + self.pushButton_1.setSizePolicy(sizePolicy) + self.pushButton_1.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_1.setAutoDefault(False) + self.pushButton_1.setDefault(False) + self.pushButton_1.setFlat(False) + self.pushButton_1.setObjectName(_fromUtf8("pushButton_1")) + self.gridLayout.addWidget(self.pushButton_1, 1, 2, 1, 1) + self.pushButton_6 = QtGui.QPushButton(PeakGroupBox) + self.pushButton_6.setEnabled(True) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_6.sizePolicy().hasHeightForWidth()) + self.pushButton_6.setSizePolicy(sizePolicy) + self.pushButton_6.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_6.setObjectName(_fromUtf8("pushButton_6")) + self.gridLayout.addWidget(self.pushButton_6, 3, 3, 1, 1) + self.label = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy) + self.label.setAlignment(QtCore.Qt.AlignCenter) + self.label.setObjectName(_fromUtf8("label")) + self.gridLayout.addWidget(self.label, 0, 4, 1, 1) + self.pushButton_5 = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_5.sizePolicy().hasHeightForWidth()) + self.pushButton_5.setSizePolicy(sizePolicy) + self.pushButton_5.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_5.setObjectName(_fromUtf8("pushButton_5")) + self.gridLayout.addWidget(self.pushButton_5, 3, 2, 1, 1) + self.removeButton = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.removeButton.sizePolicy().hasHeightForWidth()) + self.removeButton.setSizePolicy(sizePolicy) + self.removeButton.setMinimumSize(QtCore.QSize(124, 0)) + self.removeButton.setObjectName(_fromUtf8("removeButton")) + self.gridLayout.addWidget(self.removeButton, 0, 1, 1, 1) + self.pushButton_8 = QtGui.QPushButton(PeakGroupBox) + self.pushButton_8.setEnabled(True) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_8.sizePolicy().hasHeightForWidth()) + self.pushButton_8.setSizePolicy(sizePolicy) + self.pushButton_8.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_8.setObjectName(_fromUtf8("pushButton_8")) + self.gridLayout.addWidget(self.pushButton_8, 4, 3, 1, 1) + self.label_3 = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) + self.label_3.setSizePolicy(sizePolicy) + self.label_3.setAlignment(QtCore.Qt.AlignCenter) + self.label_3.setObjectName(_fromUtf8("label_3")) + self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1) + self.pushButton_4 = QtGui.QPushButton(PeakGroupBox) + self.pushButton_4.setEnabled(True) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_4.sizePolicy().hasHeightForWidth()) + self.pushButton_4.setSizePolicy(sizePolicy) + self.pushButton_4.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_4.setObjectName(_fromUtf8("pushButton_4")) + self.gridLayout.addWidget(self.pushButton_4, 2, 3, 1, 1) + self.label_1 = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_1.sizePolicy().hasHeightForWidth()) + self.label_1.setSizePolicy(sizePolicy) + self.label_1.setAlignment(QtCore.Qt.AlignCenter) + self.label_1.setObjectName(_fromUtf8("label_1")) + self.gridLayout.addWidget(self.label_1, 1, 0, 1, 1) + self.lineEdit_2 = QtGui.QLineEdit(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_2.sizePolicy().hasHeightForWidth()) + self.lineEdit_2.setSizePolicy(sizePolicy) + self.lineEdit_2.setMinimumSize(QtCore.QSize(128, 0)) + self.lineEdit_2.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2")) + self.gridLayout.addWidget(self.lineEdit_2, 2, 1, 1, 1) + self.checkBox_1 = QtGui.QCheckBox(PeakGroupBox) + self.checkBox_1.setLayoutDirection(QtCore.Qt.LeftToRight) + self.checkBox_1.setText(_fromUtf8("")) + self.checkBox_1.setObjectName(_fromUtf8("checkBox_1")) + self.gridLayout.addWidget(self.checkBox_1, 1, 4, 1, 1) + self.lineEdit_1 = QtGui.QLineEdit(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.lineEdit_1.sizePolicy().hasHeightForWidth()) + self.lineEdit_1.setSizePolicy(sizePolicy) + self.lineEdit_1.setMinimumSize(QtCore.QSize(128, 0)) + self.lineEdit_1.setMaximumSize(QtCore.QSize(90, 16777215)) + self.lineEdit_1.setObjectName(_fromUtf8("lineEdit_1")) + self.gridLayout.addWidget(self.lineEdit_1, 1, 1, 1, 1) + self.pushButton_3 = QtGui.QPushButton(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth()) + self.pushButton_3.setSizePolicy(sizePolicy) + self.pushButton_3.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_3.setObjectName(_fromUtf8("pushButton_3")) + self.gridLayout.addWidget(self.pushButton_3, 2, 2, 1, 1) + self.label_4 = QtGui.QLabel(PeakGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy) + self.label_4.setAlignment(QtCore.Qt.AlignCenter) + self.label_4.setObjectName(_fromUtf8("label_4")) + self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1) + self.checkBox_4 = QtGui.QCheckBox(PeakGroupBox) + self.checkBox_4.setObjectName(_fromUtf8("checkBox_4")) + self.gridLayout.addWidget(self.checkBox_4, 4, 4, 1, 1) + self.pushButton_2 = QtGui.QPushButton(PeakGroupBox) + self.pushButton_2.setEnabled(True) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth()) + self.pushButton_2.setSizePolicy(sizePolicy) + self.pushButton_2.setMinimumSize(QtCore.QSize(64, 0)) + self.pushButton_2.setObjectName(_fromUtf8("pushButton_2")) + self.gridLayout.addWidget(self.pushButton_2, 1, 3, 1, 1) + self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) + + self.retranslateUi(PeakGroupBox) + QtCore.QObject.connect(self.removeButton, QtCore.SIGNAL(_fromUtf8("clicked()")), PeakGroupBox.hide) + QtCore.QMetaObject.connectSlotsByName(PeakGroupBox) + + def retranslateUi(self, PeakGroupBox): + PeakGroupBox.setWindowTitle(_translate("PeakGroupBox", "GroupBox", None)) + PeakGroupBox.setTitle(_translate("PeakGroupBox", "GroupBox", None)) + self.lineEdit_3.setText(_translate("PeakGroupBox", "0.0", None)) + self.checkBox_3.setText(_translate("PeakGroupBox", "CD", None)) + self.pushButton_7.setText(_translate("PeakGroupBox", "-", None)) + self.label_2.setText(_translate("PeakGroupBox", "τ", None)) + self.lineEdit_4.setText(_translate("PeakGroupBox", "0.0", None)) + self.pushButton_1.setText(_translate("PeakGroupBox", "-", None)) + self.pushButton_6.setText(_translate("PeakGroupBox", "+", None)) + self.label.setText(_translate("PeakGroupBox", "Fix", None)) + self.pushButton_5.setText(_translate("PeakGroupBox", "-", None)) + self.removeButton.setText(_translate("PeakGroupBox", "Remove", None)) + self.pushButton_8.setText(_translate("PeakGroupBox", "+", None)) + self.label_3.setText(_translate("PeakGroupBox", "γ", None)) + self.pushButton_4.setText(_translate("PeakGroupBox", "+", None)) + self.label_1.setText(_translate("PeakGroupBox", "Δε", None)) + self.lineEdit_2.setText(_translate("PeakGroupBox", "0.00e+00", None)) + self.lineEdit_1.setText(_translate("PeakGroupBox", "0.00e+00", None)) + self.pushButton_3.setText(_translate("PeakGroupBox", "-", None)) + self.label_4.setText(_translate("PeakGroupBox", "β", None)) + self.checkBox_4.setText(_translate("PeakGroupBox", "CC", None)) + self.pushButton_2.setText(_translate("PeakGroupBox", "+", None)) + diff --git a/PeakGroupBox.ui b/PeakGroupBox.ui new file mode 100644 index 0000000..0050442 --- /dev/null +++ b/PeakGroupBox.ui @@ -0,0 +1,481 @@ + + + PeakGroupBox + + + true + + + + 0 + 0 + 385 + 230 + + + + + 0 + 0 + + + + + 275 + 210 + + + + GroupBox + + + GroupBox + + + false + + + false + + + + + + QLayout::SetDefaultConstraint + + + 0 + + + 0 + + + 5 + + + + + + + + + + + + + 0 + 0 + + + + + 128 + 0 + + + + + 90 + 16777215 + + + + 0.0 + + + + + + + CD + + + + + + + + 0 + 0 + + + + + 64 + 0 + + + + - + + + + + + + + 0 + 0 + + + + τ + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 128 + 0 + + + + + 90 + 16777215 + + + + 0.0 + + + + + + + + 0 + 0 + + + + + 64 + 0 + + + + - + + + false + + + false + + + false + + + + + + + true + + + + 0 + 0 + + + + + 64 + 0 + + + + + + + + + + + + + 0 + 0 + + + + Fix + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 64 + 0 + + + + - + + + + + + + + 0 + 0 + + + + + 124 + 0 + + + + Remove + + + + + + + true + + + + 0 + 0 + + + + + 64 + 0 + + + + + + + + + + + + + 0 + 0 + + + + γ + + + Qt::AlignCenter + + + + + + + true + + + + 0 + 0 + + + + + 64 + 0 + + + + + + + + + + + + + 0 + 0 + + + + Δε + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 128 + 0 + + + + + 90 + 16777215 + + + + 0.00e+00 + + + + + + + Qt::LeftToRight + + + + + + + + + + + 0 + 0 + + + + + 128 + 0 + + + + + 90 + 16777215 + + + + 0.00e+00 + + + + + + + + 0 + 0 + + + + + 64 + 0 + + + + - + + + + + + + + 0 + 0 + + + + β + + + Qt::AlignCenter + + + + + + + CC + + + + + + + true + + + + 0 + 0 + + + + + 64 + 0 + + + + + + + + + + + + + + + + removeButton + clicked() + PeakGroupBox + hide() + + + 82 + 42 + + + 131 + 88 + + + + + diff --git a/PeakWidget.py b/PeakWidget.py new file mode 100644 index 0000000..038f455 --- /dev/null +++ b/PeakWidget.py @@ -0,0 +1,87 @@ +from PyQt4.QtCore import * +from PyQt4.QtGui import * +import PeakGroupBox + + +class PeakWidget(QGroupBox): + changedTable = pyqtSignal() + def __init__(self, parent=None): + QGroupBox.__init__(self) + super(PeakWidget, self).__init__(parent) + self.ui = PeakGroupBox.Ui_PeakGroupBox() + self.ui.setupUi(self) + self.lineEdits = [self.ui.lineEdit_1, + self.ui.lineEdit_2, + self.ui.lineEdit_3, + self.ui.lineEdit_4] + self.fixedCheckBoxes = [self.ui.checkBox_1, + self.ui.checkBox_2, + self.ui.checkBox_3, + self.ui.checkBox_4] + for le in self.lineEdits: + le.editingFinished.connect(self.changedTable.emit) + self.signalMapper = QSignalMapper(self) + for i, button in enumerate([self.ui.pushButton_1, + self.ui.pushButton_2, + self.ui.pushButton_3, + self.ui.pushButton_4, + self.ui.pushButton_5, + self.ui.pushButton_6, + self.ui.pushButton_7, + self.ui.pushButton_8, + ]): + self.signalMapper.setMapping(button,i) + button.clicked.connect(self.signalMapper.map) + self.signalMapper.mapped.connect(self.changeValues) + + def changeValues(self, num): + logstep = 1.29154967 # 10 log even steps per decade + linstep = 0.05 + # 0-3 down/up for d_eps and tau, respectively + # 4-7 down, up for a, b + if num == 0: + self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]/logstep)) + if num == 1: + self.ui.lineEdit_1.setText("%.2e"%(self.ui.lineEdit_1.text().toDouble()[0]*logstep)) + if num == 2: + self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]/logstep)) + if num == 3: + self.ui.lineEdit_2.setText("%.2e"%(self.ui.lineEdit_2.text().toDouble()[0]*logstep)) + if num == 4: + self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]-linstep)) + if num == 5: + self.ui.lineEdit_3.setText("%.2e"%(self.ui.lineEdit_3.text().toDouble()[0]+linstep)) + if num == 6: + self.ui.lineEdit_4.setText("%.2e"%(self.ui.lineEdit_4.text().toDouble()[0]-linstep)) + if num == 7: + self.ui.lineEdit_4.setText("%.2e"%(self.ui.lineEdit_4.text().toDouble()[0]+linstep)) + self.changedTable.emit() + + def fixedParameter(self): + return [0 if cb.isChecked() else 1 for cb in self.fixedCheckBoxes] + + + def setId(self,id): + self.id=id + self.setTitle("Peak %i"%id) + + def setColor(self, color): + r,g,b = color + palette = self.palette() + palette.setColor(QPalette.Foreground, QColor(r,g,b)) + self.setPalette(palette) + + def peakParameter(self): + tmp = [i.text().toDouble()[0] # selects the number, ignores the status + for i in self.lineEdits ] + print "peakParams:",tmp + return tmp + + def update(self): + self.changedTable.emit() + + def updateTable(self, *args): + print "updateTable", args + for i,arg in enumerate(args): + self.lineEdits[i].setText("%g"%(args[i])) + diff --git a/QDS.py b/QDS.py new file mode 100755 index 0000000..b740ad2 --- /dev/null +++ b/QDS.py @@ -0,0 +1,667 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- +import os,sys +import re +import signal + + +from PyQt4.QtCore import * +from PyQt4.QtGui import * +from PyQt4.uic import * + +from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas +from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar +import matplotlib.pyplot as plt +import matplotlib.colors + +import numpy as N +import scipy.odr as O +import scipy.optimize as opt + +import MatplotlibWidget +import QDSMain +import PeakWidget +import ConductivityWidget +from data import Data +#import yaff + + + +def sigint_handler(*args): + """Handler for the SIGINT signal.""" + sys.stderr.write('\r') + if QMessageBox.question(None, '', "Are you sure you want to quit?", + QMessageBox.Yes | QMessageBox.No, + QMessageBox.No) == QMessageBox.Yes: + QApplication.quit() + + +def id_to_color(id): + colors = ['b', 'r','g','c','m','y','k'] + conv = matplotlib.colors.ColorConverter() + return conv.to_rgb(colors[id%len(colors)]) + + +def tau_peak(f,a,b): + tau = (N.sin( N.pi*a/2./(b+1) )/N.sin( N.pi*a*b/2./(b+1) ))**(1/a) + tau /= 2*N.pi*f + return tau + +def hn(p,nu): + delta_eps,tau,a,b = p + om = 2*N.pi*nu + Phi = N.arctan( (om*tau)**a*N.sin(N.pi*a/2.)/(1.+(om*tau)**a*N.cos(N.pi*a/2.)) ) + e_loss = delta_eps * (1+ 2*(om*tau)**a * N.cos(N.pi*a/2.) + (om*tau)**(2.*a) )**(-b/2.)*N.sin(b*Phi) + e_stor = delta_eps * (1+ 2*(om*tau)**a * N.cos(N.pi*a/2.) + (om*tau)**(2.*a) )**(-b/2.)*N.cos(b*Phi) + return 2*e_loss + +def multi_hn(p,nu): + conductivity = p[1] + cond_beta = p[2] + om = 2*N.pi*nu + e_loss = conductivity/om**cond_beta + e_loss += p[0] + #for key, igroup in groupby(p[3:], lambda x: x//4): + for i in xrange(len(p[3:])/4): + delta_eps, tau, a, b = p[3+i*4:3+(i+1)*4] + #delta_eps, tau, a, b = list(igroup) + #print delta_eps,tau,a,b + #a = 0.5 *(1 + N.tanh(a)) + #b = 0.5 *(1 + N.tanh(b)) + Phi = N.arctan( (om*tau)**a*N.sin(N.pi*a/2.)/(1.+(om*tau)**a*N.cos(N.pi*a/2.)) ) + e_loss += 2*delta_eps * (1+ 2*(om*tau)**a * N.cos(N.pi*a/2.) + (om*tau)**(2.*a) )**(-b/2.)*N.sin(b*Phi) + #e_stor = delta_eps * (1+ 2*(om*tau)**a * N.cos(N.pi*a/2.) + (om*tau)**(2.*a) )**(-b/2.)*N.cos(b*Phi) + return e_loss + +def mini_func(p,x, y): + res = y - multi_hn(p,x) + # apply weights + res /= 1/y + return N.sqrt(N.dot(res,res)) + +def conductivity(p, nu): + c = p[0]/(2*N.pi*nu)**p[1] + return c + +def hnfit(delta_eps, tau, points): + x = [point[0] for point in points] + y = [point[1] for point in points] + dat = O.Data(x,y) + mod = O.Model(hn) + odr = O.ODR(dat,mod, [delta_eps, tau, 1, 1], ifixb=(0,0,1,1), ifixx=(0,), maxit=1000) + odr.run() + odr.output.pprint() + return odr.output.beta + +def fit_odr(x,y,p0, fixed): + dat = O.Data(x,y, 1.0/y) + mod = O.Model(multi_hn) + odr = O.ODR(dat, mod, p0, ifixx=(0,), ifixb=fixed, maxit=2000) + odr.run() + return odr.output.beta + +def fit_lbfgsb(x,y,p0, fixed): + # TODO fixed parameters… + bounds = [(0,None), (0,1)] + for i in xrange(len(p0[3:])/4): + bounds.append((1e-4,1e12)) # delta_eps + bounds.append((1e-12,1e3)) # tau + bounds.append((0.1,1)) # a + bounds.append((0.1,1)) # b + + x,f_minvalue, info_dict = opt.fmin_l_bfgs_b(mini_func, p0, + fprime=None, + args=(x,y), + approx_grad=True, + bounds=bounds, + iprint=0, + maxfun=4000) + if info_dict['warnflag'] != 0: + print info_dict["task"] + return x + +def fit_anneal(x,y,p0,fixed): + bounds = [(0,1e14), (0,1)] + for i in xrange(len(p0[2:])/4): + bounds.append((1e-4,1e12)) # delta_eps + bounds.append((1e-12,1e3)) # tau + bounds.append((0.1,1)) # a + bounds.append((0.1,1)) # b + ret = opt.anneal(mini_func, p0, + args=(x,y), + maxeval=20000, + maxiter=30000, + lower=[b[0] for b in bounds], + upper=[b[1] for b in bounds], + dwell=100, + full_output=1) + #pmin, func_min, final_Temp, cooling_iters,accepted_tests, retval + #retval : int + #Flag indicating stopping condition:: + + # 0 : Points no longer changing + # 1 : Cooled to final temperature + # 2 : Maximum function evaluations + # 3 : Maximum cooling iterations reached + # 4 : Maximum accepted query locations reached + # 5 : Final point not the minimum amongst encountered points + + print "Stop reason", ret + return ret[0] + + + + +class Conductivity(QObject): + changedData = pyqtSignal() + + def __init__(self, mpl=None): + QObject.__init__(self) + super(Conductivity, self) + self.widget = ConductivityWidget.ConductivityWidget() + self.widget.changedTable.connect(self.updateData) + self.mpl_line = None + self.mpl_line_static = None + self.mpl = mpl + + + def getParameter(self): + p = self.widget.getTable() + return p + + def getFixed(self): + p = self.widget.fixedParameter() + return p + + def setParameter(self, eps_static=None, sigma=None, sigma_N=None): + self.widget.updateTable(eps_static, sigma, sigma_N) + self.updateData() + + def updateData(self): + # get current axis limits + x_min, x_max = self.mpl.canvas.axes.get_xlim() + y_min, y_max = self.mpl.canvas.axes.get_ylim() + + nu = N.logspace(N.log10(x_min), N.log10(x_max), 1024) + eps_static, sigma, sigma_N = self.getParameter() + y = conductivity([sigma, sigma_N],nu) + y_static = N.ones(len(nu))*eps_static + # clip data to axes limits + mask_static = (y_static < y_max) & (y_static > y_min) + # clip data to axes limits + mask = (y < y_max) & (y > y_min) + #mask = mask_static = N.ones(1024, dtype='bool') + if self.mpl_line == None: + self.mpl_line, = self.mpl.canvas.axes.loglog(nu[mask],y[mask],'k--',label="Cond.", animated=True) # peak + else: + self.mpl_line.set_xdata(nu[mask]) + self.mpl_line.set_ydata(y[mask]) + + if self.mpl_line_static == None: + self.mpl_line_static, = self.mpl.canvas.axes.loglog(nu[mask_static], + y_static[mask_static], + 'k:', + label=r"$\epsilon_S$", + animated=True) # peak + else: + self.mpl_line_static.set_xdata(nu[mask_static]) + self.mpl_line_static.set_ydata(y_static[mask_static]) + + self.changedData.emit() + + +class Peak(QObject): + changedData = pyqtSignal() + def __init__(self, id=None, mpl=None): + QObject.__init__(self) + super(Peak, self).__init__() + + self.color = id_to_color(id) + self.widget = PeakWidget.PeakWidget() + self.widget.setId(id) + self.widget.setColor(map(int, [255*i for i in self.color])) + self.widget.changedTable.connect(self.updatePeak) + self.mpl = mpl + self.mpl_line = None + + + def getParameter(self): + p = self.widget.peakParameter() + return p + + def getFixed(self): + p = self.widget.fixedParameter() + return p + + def setParameter(self, delta_eps=None, tau=None, a=None, b=None): + self.widget.updateTable(delta_eps, tau, a, b) + self.updatePeak() + + def updatePeak(self): + # get current axis limits + x_min, x_max = self.mpl.canvas.axes.get_xlim() + y_min, y_max = self.mpl.canvas.axes.get_ylim() + + nu = N.logspace(N.log10(x_min), N.log10(x_max), 2048) + y = hn(self.getParameter(),nu) + # clip data to axes limits + mask = (y < y_max) & (y > y_min) + y = y[mask] + nu = nu[mask] + if self.mpl_line == None: + self.mpl_line, = self.mpl.canvas.axes.loglog(nu,y,'--',label="Peak %i"%(self.widget.id), animated=True) # peak + self.mpl_line.set_color(self.color) + else: + self.mpl_line.set_xdata(nu) + self.mpl_line.set_ydata(y) + self.changedData.emit() + + + +class AppWindow(QMainWindow): + def __init__(self, parent=None): + super(AppWindow, self).__init__(parent) + self.ui = QDSMain.Ui_MainWindow() + self.ui.setupUi(self) + self.picked_artist = None + self.data = None + + + self.Conductivity = None + + self._lines = dict() + + self.peakId = 0 + self.peakBoxes = {} + + ## menubar + fileMenu = self.menuBar().addMenu("File") + openFile = QAction("&Open",self) + openFile.setShortcut(QKeySequence.Open) + openFile.triggered.connect(self.openFile) + fileMenu.addAction(openFile) + # fitting methods + fitMenu = self.menuBar().addMenu("Fit") + # lm + fit_lmAction = QAction("&Levenberg-Marquardt",self) + fitMenu.addAction(fit_lmAction) + # lbfgsb + fit_lbfgsbAction = QAction("&L-BFGS-B",self) + fitMenu.addAction(fit_lbfgsbAction) + # Simulated Annealing + fit_annealAction = QAction("&Simulated Annealing",self) + fitMenu.addAction(fit_annealAction) + + self.signalMapper = QSignalMapper(self) + for i, fit_action in enumerate([fit_lmAction, fit_lbfgsbAction, fit_annealAction + ]): + self.signalMapper.setMapping(fit_action,i) + fit_action.triggered.connect(self.signalMapper.map) + self.signalMapper.mapped.connect(self.fitData) + + # save fitted values + self.ui.actionSave_FitResult.triggered.connect(self.saveFit) + # he plot area, a matplotlib widget + self.mplWidget = PlotWidget(self.ui.mplWidget) + self.mplWidget.canvas.draw() + self.mplWidget.updateGeometry() + + # what to do with CIDs? + self.cid = [] + self.cid.append( self.mplWidget.canvas.mpl_connect("button_press_event", self.onclick) ) + self.cid.append( self.mplWidget.canvas.mpl_connect("pick_event", self.pick) ) + self.cid.append( self.mplWidget.canvas.mpl_connect("button_release_event", self.mpl_button_release) ) + self.mplWidget.toolbar.spanSelectedTrigger.connect(self.set_fit_xlimits) + + def resizeEvent(self,evt): + self.mplWidget.canvas.draw() + self.mplWidget._bg_cache = self.mplWidget.canvas.copy_from_bbox(self.mplWidget.canvas.axes.bbox) + for line in self.mplWidget.canvas.axes.get_lines(): + line.set_animated(False) + self.mplWidget.canvas.draw() + for line in self.mplWidget.canvas.axes.get_lines(): + line.set_animated(True) + + + def saveFit(self): + if not os.path.exists("fitresults.log"): + f = open("fitresults.log","w") + # write header + f.write('# T ') + if self.Conductivity != None: + f.write("e_s sig pow_sig ") + for i,pb in enumerate(self.peakBoxes): + f.write("e_inf_%i tau_%i alpha_%i beta_%i"%(i,i,i,i)) + f.write('\n') + f.flush() + else: + f = open("fitresults.log","a") + #f.write("%3.2f "%(self.data.meta["T"])) + pars = list(self.fitresult) + pars.insert(0,self.data.meta["T"] ) + print pars + N.savetxt(f,N.array([pars,]),fmt="%.5g", delimiter=" ") + f.close() + + def set_fit_xlimits(self,xmin,xmax): + self.data.fit_limits = (xmin, xmax, None,None) + + def mpl_button_release(self,event): + if self.picked_artist: + if not event.inaxes: # moved outside the plot, add back to original position + self.mplWidget.canvas.axes.add_artist(self.picked_artist) + else: # we move one of the three points determinig the peak + self.picked_artist.set_xdata(event.xdata) + self.picked_artist.set_ydata(event.ydata) + self.mplWidget.canvas.axes.add_artist(self.picked_artist) + for peak in self.peakBoxes.keys(): + peak.updatePeak() + self.picked_artist = None + self.mplWidget.canvas.draw_idle() + + def pick(self,event): + self.picked_artist = event.artist + event.artist.remove() + self.mplWidget.canvas.draw_idle() + + def addCond(self, pos): + if self.Conductivity != None: + return + self.statusBar().showMessage("Click on graph") + self.Conductivity = Conductivity(mpl=self.mplWidget) + self.Conductivity.changedData.connect(self.updatePlot) + self.Conductivity.setParameter(0, 1/(pos[0]/pos[1]/2/N.pi), 1.0) + self.ui.scrollAreaWidgetContents.layout().addWidget(self.Conductivity.widget) + self.Conductivity.widget.ui.removeButton.clicked.connect(self.delCond) + + def delCond(self): + self.cond_param = None + self.cond = None + self.Conductivity.mpl_line.remove() + self.Conductivity.mpl_line_static.remove() + del self.Conductivity + self.Conductivity = None + self.updatePlot() + + + def addPeak(self, pos): + self.peakId += 1 + self.statusBar().showMessage("Select Peak Position") + + peak = Peak(id=self.peakId, mpl=self.mplWidget) + # connect to delPeak + peak.widget.ui.removeButton.clicked.connect(self.delPeak) + + peak.setParameter(delta_eps=pos[1], tau=1/(2.*N.pi*pos[0]), a=1, b=1) + + peak.changedData.connect(self.updatePlot) + + self.peakBoxes[peak]=None + for pb in self.peakBoxes.keys(): + self.ui.scrollAreaWidgetContents.layout().addWidget(pb.widget) + self.updatePlot() + + def delPeak(self): + deletePeaks = [] + for i in xrange(self.ui.scrollAreaWidgetContents.layout().count()): + print i + + for i,peak in enumerate(self.peakBoxes.keys()): + if peak.widget.isHidden(): + peak.mpl_line.remove() + deletePeaks.append(peak) + for peak in deletePeaks: + self.peakBoxes.pop(peak) + self.updatePlot() + + def fitData(self, method): + if self.Conductivity != None: + start_parameter = list(self.Conductivity.getParameter()) + fixed_params = [ i for i in self.Conductivity.getFixed() ] + else: + start_parameter = [0,0,1] + fixed_params = [0,0,0] + + for pb in self.peakBoxes.keys(): + [ start_parameter.append(i) for i in pb.getParameter() ] + [ fixed_params.append(i) for i in pb.getFixed() ] + + + fit_methods = [fit_odr, fit_lbfgsb, fit_anneal] + print "StartParameter",start_parameter + print "FixedParameter",fixed_params + print "Limits (xmin, xmax, ymin, ymax)", self.data.fit_limits + _freq, _fit = self.data.get_data() + result = fit_methods[method](_freq, _fit.imag, start_parameter, fixed_params) + self.fitresult = result + for i,pb in enumerate(self.peakBoxes.keys()): + delta_eps, tau, a, b = result[3+i*4:3+(i+1)*4] + pb.setParameter(delta_eps, tau, a, b ) + e_static,sigma, sigma_N = result[:3] + if self.Conductivity != None: + self.Conductivity.setParameter(e_static,sigma,sigma_N) + print "*** FIT RESULTS ***" + print u"\u03c3" + print u"\u0394\u03b5" + self.updatePlot() + + def onclick(self, event): + """ + Handles the clicks on the matplotlib figure canvas + """ + if self.ui.actionAdd_Peak.isChecked(): + x,y = event.xdata,event.ydata + self.addPeak((x,y)) + self.ui.actionAdd_Peak.setChecked(False) + self.statusBar().clear() + if self.ui.actionAdd_Cond.isChecked(): + x,y = event.xdata,event.ydata + self.addCond((x,y)) + self.ui.actionAdd_Cond.setChecked(False) + self.statusBar().clear() + + def openFile(self): + path = unicode(QFileDialog.getOpenFileName(self, "Open file")) + # TODO anaylize file (LF,MF, HF) and act accordingly + data = N.loadtxt(path, skiprows=4) + numpat = re.compile('\d+\.\d+') + try: + for line in open(path).readlines(): + if re.search("Fixed", line) or re.search("Temp", line): + Temp = float(re.search(numpat, line).group()) + print "Temperature found in file:",Temp + break + else: + print "No Temperature found in file" + #Temp = QInputDialog.getDouble(self, "No temperature found in data set","Temperature/K:", value=Temp)[0] + except: + Temp = QInputDialog.getDouble(self, "No temperature found in data set","Temperature/K:", value=0.0)[0] + # mask the data to values > 0 (loglog plot) + mask = (data[:,1]>0) & (data[:,2]>0) #& (data[:,2]>1e-3) & (data[:,0] > 1e-2) + _freq = data[mask,0] + _die_stor = data[mask,1] + _die_loss = data[mask,2] + # clear the figure + self.mplWidget.canvas.axes.clear() + #if self.data != None: + # self.data.remove_curves() + self.data = Data(_freq, _die_stor, _die_loss) + self.data.meta["T"]=Temp + self.data.data_curve, = self.mplWidget.canvas.axes.loglog(self.data.frequency, + self.data.epsilon.imag, + 'b.', + markersize=4, + label="Data", + animated=True) + self.mplWidget.canvas.axes.set_xlim(_freq.min(), _freq.max()) + self.mplWidget.canvas.axes.set_xlabel("frequency/Hz", fontsize=16) + self.mplWidget.canvas.axes.set_ylabel(u'\u03B5"', fontsize=16) + self.mplWidget.canvas.axes.autoscale(True) + self.legend = self.mplWidget.canvas.axes.legend(title="T=%.2f"%Temp) + for line in self.mplWidget.canvas.axes.get_lines(): + line.set_animated(False) + self.mplWidget.canvas.axes.grid() + self.mplWidget.canvas.draw() + for line in self.mplWidget.canvas.axes.get_lines(): + line.set_animated(True) + self.legend.set_animated(True) + self.mplWidget.canvas.axes.autoscale(False) + self.mplWidget._bg_cache = self.mplWidget.canvas.copy_from_bbox(self.mplWidget.canvas.axes.bbox) + self.updatePlot() + + def updatePlot(self): + nu = self.data.frequency + fit = N.zeros(len(nu)) + for peak in self.peakBoxes.keys(): + params = peak.getParameter() + fit += hn(params,nu) + if self.Conductivity != None: + print "Cond. given" + params = self.Conductivity.getParameter()[1:] + fit += conductivity(params, nu) + fit += self.Conductivity.getParameter()[0] # eps static + # clip data to axes limits + y_min, y_max = self.mplWidget.canvas.axes.get_ylim() + mask = (fit < y_max) & (fit > y_min) + #mask = N.ones(len(fit), dtype="bool") + if self.data.fitted_curve == None: + self.data.fitted_curve, = self.mplWidget.canvas.axes.loglog(nu[mask],fit[mask], + 'k-', + alpha=0.5, + label="Sum", + animated=True) + else: + self.data.fitted_curve.set_xdata(nu[mask]) + self.data.fitted_curve.set_ydata(fit[mask]) + # update lines + self.mplWidget.canvas.restore_region(self.mplWidget._bg_cache) + self.legend = self.mplWidget.canvas.axes.legend(title = "T=%.2f"%(self.data.meta["T"]) ) + self.legend.set_animated(True) + for animated_artist in self.mplWidget.canvas.axes.findobj(match=lambda x: x.get_animated()): + #print "updatePlot: animated artist:",animated_artist + self.mplWidget.canvas.axes.draw_artist(animated_artist) + self.mplWidget.canvas.blit( self.mplWidget.canvas.axes.bbox ) + + +class PlotWidget(QWidget): + def __init__(self, parent=None): + QWidget.__init__(self) + super(PlotWidget, self).__init__(parent) + self.mplwidget = MatplotlibWidget.MatplotlibWidget(hold=True, + xlim=(1e-2,1e7), + xscale='log', + yscale='log') + self.canvas = self.mplwidget.figure.canvas # shortcut + self.canvas.axes.grid(True) + self.bbox_size = self.canvas.axes.bbox.size + print "PlotWidget",self.bbox_size + #self.toolbar = NavigationToolbar(self.mplwidget, parent) + self.toolbar = CustomToolbar(self.canvas, self.mplwidget, parent) + layout = QVBoxLayout(parent) + layout.addWidget(self.canvas) + layout.addWidget(self.mplwidget) + layout.addWidget(self.toolbar) + self._bg_cache = None + + + +class CustomToolbar(NavigationToolbar): + # our spanChanged signal + spanSelectedTrigger = pyqtSignal(float, float, name='spanChanged') + def __init__(self, plotCanvas, plotWidget, parent=None): + NavigationToolbar.__init__(self, plotCanvas, plotWidget, coordinates=True) + self.canvas = plotCanvas + # Span select Button + #self.span_button = QAction(QIcon("border-1d-right-icon.png" ), "Span", self) + self.span_button = QAction( QIcon(QPixmap(":/icons/fit_limits.png")), "Span", self) + self.span_button.setCheckable(True) + + self.cids = [] + self.cids.append(self.canvas.mpl_connect('button_press_event', self.press)) + self.cids.append(self.canvas.mpl_connect('motion_notify_event', self.onmove)) + self.cids.append(self.canvas.mpl_connect('button_release_event', self.release)) + self.cids.append(self.canvas.mpl_connect('draw_event', self.update_background)) + + + # act.setCheckable(True) + # add actions before the coordinates widget + self.insertAction(self.actions()[-1], self.span_button) + + self.buttons={} + self._pressed = False + self.background = None + self.span = None + self.istart = 0 + self.iend = 0 + self.xstart = 0 + self.xend = 0 + + def set_span(self,x1,x2): + #trans = blended_transform_factory(self.axes.transData, self.axes.transAxes) + cur = self.span.get_xy() + cur[0,0] = x1 + cur[1,0] = x1 + cur[2,0] = x2 + cur[3,0] = x2 + self.span.set_xy(cur) + + def ignore(self, event): + # 'return ``True`` if *event* should be ignored' + return event.inaxes!=self.canvas.axes or event.button !=1 + + def update_background(self, event): + #if self.canvas.axes is None: + # raise SyntaxError,"Need an axes reference!" + self.background = self.canvas.copy_from_bbox(self.canvas.axes.bbox) + + def press(self, event): + if self.span_button.isChecked(): + if self.background is None: + self.update_background() + else: + self.canvas.restore_region(self.background) + self.xstart = event.xdata + self.istart = event.x + if self.span is None: + self.span = self.canvas.axes.axvspan(event.xdata, event.xdata, alpha = 0.10, color = "k", animated=False) + else: + self.set_span(event.xdata, event.xdata) + self._pressed = True + + def onmove(self,event): + if self.span_button.isChecked() and self._pressed and not self.ignore(event): + self.set_span(self.xstart, event.xdata) + self.update() + + def update(self): + self.canvas.restore_region(self.background) + self.canvas.axes.draw_artist(self.span) + for line in self.canvas.axes.get_lines(): + self.canvas.axes.draw_artist(line) + self.canvas.blit(self.canvas.axes.bbox) + + def release(self,event): + self.span_button.setChecked(False) + self.xend = event.xdata + self.iend = event.x + if self.iend < self.istart: + self.iend,self.istart = self.istart,self.iend + print "released",self.xstart,self.xend + if self._pressed: + if self.ignore(event): + self.istart = 0 + self.spanSelectedTrigger.emit(self.xstart,self.xend) + self._pressed = False + + + +if __name__ == '__main__': + signal.signal(signal.SIGINT, sigint_handler) + app = QApplication(sys.argv) + timer = QTimer() + timer.start(1000) # Check every second for Strg-c on Cmd line + timer.timeout.connect(lambda: None) + main = AppWindow() + main.showMaximized() + main.raise_() + sys.exit(app.exec_()) diff --git a/QDSMain.py b/QDSMain.py new file mode 100644 index 0000000..728a67f --- /dev/null +++ b/QDSMain.py @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'QDSMain.ui' +# +# Created: Fri Jun 7 16:23:11 2013 +# by: PyQt4 UI code generator 4.10.1 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName(_fromUtf8("MainWindow")) + MainWindow.resize(1228, 700) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) + MainWindow.setSizePolicy(sizePolicy) + self.centralwidget = QtGui.QWidget(MainWindow) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth()) + self.centralwidget.setSizePolicy(sizePolicy) + self.centralwidget.setObjectName(_fromUtf8("centralwidget")) + self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget) + self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) + self.horizontalLayout = QtGui.QHBoxLayout() + self.horizontalLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint) + self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) + self.mplWidget = QtGui.QWidget(self.centralwidget) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.mplWidget.sizePolicy().hasHeightForWidth()) + self.mplWidget.setSizePolicy(sizePolicy) + self.mplWidget.setMinimumSize(QtCore.QSize(600, 400)) + self.mplWidget.setObjectName(_fromUtf8("mplWidget")) + self.horizontalLayout.addWidget(self.mplWidget) + self.scrollArea = QtGui.QScrollArea(self.centralwidget) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth()) + self.scrollArea.setSizePolicy(sizePolicy) + self.scrollArea.setMinimumSize(QtCore.QSize(300, 0)) + self.scrollArea.setMaximumSize(QtCore.QSize(210, 16777215)) + self.scrollArea.setWidgetResizable(True) + self.scrollArea.setObjectName(_fromUtf8("scrollArea")) + self.scrollAreaWidgetContents = QtGui.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 298, 585)) + self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents")) + self.verticalLayout_2 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents) + self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.horizontalLayout.addWidget(self.scrollArea) + self.verticalLayout.addLayout(self.horizontalLayout) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtGui.QMenuBar(MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1228, 22)) + self.menubar.setObjectName(_fromUtf8("menubar")) + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtGui.QStatusBar(MainWindow) + self.statusbar.setObjectName(_fromUtf8("statusbar")) + MainWindow.setStatusBar(self.statusbar) + self.toolBar = QtGui.QToolBar(MainWindow) + self.toolBar.setObjectName(_fromUtf8("toolBar")) + MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar) + self.actionAdd_Peak = QtGui.QAction(MainWindow) + self.actionAdd_Peak.setCheckable(True) + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/add_peak.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionAdd_Peak.setIcon(icon) + self.actionAdd_Peak.setObjectName(_fromUtf8("actionAdd_Peak")) + self.actionAdd_Cond = QtGui.QAction(MainWindow) + self.actionAdd_Cond.setCheckable(True) + icon1 = QtGui.QIcon() + icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/add_cond.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionAdd_Cond.setIcon(icon1) + self.actionAdd_Cond.setObjectName(_fromUtf8("actionAdd_Cond")) + self.actionSave_FitResult = QtGui.QAction(MainWindow) + icon2 = QtGui.QIcon() + icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/save_fit.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionSave_FitResult.setIcon(icon2) + self.actionSave_FitResult.setObjectName(_fromUtf8("actionSave_FitResult")) + self.toolBar.addAction(self.actionAdd_Peak) + self.toolBar.addAction(self.actionAdd_Cond) + self.toolBar.addAction(self.actionSave_FitResult) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None)) + self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None)) + self.actionAdd_Peak.setText(_translate("MainWindow", "Add Peak", None)) + self.actionAdd_Cond.setText(_translate("MainWindow", "Add Cond.", None)) + self.actionAdd_Cond.setToolTip(_translate("MainWindow", "Added Conductivity Term", None)) + self.actionSave_FitResult.setText(_translate("MainWindow", "Save Fit", None)) + self.actionSave_FitResult.setToolTip(_translate("MainWindow", "Save Fit Result", None)) + +import images_rc diff --git a/QDSMain.ui b/QDSMain.ui new file mode 100644 index 0000000..ce69b79 --- /dev/null +++ b/QDSMain.ui @@ -0,0 +1,160 @@ + + + MainWindow + + + + 0 + 0 + 1228 + 700 + + + + + 0 + 0 + + + + MainWindow + + + + + 0 + 0 + + + + + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + + 600 + 400 + + + + + + + + + 0 + 0 + + + + + 300 + 0 + + + + + 210 + 16777215 + + + + true + + + + + 0 + 0 + 298 + 585 + + + + + + + + + + + + + + 0 + 0 + 1228 + 22 + + + + + + + toolBar + + + TopToolBarArea + + + false + + + + + + + + true + + + + :/icons/add_peak.svg:/icons/add_peak.svg + + + Add Peak + + + + + true + + + + :/icons/add_cond.svg:/icons/add_cond.svg + + + Add Cond. + + + Added Conductivity Term + + + + + + :/icons/save_fit.svg:/icons/save_fit.svg + + + Save Fit + + + Save Fit Result + + + + + + + + diff --git a/data.py b/data.py new file mode 100644 index 0000000..5210900 --- /dev/null +++ b/data.py @@ -0,0 +1,28 @@ +import numpy as N +class Data: + def __init__(self, frequency, die_real, die_imag): + self.frequency = frequency + self.epsilon = die_real +1j *die_imag + self.data_curve = None # mpl object + self.fitted_curve = None # mpl object + self.length = len(frequency) + self.meta = dict() + self.fit_limits = (frequency.min(),frequency.max(),die_imag.min(),die_imag.max()) + + def __del__(self): + self.remove_curves() + + #def set_fit_limits(self, limits=(None,None,None,None)): + def get_data(self): + """ + + """ + mask = N.ones(len(self.frequency),dtype = 'bool') + mask = (self.frequency > self.fit_limits[0]) & (self.frequency < self.fit_limits[1]) + mask &= (self.epsilon.imag > self.fit_limits[2]) & (self.epsilon.imag < self.fit_limits[1]) + return self.frequency[mask], self.epsilon[mask] + + def remove_curves(self): + if self.data_curve is not None: self.data_curve.remove() + if self.fitted_curve is not None: self.fitted_curve.remove() + diff --git a/icons/add_cond.qrc b/icons/add_cond.qrc new file mode 100644 index 0000000..7646d2b --- /dev/null +++ b/icons/add_cond.qrc @@ -0,0 +1 @@ + diff --git a/icons/add_cond.svg b/icons/add_cond.svg new file mode 100644 index 0000000..645fbe7 --- /dev/null +++ b/icons/add_cond.svg @@ -0,0 +1,3 @@ + + +2013-03-01 13:11ZArbeitsfläche 1Ebene 1 diff --git a/icons/add_peak.qrc b/icons/add_peak.qrc new file mode 100644 index 0000000..7646d2b --- /dev/null +++ b/icons/add_peak.qrc @@ -0,0 +1 @@ + diff --git a/icons/add_peak.svg b/icons/add_peak.svg new file mode 100644 index 0000000..be241e2 --- /dev/null +++ b/icons/add_peak.svg @@ -0,0 +1,3 @@ + + +2013-03-01 13:11ZArbeitsfläche 1Ebene 1 diff --git a/icons/border-1d-left-icon.png b/icons/border-1d-left-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..26ab3be6c0f8f17caf216076f0b17c4090f9dedd GIT binary patch literal 320 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Ν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 diff --git a/icons/fit_limits.svg b/icons/fit_limits.svg new file mode 100644 index 0000000..b1b67c9 --- /dev/null +++ b/icons/fit_limits.svg @@ -0,0 +1,3 @@ + + +2013-03-01 13:15ZArbeitsfläche 1Ebene 1 diff --git a/icons/images.qrc b/icons/images.qrc new file mode 100644 index 0000000..f972c43 --- /dev/null +++ b/icons/images.qrc @@ -0,0 +1,8 @@ + + + add_cond.svg + add_peak.svg + save_fit.svg + fit_limits.png + + diff --git a/icons/qds_icons.graffle b/icons/qds_icons.graffle new file mode 100644 index 0000000..ed2ae80 --- /dev/null +++ b/icons/qds_icons.graffle @@ -0,0 +1,619 @@ + + + + + ActiveLayerIndex + 0 + AutoAdjust + + CanvasColor + + w + 1 + + CanvasOrigin + {0, 0} + CanvasScale + 1 + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-03-01 13:57:03 +0100 + Creator + Markus Rosenstihl + DisplayScale + 1 cm = 1 cm + GraphDocumentVersion + 5 + GraphicsList + + + Class + Group + Graphics + + + Bounds + {{131.911, 426.89}, {93, 55}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Verdana + Size + 20 + + ID + 709 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fnil\fcharset0 Verdana;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\b\fs88 \cf0 FIT} + + Wrap + NO + + + Bounds + {{192.584, 382.677}, {42.5197, 42.5197}} + Class + ShapedGraphic + ID + 710 + Shape + Cross + Style + + fill + + Color + + b + 0 + g + 0.792157 + r + 0.992157 + + + + + + Bounds + {{113.386, 368.504}, {130.049, 128.001}} + Class + ShapedGraphic + ID + 711 + Shape + Rectangle + Style + + stroke + + CornerRadius + 16 + + + + + ID + 708 + + + Class + Group + Graphics + + + Class + LineGraphic + Head + + ID + 714 + Position + 0.48592239618301392 + + ID + 713 + Points + + {353.331, 255.921} + {438.37, 253.921} + + Style + + shadow + + Draws + YES + + stroke + + Color + + b + 0.662745 + g + 0.352941 + r + 0 + + HeadArrow + FilledArrow + HeadScale + 0.5 + TailArrow + FilledArrow + TailScale + 0.5 + Width + 10 + + + Tail + + ID + 715 + Position + 0.50944459438323975 + + + + Class + LineGraphic + ID + 714 + Points + + {438.37, 212.598} + {438.37, 297.638} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + 0 + Width + 3 + + + + + Class + LineGraphic + ID + 715 + Points + + {353.331, 212.598} + {353.331, 297.637} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + 0 + Width + 3 + + + + + Bounds + {{331.326, 191.117}, {130.049, 128.001}} + Class + ShapedGraphic + ID + 716 + Shape + Rectangle + Style + + stroke + + CornerRadius + 16 + + + + + ID + 712 + + + Class + Group + Graphics + + + Bounds + {{192.584, 212.156}, {42.5197, 42.5197}} + Class + ShapedGraphic + ID + 29 + Shape + Cross + Style + + fill + + Color + + b + 0 + g + 0.792157 + r + 0.992157 + + + + + + Class + LineGraphic + ID + 30 + Points + + {135.891, 226.329} + {220.93, 297.196} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + 0 + Width + 9 + + + + + Bounds + {{113.386, 197.983}, {130.049, 128.001}} + Class + ShapedGraphic + ID + 31 + Shape + Rectangle + Style + + stroke + + CornerRadius + 16 + + + + + ID + 28 + + + Class + Group + Graphics + + + Bounds + {{192.584, 56.6929}, {42.5197, 42.5197}} + Class + ShapedGraphic + ID + 25 + Shape + Cross + Style + + fill + + Color + + b + 0 + g + 0.792157 + r + 0.992157 + + + + + + Class + LineGraphic + ID + 26 + Points + + {135.891, 141.732} + {178.41, 85.0394} + {220.93, 141.732} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + 0 + Width + 9 + + + + + Bounds + {{113.386, 42.5197}, {130.049, 128.001}} + Class + ShapedGraphic + ID + 27 + Shape + Rectangle + Style + + stroke + + CornerRadius + 16 + + + + + ID + 24 + + + GridInfo + + GridSpacing + 14.17322826385498 + MajorGridSpacing + 10 + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + KeepToScale + + Layers + + + Lock + NO + Name + Ebene 1 + Print + YES + View + YES + + + LayoutInfo + + LinksVisible + NO + MagnetsVisible + NO + MasterSheet + Master 1 + MasterSheets + + + ActiveLayerIndex + 0 + AutoAdjust + + CanvasColor + + w + 1 + + CanvasOrigin + {0, 0} + CanvasScale + 1 + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 cm = 1 cm + GraphicsList + + GridInfo + + GridSpacing + 14.17322826385498 + MajorGridSpacing + 10 + + HPages + 1 + IsPalette + NO + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Orientation + 2 + OutlineStyle + Basic + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Master 1 + UniqueID + 1 + VPages + 1 + + + ModificationDate + 2013-03-18 08:56:23 +0100 + Modifier + Markus Rosenstihl + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + OutlineStyle + Basic + PageBreaks + YES + PrintInfo + + NSBottomMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSLeftMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSPaperSize + + size + {595, 842} + + NSRightMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSTopMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Arbeitsfläche 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + DrawerOpen + + DrawerTab + Outline + DrawerWidth + 209 + FitInWindow + + Frame + {{375, 89}, {888, 789}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{-151, 0}, {873, 684}} + Zoom + 1 + + + diff --git a/icons/qds_icons.svg b/icons/qds_icons.svg new file mode 100644 index 0000000..bcaaaf9 --- /dev/null +++ b/icons/qds_icons.svg @@ -0,0 +1,3 @@ + + +2013-03-01 13:07ZArbeitsfläche 1Ebene 1 diff --git a/icons/save_fit.png b/icons/save_fit.png new file mode 100644 index 0000000000000000000000000000000000000000..e8000c1f958188b10e4522611c31432a5b794152 GIT binary patch literal 15818 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 diff --git a/icons/save_fit.svg b/icons/save_fit.svg new file mode 100644 index 0000000..5c0e2fb --- /dev/null +++ b/icons/save_fit.svg @@ -0,0 +1,6 @@ + + +2013-03-13 14:15ZArbeitsfläche 1Ebene 1FIT diff --git a/images_rc.py b/images_rc.py new file mode 100644 index 0000000..502f83e --- /dev/null +++ b/images_rc.py @@ -0,0 +1,1905 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created: Fr. Jun 7 16:23:11 2013 +# by: The Resource Compiler for PyQt (Qt v4.8.4) +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore + +qt_resource_data = "\ +\x00\x00\x08\xa3\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x3f\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\ +\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\ +\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\ +\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\ +\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\ +\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\ +\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\ +\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\ +\x22\x31\x2e\x31\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x31\ +\x30\x32\x20\x31\x39\x31\x20\x31\x35\x32\x20\x31\x35\x30\x22\x20\ +\x77\x69\x64\x74\x68\x3d\x22\x31\x35\x32\x70\x74\x22\x20\x68\x65\ +\x69\x67\x68\x74\x3d\x22\x31\x35\x30\x70\x74\x22\x3e\x3c\x6d\x65\ +\x74\x61\x64\x61\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\ +\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\ +\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\ +\x2f\x22\x3e\x3c\x64\x63\x3a\x64\x61\x74\x65\x3e\x32\x30\x31\x33\ +\x2d\x30\x33\x2d\x30\x31\x20\x31\x33\x3a\x31\x31\x5a\x3c\x2f\x64\ +\x63\x3a\x64\x61\x74\x65\x3e\x3c\x21\x2d\x2d\x20\x50\x72\x6f\x64\ +\x75\x63\x65\x64\x20\x62\x79\x20\x4f\x6d\x6e\x69\x47\x72\x61\x66\ +\x66\x6c\x65\x20\x50\x72\x6f\x66\x65\x73\x73\x69\x6f\x6e\x61\x6c\ +\x20\x34\x2e\x31\x2e\x32\x20\x2d\x2d\x3e\x3c\x2f\x6d\x65\x74\x61\ +\x64\x61\x74\x61\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x2f\x64\x65\x66\ +\x73\x3e\x3c\x67\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x6e\x6f\x6e\ +\x65\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\ +\x79\x3d\x22\x31\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\ +\x68\x61\x72\x72\x61\x79\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\ +\x6c\x6c\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\x6c\x6c\x2d\x6f\ +\x70\x61\x63\x69\x74\x79\x3d\x22\x31\x22\x3e\x3c\x74\x69\x74\x6c\ +\x65\x3e\x41\x72\x62\x65\x69\x74\x73\x66\x6c\xc3\xa4\x63\x68\x65\ +\x20\x31\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x3c\x67\x3e\x3c\x74\x69\ +\x74\x6c\x65\x3e\x45\x62\x65\x6e\x65\x20\x31\x3c\x2f\x74\x69\x74\ +\x6c\x65\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\ +\x38\x2e\x34\x31\x30\x33\x34\x20\x31\x39\x37\x2e\x39\x38\x33\x32\ +\x36\x20\x4c\x20\x32\x32\x37\x2e\x34\x33\x34\x38\x34\x20\x31\x39\ +\x37\x2e\x39\x38\x33\x32\x36\x20\x43\x20\x32\x33\x36\x2e\x32\x37\ +\x31\x34\x31\x20\x31\x39\x37\x2e\x39\x38\x33\x32\x36\x20\x32\x34\ +\x33\x2e\x34\x33\x34\x38\x34\x20\x32\x30\x35\x2e\x31\x34\x36\x37\ +\x20\x32\x34\x33\x2e\x34\x33\x34\x38\x34\x20\x32\x31\x33\x2e\x39\ +\x38\x33\x32\x36\x20\x4c\x20\x32\x34\x33\x2e\x34\x33\x34\x38\x34\ +\x20\x33\x30\x39\x2e\x39\x38\x34\x32\x35\x20\x43\x20\x32\x34\x33\ +\x2e\x34\x33\x34\x38\x34\x20\x33\x31\x38\x2e\x38\x32\x30\x38\x20\ +\x32\x33\x36\x2e\x32\x37\x31\x34\x31\x20\x33\x32\x35\x2e\x39\x38\ +\x34\x32\x35\x20\x32\x32\x37\x2e\x34\x33\x34\x38\x34\x20\x33\x32\ +\x35\x2e\x39\x38\x34\x32\x35\x20\x4c\x20\x31\x32\x39\x2e\x33\x38\ +\x35\x38\x33\x20\x33\x32\x35\x2e\x39\x38\x34\x32\x35\x20\x43\x20\ +\x31\x32\x30\x2e\x35\x34\x39\x32\x38\x20\x33\x32\x35\x2e\x39\x38\ +\x34\x32\x35\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x33\ +\x31\x38\x2e\x38\x32\x30\x38\x20\x31\x31\x33\x2e\x33\x38\x35\x38\ +\x33\x34\x20\x33\x30\x39\x2e\x39\x38\x34\x32\x35\x20\x4c\x20\x31\ +\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x32\x31\x33\x2e\x39\x38\ +\x33\x32\x36\x20\x43\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\ +\x20\x32\x30\x35\x2e\x31\x34\x36\x37\x20\x31\x32\x30\x2e\x35\x34\ +\x39\x32\x38\x20\x31\x39\x37\x2e\x39\x38\x33\x32\x36\x20\x31\x32\ +\x39\x2e\x33\x38\x35\x38\x33\x20\x31\x39\x37\x2e\x39\x38\x33\x32\ +\x36\x20\x5a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x57\x68\x69\x74\x65\ +\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\ +\x38\x2e\x34\x31\x30\x33\x34\x20\x31\x39\x37\x2e\x39\x38\x33\x32\ +\x36\x20\x4c\x20\x32\x32\x37\x2e\x34\x33\x34\x38\x34\x20\x31\x39\ +\x37\x2e\x39\x38\x33\x32\x36\x20\x43\x20\x32\x33\x36\x2e\x32\x37\ +\x31\x34\x31\x20\x31\x39\x37\x2e\x39\x38\x33\x32\x36\x20\x32\x34\ +\x33\x2e\x34\x33\x34\x38\x34\x20\x32\x30\x35\x2e\x31\x34\x36\x37\ +\x20\x32\x34\x33\x2e\x34\x33\x34\x38\x34\x20\x32\x31\x33\x2e\x39\ +\x38\x33\x32\x36\x20\x4c\x20\x32\x34\x33\x2e\x34\x33\x34\x38\x34\ +\x20\x33\x30\x39\x2e\x39\x38\x34\x32\x35\x20\x43\x20\x32\x34\x33\ +\x2e\x34\x33\x34\x38\x34\x20\x33\x31\x38\x2e\x38\x32\x30\x38\x20\ +\x32\x33\x36\x2e\x32\x37\x31\x34\x31\x20\x33\x32\x35\x2e\x39\x38\ +\x34\x32\x35\x20\x32\x32\x37\x2e\x34\x33\x34\x38\x34\x20\x33\x32\ +\x35\x2e\x39\x38\x34\x32\x35\x20\x4c\x20\x31\x32\x39\x2e\x33\x38\ +\x35\x38\x33\x20\x33\x32\x35\x2e\x39\x38\x34\x32\x35\x20\x43\x20\ +\x31\x32\x30\x2e\x35\x34\x39\x32\x38\x20\x33\x32\x35\x2e\x39\x38\ +\x34\x32\x35\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x33\ +\x31\x38\x2e\x38\x32\x30\x38\x20\x31\x31\x33\x2e\x33\x38\x35\x38\ +\x33\x34\x20\x33\x30\x39\x2e\x39\x38\x34\x32\x35\x20\x4c\x20\x31\ +\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x32\x31\x33\x2e\x39\x38\ +\x33\x32\x36\x20\x43\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\ +\x20\x32\x30\x35\x2e\x31\x34\x36\x37\x20\x31\x32\x30\x2e\x35\x34\ +\x39\x32\x38\x20\x31\x39\x37\x2e\x39\x38\x33\x32\x36\x20\x31\x32\ +\x39\x2e\x33\x38\x35\x38\x33\x20\x31\x39\x37\x2e\x39\x38\x33\x32\ +\x36\x20\x5a\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\x61\ +\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\ +\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\ +\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\x6e\ +\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\ +\x22\x31\x22\x2f\x3e\x3c\x6c\x69\x6e\x65\x20\x78\x31\x3d\x22\x31\ +\x33\x35\x2e\x38\x39\x30\x38\x35\x22\x20\x79\x31\x3d\x22\x32\x32\ +\x36\x2e\x33\x32\x39\x34\x32\x22\x20\x78\x32\x3d\x22\x32\x32\x30\ +\x2e\x39\x32\x39\x38\x34\x22\x20\x79\x32\x3d\x22\x32\x39\x37\x2e\ +\x31\x39\x35\x35\x36\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\ +\x6c\x61\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\ +\x65\x63\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\ +\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\ +\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\ +\x68\x3d\x22\x39\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\ +\x4d\x20\x31\x39\x32\x2e\x35\x38\x33\x38\x33\x20\x32\x32\x36\x2e\ +\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\ +\x20\x32\x32\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x30\x36\ +\x2e\x37\x35\x39\x39\x20\x32\x31\x32\x2e\x31\x35\x36\x35\x20\x4c\ +\x20\x32\x32\x30\x2e\x39\x32\x37\x34\x37\x20\x32\x31\x32\x2e\x31\ +\x35\x36\x35\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x34\x37\x20\ +\x32\x32\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x33\x35\x2e\ +\x31\x30\x33\x35\x35\x20\x32\x32\x36\x2e\x33\x33\x32\x35\x37\x20\ +\x4c\x20\x32\x33\x35\x2e\x31\x30\x33\x35\x35\x20\x32\x34\x30\x2e\ +\x35\x30\x30\x31\x34\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x34\ +\x37\x20\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\x4c\x20\x32\x32\ +\x30\x2e\x39\x32\x37\x34\x37\x20\x32\x35\x34\x2e\x36\x37\x36\x32\ +\x31\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\x20\x32\x35\x34\ +\x2e\x36\x37\x36\x32\x31\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\ +\x39\x20\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\x4c\x20\x31\x39\ +\x32\x2e\x35\x38\x33\x38\x33\x20\x32\x34\x30\x2e\x35\x30\x30\x31\ +\x34\x20\x5a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\x66\x64\x63\x61\ +\x30\x30\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\ +\x31\x39\x32\x2e\x35\x38\x33\x38\x33\x20\x32\x32\x36\x2e\x33\x33\ +\x32\x35\x37\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\x20\x32\ +\x32\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x30\x36\x2e\x37\ +\x35\x39\x39\x20\x32\x31\x32\x2e\x31\x35\x36\x35\x20\x4c\x20\x32\ +\x32\x30\x2e\x39\x32\x37\x34\x37\x20\x32\x31\x32\x2e\x31\x35\x36\ +\x35\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x34\x37\x20\x32\x32\ +\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\x32\x33\x35\x2e\x31\x30\ +\x33\x35\x35\x20\x32\x32\x36\x2e\x33\x33\x32\x35\x37\x20\x4c\x20\ +\x32\x33\x35\x2e\x31\x30\x33\x35\x35\x20\x32\x34\x30\x2e\x35\x30\ +\x30\x31\x34\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x34\x37\x20\ +\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\x4c\x20\x32\x32\x30\x2e\ +\x39\x32\x37\x34\x37\x20\x32\x35\x34\x2e\x36\x37\x36\x32\x31\x20\ +\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\x20\x32\x35\x34\x2e\x36\ +\x37\x36\x32\x31\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x39\x20\ +\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\x4c\x20\x31\x39\x32\x2e\ +\x35\x38\x33\x38\x33\x20\x32\x34\x30\x2e\x35\x30\x30\x31\x34\x20\ +\x5a\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\x61\x63\x6b\ +\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\ +\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\ +\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\x6e\x64\x22\ +\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\ +\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\x2f\x67\x3e\x3c\x2f\x73\x76\x67\ +\x3e\x0a\ +\x00\x00\x08\xfb\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x3f\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\ +\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\ +\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\ +\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\ +\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\ +\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\ +\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\ +\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\ +\x22\x31\x2e\x31\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x31\ +\x30\x32\x20\x33\x36\x20\x31\x35\x32\x20\x31\x35\x30\x22\x20\x77\ +\x69\x64\x74\x68\x3d\x22\x31\x35\x32\x70\x74\x22\x20\x68\x65\x69\ +\x67\x68\x74\x3d\x22\x31\x35\x30\x70\x74\x22\x3e\x3c\x6d\x65\x74\ +\x61\x64\x61\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\x22\ +\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\ +\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\x2f\ +\x22\x3e\x3c\x64\x63\x3a\x64\x61\x74\x65\x3e\x32\x30\x31\x33\x2d\ +\x30\x33\x2d\x30\x31\x20\x31\x33\x3a\x31\x31\x5a\x3c\x2f\x64\x63\ +\x3a\x64\x61\x74\x65\x3e\x3c\x21\x2d\x2d\x20\x50\x72\x6f\x64\x75\ +\x63\x65\x64\x20\x62\x79\x20\x4f\x6d\x6e\x69\x47\x72\x61\x66\x66\ +\x6c\x65\x20\x50\x72\x6f\x66\x65\x73\x73\x69\x6f\x6e\x61\x6c\x20\ +\x34\x2e\x31\x2e\x32\x20\x2d\x2d\x3e\x3c\x2f\x6d\x65\x74\x61\x64\ +\x61\x74\x61\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x2f\x64\x65\x66\x73\ +\x3e\x3c\x67\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x6e\x6f\x6e\x65\ +\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\ +\x3d\x22\x31\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\ +\x61\x72\x72\x61\x79\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\x6c\ +\x6c\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\x6c\x6c\x2d\x6f\x70\ +\x61\x63\x69\x74\x79\x3d\x22\x31\x22\x3e\x3c\x74\x69\x74\x6c\x65\ +\x3e\x41\x72\x62\x65\x69\x74\x73\x66\x6c\xc3\xa4\x63\x68\x65\x20\ +\x31\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x3c\x67\x3e\x3c\x74\x69\x74\ +\x6c\x65\x3e\x45\x62\x65\x6e\x65\x20\x31\x3c\x2f\x74\x69\x74\x6c\ +\x65\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\x38\ +\x2e\x34\x31\x30\x34\x36\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\ +\x20\x4c\x20\x32\x32\x37\x2e\x34\x33\x35\x30\x39\x20\x34\x32\x2e\ +\x35\x31\x39\x36\x37\x36\x20\x43\x20\x32\x33\x36\x2e\x32\x37\x31\ +\x36\x35\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\x20\x32\x34\x33\ +\x2e\x34\x33\x35\x30\x39\x20\x34\x39\x2e\x36\x38\x33\x31\x32\x20\ +\x32\x34\x33\x2e\x34\x33\x35\x30\x39\x20\x35\x38\x2e\x35\x31\x39\ +\x36\x37\x36\x20\x4c\x20\x32\x34\x33\x2e\x34\x33\x35\x30\x39\x20\ +\x31\x35\x34\x2e\x35\x32\x30\x39\x33\x35\x20\x43\x20\x32\x34\x33\ +\x2e\x34\x33\x35\x30\x39\x20\x31\x36\x33\x2e\x33\x35\x37\x35\x20\ +\x32\x33\x36\x2e\x32\x37\x31\x36\x35\x20\x31\x37\x30\x2e\x35\x32\ +\x30\x39\x34\x20\x32\x32\x37\x2e\x34\x33\x35\x30\x39\x20\x31\x37\ +\x30\x2e\x35\x32\x30\x39\x34\x20\x4c\x20\x31\x32\x39\x2e\x33\x38\ +\x35\x38\x33\x20\x31\x37\x30\x2e\x35\x32\x30\x39\x34\x20\x43\x20\ +\x31\x32\x30\x2e\x35\x34\x39\x32\x38\x20\x31\x37\x30\x2e\x35\x32\ +\x30\x39\x34\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x31\ +\x36\x33\x2e\x33\x35\x37\x35\x20\x31\x31\x33\x2e\x33\x38\x35\x38\ +\x33\x34\x20\x31\x35\x34\x2e\x35\x32\x30\x39\x33\x35\x20\x4c\x20\ +\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x35\x38\x2e\x35\x31\ +\x39\x36\x37\x36\x20\x43\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\ +\x34\x20\x34\x39\x2e\x36\x38\x33\x31\x32\x20\x31\x32\x30\x2e\x35\ +\x34\x39\x32\x38\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\x20\x31\ +\x32\x39\x2e\x33\x38\x35\x38\x33\x20\x34\x32\x2e\x35\x31\x39\x36\ +\x37\x36\x20\x5a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x57\x68\x69\x74\ +\x65\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\ +\x37\x38\x2e\x34\x31\x30\x34\x36\x20\x34\x32\x2e\x35\x31\x39\x36\ +\x37\x36\x20\x4c\x20\x32\x32\x37\x2e\x34\x33\x35\x30\x39\x20\x34\ +\x32\x2e\x35\x31\x39\x36\x37\x36\x20\x43\x20\x32\x33\x36\x2e\x32\ +\x37\x31\x36\x35\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\x20\x32\ +\x34\x33\x2e\x34\x33\x35\x30\x39\x20\x34\x39\x2e\x36\x38\x33\x31\ +\x32\x20\x32\x34\x33\x2e\x34\x33\x35\x30\x39\x20\x35\x38\x2e\x35\ +\x31\x39\x36\x37\x36\x20\x4c\x20\x32\x34\x33\x2e\x34\x33\x35\x30\ +\x39\x20\x31\x35\x34\x2e\x35\x32\x30\x39\x33\x35\x20\x43\x20\x32\ +\x34\x33\x2e\x34\x33\x35\x30\x39\x20\x31\x36\x33\x2e\x33\x35\x37\ +\x35\x20\x32\x33\x36\x2e\x32\x37\x31\x36\x35\x20\x31\x37\x30\x2e\ +\x35\x32\x30\x39\x34\x20\x32\x32\x37\x2e\x34\x33\x35\x30\x39\x20\ +\x31\x37\x30\x2e\x35\x32\x30\x39\x34\x20\x4c\x20\x31\x32\x39\x2e\ +\x33\x38\x35\x38\x33\x20\x31\x37\x30\x2e\x35\x32\x30\x39\x34\x20\ +\x43\x20\x31\x32\x30\x2e\x35\x34\x39\x32\x38\x20\x31\x37\x30\x2e\ +\x35\x32\x30\x39\x34\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\ +\x20\x31\x36\x33\x2e\x33\x35\x37\x35\x20\x31\x31\x33\x2e\x33\x38\ +\x35\x38\x33\x34\x20\x31\x35\x34\x2e\x35\x32\x30\x39\x33\x35\x20\ +\x4c\x20\x31\x31\x33\x2e\x33\x38\x35\x38\x33\x34\x20\x35\x38\x2e\ +\x35\x31\x39\x36\x37\x36\x20\x43\x20\x31\x31\x33\x2e\x33\x38\x35\ +\x38\x33\x34\x20\x34\x39\x2e\x36\x38\x33\x31\x32\x20\x31\x32\x30\ +\x2e\x35\x34\x39\x32\x38\x20\x34\x32\x2e\x35\x31\x39\x36\x37\x36\ +\x20\x31\x32\x39\x2e\x33\x38\x35\x38\x33\x20\x34\x32\x2e\x35\x31\ +\x39\x36\x37\x36\x20\x5a\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\ +\x42\x6c\x61\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\ +\x6e\x65\x63\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\ +\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\ +\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\ +\x74\x68\x3d\x22\x31\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\ +\x22\x4d\x20\x31\x33\x35\x2e\x38\x39\x30\x37\x35\x20\x31\x34\x31\ +\x2e\x37\x33\x32\x32\x37\x20\x43\x20\x31\x35\x30\x2e\x30\x36\x32\ +\x35\x36\x20\x31\x32\x32\x2e\x38\x33\x36\x35\x32\x20\x31\x36\x34\ +\x2e\x32\x33\x38\x36\x32\x20\x38\x35\x2e\x30\x33\x39\x33\x35\x20\ +\x31\x37\x38\x2e\x34\x31\x30\x34\x33\x20\x38\x35\x2e\x30\x33\x39\ +\x33\x35\x20\x43\x20\x31\x39\x32\x2e\x35\x38\x32\x32\x34\x20\x38\ +\x35\x2e\x30\x33\x39\x33\x35\x20\x32\x30\x36\x2e\x37\x35\x38\x33\ +\x20\x31\x32\x32\x2e\x38\x33\x36\x35\x32\x20\x32\x32\x30\x2e\x39\ +\x33\x30\x31\x20\x31\x34\x31\x2e\x37\x33\x32\x32\x37\x22\x20\x73\ +\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\x61\x63\x6b\x22\x20\x73\x74\ +\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x22\x72\x6f\ +\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\ +\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\ +\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x22\x39\x22\x2f\x3e\x3c\ +\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x39\x32\x2e\x35\x38\ +\x33\x35\x39\x20\x37\x30\x2e\x38\x36\x38\x39\x35\x38\x20\x4c\x20\ +\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\x37\x30\x2e\x38\x36\x38\ +\x39\x35\x38\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\ +\x35\x36\x2e\x36\x39\x32\x38\x39\x34\x20\x4c\x20\x32\x32\x30\x2e\ +\x39\x32\x37\x32\x33\x20\x35\x36\x2e\x36\x39\x32\x38\x39\x34\x20\ +\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x37\x30\x2e\x38\ +\x36\x38\x39\x35\x38\x20\x4c\x20\x32\x33\x35\x2e\x31\x30\x33\x33\ +\x20\x37\x30\x2e\x38\x36\x38\x39\x35\x38\x20\x4c\x20\x32\x33\x35\ +\x2e\x31\x30\x33\x33\x20\x38\x35\x2e\x30\x33\x36\x35\x33\x20\x4c\ +\x20\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x38\x35\x2e\x30\x33\ +\x36\x35\x33\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\ +\x39\x39\x2e\x32\x31\x32\x35\x39\x33\x20\x4c\x20\x32\x30\x36\x2e\ +\x37\x35\x39\x36\x36\x20\x39\x39\x2e\x32\x31\x32\x35\x39\x33\x20\ +\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\x38\x35\x2e\x30\ +\x33\x36\x35\x33\x20\x4c\x20\x31\x39\x32\x2e\x35\x38\x33\x35\x39\ +\x20\x38\x35\x2e\x30\x33\x36\x35\x33\x20\x5a\x22\x20\x66\x69\x6c\ +\x6c\x3d\x22\x23\x66\x64\x63\x61\x30\x30\x22\x2f\x3e\x3c\x70\x61\ +\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x39\x32\x2e\x35\x38\x33\x35\ +\x39\x20\x37\x30\x2e\x38\x36\x38\x39\x35\x38\x20\x4c\x20\x32\x30\ +\x36\x2e\x37\x35\x39\x36\x36\x20\x37\x30\x2e\x38\x36\x38\x39\x35\ +\x38\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\x35\x36\ +\x2e\x36\x39\x32\x38\x39\x34\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\ +\x37\x32\x33\x20\x35\x36\x2e\x36\x39\x32\x38\x39\x34\x20\x4c\x20\ +\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x37\x30\x2e\x38\x36\x38\ +\x39\x35\x38\x20\x4c\x20\x32\x33\x35\x2e\x31\x30\x33\x33\x20\x37\ +\x30\x2e\x38\x36\x38\x39\x35\x38\x20\x4c\x20\x32\x33\x35\x2e\x31\ +\x30\x33\x33\x20\x38\x35\x2e\x30\x33\x36\x35\x33\x20\x4c\x20\x32\ +\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x38\x35\x2e\x30\x33\x36\x35\ +\x33\x20\x4c\x20\x32\x32\x30\x2e\x39\x32\x37\x32\x33\x20\x39\x39\ +\x2e\x32\x31\x32\x35\x39\x33\x20\x4c\x20\x32\x30\x36\x2e\x37\x35\ +\x39\x36\x36\x20\x39\x39\x2e\x32\x31\x32\x35\x39\x33\x20\x4c\x20\ +\x32\x30\x36\x2e\x37\x35\x39\x36\x36\x20\x38\x35\x2e\x30\x33\x36\ +\x35\x33\x20\x4c\x20\x31\x39\x32\x2e\x35\x38\x33\x35\x39\x20\x38\ +\x35\x2e\x30\x33\x36\x35\x33\x20\x5a\x22\x20\x73\x74\x72\x6f\x6b\ +\x65\x3d\x22\x42\x6c\x61\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\ +\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\ +\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\ +\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\ +\x77\x69\x64\x74\x68\x3d\x22\x31\x22\x2f\x3e\x3c\x2f\x67\x3e\x3c\ +\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\ +\x00\x00\x0a\x4b\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x3f\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\ +\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\ +\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\ +\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\ +\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\ +\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x78\x6d\x6c\ +\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\ +\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\ +\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\ +\x22\x31\x2e\x31\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x38\ +\x34\x20\x33\x36\x32\x20\x31\x35\x32\x20\x31\x35\x30\x22\x20\x77\ +\x69\x64\x74\x68\x3d\x22\x31\x35\x32\x70\x74\x22\x20\x68\x65\x69\ +\x67\x68\x74\x3d\x22\x31\x35\x30\x70\x74\x22\x3e\x3c\x6d\x65\x74\ +\x61\x64\x61\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\x22\ +\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\ +\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\x2f\ +\x22\x3e\x3c\x64\x63\x3a\x64\x61\x74\x65\x3e\x32\x30\x31\x33\x2d\ +\x30\x33\x2d\x31\x33\x20\x31\x34\x3a\x31\x35\x5a\x3c\x2f\x64\x63\ +\x3a\x64\x61\x74\x65\x3e\x3c\x21\x2d\x2d\x20\x50\x72\x6f\x64\x75\ +\x63\x65\x64\x20\x62\x79\x20\x4f\x6d\x6e\x69\x47\x72\x61\x66\x66\ +\x6c\x65\x20\x50\x72\x6f\x66\x65\x73\x73\x69\x6f\x6e\x61\x6c\x20\ +\x34\x2e\x31\x2e\x32\x20\x2d\x2d\x3e\x3c\x2f\x6d\x65\x74\x61\x64\ +\x61\x74\x61\x3e\x3c\x64\x65\x66\x73\x3e\x3c\x66\x6f\x6e\x74\x2d\ +\x66\x61\x63\x65\x20\x66\x6f\x6e\x74\x2d\x73\x69\x7a\x65\x3d\x22\ +\x34\x34\x70\x74\x22\x20\x75\x6e\x69\x74\x73\x2d\x70\x65\x72\x2d\ +\x65\x6d\x3d\x22\x31\x30\x30\x30\x22\x20\x75\x6e\x64\x65\x72\x6c\ +\x69\x6e\x65\x2d\x70\x6f\x73\x69\x74\x69\x6f\x6e\x3d\x22\x2d\x36\ +\x37\x2e\x38\x37\x31\x30\x39\x34\x22\x20\x75\x6e\x64\x65\x72\x6c\ +\x69\x6e\x65\x2d\x74\x68\x69\x63\x6b\x6e\x65\x73\x73\x3d\x22\x31\ +\x30\x33\x2e\x30\x32\x37\x33\x34\x34\x22\x20\x73\x6c\x6f\x70\x65\ +\x3d\x22\x30\x22\x20\x78\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x35\ +\x35\x36\x2e\x38\x31\x38\x31\x38\x22\x20\x63\x61\x70\x2d\x68\x65\ +\x69\x67\x68\x74\x3d\x22\x37\x33\x38\x2e\x36\x33\x36\x33\x35\x22\ +\x20\x61\x73\x63\x65\x6e\x74\x3d\x22\x31\x30\x30\x35\x2e\x33\x37\ +\x31\x30\x33\x22\x20\x64\x65\x73\x63\x65\x6e\x74\x3d\x22\x2d\x32\ +\x30\x39\x2e\x39\x36\x30\x39\x34\x22\x20\x66\x6f\x6e\x74\x2d\x77\ +\x65\x69\x67\x68\x74\x3d\x22\x62\x6f\x6c\x64\x22\x3e\x3c\x21\x2d\ +\x2d\x7b\x0a\x20\x20\x20\x20\x4e\x53\x46\x6f\x6e\x74\x4e\x61\x6d\ +\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x20\x3d\x20\x22\x56\x65\ +\x72\x64\x61\x6e\x61\x2d\x42\x6f\x6c\x64\x22\x3b\x0a\x20\x20\x20\ +\x20\x4e\x53\x46\x6f\x6e\x74\x53\x69\x7a\x65\x41\x74\x74\x72\x69\ +\x62\x75\x74\x65\x20\x3d\x20\x34\x34\x3b\x0a\x7d\x2d\x2d\x3e\x3c\ +\x66\x6f\x6e\x74\x2d\x66\x61\x63\x65\x2d\x73\x72\x63\x3e\x3c\x66\ +\x6f\x6e\x74\x2d\x66\x61\x63\x65\x2d\x6e\x61\x6d\x65\x20\x6e\x61\ +\x6d\x65\x3d\x22\x56\x65\x72\x64\x61\x6e\x61\x2d\x42\x6f\x6c\x64\ +\x22\x2f\x3e\x3c\x2f\x66\x6f\x6e\x74\x2d\x66\x61\x63\x65\x2d\x73\ +\x72\x63\x3e\x3c\x2f\x66\x6f\x6e\x74\x2d\x66\x61\x63\x65\x3e\x3c\ +\x2f\x64\x65\x66\x73\x3e\x3c\x67\x20\x73\x74\x72\x6f\x6b\x65\x3d\ +\x22\x6e\x6f\x6e\x65\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\ +\x61\x63\x69\x74\x79\x3d\x22\x31\x22\x20\x73\x74\x72\x6f\x6b\x65\ +\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3d\x22\x6e\x6f\x6e\x65\ +\x22\x20\x66\x69\x6c\x6c\x3d\x22\x6e\x6f\x6e\x65\x22\x20\x66\x69\ +\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x31\x22\x3e\x3c\ +\x74\x69\x74\x6c\x65\x3e\x41\x72\x62\x65\x69\x74\x73\x66\x6c\xc3\ +\xa4\x63\x68\x65\x20\x31\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x3c\x72\ +\x65\x63\x74\x20\x66\x69\x6c\x6c\x3d\x22\x57\x68\x69\x74\x65\x22\ +\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x37\x31\x22\x20\x68\x65\x69\ +\x67\x68\x74\x3d\x22\x38\x32\x32\x22\x2f\x3e\x3c\x67\x3e\x3c\x74\ +\x69\x74\x6c\x65\x3e\x45\x62\x65\x6e\x65\x20\x31\x3c\x2f\x74\x69\ +\x74\x6c\x65\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\ +\x35\x39\x2e\x38\x38\x35\x39\x39\x20\x33\x36\x38\x2e\x35\x30\x34\ +\x30\x33\x20\x4c\x20\x32\x30\x38\x2e\x39\x31\x30\x34\x39\x20\x33\ +\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x43\x20\x32\x31\x37\x2e\x37\ +\x34\x37\x30\x36\x20\x33\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x32\ +\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x33\x37\x35\x2e\x36\x36\x37\ +\x34\x38\x20\x32\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x33\x38\x34\ +\x2e\x35\x30\x34\x30\x33\x20\x4c\x20\x32\x32\x34\x2e\x39\x31\x30\ +\x34\x39\x20\x34\x38\x30\x2e\x35\x30\x35\x20\x43\x20\x32\x32\x34\ +\x2e\x39\x31\x30\x34\x39\x20\x34\x38\x39\x2e\x33\x34\x31\x35\x35\ +\x20\x32\x31\x37\x2e\x37\x34\x37\x30\x36\x20\x34\x39\x36\x2e\x35\ +\x30\x35\x20\x32\x30\x38\x2e\x39\x31\x30\x34\x39\x20\x34\x39\x36\ +\x2e\x35\x30\x35\x20\x4c\x20\x31\x31\x30\x2e\x38\x36\x31\x35\x30\ +\x34\x20\x34\x39\x36\x2e\x35\x30\x35\x20\x43\x20\x31\x30\x32\x2e\ +\x30\x32\x34\x39\x35\x20\x34\x39\x36\x2e\x35\x30\x35\x20\x39\x34\ +\x2e\x38\x36\x31\x35\x30\x34\x20\x34\x38\x39\x2e\x33\x34\x31\x35\ +\x35\x20\x39\x34\x2e\x38\x36\x31\x35\x30\x34\x20\x34\x38\x30\x2e\ +\x35\x30\x35\x20\x4c\x20\x39\x34\x2e\x38\x36\x31\x34\x39\x36\x20\ +\x33\x38\x34\x2e\x35\x30\x34\x30\x33\x20\x43\x20\x39\x34\x2e\x38\ +\x36\x31\x34\x39\x36\x20\x33\x37\x35\x2e\x36\x36\x37\x34\x38\x20\ +\x31\x30\x32\x2e\x30\x32\x34\x39\x34\x20\x33\x36\x38\x2e\x35\x30\ +\x34\x30\x33\x20\x31\x31\x30\x2e\x38\x36\x31\x34\x39\x36\x20\x33\ +\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x5a\x22\x20\x66\x69\x6c\x6c\ +\x3d\x22\x57\x68\x69\x74\x65\x22\x2f\x3e\x3c\x70\x61\x74\x68\x20\ +\x64\x3d\x22\x4d\x20\x31\x35\x39\x2e\x38\x38\x35\x39\x39\x20\x33\ +\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x4c\x20\x32\x30\x38\x2e\x39\ +\x31\x30\x34\x39\x20\x33\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x43\ +\x20\x32\x31\x37\x2e\x37\x34\x37\x30\x36\x20\x33\x36\x38\x2e\x35\ +\x30\x34\x30\x33\x20\x32\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x33\ +\x37\x35\x2e\x36\x36\x37\x34\x38\x20\x32\x32\x34\x2e\x39\x31\x30\ +\x34\x39\x20\x33\x38\x34\x2e\x35\x30\x34\x30\x33\x20\x4c\x20\x32\ +\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x34\x38\x30\x2e\x35\x30\x35\ +\x20\x43\x20\x32\x32\x34\x2e\x39\x31\x30\x34\x39\x20\x34\x38\x39\ +\x2e\x33\x34\x31\x35\x35\x20\x32\x31\x37\x2e\x37\x34\x37\x30\x36\ +\x20\x34\x39\x36\x2e\x35\x30\x35\x20\x32\x30\x38\x2e\x39\x31\x30\ +\x34\x39\x20\x34\x39\x36\x2e\x35\x30\x35\x20\x4c\x20\x31\x31\x30\ +\x2e\x38\x36\x31\x35\x30\x34\x20\x34\x39\x36\x2e\x35\x30\x35\x20\ +\x43\x20\x31\x30\x32\x2e\x30\x32\x34\x39\x35\x20\x34\x39\x36\x2e\ +\x35\x30\x35\x20\x39\x34\x2e\x38\x36\x31\x35\x30\x34\x20\x34\x38\ +\x39\x2e\x33\x34\x31\x35\x35\x20\x39\x34\x2e\x38\x36\x31\x35\x30\ +\x34\x20\x34\x38\x30\x2e\x35\x30\x35\x20\x4c\x20\x39\x34\x2e\x38\ +\x36\x31\x34\x39\x36\x20\x33\x38\x34\x2e\x35\x30\x34\x30\x33\x20\ +\x43\x20\x39\x34\x2e\x38\x36\x31\x34\x39\x36\x20\x33\x37\x35\x2e\ +\x36\x36\x37\x34\x38\x20\x31\x30\x32\x2e\x30\x32\x34\x39\x34\x20\ +\x33\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x31\x31\x30\x2e\x38\x36\ +\x31\x34\x39\x36\x20\x33\x36\x38\x2e\x35\x30\x34\x30\x33\x20\x5a\ +\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\x61\x63\x6b\x22\ +\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\ +\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\ +\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\ +\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\x22\ +\x2f\x3e\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\x34\ +\x2e\x30\x35\x38\x39\x39\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\ +\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\x30\x36\x20\x33\x39\x36\x2e\ +\x38\x35\x33\x31\x20\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\x30\x36\ +\x20\x33\x38\x32\x2e\x36\x37\x37\x20\x4c\x20\x32\x30\x32\x2e\x34\ +\x30\x32\x36\x33\x20\x33\x38\x32\x2e\x36\x37\x37\x20\x4c\x20\x32\ +\x30\x32\x2e\x34\x30\x32\x36\x33\x20\x33\x39\x36\x2e\x38\x35\x33\ +\x31\x20\x4c\x20\x32\x31\x36\x2e\x35\x37\x38\x37\x20\x33\x39\x36\ +\x2e\x38\x35\x33\x31\x20\x4c\x20\x32\x31\x36\x2e\x35\x37\x38\x37\ +\x20\x34\x31\x31\x2e\x30\x32\x30\x36\x33\x20\x4c\x20\x32\x30\x32\ +\x2e\x34\x30\x32\x36\x33\x20\x34\x31\x31\x2e\x30\x32\x30\x36\x33\ +\x20\x4c\x20\x32\x30\x32\x2e\x34\x30\x32\x36\x33\x20\x34\x32\x35\ +\x2e\x31\x39\x36\x37\x32\x20\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\ +\x30\x36\x20\x34\x32\x35\x2e\x31\x39\x36\x37\x32\x20\x4c\x20\x31\ +\x38\x38\x2e\x32\x33\x35\x30\x36\x20\x34\x31\x31\x2e\x30\x32\x30\ +\x36\x33\x20\x4c\x20\x31\x37\x34\x2e\x30\x35\x38\x39\x39\x20\x34\ +\x31\x31\x2e\x30\x32\x30\x36\x33\x20\x5a\x22\x20\x66\x69\x6c\x6c\ +\x3d\x22\x23\x66\x64\x63\x61\x30\x30\x22\x2f\x3e\x3c\x70\x61\x74\ +\x68\x20\x64\x3d\x22\x4d\x20\x31\x37\x34\x2e\x30\x35\x38\x39\x39\ +\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\x4c\x20\x31\x38\x38\x2e\ +\x32\x33\x35\x30\x36\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\x4c\ +\x20\x31\x38\x38\x2e\x32\x33\x35\x30\x36\x20\x33\x38\x32\x2e\x36\ +\x37\x37\x20\x4c\x20\x32\x30\x32\x2e\x34\x30\x32\x36\x33\x20\x33\ +\x38\x32\x2e\x36\x37\x37\x20\x4c\x20\x32\x30\x32\x2e\x34\x30\x32\ +\x36\x33\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\x4c\x20\x32\x31\ +\x36\x2e\x35\x37\x38\x37\x20\x33\x39\x36\x2e\x38\x35\x33\x31\x20\ +\x4c\x20\x32\x31\x36\x2e\x35\x37\x38\x37\x20\x34\x31\x31\x2e\x30\ +\x32\x30\x36\x33\x20\x4c\x20\x32\x30\x32\x2e\x34\x30\x32\x36\x33\ +\x20\x34\x31\x31\x2e\x30\x32\x30\x36\x33\x20\x4c\x20\x32\x30\x32\ +\x2e\x34\x30\x32\x36\x33\x20\x34\x32\x35\x2e\x31\x39\x36\x37\x32\ +\x20\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\x30\x36\x20\x34\x32\x35\ +\x2e\x31\x39\x36\x37\x32\x20\x4c\x20\x31\x38\x38\x2e\x32\x33\x35\ +\x30\x36\x20\x34\x31\x31\x2e\x30\x32\x30\x36\x33\x20\x4c\x20\x31\ +\x37\x34\x2e\x30\x35\x38\x39\x39\x20\x34\x31\x31\x2e\x30\x32\x30\ +\x36\x33\x20\x5a\x22\x20\x73\x74\x72\x6f\x6b\x65\x3d\x22\x42\x6c\ +\x61\x63\x6b\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\ +\x63\x61\x70\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\ +\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x22\x72\x6f\x75\ +\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\ +\x3d\x22\x31\x22\x2f\x3e\x3c\x74\x65\x78\x74\x20\x74\x72\x61\x6e\ +\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\ +\x28\x31\x31\x38\x2e\x33\x38\x36\x20\x34\x32\x37\x2e\x38\x39\x30\ +\x30\x31\x29\x22\x20\x66\x69\x6c\x6c\x3d\x22\x42\x6c\x61\x63\x6b\ +\x22\x3e\x3c\x74\x73\x70\x61\x6e\x20\x66\x6f\x6e\x74\x2d\x73\x69\ +\x7a\x65\x3d\x22\x34\x34\x70\x74\x22\x20\x66\x6f\x6e\x74\x2d\x77\ +\x65\x69\x67\x68\x74\x3d\x22\x62\x6f\x6c\x64\x22\x20\x78\x3d\x22\ +\x2e\x31\x38\x35\x35\x34\x36\x38\x38\x22\x20\x79\x3d\x22\x34\x34\ +\x22\x20\x74\x65\x78\x74\x4c\x65\x6e\x67\x74\x68\x3d\x22\x38\x32\ +\x2e\x36\x32\x38\x39\x30\x36\x22\x3e\x46\x49\x54\x3c\x2f\x74\x73\ +\x70\x61\x6e\x3e\x3c\x2f\x74\x65\x78\x74\x3e\x3c\x2f\x67\x3e\x3c\ +\x2f\x67\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\ +\x00\x00\x57\x31\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x01\x3d\x00\x00\x01\x39\x08\x06\x00\x00\x00\xe2\x0a\xf7\x8b\ +\x00\x00\x0f\x4b\x69\x43\x43\x50\x49\x43\x43\x20\x50\x72\x6f\x66\ +\x69\x6c\x65\x00\x00\x78\x01\xad\x58\x75\x58\x54\xdd\xf6\xde\x53\ +\xe4\xd0\xdd\x43\x77\x4b\x4b\x87\x12\xd2\x0d\x52\x33\xa4\x94\x43\ +\x08\x2a\xa2\x84\x48\x49\x8a\x28\x48\x83\x28\xa9\x80\x22\x28\x52\ +\x22\xfa\x29\x88\xa0\x22\x8a\x88\x20\x18\x88\x08\x2a\x48\xcd\xdd\ +\x03\xfa\x7d\xbf\x78\xee\x73\xff\xb9\x7b\x9e\x73\xce\xbb\xdf\xbd\ +\x62\x9f\xbd\xce\x59\x6b\xf6\x01\x80\x89\xd7\x3b\x3c\x3c\x18\x09\ +\x00\x08\x09\x8d\x24\xda\xee\x33\xc0\x39\xbb\xb8\xe2\x28\x27\x01\ +\x02\xfe\x38\xe0\x81\xf6\xc6\x47\x84\xeb\x5b\x5b\x5b\x40\x91\x7f\ +\xd3\x7e\x3e\x87\x72\xb0\x8d\xca\x92\x6d\xa5\x46\xc9\xba\xb8\x07\ +\x5a\xcb\x04\xd8\xf7\x73\xd5\x91\x0a\x53\xff\x8d\xd2\x1f\x9a\x9e\ +\x08\x1d\x02\x80\x90\x81\x04\xab\xff\x2e\xd6\x23\x63\x9f\x5d\x6c\ +\x4f\xc6\x47\x22\xc3\x23\xa1\x4c\x00\x19\xe3\x03\xbc\x09\x10\x1f\ +\x87\x58\x86\x68\x6f\x6b\x08\x71\x2d\xc4\xf4\xfe\xbb\xb8\x9d\x8c\ +\x7d\x76\xf1\x20\x19\x47\xe3\xfd\xc9\xba\xe3\x00\x50\x30\x87\x12\ +\x02\x43\x01\xa0\x5c\x80\x58\x87\xe0\x1b\x81\x87\xc3\x64\xbf\x04\ +\x42\x04\x3e\x04\xe2\x6c\x00\x90\x3a\x21\x21\x61\xd0\x3e\xe3\x13\ +\xc8\x4b\xe0\xc3\x89\x50\x97\x71\x0d\x62\x11\xf2\xba\xc0\x2b\x6c\ +\x5e\xf0\x50\xe9\x87\x76\xa4\xfe\xe1\xc2\x72\x00\x68\x81\xf6\x38\ +\x97\xff\xe1\xc4\x8d\x00\x60\x5f\x81\x3c\xf5\x3f\xdc\x8a\xed\xce\ +\x5a\x21\xd8\x87\x23\xfc\x94\x95\xc8\xd6\x00\x02\x6b\x00\x00\xe6\ +\x0d\x89\xb4\x22\x06\x6d\xe6\x02\xb0\x95\x43\x22\x6d\x54\x90\x48\ +\x5b\x95\x00\xa0\x5e\x03\xd0\x1d\x8c\x8f\x22\x46\xef\xc8\x42\x69\ +\xc4\x63\x00\xfe\x53\x7f\xf7\x9e\x7f\x6b\xa0\x60\x70\xc8\x01\x96\ +\x04\xd9\x08\x1c\xa2\x03\x19\x8d\xb2\x46\x1b\x63\xbc\x29\xf2\x29\ +\x27\xa9\xf5\x69\x3a\xb0\x1a\x74\x3d\x0c\x4e\x8c\x1f\x98\xa3\x59\ +\xb6\xd9\x62\xd9\xe7\x38\xcd\xb8\x8a\xb8\x67\x79\xd9\xf8\x54\xf9\ +\x5d\x05\x62\x71\x85\x82\xed\x42\x2f\x85\x49\xa2\x42\x62\x26\xe2\ +\x41\x12\xd9\x92\x9d\x52\xef\x65\x18\x65\x0d\xe5\x88\xf2\xd5\x0a\ +\xaf\x94\x18\x94\x4d\xf7\x24\xab\xf4\xab\x01\x75\x63\x8d\x44\xcd\ +\xbb\x5a\x9f\xb5\x99\x74\x34\x75\x5d\xf5\x8e\xe9\x97\x19\xdc\x33\ +\x9c\x33\xa6\x31\x91\xdb\x67\xb3\xff\xb0\x69\xae\xd9\x0d\xf3\x71\ +\x8b\x0d\x4b\x5e\x2b\x4d\x6b\x17\x9b\x38\xdb\x62\xbb\x4e\xfb\x09\ +\x87\x75\x27\x3e\x67\x23\x97\x30\xd7\x0a\xb7\xb1\x83\x18\x8f\x3d\ +\x9e\x04\xaf\x1c\xef\x1e\x9f\x65\x82\x90\xaf\x83\x5f\x96\x7f\x7f\ +\xc0\x56\x90\xd6\xa1\xf8\xe0\xae\x50\x4c\x98\x55\xf8\xa5\xc3\x8b\ +\x11\x86\x91\xe7\xa2\x96\x8e\xe8\xc5\xf8\xc4\x06\x1f\x25\x1e\x8b\ +\x3d\x9e\x18\x77\xfa\x44\x7a\x7c\xda\xc9\x8c\x53\x29\x09\x71\x89\ +\x31\x49\x01\xc9\x0e\xa7\x0d\x52\x24\xcf\xd0\x9d\x59\x48\xbd\x9f\ +\x56\x9e\x1e\x95\x61\x96\xc9\x9d\x39\x7f\xb6\x25\xeb\x64\xb6\x63\ +\x8e\x6c\x2e\x3a\xf7\x55\xde\xf5\xfc\x33\xe7\x3c\x0a\x94\xce\x53\ +\x9e\x9f\x2c\x6c\xb9\x90\x7a\xd1\xbb\x48\xbd\x98\xa1\x78\xfe\x52\ +\x4f\x49\x71\x69\x4c\x99\x43\xf9\x9e\x0a\xd6\x8a\x1f\x95\xcf\xaa\ +\xda\xab\x33\x6a\x1c\x2f\x0b\x5f\x5e\xae\xed\xbe\x92\x79\xd5\xbd\ +\x4e\xba\x6e\xad\xfe\x7e\x43\x61\x63\x40\x93\x66\x33\x4d\xf3\xc4\ +\xb5\xfa\xeb\x71\x2d\x96\xad\xb8\xd6\xe5\xb6\x7b\x37\xf2\x6f\xe2\ +\xdb\x95\x6f\xa1\x6e\x3d\xe9\xc8\xee\x3c\x70\x9b\xea\x76\xff\x9d\ +\x84\x2e\xbd\x2e\xd2\xdd\xae\xee\xe3\x3d\xda\xbd\xa0\xb7\xb7\x2f\ +\xb9\xdf\xe2\x1e\xcb\xbd\x57\x03\xd5\xf7\x0f\x0f\x6a\x3f\xa0\x7d\ +\xf0\xea\x61\xc3\x5f\x27\x1f\xd9\x3d\x16\x7d\xfc\x7d\xa8\x6b\xf8\ +\xcc\x13\x9b\x11\xae\x91\x77\x4f\x1b\x47\x8f\x8c\xe9\x3e\xa3\x79\ +\xf6\xec\x79\xd9\x8b\xe0\x71\x8d\x97\x94\x2f\x9f\x4d\x54\xbd\x8a\ +\x7c\x6d\x34\xc9\x36\xf9\xf1\x4d\xc7\x54\xd6\x5b\xfc\xb4\xea\x3b\ +\xba\x77\x9f\x66\x7a\x67\xcf\xbd\xf7\x9d\x53\x9c\xdb\x98\x7f\xf0\ +\x21\xff\x23\xfe\x93\xea\x67\xba\xcf\x1f\x16\x46\xbe\x0c\x2c\x0e\ +\x7c\x1d\x5f\x22\x2d\x1b\xac\x5c\xf8\x41\xf3\xb3\x6a\xcd\x7d\xdd\ +\x64\xd3\x77\x3b\x97\x44\x82\xf1\xd7\x07\xb3\x88\xc3\x48\x0e\xe4\ +\x28\xea\x26\xba\x19\x73\x9f\x62\x95\x4a\x9b\xfa\x1c\x2d\x05\x36\ +\x8a\xee\x3b\x43\x1c\x13\x60\x4e\x80\xf1\x0f\x65\x1f\xe6\x94\xe2\ +\x8a\xe1\xbe\xc9\x33\xc7\x47\xc1\x2f\x21\xb0\x1f\x47\x10\x3c\x25\ +\x54\x2e\x7c\x4f\x64\x56\x8c\x42\x5c\x42\xc2\x44\x32\x4c\x2a\x4f\ +\xba\x5d\x66\x46\x8e\x5e\x5e\x4d\x81\xa0\x78\x56\xa9\x4b\x79\x49\ +\x45\x44\xd5\x4e\x2d\x4d\xfd\xb6\xc6\x67\x2d\xaa\xbd\x7c\xda\x2a\ +\x3a\xfb\x75\x9d\xf5\x42\xf5\x13\x0d\x0a\x0c\xaf\x1a\xdd\x31\x1e\ +\x36\x99\xde\xb7\x6c\x4a\x61\xc6\x69\x2e\x69\xa1\x79\xc0\xd4\xd2\ +\xc9\x2a\xc8\xfa\x88\x4d\x92\x6d\xae\x5d\xb9\xfd\x35\x87\x01\xc7\ +\x77\xce\x48\x17\x61\x57\x43\x37\x6f\xf7\x53\x07\x4b\x3d\xba\x3c\ +\xa7\xbc\x48\x3e\x82\x78\x33\x42\x98\xef\x79\xbf\x3e\xff\xef\x81\ +\x42\x41\x0e\x87\x32\x83\x07\x42\x51\x61\x86\xe1\x27\x0e\xf7\x13\ +\x37\x23\xd9\xa2\x78\xa3\x05\x8e\x08\xc7\x88\xc7\x4a\x1c\x95\x38\ +\x26\x7e\x5c\x2c\x4e\xe8\x04\x77\x3c\xcb\x49\xea\x93\x9b\xa7\x16\ +\x13\xde\x24\x3e\x4e\x6a\x4f\x2e\x3d\x9d\x96\x12\x72\xc6\x2e\x55\ +\x35\x8d\x23\x6d\x35\x7d\x34\xa3\x2e\x33\xf9\xac\x5b\x96\x72\x36\ +\x36\x7b\x2e\xa7\x3b\xf7\x62\x1e\x31\xdf\xfa\x9c\x6c\x01\xb6\x60\ +\xe1\xfc\xa3\xc2\xc6\x0b\x59\x17\xa3\x8a\xdc\x8a\x0d\x2f\x49\x97\ +\xb0\x97\x22\x4b\x17\xcb\x26\xca\x07\x2a\x2a\x2a\x43\xaa\xb4\xab\ +\x19\xab\x67\x6a\xda\x2e\x67\xd4\x7a\x5d\x51\xb9\x4a\x77\xf5\x7d\ +\x5d\x57\xfd\xc5\x06\x62\xa3\x79\x93\x68\x13\xa9\xf9\xe5\xb5\xe6\ +\xeb\x69\x2d\xf8\x56\xf5\x36\x6c\xdb\xdb\x1b\xad\x37\xcf\xb4\x7b\ +\xdc\x52\xee\xa0\xe8\x18\xef\xac\xbf\x1d\x7f\xc7\xae\x4b\xb4\x6b\ +\xf5\xee\xc3\xee\x4b\x3d\xa1\xbd\x7a\x7d\xac\x7d\xf3\xfd\xb7\xee\ +\x65\x0e\x78\xdf\x57\x19\xa4\x19\x9c\x7a\xd0\xf6\x30\xf3\x2f\xc2\ +\x23\xdd\xc7\x22\x43\x2c\xc3\xa8\xe1\xe5\x27\x93\x23\x83\x4f\x5b\ +\x47\x8b\xc7\x12\x9f\x05\x3d\xb7\x7d\xa1\x31\x2e\x00\xa3\xff\x75\ +\x62\xfc\x55\xef\xeb\xa6\xc9\xa2\x37\xe9\x53\x71\x6f\xc3\xa6\x7d\ +\xdf\xb9\xcd\xd8\xce\x9a\xbf\x37\x99\x33\x9a\xd7\xff\xa0\xfb\xd1\ +\xf0\x93\xd9\x67\xdb\x05\xf7\x2f\x41\x8b\x47\xbf\x66\x2d\xd5\x7e\ +\xeb\x5e\x9e\x58\x59\xfd\xc1\xfd\x73\xef\xaa\xe7\x5a\xe2\xaf\xba\ +\xf5\xa7\x1b\xab\x5b\xfc\xdb\xba\x24\xfd\x9d\xf8\xf3\x00\x0f\xd0\ +\x87\x50\x45\x34\x22\x75\x90\xb3\xa8\x8b\x68\x3c\x46\x87\x42\x8a\ +\x92\x97\x8a\x8b\x9a\x9b\x46\x88\x56\x04\x2b\x43\x27\x4d\x2f\xc2\ +\xc0\xcc\xb0\xc1\x38\xc1\xd4\x08\xb3\x81\x3a\xcb\x2f\xd6\x36\x36\ +\x22\xbb\x02\xfb\x57\x8e\x26\xce\x50\x2e\x39\xae\x25\xee\x16\x9e\ +\x68\x5e\x2d\x3e\x04\xdf\x23\xfe\x02\x01\x6f\x9c\x3c\x6e\x43\xf0\ +\x91\x50\xa9\x30\x51\xc4\x58\x94\x5f\x74\x45\xac\x47\x3c\x49\x42\ +\x47\x62\x5d\xb2\x55\x2a\x54\x5a\x5a\xfa\x83\x4c\x8d\xac\x9f\x9c\ +\x98\xdc\xbc\x7c\xad\x42\x90\xa2\xa2\xe2\x0f\xa5\x0e\xe5\x93\x7b\ +\x4c\x54\x68\x55\xc6\x54\x8b\xd4\xbc\xd5\x25\xd4\x97\x34\xda\x35\ +\xe3\xb5\x4c\xf6\x32\xee\x9d\xd0\xae\xd2\x09\xd5\x55\xd3\x43\xe8\ +\x3d\xd2\x3f\x6f\x80\x37\x54\x30\x02\x46\x43\xc6\x97\x4c\xc2\xf6\ +\x19\xed\x67\xdd\xff\xc1\xf4\x8e\x59\xbe\xf9\x21\x0b\xa3\x03\x3c\ +\x07\xbe\x5b\x3e\xb0\x3a\x67\xed\x6e\x23\x6c\xb3\x60\x7b\xc3\x2e\ +\xc1\xde\xc6\x81\xdf\x61\xc9\xb1\xd7\xa9\xc0\x39\xcc\xc5\xc4\x55\ +\xd0\x95\xe4\x36\xe5\xde\x7d\xb0\xdc\x23\xd1\x33\xd0\xcb\xc2\x5b\ +\xc5\x87\x07\x8f\xc0\x7f\x20\x3c\xf4\xad\xf5\x3b\xed\xef\x1d\xa0\ +\x17\x28\x10\x48\x0a\x7a\x7b\xa8\x27\xb8\x3c\xe4\x74\xe8\x21\x98\ +\x57\xd4\x0e\xf3\x13\x29\x88\x8b\x11\x2f\x22\x7b\xa3\xea\xa3\x0b\ +\x8f\x24\xc5\x1c\x8e\xf5\x3c\x6a\x7a\x4c\xf1\x38\xe2\x78\x7f\x5c\ +\xe2\x09\xe3\x78\x54\x7c\xf7\xc9\xf8\x53\xea\xa7\x96\x13\xea\x13\ +\xfd\x93\x84\x92\x26\x93\x0b\x4f\xdb\xa5\x30\xa4\x3c\x3e\x93\x91\ +\x6a\x96\x46\x9b\x36\x94\x9e\x9d\x61\x9b\xc9\x91\xf9\xfa\x6c\x79\ +\x96\x6b\x36\x4b\xf6\x5f\x39\x49\xb9\xfa\x79\x20\xaf\x27\x3f\xe9\ +\x9c\x69\x01\x73\xc1\xd4\xf9\xc6\xc2\xf8\x0b\x2e\x17\x95\x8b\x18\ +\x8b\x96\x8a\xc7\x2e\x75\x94\x54\x96\x66\x95\xc5\x95\x87\x55\x78\ +\x57\x5a\x56\x29\xc1\x27\xec\x53\xcd\xbd\xcb\xe5\xb5\x27\xae\x78\ +\x5e\xd5\xad\xc3\xd5\xa3\xea\x3f\x36\x0c\x35\xb6\x34\x95\x34\xa7\ +\x5c\x0b\xbf\xee\xd6\x62\xdc\xaa\xd0\xc6\x73\x83\xe2\xc6\xd2\xcd\ +\xd7\xed\xf7\x6e\x35\x76\x94\x74\x76\xdf\x9e\xed\x42\xdc\xe5\xea\ +\x56\xee\xb1\xeb\x8d\xed\xab\xed\x7f\x37\x20\x75\x3f\x7e\x70\xe1\ +\x61\xf8\x23\xca\xc7\x77\x87\xab\x46\x5a\x47\x57\x9f\xc7\xbe\x74\ +\x7d\x5d\xf2\x36\xef\xbd\xe5\xe7\xaa\x1f\x66\xe4\xf8\xef\xd6\x3e\ +\x72\x4d\xa0\x50\x05\xe0\x02\xac\x08\x8e\xb0\x3e\x3a\xa0\x01\xc8\ +\x69\x06\x40\x1c\xd6\x2f\x36\x2f\x00\xac\xe9\x00\xb0\xd7\x00\x48\ +\x1a\x6d\x80\x58\x9f\x06\x08\x31\x3f\xf0\xa7\x7e\xb0\x00\x19\x60\ +\x0c\x3c\x41\x0c\xc8\x01\x75\xe0\x1e\x98\x02\xbf\x10\xac\x08\x05\ +\x84\x05\x22\x08\x91\x82\xa8\x41\x0c\x20\xe6\x91\x34\x48\x39\xa4\ +\x3d\xf2\x38\xf2\x32\xcc\x32\x28\x94\x0a\x2a\x08\x55\x8d\x9a\x45\ +\x8b\xa0\xfd\xd1\xf5\xe8\x15\x8c\x16\x26\x19\x33\x4c\xc1\x4b\x11\ +\x44\xd1\x41\x89\xa5\x3c\x48\xd9\x4c\x85\xa1\x72\xa3\x6a\xa6\xa6\ +\xa2\xf6\xa6\xee\xa0\x61\xa5\x39\x4c\xf3\x98\x56\x8a\x36\x85\x76\ +\x0e\xbb\x0f\x5b\x43\x47\x4d\x17\x4c\xf7\x8c\xde\x88\xbe\x8d\x41\ +\x8c\xa1\x98\x91\x95\x31\x9d\x09\xcd\x14\xcf\xb4\xc5\x7c\x94\x79\ +\x9d\xe5\x18\x0b\x89\x35\x99\x8d\x86\x2d\x87\x9d\x87\xbd\x9a\x43\ +\x89\xa3\x97\xd3\x8e\xf3\x1d\x57\x34\x37\x2d\x77\x05\x8f\x26\xcf\ +\x28\x6f\x30\x1f\x9a\xaf\x98\x5f\x91\xff\xbe\x80\x97\xc0\x3a\xee\ +\xbc\xe0\x1e\xc1\x31\xa1\x48\x61\x56\xe1\x1b\x22\xae\x22\x5b\xa2\ +\x97\xc4\x0c\xc4\xe6\xc5\xd3\x25\xe4\x24\x86\x25\xa3\xa4\xb8\xa4\ +\x3a\xa5\x3d\x64\x80\x4c\x85\xac\x91\xec\x9c\x5c\xba\xbc\x8c\xfc\ +\x90\xc2\x51\x45\x23\x25\x3e\xa5\x5f\xca\x2f\xf6\xb4\xa8\x14\xaa\ +\x1e\x53\xf3\x57\xb7\xd1\x30\xd4\xd4\xd6\x52\xde\xab\xaa\xad\xab\ +\x63\xa6\xeb\x05\x2b\x5c\x85\xc1\x23\x23\xa4\xb1\x86\xc9\x89\x7d\ +\x83\xa6\xcc\x66\x36\xe6\xd9\x16\x63\x96\x5c\x56\x3e\xd6\x0d\x36\ +\xdb\x76\x56\xf6\xe5\x0e\xab\x4e\x66\xce\x95\x2e\x5b\x6e\x0e\xee\ +\x0d\x1e\x14\x9e\x9e\x5e\x37\x7d\x18\xf0\xc1\x84\x3e\x3f\x35\xff\ +\x9e\x40\x83\xa0\xc1\x60\xbb\x90\x89\xb0\xc0\xf0\x35\x62\x32\xcc\ +\x67\xd5\x47\xf6\xc6\x8c\x1c\x0d\x3a\x8e\x8a\x2b\x8b\xd7\x3a\x39\ +\x9d\x90\x9a\xa4\x94\xfc\x36\xe5\x5a\x6a\x56\x7a\x44\xa6\x6d\x96\ +\x72\x0e\x6b\xee\x46\xfe\x44\xc1\x9d\xc2\x92\x8b\x31\xc5\x4e\x25\ +\x0a\x65\x54\xe5\x53\x95\xad\xd5\xa7\x2f\x3b\x5e\x91\xac\xa3\xac\ +\x5f\x6e\x9c\x69\x1e\xbf\xfe\xb4\xb5\xff\x46\x6f\xfb\xdd\x8e\x5b\ +\xb7\xdb\xbb\xda\xba\xaf\xf7\x36\xf5\x37\x0c\x5c\x1d\xbc\xf2\xb0\ +\xfc\x51\xe5\x50\xf1\x93\x92\xa7\x97\xc6\xd2\x9e\xa7\x8c\xe7\x4e\ +\xd4\xbf\x7e\xfa\xe6\xeb\x34\xd7\x8c\xf2\x7b\x83\xf9\x7d\x1f\x15\ +\x3e\x91\x16\x3a\x17\xdd\xbe\x4e\x7f\x33\x5f\xae\x59\x59\xfa\x21\ +\xf9\xd3\x6c\xd5\x67\x2d\xf4\x57\xc0\xba\xd3\x86\xea\x26\xe3\xe6\ +\x9b\xad\xaa\xed\xf3\x3b\xf9\x03\x0b\x84\xc1\x5e\x60\x0f\x42\x41\ +\x0a\x28\x07\x9d\xe0\x39\xf8\x86\xc0\x22\x24\x11\x26\x08\x02\x22\ +\x01\x51\x81\xe8\x43\xbc\x47\x52\xc3\xf8\x3b\x20\xe3\x91\x75\xc8\ +\x97\x28\x6a\x94\x36\x2a\x12\xd5\x8c\x5a\x42\x2b\xa2\x23\xd1\x1d\ +\x18\x24\xc6\x1c\x73\x0e\xf3\x96\x42\x9e\xe2\x04\xc5\x30\xa5\x30\ +\x65\x14\xe5\x43\x2a\x21\xaa\x58\xaa\x11\x6a\x69\xea\x14\xea\x19\ +\x1a\x03\x9a\x72\x5a\x40\xeb\x4d\xdb\x8b\x15\xc7\xa6\x61\x97\xe8\ +\x9c\xe9\xfa\xe8\xd5\xe9\x9b\x19\x24\x18\xaa\x18\x85\x19\xcb\x99\ +\x04\x99\xaa\x98\x25\x98\x1b\x59\x54\x59\xba\x59\x2d\x58\x27\xd8\ +\x02\xd8\x7e\xb1\x67\x70\x08\x72\xdc\x82\xb1\xff\xcc\x95\xca\x2d\ +\xc1\xfd\x80\xe7\x10\x2f\x3d\xef\x35\x3e\x5b\xbe\x6f\xfc\xd9\x02\ +\x8a\x02\x63\xb8\x58\x41\x01\xc1\xfb\x42\xe1\xc2\xdc\xb0\x82\x11\ +\x61\x8e\x1a\x14\x8b\x16\x17\x11\x7f\x2a\x11\x27\x29\x25\x39\x21\ +\x95\x22\xad\x2c\xfd\x56\x26\x43\x56\x43\xf6\xbd\x5c\x81\xbc\xbe\ +\xfc\x92\x42\x83\xe2\x29\x25\x0f\x65\x9d\x3d\x02\x2a\x08\x95\x8f\ +\xaa\x23\x6a\x5d\xea\x75\x1a\x65\x9a\x85\x5a\xd9\x7b\x73\xb4\xf3\ +\x74\x8a\x74\xab\xf5\xda\xf4\x87\x0c\x66\x8d\x30\xc6\x22\x26\x16\ +\xfb\x8e\xec\xaf\x31\x9d\x31\xe7\xb7\xf0\x39\x50\x69\x39\x67\x2d\ +\x6d\x73\xd8\xf6\x8e\x3d\xc2\xc1\xcc\x31\xc7\x69\xc2\x45\xc8\x35\ +\xd4\xad\xd5\x7d\xd3\xc3\xc8\x33\xc3\x6b\xd4\x87\x0b\xef\x4b\xa8\ +\xf7\x63\xf6\xbf\x10\xc8\x1a\x94\x1d\xcc\x14\x92\x11\x46\x1f\x7e\ +\x96\x88\x8d\xc8\x88\xa2\x8e\xce\x8a\x61\x8d\x2d\x3a\x26\x7c\xbc\ +\xf5\x84\x5e\xfc\xe8\xa9\xf0\x44\xc6\xa4\xeb\xa7\x1d\x52\x56\x53\ +\xcb\xd2\xad\x32\x36\xcf\x36\x64\x7b\xe5\x72\xe7\x8d\x9c\xcb\x38\ +\x6f\x79\x01\x7b\xf1\x51\x71\x5e\x89\x63\x19\x6f\xf9\x6c\x65\x7d\ +\x75\xe4\x65\xcd\x2b\x98\xab\xbd\xf5\xf8\x46\x64\xd3\xe5\x6b\xb6\ +\x2d\xc8\xd6\xa6\x1b\x81\xed\xa2\xb7\xa6\x3b\x4b\xef\x10\xee\x8a\ +\x74\x7f\xe8\xbd\xda\x1f\x3a\x20\x7d\xff\xeb\x83\xda\xbf\xf0\x8f\ +\xf9\x86\x9e\x3e\x49\x7f\xaa\x37\xba\xfa\xac\xe6\x85\xd3\x4b\xec\ +\xc4\xad\xd7\x5e\x6f\x30\x53\x0d\xd3\x56\xef\xbe\xcc\xa6\xcd\xe1\ +\xe6\xaf\x7f\x34\xfb\x34\xb5\x10\xfe\x65\xe3\xeb\x99\x6f\xec\xcb\ +\xd5\xdf\x15\x7e\xb4\xaf\xee\x5b\x7b\xbe\x4e\xd8\xd8\xda\x3a\xbb\ +\x13\x7f\x3e\x60\x04\x82\xe0\xbb\xdf\x0e\xa6\x10\x54\x08\x25\x84\ +\x07\x22\x1d\x71\x1b\xb1\x88\x14\x41\x7a\x20\x4b\x90\xef\x50\x32\ +\xa8\x78\xd4\x6b\xb4\x0e\xba\x06\xc3\x8c\x39\x85\x59\x81\x6f\xf9\ +\x0c\xa5\x27\xe5\x1b\x2a\x2f\xaa\x69\x6a\x7f\xea\x45\x9a\x58\x5a\ +\x14\x6d\x16\x16\x87\x6d\xa2\x33\xa4\x9b\xa6\xcf\x65\x30\x66\xd8\ +\x66\x6c\x67\x8a\x64\x56\x66\xfe\xce\x72\x93\xf5\x04\x9b\x21\x3b\ +\x1d\xfb\x38\x47\x2d\xe7\x51\x2e\x0b\x6e\x51\x6e\x12\xcf\x2b\xde\ +\x0e\xbe\x52\xfe\x04\x81\x00\x9c\x8d\xa0\x8e\x90\xac\x30\x9f\x08\ +\x93\x28\x46\x74\x4d\xec\x9b\xf8\x47\x89\x29\xc9\x49\xa9\x17\xd2\ +\x63\x32\x23\xb2\xc3\x72\x4f\xe5\x47\x15\x66\x95\xd0\xca\xe2\x7b\ +\xf6\xab\x1c\x52\x4d\x57\x6b\x52\x1f\xd2\x58\xd6\xa2\xdf\x2b\xaf\ +\x7d\x40\x27\x50\x37\x59\xaf\x42\xbf\xd7\x60\xd2\x70\xdb\x98\xdb\ +\x44\x7b\x9f\xd7\xfe\x64\xd3\x76\xb3\x2f\x16\x92\x07\xbc\x2d\x2f\ +\x5a\x3d\xb3\x61\xb4\xb5\xb1\xcb\xb0\x7f\xe0\x48\xed\x64\xe4\x9c\ +\xec\x32\xe0\x46\xe5\x6e\x7a\x30\xc3\xe3\x89\x17\x9b\xb7\xab\x4f\ +\x19\x7e\xd1\xd7\xc0\x6f\x24\x80\x18\xc4\x70\xe8\x76\x88\x5f\x98\ +\x40\xf8\x4b\x62\x7e\xa4\x6d\x34\xeb\x91\x97\xb1\xc5\xc7\xdc\xe1\ +\x7f\x8e\x37\x27\xcb\x13\x08\x49\x22\xc9\x73\x29\xf7\x53\x9b\xd3\ +\x8b\x32\x8f\x65\x39\xe7\x28\xe4\x51\xe4\x0f\x15\x9c\x2b\x74\xbc\ +\x48\x59\xd4\x71\xc9\xbf\x94\xbe\xec\x7a\x85\x6d\xe5\xd7\xea\x33\ +\x97\xf9\x6b\x5b\xaf\xba\xd4\xb3\x35\xbc\x69\xaa\xbd\x16\xd9\xa2\ +\xdd\x06\x6e\x3c\x68\xcf\xea\xb0\xbe\xcd\x7c\x67\xfc\x6e\x7e\x8f\ +\x53\x1f\x67\xff\xc4\x40\xc9\xa0\xef\x43\x89\xbf\xbe\x3f\xee\x1c\ +\x4e\x1f\xf1\x18\x15\x1a\xcb\x7f\x4e\xfd\x22\xf5\x25\xcb\x44\xc9\ +\x6b\x91\xc9\xca\x29\x9e\xb7\xe9\xd3\xdf\x66\x2c\x66\x2f\xbd\x9f\ +\x99\xe7\xfc\xa0\xf7\xd1\xe7\xd3\xb1\xcf\x89\x0b\xc9\x5f\x88\x8b\ +\x07\xbf\xaa\x2d\x31\x2c\xbd\xf8\x56\xba\xec\xb4\x42\xbf\xd2\xf9\ +\xdd\xf9\xfb\xcf\x1f\xe9\x3f\x39\x7e\x56\xae\x4a\xac\x16\xaf\x31\ +\xac\x25\xae\x7d\xfb\x65\xfb\xab\x75\x9d\x7d\x3d\x66\xfd\xe1\x06\ +\xcb\x86\xfb\x46\xf5\xc6\xe2\xa6\xda\x66\xf4\x66\xcd\xe6\xb3\x2d\ +\xcc\xd6\x9e\x2d\xc2\x56\xde\x56\xdf\xd6\xca\xb6\xd0\xb6\xd5\xf6\ +\xd1\xed\xea\xed\x27\xdb\x1b\x24\x71\x92\x2d\x29\x8e\x54\x4b\x1a\ +\x23\xc7\x7f\x77\xbf\x44\xae\x1f\x80\xc6\x30\x2c\x38\x8c\x88\xb3\ +\x30\x84\x1b\x9c\xff\x6a\x0b\x09\x8e\x82\x7b\xa8\x9d\xc6\x0c\xcf\ +\xd8\x50\x1f\x4b\x2b\x78\x25\xe3\x0f\xe1\x91\xd6\xe4\xbd\x20\x3b\ +\x3c\xd6\x23\xa2\xed\x8c\xe1\x95\x11\x6e\x87\x18\xfd\x02\x4d\x4c\ +\x7f\x63\x1c\xc1\xdb\xc8\x1c\x62\x5e\xc8\x2b\x1c\x0d\x30\xb4\x84\ +\x18\x0b\xb1\x85\x1f\xd1\xc4\x16\x62\x68\x07\xe1\x1c\xe4\x6d\x66\ +\x0d\x31\x3d\xc4\x41\xbe\xa1\x0e\x76\xbf\xf9\x98\xf0\xe0\x9d\x3d\ +\x2e\x59\x26\x2d\x3c\xd2\x80\x2c\xcf\x09\x71\xb1\x6f\x84\xf1\x1f\ +\x99\xd6\xa3\x01\xf6\x4e\xbf\x75\x07\x88\x51\xb6\x0e\x10\x8b\x40\ +\x99\xb1\x43\x61\xe6\x64\x79\xb2\xaf\x35\x82\xaf\xd1\xef\xb9\x21\ +\xd1\xa1\xc1\x96\x16\x90\x87\x73\x46\xb2\x06\x46\x9a\x92\xe7\xcf\ +\x0a\xb1\x14\x30\x01\xde\x80\x08\xfc\x81\x2f\x90\x05\x16\xc0\x10\ +\xbe\x59\xbb\x67\x1c\xe4\x71\xb0\x1f\x06\x47\x7d\x41\x04\x94\x9b\ +\xdd\x91\xfb\x23\xe5\xb8\xd3\x0f\xfc\x3f\x5a\xb2\xc0\x6f\xc7\x5e\ +\xf4\x8e\xce\x21\x30\x07\x75\x42\x3c\x03\x13\x88\xd0\xd6\xae\xdd\ +\x07\x00\x0f\x39\x6f\x98\xbb\x7f\x33\x0a\x75\x0a\x1f\x15\x36\xff\ +\xf4\x76\x3c\x06\xef\x78\xfd\xa3\x61\x0e\x7b\xff\x9b\xf9\x33\x43\ +\xf2\xec\x76\x47\x02\x01\x01\xe2\x3f\x3c\xfe\x0f\x4f\xf6\x1c\x72\ +\xdd\x2f\xba\x30\x2c\x56\xd3\x31\x00\x2d\x86\x56\x42\xab\xa0\x0d\ +\xd0\xda\x30\x37\x68\x00\x1c\x9a\x1d\xcd\x0d\x64\xd1\x7b\xd0\xea\ +\x68\x7d\xb4\x2e\x5a\x0b\x8e\x69\x0c\x2d\xdc\x5c\xf8\x7b\x2e\xbb\ +\x6b\xe3\xf3\xf7\x3d\x9a\x43\x6f\xbe\x20\x6a\x67\x45\x42\xff\x66\ +\xff\x9f\x57\x10\x08\xbf\x61\xec\xec\xdd\xe1\x2a\x03\x0a\xf8\x6c\ +\x14\x9f\x22\xa3\x9e\x3b\xa4\x93\xe4\xeb\xff\x6c\x91\xbe\x31\x70\ +\x5f\x0f\x80\x61\x58\x78\x2c\x31\xd0\x3f\x20\x12\xa7\x0f\xbf\x5c\ +\xf8\xca\xe0\x4c\x43\xf1\x72\x32\x38\x25\x05\x45\x65\xf0\x2f\x98\ +\x83\x67\x63\x4f\xf4\x83\x04\x00\x00\x20\x00\x49\x44\x41\x54\x78\ +\x01\xed\xbd\x09\xb4\xed\x77\x55\xe7\xf9\x7b\x43\x92\x97\x01\x12\ +\x02\x21\x0c\x99\x43\x12\x44\x41\x10\x14\x45\x48\x87\xa9\x01\x51\ +\x8b\x52\x19\x04\x15\xad\x72\x55\x69\x57\xf5\xaa\xc1\xa1\x4a\xad\ +\xee\x45\x59\x96\xcb\x76\x59\x5a\xcb\xb6\x4b\xab\x74\x69\xaf\x76\ +\x58\x50\xa2\x86\x08\x8a\x80\x28\x93\x22\xa2\x0c\x61\x4a\x20\x10\ +\x82\x08\x09\x18\x86\x24\x84\x4c\xef\xf5\xfe\x9c\x73\x3e\xf7\xed\ +\xfb\x7b\xff\x73\xcf\xb9\xc3\x39\x77\xda\xfb\xad\x7d\xf6\xf8\x9b\ +\xbe\xe7\xbf\xf7\xfd\x9f\xe1\xde\xd7\x5a\x51\x21\x50\x08\x14\x02\ +\x85\x40\x21\x50\x08\x14\x02\x85\x40\x21\x50\x08\x14\x02\x85\x40\ +\x21\x50\x08\x14\x02\x85\x40\x21\x50\x08\x14\x02\x85\x40\x21\x50\ +\x08\x14\x02\x85\x40\x21\x50\x08\x14\x02\x85\xc0\xf6\x23\x70\x60\ +\xfb\xb7\xb0\x90\x1d\xcc\x7b\xae\x79\xf3\x16\xb2\xc9\x9a\xb4\x10\ +\xd8\x46\x04\x8e\x6d\x60\xed\x8d\x8c\xd9\xc0\x32\x8b\x1d\x72\x70\ +\xb1\xd3\xd7\xec\x85\x40\x21\x50\x08\xec\x2c\x04\x76\xd3\x9d\xce\ +\xbc\x7b\x9d\x37\x8f\x67\x62\x3d\xb9\x3b\xeb\x99\xab\xdd\x14\x02\ +\x9b\x43\x60\x3d\x77\x6d\xeb\xc9\x65\x57\xeb\xcd\xdf\xdc\x49\xd6\ +\x39\x7a\x37\x15\x7d\xbf\xd7\xde\xce\x47\x5f\x2b\x46\xde\xac\x78\ +\x9e\xab\xf4\x42\x60\xbf\x20\x30\xd4\xac\x86\x7c\x3d\x1e\x7d\x4e\ +\x6f\xf7\xf9\xdb\x6a\xef\xc4\xe2\x9f\xb5\x27\xe3\x4a\x00\xcc\xfa\ +\x3c\x80\xae\x37\x7f\x9e\x39\x2b\xa7\x10\xd8\xcd\x08\xcc\xdb\xa8\ +\x86\xf2\xf4\x29\xa7\xe1\x30\x2b\x3e\x6d\xdc\x96\xfa\x77\x62\xf1\ +\xbb\x27\x65\x7f\xe0\xec\x47\xcf\x76\x9f\xdb\xdb\xeb\xc9\xed\xc7\ +\x96\x5d\x08\xec\x07\x04\xe6\x69\x4c\x39\x67\x9a\x0e\x56\x39\x36\ +\x64\x6f\x0b\x9e\x3b\xa9\x09\xb8\x17\xa5\x80\xf4\x36\x7e\x7c\xd9\ +\x9f\x75\xe3\xc8\xa2\x42\xa0\x10\xd8\x3a\x04\x68\x62\x7d\x23\x63\ +\x76\x7d\x4a\x57\xec\xed\xa3\x06\xb6\x53\xf6\xcd\x62\x3b\xf6\xe2\ +\x1e\x94\xee\x41\xbb\x97\xd3\xe2\xfa\x4f\x09\xe5\xe2\xe0\x07\x04\ +\xdf\x3f\xf8\xcc\x60\x7c\x45\x85\x40\x21\x30\x1f\x02\xf7\x44\xda\ +\x17\x82\xbf\x18\xfc\xf9\xe0\x1b\x83\xef\x08\x96\xfa\x66\x36\xcd\ +\xee\x9b\xdc\xb4\x3c\xe7\x5d\x8a\x3c\xbc\x94\x55\xd6\xb7\xc8\xb4\ +\x26\xe7\x2c\x39\x7e\x28\x9c\x4f\x08\x7e\xfa\x44\x3e\x32\xe4\x45\ +\xc1\xf5\x55\x9c\x00\xa1\xa8\x10\xd8\x22\x04\x68\x56\x9f\x08\xbe\ +\x2e\xf8\x6f\x83\xdf\x18\xfc\x97\xc1\x77\x07\x67\xea\x9b\x9a\xb5\ +\x6a\x4e\x1f\xd7\xbf\x54\xd9\x6f\x6a\xd1\x8b\xbb\x9e\x32\xaf\x87\ +\x2f\xfb\xd5\x7b\x49\xa3\x7b\x76\xf0\x4b\x82\x9f\x11\xcc\xdd\x5c\ +\x4f\x9f\x0b\xc7\x3f\x04\xf3\x93\x8a\x9f\x58\xfc\xe4\x2a\x2a\x04\ +\x0a\x81\xf9\x10\xe0\x66\x88\x57\x48\xd4\x16\xaf\x98\x1e\x14\xdc\ +\xd3\x9d\xe1\x78\x73\xf0\xef\x04\x5f\x13\x8c\x4d\xad\xd2\xd8\xa6\ +\xdd\xe1\x11\xeb\x1b\x9f\xb6\x32\x52\x16\x4b\x36\x94\xc5\xae\x72\ +\x7c\x76\xd7\x53\x12\x41\xcf\xb6\xd9\xfa\xb8\x6b\x43\x3f\x37\xf8\ +\x5f\x05\x7f\x57\xf0\x39\xc1\xd2\x67\x43\x79\x53\xf0\x5b\x82\x3f\ +\x14\xcc\x4f\xa3\xcf\x04\x4b\xce\xa3\x5d\xb2\x10\x28\x04\xe6\x43\ +\xc0\x46\x74\x56\xa4\x5f\x11\xcc\x2b\xa9\x27\x05\x5f\x15\xfc\xf0\ +\x60\x89\x9b\x8b\xff\x19\xfc\x0b\xc1\x37\x4c\x9c\x8c\x75\xbc\x92\ +\x50\xf6\x6b\x67\x89\xbe\x50\x5a\x56\x43\xc8\xeb\xf4\xba\xf6\x90\ +\xc4\x07\xb8\x3f\x12\xfc\xbd\xc1\xbe\x37\xf7\xa9\xd0\x01\xf9\x15\ +\xc1\xef\x0d\x86\x1c\x3f\xb6\xc6\x8f\x43\xbe\x1c\x2f\xbd\x10\x28\ +\x04\xd6\x46\x20\x37\x2c\x32\xb5\x2f\x0f\xfd\xdb\x83\x5f\x1c\x7c\ +\x71\x30\x74\x5f\x30\x75\xf9\x33\xc1\xdc\x7c\x50\x7f\xe4\x0f\xdd\ +\xf9\xf5\xcd\x2f\xd2\x46\xe4\xfc\x4a\xfd\x5b\x26\x97\xd5\x14\xf2\ +\x3a\xea\x48\x75\x0e\xa4\xee\x9d\x1d\xb7\xd8\x3f\x14\xfc\xef\x82\ +\x4f\x0d\x86\xde\x1a\xcc\x4f\x93\xd7\x07\x03\xa4\x63\x42\x1d\xa4\ +\x59\xf1\xc1\x41\x03\xce\xad\x9a\x67\x60\xea\x5d\xe9\x5a\xd8\x05\ +\xb9\x01\x34\xea\xb9\x59\x0d\xda\x56\x3f\x37\xb3\xe6\x23\xfe\x8d\ +\xc1\xbc\x0a\xfb\xa6\xc9\x56\xee\x0d\xf9\x4b\xc1\x3f\x15\xcc\x07\ +\x20\xe4\xc8\xa1\xae\x34\xce\xac\xbb\x4e\x2f\xc9\xd9\x52\x5a\xf4\ +\x05\xe3\xfc\x43\x52\x9f\x07\xb2\xd9\x61\x03\xe2\x7f\x0b\xe6\xa7\ +\x09\xf4\xa6\xe0\x9f\x0e\xfe\x8b\x60\xc7\x29\xc3\x35\x95\xe6\xc9\ +\x99\x3a\xb8\x02\x85\x40\x21\xb0\xaa\x41\xf5\x70\xf4\x0d\xea\xab\ +\x22\xe1\xc7\x83\xbf\x65\x92\xf8\x77\x21\xff\x75\xf0\x6b\x26\x36\ +\xc2\xe6\xa7\xcc\xbe\x94\xb6\xb2\xae\x6b\xe4\xd8\xa6\xf4\x45\x37\ +\x05\xe7\x1f\x92\xd9\x87\x2e\xff\x68\xe8\xff\x47\x30\x1f\x58\xf0\ +\x32\xf6\xc7\x82\x5f\x19\x0c\x99\x83\x4e\x93\x5c\x8b\xc8\x05\x30\ +\x64\x51\x21\x50\x08\x6c\x1c\x81\x69\x8d\x47\xbf\x2f\x5f\xb5\x9f\ +\x1e\x4b\xfd\x7c\xf0\xa5\x93\x25\x7f\x31\xe4\x4f\x04\x73\x07\x08\ +\x91\x37\xc4\xa3\xe0\xe4\xc1\xb9\x94\x39\xb6\x29\x7d\x51\x0d\xc1\ +\x79\x87\x24\x3e\xfd\x6c\x5e\x9b\x37\x4b\x7f\x2b\x18\xc0\x20\xde\ +\xaf\xfb\x37\xc1\xdc\x1e\x67\xca\x63\xf5\x0f\xf9\x8c\xcd\x23\x67\ +\x8d\x9f\x15\x9f\x67\x8d\xbd\x94\xb3\xe5\x17\xe2\x26\xc0\xa9\xe7\ +\x66\x35\x78\xeb\x7d\x6e\xd6\x9b\xef\x6a\x8c\x03\xfb\x3c\x5e\x1d\ +\xc9\xfb\xef\x2f\x0b\xfe\x17\xc1\xd0\x3b\x82\x5f\x14\xcc\x8d\x0c\ +\x44\x8e\x9c\x6d\x74\x28\xcf\x95\xed\x51\x70\x33\x0f\x8b\xba\x60\ +\x9c\x77\x48\xe2\xcb\xcc\xfe\x1f\x16\xfc\x87\xc1\x8f\x0a\xe6\xa7\ +\xc6\xcb\x82\x79\xef\x0e\xe2\x8e\x4f\x62\x1c\x60\x38\x2f\xfe\xac\ +\x63\x6f\x84\xb6\x62\x8e\x8d\xac\x5b\x63\x0a\x81\xed\x46\xc0\xe6\ +\xb2\x91\x7d\xe4\xb1\xd6\x25\x52\x3f\x1f\x6c\xbc\x34\xf8\xbf\x06\ +\x9f\x14\xfc\xf1\xe0\x6f\x0e\xfe\x48\x30\x64\x6e\x96\xe3\xc8\xf1\ +\x39\x9c\x4b\x69\x7c\xc3\x72\xab\x8b\xdd\xf9\x86\x24\x3e\xd9\x0d\ +\x63\xf3\x31\x38\xdf\xf3\x39\x3f\xf8\xb6\xe0\xef\x0f\x7e\x6d\xb0\ +\x73\x84\x3a\xd2\x39\x74\x1e\xdf\xbf\xbc\xcd\xf9\x8c\x29\x2a\x04\ +\x0a\x81\xad\x43\x60\xa8\xe9\xe8\xf3\xe5\x2d\xab\x59\xa7\x48\xe3\ +\x7c\xcd\x85\x57\x71\x0f\x0c\xbe\x25\xf8\x79\xc1\xef\x09\x26\xee\ +\x58\x73\x1d\x97\xed\x48\x5b\x99\x4b\x3f\xbe\x0d\xd1\x56\x37\x0a\ +\xe7\x1b\x92\xf8\xe0\xdc\xac\x2e\x08\xfb\xcf\x82\xb9\xd3\xbb\x31\ +\xf8\x05\xc1\xd7\x07\x93\xc7\xe1\x9c\x27\xd4\x15\x5d\x9f\x92\x18\ +\xd4\xdb\x63\x6f\x3d\x16\x02\x85\xc0\x56\x20\x30\xd4\x6c\xf4\x29\ +\x5d\x07\x1b\xa6\x26\x91\x34\xb6\x8b\x82\x79\xcb\xea\x2b\x82\xf9\ +\xc5\x01\xde\xc6\xa2\xd6\xcd\x0d\x75\x44\xe4\x66\x1f\x3a\xd4\xcb\ +\xb1\x77\x03\x8f\x5b\xd5\x28\x9c\x67\x48\xe2\xcb\x8d\x0e\x1b\x3e\ +\x27\x98\xaf\x9e\xf0\x09\x2d\x87\x7f\x56\xf0\xad\xc1\xc6\x39\x64\ +\x1e\x8b\xbe\x5e\x12\xa8\xf5\x8e\xab\xfc\x42\x60\xbf\x23\xb0\x91\ +\x7a\x13\x33\xeb\xce\x06\xc6\x5c\xf8\xce\x08\xfe\x83\xe0\xaf\x0d\ +\xbe\x29\xf8\x69\xc1\xbc\xc7\x67\x5e\xa8\xab\x9a\x1b\x63\x9c\x6b\ +\x9a\x64\xcc\xba\x68\x33\x07\xcb\x0b\x39\xcf\x90\xc4\x47\xd3\x43\ +\x1a\xe7\xf5\xfd\xeb\x82\x9f\x18\xfc\xb9\xe0\xa7\x06\xdf\x18\x4c\ +\x9c\xc3\xe5\x5c\xc7\x28\x23\x3c\x37\x09\xd4\xac\x01\xb3\xf2\x36\ +\xb2\xf6\xac\x35\x77\x73\x7c\x16\x5e\xcb\x3c\x5b\x3d\x37\xab\xd1\ +\x9e\xf5\xdc\xcc\x8b\xd7\xbc\x79\xab\x57\x1f\x5b\xee\x21\x4b\x74\ +\xe6\xe4\x03\xcb\x3f\x09\xe6\x66\x87\x5f\x2c\xb8\x2a\xf8\xcb\xc1\ +\xc4\xcd\x0f\x75\xa5\x11\xea\x9b\x26\xc9\x5d\x17\x6d\xe6\x60\x2c\ +\xe4\xf8\x5e\x1a\xeb\x3f\x84\xb0\xf9\xf1\x8d\xed\x7f\x19\xcc\x47\ +\xd8\xdf\x16\xfc\x96\x60\x0e\xc5\x3c\xfd\x5c\xda\x11\x5a\x45\x82\ +\x80\x33\xeb\xab\x92\x26\xc6\xac\xf8\xd0\x98\xf2\x15\x02\xfb\x19\ +\x81\x69\x75\x37\xe4\x1f\xf2\x81\x9d\x75\xe7\x9d\x1c\x79\xf8\xce\ +\x0b\x7e\x63\xf0\x83\x83\x7f\x35\x98\x6f\x69\x40\xc4\xf8\xf0\x03\ +\x42\x87\x19\x0b\xa1\x67\xd2\x9f\x7d\x73\xe9\xb9\x29\xcd\x35\xa0\ +\x4b\xf2\xb0\x43\x12\x5f\xf6\x6b\xf3\xc5\xc5\x9f\x9d\xcc\xf3\xc3\ +\x21\xaf\x9e\xe4\xd9\x10\x27\xa1\x55\x63\xf5\xcd\x92\x3d\x30\xe4\ +\xe3\x63\xed\xa1\x18\xf1\xa2\x42\xa0\x10\x58\x8d\xc0\xac\x7a\xb1\ +\xae\x1d\xd5\xdb\xfa\xb3\xcc\x39\x7c\x60\x79\x6d\x30\xef\xe1\xf3\ +\x57\x92\x3e\x10\xcc\xef\xcd\xf7\xeb\x3a\xa6\xf7\x47\xea\xc6\xeb\ +\xd9\x49\x99\x64\x3d\xe4\xb8\x69\xb2\x6f\xa6\xd8\xe4\xf2\x17\x1b\ +\xde\x15\xcc\x5f\x6d\xf8\xb5\xe0\x1f\x09\xb6\x29\xd1\xf4\x20\xe7\ +\x1c\x5b\xc7\x1f\x6d\x5a\x4a\x23\x43\x36\x73\xf4\x7e\xf3\xb3\x34\ +\x47\x99\x63\x59\x9f\xb6\xa7\x9c\xb3\x9f\xf4\x59\x78\x2d\x13\x8b\ +\x7a\x6e\x56\xa3\x3d\xeb\xb9\x11\x2f\xe5\xea\xd1\xd3\xad\xa1\xfc\ +\xde\xa7\xad\x74\x36\xf7\xd4\xcb\xff\x10\x09\x3f\x14\xcc\x07\x1b\ +\x8f\x0b\xe6\x3d\x7d\x88\x3c\xef\xf8\xbc\xa3\x53\xf6\x73\x68\x8f\ +\x06\xce\xf3\xd0\x37\xa7\x79\xc6\x90\xe3\xa1\x7a\xe9\xdd\x9a\x7e\ +\x73\x6d\x68\xdc\xe1\xf1\x2b\x66\xef\x0f\xfe\xae\x60\x36\xdc\x8f\ +\xc9\x63\x23\x3c\x95\xf2\x61\xb3\xce\x80\xde\x9e\x36\xc9\xbc\x79\ +\xd3\xc6\x97\xbf\x10\xd8\x2f\x08\xf4\xb5\x42\x9d\xea\xb3\x66\x7b\ +\x39\x0d\x1b\xf2\xe0\xb7\x05\x7f\x53\xf0\x45\xc1\xfc\x19\x2b\xde\ +\xeb\x83\x88\x39\xf7\xc8\x31\x79\x98\xe6\xcf\x39\x33\x75\x26\xd9\ +\x08\x39\xae\x97\x36\x51\xfd\xde\xe1\xb1\x06\x9f\xd8\xbc\x71\xb2\ +\xd8\x73\x42\xfe\xd5\x44\xb7\x21\x3a\x66\xe2\x3e\xe1\xd0\x82\x80\ +\x84\xc9\xd7\xc7\x18\xfd\xea\xc8\xa2\x42\xa0\x10\xd8\x3a\x04\xa8\ +\xb9\xcc\xd6\xa1\x2b\x58\xc3\xbd\x34\xae\xb4\x56\x91\x5f\x1f\xfc\ +\xc7\xc1\xdc\xc9\x5d\x15\xfc\xb7\xc1\x50\xce\x41\xf7\x4e\x4f\x89\ +\x0f\xea\xe5\xd8\xbb\xc6\xa3\x4d\x6a\x8d\x94\xc1\x50\x7f\xa8\xa1\ +\xbb\x35\x72\x72\x43\xfb\xef\x61\x5f\x1c\xfc\xdb\xc1\xbc\x79\x49\ +\x5c\x0e\x75\xa4\x23\xa7\x91\x20\x30\x06\xf2\xb0\x63\x6b\xb6\x6d\ +\x5e\xc9\x42\xa0\x10\x98\x0f\x01\x6b\xcd\xec\x5c\xaf\xd4\x5f\x8e\ +\xa3\x5b\x93\xfa\x95\x8e\x1f\x92\x7f\x17\xce\x8b\x83\x1f\x1d\xfc\ +\xb0\xe0\xdf\x0d\x96\xf2\x9c\xfa\x5c\x43\x7b\xdd\x72\x9e\x4d\xe5\ +\x49\xfb\x7c\x9b\x5a\x2f\xc9\x83\x6d\x86\x7c\x35\xe5\x0d\xc1\x77\ +\x07\x7f\x4d\xf0\x27\x83\x9d\xcb\xb1\xe1\x1a\xd1\xb4\x43\xd1\xe1\ +\x05\x1a\x69\xc7\x1f\x8f\x1a\x3f\xe2\xcf\xe3\xb3\x4e\x46\x6f\x8f\ +\x47\xd5\x63\x21\x50\x08\x58\x8f\x22\xb1\x96\x6d\x2c\x4b\x74\xea\ +\x0b\xd9\xd7\xb4\x79\xce\x9d\xeb\x10\xfd\xc2\xe0\x77\x06\x73\x13\ +\xf6\x0d\xc1\xef\x0b\x36\xc7\xba\xc7\x86\xad\x7b\x6d\xf3\x94\x91\ +\xb2\x36\xad\xf7\x4e\xcf\xcd\x23\x65\x56\x50\x57\xda\xec\x94\xbf\ +\x18\x39\x97\x06\xff\x66\xf0\x2b\x83\xf5\x9b\x1f\xae\x13\x28\x1f\ +\x62\x48\xef\x7d\xbd\xcd\x84\xd9\x37\x64\x9f\xb0\x68\x39\x0a\x81\ +\x42\x60\x84\x00\xb5\x23\xe3\xc8\xb5\x94\xf5\x51\xf2\x24\x6e\x3d\ +\x1b\xc7\x86\x94\x63\xeb\x78\xbf\xd0\xfe\x42\x28\x97\x05\x3f\x2a\ +\x98\xef\xf1\x5d\x13\xec\x1c\xca\x3c\x07\xba\xfe\x50\xd7\x47\x79\ +\xa2\x79\x46\x9a\x6f\xd3\x72\x8c\x36\x71\x18\x1b\x42\xbf\x28\xf8\ +\xbd\xc1\x6c\x92\xbb\xbc\x9b\x82\xcd\x0b\x75\x85\xfa\x43\xd8\xe1\ +\xc9\x25\x66\x3c\x4b\xfd\xfa\x56\x26\x9b\x28\xd9\x8f\xee\x5c\x7d\ +\x5e\xd9\x85\x40\x21\x70\x1c\x01\xea\x44\xca\x3a\x3e\x6d\x64\xd6\ +\x8d\x65\x9f\x7d\x80\x18\x64\x6c\x6c\xad\xae\xeb\xaf\x0c\xe7\x5b\ +\x82\x79\x35\xc8\x17\x97\xf9\x44\x37\xd7\xb7\x7a\x7f\xa7\xa7\x1d\ +\xe9\x23\xca\x35\xaf\x6f\x95\x3c\xbc\xca\x5a\xbf\xe1\x21\x90\xea\ +\xce\x82\xcd\xa1\x5f\x3c\x89\xfd\x59\x48\x1b\x5e\xa8\x53\xa9\xdf\ +\xb4\x87\xd5\x3f\xcd\xee\x27\x34\x3f\xfb\x7b\x80\x72\xac\xf4\x42\ +\xa0\x10\x18\xd7\x71\xae\x1d\xf4\x5c\xdb\xda\x48\x9b\x9a\xf9\xbc\ +\x72\x34\x0e\x96\xd4\xdb\x50\x6f\x20\x26\x11\x67\x0c\xdf\xe8\xe0\ +\xe6\xe8\x31\xc1\xfc\x41\x82\xdf\x08\xb6\x5e\xc9\xf1\x2b\x2c\xe6\ +\x87\x6b\x34\x37\x7b\x60\x3c\x3c\x17\xb1\xc9\xf5\x10\x0b\xc0\x2c\ +\x0c\x69\xa3\xe3\x33\x96\xe5\x7f\x0b\x3f\xb7\xac\x3f\x1d\xfc\xc1\ +\x60\xc7\x2a\xc3\x35\xa2\xbc\xe9\xac\x7b\x70\x7d\x48\x99\x81\x43\ +\xba\xb9\xa3\x89\xd3\xc3\x34\x7f\x4a\x29\xb5\x10\x28\x04\x3a\x04\ +\xac\xb1\xbe\x7e\xfa\x1a\x66\x18\x39\x43\x7e\x62\x6b\xf9\x89\x9d\ +\x1e\xfc\xb4\xe0\x33\x83\xf9\xc0\xd3\x7c\xa4\x7d\x40\x5f\xbf\x97\ +\x48\x99\x8f\x9c\x60\x56\xb6\x79\x48\x99\x31\x36\x37\x74\xfc\x36\ +\x51\xfc\xf0\x57\x05\xbf\x35\x98\x6f\x60\x73\xcb\xca\xad\xab\x73\ +\x85\x3a\x22\x37\x9f\x65\xd6\x3d\x2c\xc9\xf8\xed\xf8\xa3\xc1\x13\ +\x1f\x7e\xc7\xe8\xcf\x72\xad\x58\xce\x2b\xbd\x10\xd8\xef\x08\xf4\ +\xf5\xd9\xe3\x61\xfd\xe7\x3c\x75\x6a\x1e\xca\xd2\x98\xe3\x88\xeb\ +\x43\x97\xa8\xd1\x87\x04\x73\xc7\x87\x7e\x71\x30\xbf\x97\x6f\xfd\ +\x53\xf7\xd6\x31\x52\x3f\x12\x3b\xc7\xc2\x9c\x4e\x9b\x7d\x79\xdb\ +\xcf\xec\x61\x94\x4f\x9d\x24\xbc\x2d\xe4\x5d\xc1\xfa\xfb\x71\xda\ +\x6e\x1c\x5b\x5d\x69\x4e\x8e\xad\xa5\x9b\x3f\x34\xde\x58\xc9\x42\ +\xa0\x10\x58\x8d\x00\xf5\x32\xab\x4e\x89\x5b\x57\x59\x77\x26\x63\ +\xbd\x3d\x6b\xde\x4f\xc7\x00\x7e\x1d\x8d\xbf\xb1\xc9\x2f\x31\xbc\ +\x26\x38\x93\x6b\x21\xb3\x4e\x4e\xbf\x66\x1e\xb7\x4a\xdf\x68\xd3\ +\x73\xf3\x2e\xce\xa4\xfa\xf2\x02\x57\x4d\x8c\x37\x4d\xe2\x39\xc7\ +\x4d\x66\x89\x6e\x8e\x9d\xdc\x78\xb6\xf1\xe9\xef\x25\x4b\xea\x43\ +\x2f\x2a\x04\x0a\x81\xf5\x21\x30\xad\x7e\xac\x4d\x5f\x6d\x69\x73\ +\x67\x87\x7e\xef\x44\xfa\x8a\xaf\x9f\x47\x1b\x49\xbe\xe3\x43\x5d\ +\xd1\xb9\x41\xa2\xe9\x3d\x39\x98\xa6\x67\x8e\x77\x8f\xae\x1d\xa1\ +\x15\x22\x87\x78\x9e\x7f\x25\xd8\x2b\x4e\xd4\xfb\xe7\xb1\xdd\x0c\ +\xb9\x59\xd7\xc6\xc7\xb7\xad\xa1\x37\x8d\xc5\xd4\x47\x37\x4b\x42\ +\xbe\x5d\xd5\x9f\xe5\x5a\xf1\xa9\x0b\x54\xa0\x10\x28\x04\xb6\x04\ +\x01\x6a\x31\xd7\x63\xd6\x5d\x20\xfb\xbc\x59\x21\xa6\xdf\xbc\x21\ +\xf9\x17\x13\x27\x7f\x88\x00\xea\x7b\xcb\xd8\xbb\x89\xc7\x79\xee\ +\xf4\x58\xd4\x85\xd5\x95\x2e\x6d\xf3\x34\x0f\xff\xf9\xc1\xbc\x31\ +\xc9\xcb\xda\x8f\x04\xe7\x18\x87\x17\x00\x75\xe3\x82\x64\xbc\x6f\ +\x72\xe6\x1b\x8f\xa9\x46\x94\xed\xac\x1b\x2f\x59\x08\x14\x02\x9b\ +\x43\x20\xd7\xbd\x35\x86\xcf\xbb\x2f\xfb\x00\xb6\xf5\xec\x8a\xc6\ +\xb0\x89\x31\x1e\x36\x4f\x79\x5d\xf8\xa0\x47\x04\xeb\x1b\x39\x26\ +\x0f\xfa\x94\xc6\xf2\x7e\x7a\x9f\xf6\x48\xe6\x8d\xac\x0a\x0c\x18\ +\x2c\xd2\x2f\x34\x90\xb6\x92\xc3\x2d\x2a\x44\xc3\xb3\x91\x8d\x1c\ +\xe9\xc1\x8d\xe2\x22\x27\x37\x38\x7c\x7d\x3c\xdb\xc4\x8b\x0a\x81\ +\x42\x60\x7b\x11\xa0\x26\x65\x76\x92\x6b\x54\x1d\x99\x7b\x80\x7e\ +\xf2\x7b\xba\x31\x1c\xc4\xf9\x8b\x4c\x7c\xeb\x43\xea\xfb\x4f\x6f\ +\x9b\x37\x53\xae\xd5\xf4\x9c\x74\xa8\xd1\xe5\x58\x8e\x67\x3f\x9f\ +\xd6\x42\x76\x6e\x74\x0e\x23\x63\xe7\xb1\xd8\x19\x0c\x9b\xa0\xd2\ +\x78\x6e\x8c\xe4\x1b\x77\xde\x3c\x07\x63\x8a\x0a\x81\x42\x60\x6b\ +\x10\xc8\xf5\xd6\xd7\x61\x8e\x59\x8b\xb9\x36\xcd\x67\x27\xc6\xd5\ +\xf3\xee\xbe\x1c\x06\x7f\x42\x1e\xba\x38\xd8\x9e\x32\x72\x74\x76\ +\x8e\x65\xdd\xdc\x41\xb9\x56\xd3\x1b\x1c\x30\xb0\xe8\xb4\x3c\xfe\ +\x66\x1e\xc4\x27\x32\xd3\x88\xc3\x4b\xf3\xe8\xe6\x96\x2c\x04\x0a\ +\x81\xdd\x87\x00\x35\x4e\xf3\x83\x72\xe3\x1b\x7b\x8e\x3f\xf2\xdb\ +\x18\x10\x77\x7b\x12\x4d\x6d\x4b\x68\x9e\xf7\xf4\x58\xc8\x2e\xea\ +\xc2\x6c\x58\x1d\x69\xf3\x34\x8f\x31\x7c\xc1\x10\xfa\x7c\xf0\x50\ +\x43\xcb\x87\xf6\x27\x02\xf9\xbc\x1f\x90\xe7\xcf\x20\x11\x77\x2e\ +\x25\xbe\xa2\x42\xa0\x10\x58\x3e\x02\x7d\x0d\x5a\xab\xf6\x06\x77\ +\x64\x1e\x92\x18\x92\x9e\x91\xf3\xcc\xc1\xf7\xa5\x60\xe8\xd4\xb1\ +\x58\x79\x24\x96\xc7\xac\x04\x3a\x85\x1c\xe7\xeb\x42\xc7\x9b\xd5\ +\x09\x81\x35\x1c\x79\xe1\xbc\x81\x5e\xb7\xe9\xf1\xcb\xc4\x3d\xb1\ +\x21\x37\xa5\x24\x27\xfb\x01\x30\xc7\x88\x17\x15\x02\x85\xc0\xee\ +\x40\xc0\xda\xcd\x35\xcd\xce\xa7\xf9\xf3\xa9\xee\x9c\x18\xa7\x25\ +\x67\xee\x2f\xc9\xbd\x7e\x75\xd6\x9d\xde\xac\x85\x72\x9c\xc3\x64\ +\x9b\x4f\x6e\x21\xbb\xf6\xd8\x3a\xf1\xd1\xe6\x26\x18\xcc\xa1\x8e\ +\xcc\x3a\xa3\xb5\xd1\x8b\x0a\x81\x42\x60\xfb\x11\xb0\x26\xad\x7f\ +\x6d\x77\xa6\x8d\x84\xc9\xf3\xd5\xa1\x39\x8e\xc5\xe6\x1b\x1f\xd0\ +\x29\xc1\xd9\x3f\x72\x76\x0f\xc6\x9d\x97\xb0\xeb\x75\xa9\x63\xb3\ +\x5f\x78\x30\x69\x4e\xa7\x8b\x93\x9e\xf5\x69\xc3\x05\x20\xc7\xb3\ +\x6f\xcd\x8d\xe7\x41\xa5\x17\x02\x85\xc0\x8e\x44\x20\xd7\xf3\xb4\ +\x0d\x5a\xe7\xca\x69\x79\x5b\xe6\x9f\x75\xa7\xc7\x42\x34\x30\x9b\ +\x98\xba\xb6\x1b\xc9\x7e\x75\x63\x48\x0f\x34\x24\xf5\xf5\x77\x7c\ +\xfa\x7b\x99\xe7\x2d\xbd\x10\x28\x04\x76\x0e\x02\x7d\xad\xf6\x76\ +\xde\xa9\x31\x6e\xbc\xd0\xe9\x1b\xca\x9c\x37\x4d\x1f\xea\x41\xe4\ +\x3a\xef\xb4\x71\x27\xdc\x62\x4e\x4d\xdc\xc2\xc0\xcc\x4d\x6d\xe1\ +\x5a\x35\x55\x21\x50\x08\xec\x0c\x04\xa8\xfb\xa1\xda\xd7\xa7\x5c\ +\xf8\x6e\xe7\xb9\xd3\x63\x13\x76\xd5\xa1\xbb\xb8\xf5\x6e\x92\x39\ +\xf2\x5d\x5d\x7f\xd8\x59\xf6\x7a\xd7\xab\xfc\x42\xa0\x10\x58\x0e\ +\x02\xd6\xae\x32\xaf\x6a\x0f\x19\x8a\x91\x37\x2b\x9e\xe7\xda\x48\ +\xfe\xca\xf8\x79\x9b\xde\xca\x80\x2d\x50\xa6\x1d\xba\x9f\x7a\xde\ +\xbc\x7e\x5c\xd9\x85\x40\x21\xb0\xf3\x10\xa0\x9e\x61\x9b\xdb\x46\ +\x77\x98\xc7\x6f\xa8\x47\x6c\xb4\xe9\xe5\x85\xd7\xb3\x79\x0f\xde\ +\xcb\xa1\x39\x36\x74\xa0\xa1\x89\xca\x57\x08\x14\x02\x3b\x02\x81\ +\x5c\xd3\xeb\xed\x21\xf3\xe6\x0f\xe5\xe5\x75\x37\xf5\x9e\x1e\x93\ +\xcb\x9b\x45\xd4\x26\xb8\xd9\x79\x6a\x7c\x21\x50\x08\xec\x0e\x04\ +\xb6\xb2\xe6\xd7\xd5\x87\x86\xee\xf4\xec\x94\x4e\xa4\xbd\x16\x94\ +\xe6\x4e\xcb\x59\xd5\x69\xa7\x25\xed\x00\x3f\xdf\x00\x7f\x41\xf0\ +\x05\xc1\x7f\x19\xfc\x86\xe0\xa2\x42\x60\x37\x21\xb0\x93\xae\x61\ +\xeb\x5e\x29\x8e\x43\x3d\xc5\x9c\xa1\x98\xe3\xb6\x44\x0e\x35\xbd\ +\x69\x13\xcf\x6a\x6c\xd3\xc6\x0d\xf9\x39\xa0\x87\x1c\x8a\x6f\x87\ +\x8f\xbf\xe8\xc0\xdf\xf2\xfa\x8a\xb4\x38\xff\xbf\xc7\xbf\x48\x76\ +\xa9\x85\xc0\x4e\x46\xa0\xae\xe1\x39\x9e\x9d\xad\xfc\x72\xf2\x1c\ +\xcb\x0d\xa6\xd8\x00\x7b\x39\x98\xbc\x40\xe7\x8f\xc5\xdc\xb9\xe1\ +\xb1\xd4\xff\x16\xcc\x7f\x54\x5e\x54\x08\xec\x06\x04\xea\x1a\x9e\ +\xe3\x59\xda\x09\x4d\x6f\x8e\x6d\x2e\x25\x65\x5a\x73\x9b\xe6\x5f\ +\xca\xa6\x6a\x91\x42\x60\x1d\x08\x4c\xbb\x56\xa7\xf9\xd7\x31\xf5\ +\xc2\x52\x97\xfe\x8a\xaf\x9a\xde\xf1\xe7\xf2\xc8\x71\x75\x95\xc6\ +\x7b\x24\x45\x85\xc0\x6e\x40\xa0\xae\xe1\x39\x9e\xa5\xed\x68\x7a\ +\x4b\xef\xec\x73\xe0\x50\x29\x85\x40\x21\xb0\x4f\x10\xd8\x8e\xa6\ +\xb7\x4f\xa0\xad\x63\x16\x02\x85\xc0\x4e\x44\xa0\x9a\xde\x4e\x7c\ +\x56\x6a\x4f\x85\x40\x21\xb0\x30\x04\xaa\xe9\x2d\x0c\xda\x9a\xb8\ +\x10\x28\x04\xe6\x44\x20\xbf\xe5\x95\xf5\x39\x87\xaf\x2f\xad\x9a\ +\xde\xfa\xf0\xaa\xec\x42\xa0\x10\xd8\x7a\x04\xd6\xf3\x85\xe4\x4d\ +\x7f\x5f\x78\x19\x4d\xcf\xce\x8d\x54\xdf\x7a\xd8\x6a\xc6\x42\xa0\ +\x10\xd8\xad\x08\xe4\xbe\x90\xf5\x85\x9c\x67\x3d\xbf\x91\xb1\xd1\ +\x0d\xd8\xc5\x95\x0b\x3f\xd4\x46\x37\x5a\xe3\x0a\x81\x42\x60\xd7\ +\x20\x60\x3f\x59\xf7\x86\xeb\x4e\x6f\xdd\x90\xd5\x80\x42\xa0\x10\ +\xd8\xcd\x08\x6c\xf4\x4e\xcf\xd7\xd5\x1b\xee\xb6\xbb\x19\xb4\xda\ +\x7b\x21\x50\x08\xec\x38\x04\x72\x2f\x5a\xf3\xd5\xe4\x32\xee\xf4\ +\x76\x1c\x3a\xb5\xa1\x42\xa0\x10\xd8\xbf\x08\xcc\xd3\xf4\xea\xae\ +\x6e\xff\x5e\x1f\x75\xf2\x42\x60\x37\x22\x90\xef\xfa\x4e\xd8\xff\ +\x3c\x4d\xef\x84\x41\xe5\x28\x04\x0a\x81\x42\x60\xb7\x22\x30\xed\ +\x3d\xbd\x8d\xde\xdd\x39\x6e\xb7\xe2\x51\xfb\x2e\x04\x0a\x81\xbd\ +\x81\x40\xbe\xdb\x5b\xf5\x1e\xdf\x56\xdc\xe9\xe5\xc9\xb3\x2e\x74\ +\xfa\x90\xea\xc6\x4a\x16\x02\x85\x40\x21\x90\xfb\x42\xd6\x45\x26\ +\xfb\xb2\x6e\x7c\x5d\x72\x2b\x9a\x5e\xee\xa2\x59\x77\x23\xfa\x90\ +\xea\xc6\x4a\x16\x02\x85\x40\x21\xb0\x56\x5f\xe8\x9b\xdc\x5a\xb9\ +\x73\x21\xb9\x15\x4d\x2f\x6f\x2a\xeb\x6e\x40\x1f\x52\xdd\x58\xc9\ +\x42\xa0\x10\x28\x04\x72\x5f\xc8\xba\xc8\x64\x5f\xd6\x8d\xaf\x4b\ +\x6e\x45\xd3\x5b\xd7\x82\x95\x5c\x08\x14\x02\x85\xc0\x76\x22\x50\ +\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\ +\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\ +\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\ +\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\ +\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\ +\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\ +\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\ +\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\ +\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\ +\x5e\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\ +\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\ +\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\ +\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\ +\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\ +\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\ +\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\ +\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\ +\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\ +\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\ +\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\ +\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\ +\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\ +\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\x42\x60\xe9\ +\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\x02\xd5\xf4\ +\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\xa5\x43\x5e\ +\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\xb5\x0b\x81\ +\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\x08\x6c\x27\ +\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\x40\x35\xbd\ +\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\x22\x50\x4d\x6f\x3b\xd1\xaf\ +\xb5\x0b\x81\x42\x60\xe9\x08\x54\xd3\x5b\x3a\xe4\xb5\x60\x21\x50\ +\x08\x6c\x27\x02\xd5\xf4\xb6\x13\xfd\x5a\xbb\x10\x28\x04\x96\x8e\ +\x40\x35\xbd\xa5\x43\x5e\x0b\x16\x02\x85\xc0\x76\x22\x70\x78\x3b\ +\x17\xaf\xb5\x77\x04\x02\x07\x26\xbb\x38\xb6\x23\x76\xb3\xfe\x4d\ +\xb8\x7f\x46\x66\x7d\x3d\x33\xf5\x67\xef\xed\xf5\xcc\x55\xb9\x3b\ +\x1c\x81\xba\xd3\xdb\xe1\x4f\x50\x6d\xaf\x10\x28\x04\xb6\x16\x81\ +\xba\xd3\xdb\x5a\x3c\xb7\x7b\x36\xef\x74\x94\x43\xfb\x59\x2b\x46\ +\xfe\xd0\x5d\x4e\xef\xeb\xed\xa1\x75\x16\xe5\x73\xff\xbd\x74\x3d\ +\xfd\xda\xf3\xca\x7c\xa6\xac\x33\x3e\xdb\x59\x9f\x77\xee\xca\xdb\ +\x41\x08\x54\xd3\xdb\x41\x4f\x46\x6d\x65\xd3\x08\xd8\xf0\x94\xf3\ +\x4e\x48\x23\x73\x4c\x35\xb5\x79\x51\xdb\xa5\x79\xd5\xf4\x76\xe7\ +\x13\x67\x81\x0e\xed\x9e\x98\x3c\x2d\x3e\xe4\xb7\xd8\xf3\xdc\xf8\ +\x6c\x08\xc6\x19\x6b\x4e\xf6\x0d\xcd\xb9\x95\x3e\xd7\x74\xce\x6c\ +\xa3\xcb\xc6\x91\x43\xbe\x1c\xcf\x3a\x67\x39\x3a\x19\xa3\xdf\xf3\ +\x21\xd5\x8d\xf5\x72\x56\xbc\xcf\x2f\x7b\x9b\x10\xa8\xf7\xf4\xb6\ +\x09\xf8\x2d\x5a\xd6\xa2\x56\xf2\x7c\xc2\xda\x59\x1a\x9b\x25\x1d\ +\xc3\x16\xd1\x9d\x4f\x89\x6f\x3b\xc8\x7d\x29\xd9\x43\xde\x9f\xfe\ +\xf1\xf9\x9e\xff\xdb\xff\xb4\x3d\xf5\x3f\x5d\x14\x39\xd8\x87\x66\ +\xf0\x50\xce\x78\x9e\xe3\x6b\x60\xbb\x46\x96\xe1\x2e\xda\x4d\x08\ +\xf0\x44\x16\xed\x7c\x04\x72\x91\xf5\x7a\x2e\x58\x0b\x55\x39\xab\ +\xd8\x57\xc7\xcf\xf9\xca\x93\xdb\xb7\xfe\xf7\x27\x07\x1c\x8e\x47\ +\xba\x1e\x28\x65\x7d\xc8\xc6\xb7\xd5\x34\x6d\xcd\xec\x47\xcf\x7b\ +\x3e\xd4\x0e\x9d\xf4\xa3\xed\xdc\xaf\xf8\x60\x7b\xe1\x2b\xfe\xb4\ +\x7d\xdb\xff\xfb\x03\xed\x6b\x7f\xf0\xdc\xc8\xe1\x95\x4d\x66\xcf\ +\x9f\x7d\xe8\xfa\x95\xcc\x8d\x9e\x63\x19\x1b\xf7\x32\x24\x63\x58\ +\xd1\x4e\x42\x80\x27\xb1\x68\xf7\x20\x40\x51\x41\x59\xe6\x42\x33\ +\xa6\x2f\xdb\xe8\x90\x63\xc7\x16\x8f\x57\xfe\x87\xf3\xda\xb9\x8f\ +\xfc\x9e\x76\xe8\x94\x97\x46\xf4\x8b\xe1\x79\x5c\xb0\x2f\xd7\x90\ +\xbe\xec\x43\x87\x9d\xc3\x9c\x70\x2d\x95\x58\x9f\xa6\x03\x79\x56\ +\x9b\x90\xf2\x9e\x88\xc4\xbf\x43\x5f\xdf\x4e\x39\xe3\xeb\xdb\xa5\ +\x4f\xfb\xbf\xda\xc5\x4f\x79\x73\xbb\xeb\xb6\xdf\x6b\xef\x7d\xd5\ +\xab\xdb\xc7\xfe\xe8\xf6\x18\xeb\xfe\x3d\x17\x63\xd5\x99\x1b\x9d\ +\xb3\xeb\x43\xba\x6e\xc6\x24\xdc\xa3\x3c\xa4\x44\x6e\xd1\x0e\x44\ +\xa0\x9a\xde\x0e\x7c\x52\x62\x4b\x36\x15\x77\x67\xa1\xe9\xcf\xb6\ +\x45\x9f\x25\xe3\xb2\xed\x38\xfd\xad\xdd\xef\xe1\x07\xdb\x95\x3f\ +\xf6\xcc\x76\xda\x03\xbf\xaf\x1d\x3e\xfc\x8c\x48\x1f\xcf\x79\xec\ +\xd8\x97\x23\x89\xbb\x1a\x0b\x9e\x31\xc4\xd6\x2a\xe2\xb5\x62\x8c\ +\xdf\x0c\xb9\xf7\x2c\x3d\x1b\xf3\xa2\xb3\x3f\x79\x6c\x1f\x3b\x46\ +\xd3\x3b\x4e\x07\x0e\xc4\xdd\xdf\xc9\x4f\x8d\xf3\x3e\xb5\x3d\xf1\ +\x9f\xfc\x97\xf6\x84\x17\xbf\xa1\xdd\xf1\x99\xab\xdb\x5f\xfe\xda\ +\xeb\xda\xe7\xde\xcf\x99\x21\x1a\x19\xc4\x79\x32\xf7\x8d\x8f\x9c\ +\xfb\x26\x39\xe8\xf9\xfc\xea\xae\xee\x9c\xe4\x41\xc6\xc7\x56\x3d\ +\x2e\x1d\x81\x6a\x7a\x4b\x87\x7c\xcd\x05\x2d\x14\xa5\xc9\xda\xe3\ +\xc6\x74\xbc\xa1\xd1\x9c\x20\xe2\x72\x9f\xa3\x3d\x4a\x6c\x5f\xf3\ +\xfd\x0f\x6b\x17\x7e\xe3\x77\xb5\x53\x4e\x7f\x49\xf4\xb9\x87\x8d\ +\x9d\xab\x1e\x4f\x0e\x8b\x31\x16\x27\x52\xf6\xee\xc6\x26\xe0\x40\ +\xf7\xe7\x18\xfd\x5b\x29\x5d\xc3\xf3\xe4\xf3\xe2\xcb\x1c\xb1\x68\ +\x7a\xd3\xe8\x40\x3b\xa5\x1d\x3e\xf2\xdc\x76\xe6\xf9\xcf\x6d\xcf\ +\x7a\xd9\xed\xed\xde\x2f\xbf\xb6\xdd\xf6\xc9\x3f\x68\x6f\xfe\xd9\ +\x37\xb7\x3b\x6f\xb5\x99\x71\x16\xcf\xa9\xcc\x38\x38\x3b\xf9\x10\ +\xb5\xe4\x18\x6c\xb1\xc8\x58\xe2\x67\xdf\xc6\x94\xf8\x8b\x96\x84\ +\x40\x35\xbd\x25\x01\x3d\x63\x19\x0b\x3a\x4b\x75\x86\x52\x38\xda\ +\x48\x9b\x1d\x92\x18\x64\x0e\x71\x58\x3b\xd4\xd3\x0e\xb4\x67\xff\ +\xc7\xa7\xb7\xfb\x3d\xec\xbb\xe3\x6e\xe7\xe9\x8d\xbb\x9e\xe9\x44\ +\xd3\x23\x4e\x41\x32\x0f\x12\xa6\xf0\x21\x74\xe6\xce\x3e\xfc\x99\ +\x88\xad\x97\x58\x6b\x88\xf4\x7b\x4e\x6c\xd8\xb3\xa3\x13\xd3\x9e\ +\x9c\x7b\x8d\xa6\x17\xc9\x2b\x74\xe0\xc0\x19\xed\xa4\x53\xbf\xa3\ +\x9d\xfd\x88\xef\x68\xff\xe8\x57\x6e\x6d\x77\xdf\xf1\x9a\xf6\xb9\ +\x8f\xbd\xaa\xfd\xd9\x4f\xbe\x23\x72\x38\xb3\x0d\x4f\x49\x93\xf3\ +\xfc\x9c\xd3\xfd\x89\x8f\x36\x31\x31\xea\x7d\xd8\x79\x6c\x98\x23\ +\xc2\x57\xb4\x60\x04\xaa\xe9\x2d\x18\xe0\x35\xa6\xb7\x10\x94\xa4\ +\xa2\xcb\xd8\x93\x02\x46\x1d\xf9\xb1\x21\xa4\x31\xf2\xb5\xb3\x3c\ +\xd0\x1e\xfd\xfc\x73\xdb\x25\xcf\x7c\x51\x3b\x72\xe6\x77\xb6\x83\ +\x87\x1e\xce\xc0\x39\x88\xa6\xc7\x75\xe1\x1d\x8c\xc5\xcb\x50\xf7\ +\xea\xdd\x10\xbe\xad\x2a\x54\xe7\x66\x4e\x48\x3b\x9f\x13\x9f\x0d\ +\xdb\xb3\xe2\x53\xb7\xf1\x1d\x6a\xc7\x8e\xde\xcb\x24\xeb\xa2\x03\ +\x07\xcf\x6e\xa7\xdc\xef\xbb\xdb\x43\x1e\xf3\xdd\xf1\x01\xc8\xdf\ +\xb7\xbb\x6f\xfb\xc3\x76\xcb\x07\x5f\xd5\xde\xf6\x5f\xae\x8d\x79\ +\x6c\x7a\xac\xc7\x99\xc5\x40\x1b\x09\x29\x89\xa3\x1b\x67\xcc\x90\ +\x1e\xee\x13\x68\xab\x30\x3d\x61\xe2\x72\x8c\x2f\xee\xc2\x61\xfb\ +\x10\xb0\x40\x2c\x8e\x21\x1b\x1f\x45\x0d\x51\xd4\x39\x87\xe6\x64\ +\x7c\xd2\x1c\x4e\x3d\xd4\x9e\xfe\x13\x57\xb6\xb3\x2f\x8a\xbb\xba\ +\x53\x9e\x31\xe3\xae\x8e\x39\x3b\x3a\x70\x52\x38\x5c\x87\xc2\xb5\ +\xd8\xc9\xa3\x18\x2d\x5e\x6c\xd6\x86\x2d\x52\xef\x76\x88\xad\x97\ +\x3c\x17\xe3\x9c\x37\xeb\xfa\x90\x93\xb3\x8e\xf2\xd8\xab\xcd\x0e\ +\xff\xd8\x3e\x1a\x77\x7a\x68\x1b\xa5\x83\x87\x1e\xd6\x8e\x9c\xf5\ +\xcf\xdb\x05\xdf\xf0\xcf\xdb\x79\x2f\xbf\xa1\xdd\xf5\xc5\x57\xb5\ +\xbf\x7f\xd7\xd5\xed\x1d\xbf\x7c\x43\x4c\x29\x06\xc8\xbe\xf9\xe5\ +\x15\x89\x83\x09\x7b\x46\xcf\xe3\xd0\x7b\x1a\xf2\xf5\x39\x65\x6f\ +\x12\x81\xba\xd3\xdb\x24\x80\x73\x0c\xe7\x82\x87\x94\x63\xeb\x78\ +\x61\xe3\xcf\x4c\xdc\xa2\x46\x42\xd9\x26\x57\x9b\xe7\x0f\xfd\x60\ +\xbb\xe2\x5b\x1f\xdc\x2e\x7f\xf6\x0b\xdb\xa9\x0f\x7c\x51\x3b\x74\ +\xe8\xbc\xf0\x6d\x94\xb8\xd3\x3b\x25\xd8\x86\x87\x54\xb7\x01\xb2\ +\x26\xba\x4d\x2e\xfb\x2d\xee\x08\xcf\xa4\x1e\x13\x07\xe8\xf7\xac\ +\xf8\x6d\xf0\xe8\xf8\x69\xce\x48\x9b\x9e\x8d\x6f\xd2\xf4\xee\x73\ +\x6f\x91\xb2\x49\x3a\x78\xf8\xd2\x76\xea\xd9\xff\xb6\x5d\xfa\xf4\ +\x7f\xdb\x2e\x7a\xca\xb5\xed\xce\xcf\x5d\xd3\x3e\xfa\xe7\xd7\xb4\ +\xf7\xff\xee\xdf\xc7\xcc\x9e\xdd\xe6\xa7\x14\x07\xf7\x91\x6d\x75\ +\x24\xa4\x0d\xae\x50\xf6\x67\x7b\x14\xac\x87\xcd\x21\x50\x4d\x6f\ +\x73\xf8\xad\x67\xb4\x85\xec\x18\xec\x69\xec\xc5\x8f\xcc\x39\x3e\ +\x5f\x14\x36\xfe\xc3\xed\xe9\x2f\xbb\xb2\x3d\xe0\xd2\x17\xb7\xc3\ +\xa7\x3e\x33\x3c\xc6\x23\xb4\x41\x1a\xcf\xe1\xba\x14\xb0\xe4\x3e\ +\x28\x48\x0a\x19\x1b\xc2\xce\x31\x7c\x8c\xb7\x70\xb1\xa7\x91\x73\ +\x0c\xc5\x8d\xb9\x17\xd7\xe0\xec\x90\x4d\x8e\x38\x3c\x6e\x76\xca\ +\x8d\xbc\xbc\x65\xd6\x59\x74\xe8\xe4\x47\xb7\x33\xce\x7d\x74\x7b\ +\xf4\x0b\x7f\xbc\x3d\xea\x1f\xbf\x23\x3e\xf8\x78\x55\xfb\xc0\xd5\ +\xaf\x6e\x1f\x7d\xc3\x67\x63\x28\x67\xf6\xec\xfe\xa0\x60\xdf\x3d\ +\x66\xe2\x87\x5f\x9c\xcc\xd3\x8e\xd0\x0a\x0d\xf9\x56\x82\xa5\xac\ +\x0f\x81\xcd\x17\xc9\xfa\xd6\xdb\x0f\xd9\x16\xeb\x90\xc4\xb7\x16\ +\xe7\x02\xb7\x90\xc9\x3f\xde\xe4\x18\x7f\xc9\x33\xcf\x69\x8f\x7a\ +\xde\xf3\xdb\xe9\x0f\x8c\xf7\xea\x0e\x9f\xbf\xe5\xa0\x9e\xfe\xe0\ +\xfb\xb7\x3b\x6e\xe1\x6b\x1c\x16\x6e\x96\x14\x20\x9f\x8c\x22\xd9\ +\x9b\x05\x89\xcc\x7a\x98\x53\x89\x71\xd3\xc8\x18\x32\xeb\x5e\xab\ +\x48\xfc\x48\x30\x82\xd1\xe5\x71\xf3\x3b\x76\xaf\x77\x58\x11\x5a\ +\x00\xf1\x1d\xc0\xc3\x27\x3f\xb1\xdd\xef\x21\x4f\x6c\x5f\xf7\x03\ +\x3f\xd9\x1e\xff\xbd\x6f\x09\xcc\x5e\xd5\xde\xfd\xdb\x7f\xd2\xfe\ +\xfe\x6f\xee\x88\x15\xc1\x0c\x3c\x7a\x29\x4e\x59\xba\x57\x64\xc6\ +\x50\x5d\x1c\xb4\x7b\x19\xc3\x8a\xe6\x45\x80\x0b\xa5\x68\x6b\x11\ +\xf0\x02\xcd\x12\x5d\x3b\x37\x36\x7c\xd9\x66\x27\x16\x71\x8e\xf1\ +\x3c\x1d\x68\x4f\x7d\xd9\x93\xdb\xd9\x17\xbf\xa4\x9d\x7c\xda\x33\ +\xc3\xe4\xe5\xdd\x62\xe8\x94\xfb\x9f\x16\x05\xcc\x07\x01\xec\x81\ +\xa2\xcd\x44\xc1\xc1\x16\x2a\xb1\x69\xc5\x4a\x6c\x88\xc4\xa2\x8f\ +\xe1\x67\x6e\xcf\x4e\xdc\x86\x2f\x4e\xd8\x19\x23\xec\xdc\xf0\xd0\ +\x0f\xb5\xa3\xf7\xf5\xfb\x0e\xf7\x82\x88\xbb\xe3\xc3\x47\x9e\xda\ +\xce\xbc\xe0\xa9\xed\xca\x7f\xf7\xe5\xf8\x0a\xcc\x9f\xb6\xdb\x3e\ +\x7d\x75\x7b\xfb\x2f\xbd\xb1\x7d\xe1\x26\x7e\x78\x78\x26\x71\xcb\ +\xd2\x4d\x99\x23\x06\xf8\xd5\x39\x2f\x44\x0e\x2c\x65\x5d\x5f\xc9\ +\x19\x08\x54\xd3\x9b\x01\xd0\x1a\x61\x2e\x48\x48\x39\xb6\xc6\x05\ +\x99\xfd\x5e\xb0\xe4\xc9\xf8\x60\xec\x5e\xc7\x37\x6e\x72\xc4\x1e\ +\xf1\x9c\x07\xb6\x2b\x9e\xf3\xc2\x76\xc6\x39\x2f\x6a\x07\x4f\xba\ +\x30\x62\x8b\xa7\x93\x4e\x3d\x3d\x16\xb9\x3b\x98\xc6\x47\xf3\x80\ +\x69\x6c\x4a\x1a\x8d\x36\x85\x67\xd3\xb3\x08\x95\x11\x5a\x45\x9c\ +\x6d\x16\x99\x83\x84\xc5\xc9\xe6\x07\x36\xf8\x68\xfa\x62\x97\x1b\ +\x1f\xf1\xc3\xed\xe8\x3d\xd3\xf6\x10\xe1\x05\xd2\x81\x83\x47\xda\ +\x49\xa7\x3d\xb7\x9d\x7d\xc9\x73\xdb\xb3\x7f\xee\xb6\x76\xef\x1d\ +\xaf\x6d\x5f\xf8\xc4\xd5\xed\x6d\xbf\xf0\xd6\x78\x2f\x10\x9c\x86\ +\x70\xe3\x1c\xee\xd7\x38\x9b\x14\x57\x74\xe2\x39\x07\x9f\xe3\xf4\ +\xe3\x2b\x9a\x81\x40\x35\xbd\x19\x00\x6d\x20\x9c\x8b\xd6\xe1\xf8\ +\x28\x4c\xc8\x42\xe6\x82\xed\x75\x0b\xfb\x50\xbb\xea\xff\xfc\x86\ +\xf6\xc0\x4b\x5e\xd2\x4e\x3a\xfd\x59\xf1\x09\x2c\x1f\x2e\x2c\x8f\ +\x0e\x9f\x7a\x24\x16\x63\x7f\xee\x39\xaf\x6d\xa1\x79\x4e\x0a\x53\ +\xb2\x30\x89\x4d\x2b\x44\xc7\x39\xa6\x97\xc6\x95\xfe\x00\xc0\x0e\ +\x3e\xe5\x70\x3b\xfd\xac\x93\xdb\x91\xb8\x1b\x3d\xf9\x8c\xf8\x92\ +\x71\xec\xf5\xf0\x91\x53\xe2\xfb\x87\xd1\x6c\x8e\x1c\x89\xaf\xe6\ +\x1c\x69\x07\x0e\x1f\x09\xfb\xcc\x7e\xe2\xa5\xdb\x07\x0f\xde\xaf\ +\x9d\x7c\xbf\xe7\xb7\x73\x1e\xf5\xfc\xf8\x9d\xe6\xcf\xb4\xbb\x6f\ +\xff\xa3\xf6\x0f\x1f\xfd\xfd\xf6\xe6\x9f\x7a\x67\xec\x05\xdc\x38\ +\x53\xc6\x09\x1f\xf8\x42\xd9\xcf\x0f\x9b\xc9\xf9\x47\x7e\x74\x28\ +\xe7\x8c\x3d\xf5\x38\x13\x81\x6a\x7a\x33\x21\x1a\x25\x78\x91\x29\ +\x71\x7a\x11\xea\xb3\x89\x71\x21\xe2\xf3\xe2\xa5\x71\xa8\xe3\xd7\ +\xc6\x97\xf9\x40\xbb\xe8\xaa\xb3\xdb\xa3\xbf\xe3\xf9\xed\xd4\x07\ +\x7d\x67\x3b\x74\xf8\xe2\x88\x6f\x0f\xdd\xff\xbc\x0b\xda\xc1\x83\ +\xa7\xb7\x93\x4f\x3f\x10\x77\x2d\xf0\xc1\x91\x3c\x7c\x84\x5f\xe5\ +\x3a\x1c\x5f\x85\xe1\x17\xfa\x91\x07\xdb\xe1\x93\x4e\x0a\xdf\xa1\ +\x68\x34\x87\xe3\x37\x3c\x4e\x8a\x71\x71\x07\x16\x8c\x3e\x62\x5e\ +\x86\x47\xd3\x3e\x38\x91\x07\x42\xc2\xe4\xb4\x76\xf2\x58\x0f\x39\ +\x7a\xb9\x3e\x89\x8d\x9a\xbc\x79\xc4\xb8\xab\x63\x0c\xbe\xd1\x5d\ +\xf0\xf6\xe0\xb2\x99\x55\x0f\x1e\x3c\x27\x1a\xf5\x4b\xdb\xc3\x1f\ +\xfb\xd2\xf6\x82\x57\xfc\x5d\xbb\xfb\x8b\xf1\x1d\xc0\x0f\x5c\xdd\ +\xfe\xe2\x17\x3e\x18\xd3\x7a\x47\xc7\x9d\x35\xd7\x8f\x3f\x48\x68\ +\x76\xd8\xd4\x29\x52\xdb\x6b\x2e\x5c\x23\x3f\x31\x38\xfb\x89\x15\ +\x0d\x20\x50\x4d\x6f\x00\x94\x39\x5c\x5c\x5c\x5e\x60\x59\x67\xa8\ +\x77\x47\x36\x3a\xa4\x39\x48\x6c\x1b\x1f\xf6\xa1\x76\xe5\x8f\x7f\ +\x7d\x3b\xe7\x8a\x17\x47\x63\x79\xce\xd2\xef\xea\x62\x03\x27\xd0\ +\x63\x5f\xfc\xff\x9c\xe0\x2b\xc7\xd6\x21\xc0\x57\x8a\x4e\x7d\xc0\ +\x0f\xc6\xaf\x03\xfe\x60\x3b\xff\xeb\x3e\xdc\xbe\xf4\xb9\xf8\x0e\ +\xe0\x3b\x5f\xd5\xfe\xe6\xd7\x6f\x88\x45\x6c\x5e\x36\x32\x25\xeb\ +\x7b\x1d\xa1\xeb\xc7\x57\xb4\x0e\x04\xaa\xe9\xcd\x06\xcb\x46\xe5\ +\xc5\xa5\x1c\x6a\x66\xcc\x46\x43\xcb\x63\xcc\x03\x6b\xfc\xe3\xd8\ +\xc3\x9f\x74\x76\x7b\xec\x0b\xbf\xa3\x9d\xf1\xe0\xf8\x04\xf6\xa4\ +\x4b\xc2\x5f\xb4\x1f\x11\x38\x78\xd2\x65\x71\x0d\xfc\x70\xbb\xfc\ +\x9b\x7e\xb8\x5d\xfa\x8c\xf7\xb4\x3b\xff\xe1\x9a\x76\xfd\xeb\xaf\ +\x69\xd7\x5d\x73\x4b\xc0\xe1\xa7\xe4\x36\x38\xee\xf4\xbc\x2b\xc4\ +\xe7\x9d\x9f\xbe\x69\x08\x7a\x3d\x12\x67\x1c\xa4\x1c\x5b\xfb\xe8\ +\xb1\x9a\xde\x7c\x4f\xb6\xcd\x0a\x09\x69\xa3\xdb\xd4\x94\xc6\xbc\ +\xe3\xb3\x09\x8e\xef\xee\xae\xfc\xb1\xc7\xb7\x73\x2e\x8f\xf7\xea\ +\xce\x78\x6e\xdc\xd5\xf1\x25\xe0\xa2\x42\x60\x8c\xc0\xa1\x93\xbf\ +\xba\x9d\xf1\xd0\xaf\x6e\x5f\xf3\xdd\x3f\xd1\x1e\xfd\x82\xb7\xb7\ +\x2f\xdd\x7a\x75\x7b\xdf\xab\x5e\xd3\x6e\xfa\xd3\xcf\x4d\x20\xa2\ +\x51\x71\x7d\xd9\xec\xb8\xe6\x6c\x5e\xbe\x24\x9e\xa4\x96\x98\x86\ +\xc0\x7e\x6f\x7a\xb9\x89\x4d\xc3\x88\x1c\x1b\x9a\x52\x1f\x63\xf4\ +\x21\x61\x9b\x9c\x77\x76\x07\xdb\x79\xdf\x70\xff\xf6\x98\x17\x7c\ +\x7b\x3b\xfd\x21\xf1\x25\xe2\xf8\xc9\x5e\x54\x08\xac\x89\x40\xfc\ +\x99\xaf\x93\x8e\x3c\xa9\x9d\xf9\xb0\x27\xb5\x27\xfd\xc0\x4f\xb5\ +\x27\x7e\xdf\x9b\x47\x7f\x06\xeb\x9d\xbf\xf5\xda\x76\xcb\xdf\x7c\ +\x29\x86\x72\xfd\xd1\xec\x72\xf3\xa3\xe9\x79\x3d\x87\x3a\x95\xcc\ +\xb1\x59\x4e\x4d\xdc\xab\x81\xfd\xde\xf4\xe6\x79\x5e\xb9\x48\x32\ +\xd3\xd8\x20\x9b\x9d\xba\x4d\xce\xa6\x77\xa8\x3d\xe5\x47\x1f\x17\ +\x9f\xdc\xf1\xbd\xba\x6f\x8e\x37\xf5\xf9\x44\xb4\xa8\x10\x58\x1f\ +\x02\x7c\xa8\x73\xf8\xc8\x33\xe2\xcf\x60\x3d\xa3\x3d\xed\xdf\x7f\ +\xa9\xdd\x73\xe7\xeb\xda\xed\xb7\xfc\x7e\x7b\xe7\xff\x78\x63\xfb\ +\x87\xeb\xef\x4c\x93\x79\x5d\x26\xd7\x8a\x6a\xa3\x5b\x71\xec\x67\ +\x65\xbf\x36\x3d\x2f\x82\x5e\x0e\x5d\x0b\x5c\x4c\x7c\xd2\xd8\x37\ +\x3e\xfc\xb0\x4d\x6e\xdc\xf4\xce\x7d\xfc\x99\xed\x09\xdf\xf3\xbc\ +\x76\xda\x83\x5e\xd2\x0e\x9f\x72\x45\xc4\x8b\x0a\x81\xad\x41\xe0\ +\xc0\x81\xf8\x9a\xce\x69\xcf\x8b\x3f\x26\xf1\xbc\xf6\xbf\xfe\xe7\ +\xcf\x47\x03\x7c\x4d\xfb\xc2\x27\x7f\xaf\xbd\xfe\x3f\xbf\xb5\xb5\ +\xdb\xfd\x32\xf9\xb4\xb5\xbc\xd6\xbd\xc3\xeb\xed\x69\xe3\xf6\x9c\ +\x7f\xbf\x36\xbd\xf5\x3e\x91\x5c\x20\x34\xb8\xdc\xf8\x6c\x76\xc8\ +\x83\xed\xc9\x3f\xfc\xd8\xf6\xe0\xaf\x8c\xbb\xba\x33\xbe\x35\xde\ +\xab\x3b\x75\xbd\x0b\x54\x7e\x21\xb0\x3e\x04\x0e\x9c\x15\x9f\xf6\ +\xbf\xa4\x3d\xe8\xb2\x97\xb4\x17\xfd\xc6\xa7\xdb\x3d\x5f\xfe\x83\ +\xf6\x96\x9f\x39\xad\xdd\xf2\xfe\xa1\x69\xbc\x6e\x89\xd9\xf4\x86\ +\xf2\xf6\x85\x6f\xbf\x36\x3d\x7f\xca\xf5\x72\xe8\x49\x27\xc7\x3b\ +\xba\xd5\xf2\x61\x8f\x3f\xa3\x3d\xee\xa5\xdf\xd6\x4e\x8f\xbb\xba\ +\x43\x27\x3f\x6a\x68\x70\xf9\x0a\x81\x85\x23\x70\xe0\xc0\x43\xda\ +\xc9\xa7\xfe\x60\x7b\xfa\x7f\x6c\xf1\xeb\x6f\xad\x7d\xe8\x9a\xd6\ +\x3e\xf2\xba\x7e\x59\xaf\xf5\xde\xbf\xef\xec\xfd\xda\xf4\xfa\x27\ +\x9a\x0b\x62\xda\x45\x41\xa3\x93\xb9\xab\x3b\xd4\x9e\xfc\xef\x1f\ +\x13\x9f\xc0\x7e\x4f\xfc\x87\x33\x71\x57\x17\x5f\xe2\x2d\x2a\x04\ +\xb6\x1d\x81\x63\x47\xe3\x0f\x9e\xde\xd6\x3e\xf4\x87\x67\xc6\x1f\ +\x3c\x18\xda\x0d\xd7\xf7\xbe\xbf\xcb\x03\x98\xfd\xd6\xf4\xa6\x35\ +\xb6\xa1\x8b\x44\x1f\x63\x0e\xb5\x0b\xaf\xbc\x5f\x7b\xcc\x0b\xbf\ +\xbd\x9d\x76\xf6\x77\xc7\xf7\xea\x1e\x63\xb0\x64\x21\xb0\xad\x08\ +\x1c\x3b\x7a\x4b\xfc\x0f\x6f\x2f\x6f\x37\xbe\xed\x37\xdb\xbb\x7e\ +\xfd\x57\x62\x2f\x8f\x1f\xd8\x4f\xbe\xee\xd5\xf7\x6d\x03\xdc\x6f\ +\x4d\xaf\xbf\x1e\xbc\x00\x94\x7d\xbc\xb5\xf3\x9e\xf8\xd0\xf6\xf5\ +\xff\xf2\xe7\xe2\x13\xb4\x6f\x8f\xf7\xea\xce\x38\x31\xa1\x3c\x85\ +\xc0\x92\x11\x38\x16\x77\x6c\xf7\xdc\xf1\x97\xed\xf3\x37\xfd\x4e\ +\x7b\xeb\xcf\xbe\x3e\x9a\xde\x5d\xb1\x83\x79\x3f\xc8\x70\xb3\x5e\ +\xf3\xfb\xae\xf9\x55\xd3\x1b\x5f\x02\x5e\x00\x5e\x10\xad\x5d\xf0\ +\x8d\xad\x3d\xf2\x5b\x5a\x7b\xe0\x23\xfe\xd9\x71\x67\x69\x85\x62\ +\x20\x09\x5a\x00\x00\x20\x00\x49\x44\x41\x54\xc0\x36\x22\x70\xdf\ +\xbd\xb7\xb6\xdb\x3e\xf5\x87\xed\x23\xaf\x7f\x65\xfb\xf0\x1f\x7d\ +\x22\x76\xe2\x9f\xad\xf2\xed\x97\xb5\x36\x77\xe2\x35\xbe\x56\xf6\ +\x1e\x8e\xed\xf7\xa6\xc7\x53\x3b\x7c\x31\x7c\x32\xfe\x10\xc6\x81\ +\x08\x3d\xea\xdb\xae\x6b\x67\x9d\x7f\x49\x18\x7c\x6d\xa5\xa8\x10\ +\x58\x2e\x02\xdc\xd5\x7d\xf9\xf3\xef\x6e\x37\xbf\xf7\xd5\xed\xaf\ +\x7f\xfd\xcf\xda\xbd\xb7\xf3\x27\xbf\x68\x76\x5c\xb7\x7e\x83\x80\ +\xbb\xb5\xb5\x7e\x23\x23\x5f\xe3\xea\xfb\xee\x0e\x2f\x30\x1a\xd1\ +\x7e\x6b\x7a\x3e\xe1\x9e\x1f\x5b\xd6\x37\x96\xf7\xc5\x2b\x86\x8f\ +\xbf\x15\x7e\x65\x3b\xef\xca\x57\xb4\xc7\xfc\xe3\x6f\x6e\xa7\x9f\ +\xf3\xad\xf1\xdd\xbb\xaf\x8b\x21\xfc\x64\x2d\x2a\x04\x16\x87\xc0\ +\x7d\x77\x7f\xb1\xdd\x7a\xe3\x1b\xe3\x77\x70\x5f\xd7\x3e\xf1\xf6\ +\x1b\x63\x21\x9b\xda\xf8\xc3\xb4\xf1\xca\xe8\x90\x77\x7a\xfd\xf5\ +\x3d\x8e\xae\x7e\x24\x67\xdf\x36\x3c\xa0\xd8\x6f\x4d\xcf\xa7\xbf\ +\xbf\x38\x86\x1b\xdf\x38\xfb\x40\xfb\xbb\x37\xdf\x16\xfc\xbb\x61\ +\xfe\x41\xbb\xf4\x69\x0f\x6b\x97\x3d\xe7\xd9\xed\x8c\x87\x3c\x37\ +\xfe\xbf\xd4\xfa\x9a\x8a\x88\x96\xdc\x3c\x02\xdc\xd5\xdd\x71\xcb\ +\xf5\xf1\xe9\xeb\x1b\xdb\x7b\x5f\xfe\xd7\xf1\xbe\x1d\xbf\x71\xc1\ +\xaf\x9a\xd1\xdc\x68\x6c\xfc\x01\x02\xae\x55\x6c\x1a\x17\x3a\xfe\ +\xb5\xae\xdf\x08\x8f\xe2\x48\x88\xdc\x7d\x4d\xfb\xb1\xe9\xcd\xba\ +\x40\xfa\x0b\xc2\x9f\xa2\xc8\x43\xed\x86\x37\xde\x1a\xfc\xf2\xd0\ +\xaf\x8e\xff\x1d\xeb\xfc\x76\xc9\xd3\x9f\x15\xbf\x22\xf4\xb4\x68\ +\x80\x17\xf6\x03\xcb\x2e\x04\xe6\x42\xe0\xbe\xbb\xee\x88\xaf\x9b\ +\xfc\x75\x7c\xdd\xe4\x2d\xed\xd3\xef\xf9\x54\x8c\xe1\x83\x09\xef\ +\xec\x98\xc2\x46\xa5\xc4\x57\xb4\x41\x04\xf6\x63\xd3\xcb\x50\xd9\ +\x00\x67\x5d\x4c\xe3\x86\x77\xfc\x27\xee\xf8\x25\xc6\x0d\x7f\x7a\ +\x73\xbb\xe1\x4f\x5f\x11\x13\xbe\xb2\x5d\xf6\xac\xcb\xda\x45\x57\ +\xfe\x2f\xed\xac\x0b\x9f\x12\x9f\xf4\x3e\x28\x2f\x52\x7a\x21\x30\ +\x88\xc0\xed\x9f\xbe\xb1\xdd\xf4\x17\x7f\xdd\xde\xff\xfb\xef\x8a\ +\xff\x57\x83\xbb\x38\x9a\x1d\x94\xaf\xcb\x7c\x6d\xce\xf2\x8f\x47\ +\xaf\xef\xd1\xf9\xf7\xcd\x4b\xde\xfd\xdc\xf4\x7c\xb2\xb9\x44\x68\ +\x6a\xd3\xa8\xbf\xd0\xc8\xed\x7d\x07\xda\x87\xff\xe4\x13\xc1\xbf\ +\x13\xb1\xab\xdb\x15\xcf\xbd\xbc\x9d\xff\xa4\x27\xb5\x07\x5c\xf4\ +\x84\x78\x0f\xf0\x7e\xd3\x26\x2e\xff\x3e\x44\xe0\xde\xbb\xee\x6c\ +\x37\xbf\xef\xda\xb8\xab\x7b\x67\xbb\xe5\x7d\xfc\xcd\x3c\xee\xe8\ +\xf8\xba\x09\xd2\xc6\x83\x54\x0f\x75\xa4\x63\xe7\x1c\xfc\x50\x9f\ +\x3b\xf6\xd6\xe3\x54\x04\xf6\x6b\xd3\xb3\x69\x09\x4c\x6f\xeb\x47\ +\x12\xa3\xd1\xf5\xac\x7f\x7c\xd7\x37\x7e\x7f\x14\xbd\xb5\xeb\x5e\ +\x73\x43\xf0\xa7\xe2\x4b\xcc\x57\xc7\x7f\xc0\xfd\xa8\x76\xfe\x37\ +\x3c\x3e\x1a\xe0\x57\xc5\xaf\xaa\xd5\x5f\x5a\x19\x01\xb4\x0f\x1f\ +\x6e\xfb\xd4\x27\xe3\x43\xb1\xf7\xb6\x0f\x5e\xf3\x81\x76\xef\x9d\ +\x7e\xaf\x8e\xf7\xeb\x60\x9b\x19\x52\x9d\x66\x96\xe3\xf8\x25\x9a\ +\x24\x31\x1b\x9e\x0d\xd1\x78\x2f\x89\x4f\xa3\xb5\x62\xd3\xc6\xec\ +\x6a\xff\x7e\x6d\x7a\x9b\x7d\xd2\x68\x78\xd0\xd0\x05\x63\x03\x3d\ +\x16\xff\x23\xd7\xd1\xf8\x89\x7e\x7d\xf0\x0d\xf1\x92\xf7\xd5\xed\ +\x8a\x6f\x7a\x64\x3b\xef\xeb\x1e\xd3\xce\xba\xe8\xb2\xf8\xff\x6a\ +\xeb\x2b\x30\x63\x0c\x4f\x7c\xe4\x0d\xfd\x63\xf7\x1d\x1d\xf3\xd1\ +\xfb\xe2\xbf\x73\x3c\x51\xd7\x77\x5f\xfc\x57\x8f\x47\xef\x8b\xfc\ +\xf8\x7f\x6e\xf1\x1d\xbd\x37\x70\x0f\x3e\x70\xf0\x40\x7b\xe8\x57\ +\x5f\x74\xe2\xe4\x4b\xf4\xdc\x7b\xd7\x5d\xed\xd3\xef\xfd\x50\xfc\ +\x00\xbc\x76\xe0\xae\xae\x6f\x70\xda\x4a\xae\x2d\x9b\x1e\x3a\xfe\ +\x69\x0d\x92\xd8\xd0\xb5\x18\xee\x13\x68\xde\xbc\x13\x06\xee\x15\ +\x47\x35\xbd\xad\x7b\x26\xb9\x98\x32\xaf\x9e\xf9\xde\x2f\xdf\x17\ +\xef\xdd\x7c\x28\xf8\xc3\xed\x94\x33\x4f\x6b\x97\x3f\xe7\x91\xed\ +\xe1\x4f\x78\x54\x3b\xeb\x82\x0b\xa3\x40\xd7\x7a\x79\xbd\x7a\x9e\ +\x65\x58\x77\xc7\xa7\x86\xb7\x7f\xfa\xf3\xed\x18\x0d\x27\x9a\xc9\ +\x48\x46\x73\x39\x36\x6a\x30\x34\x99\xb1\xff\xe8\x7d\xf7\x8e\x7d\ +\x34\x9c\x7b\xf1\x65\x3e\xda\xee\xbd\x3b\xec\x68\xfc\xf8\xef\x43\ +\xde\x83\xc4\x17\xf2\xee\xa3\xc1\x13\x19\xf6\x3d\x77\x4d\xec\x90\ +\x8c\x39\x4e\xfe\x80\x51\xfa\xf6\xc2\xf8\xae\xfa\xf8\x1d\xb8\x3f\ +\x6c\xc6\x77\xe4\xa7\x9e\x7d\x4a\x7b\xde\xff\xb8\xe8\xf8\x34\x4b\ +\xd4\x6e\xfb\xfb\x9b\xdb\xc7\xdf\xf6\xbe\xf8\x61\x77\x5d\xbb\xe7\ +\x4b\x7c\xaf\x8e\xeb\x02\x69\xe3\xa2\x79\xf1\x1e\x1e\x8c\x8f\x3b\ +\x37\xd8\x1c\xa4\x0d\xcf\x5c\xf3\x9c\x03\xd9\xeb\xd3\x1a\x5a\xbe\ +\x2e\xa7\xe5\xc4\x74\xfb\x83\xf6\x73\xd3\xe3\xc9\xb7\x90\xb8\x78\ +\x66\x5d\x0c\xf9\xc2\x21\x5f\x42\xa7\xd0\x88\x3b\x8f\x3a\xf3\xab\ +\x1f\xcf\xbb\xeb\x0b\x77\xb5\x6b\x5f\xfe\xfe\xe0\xeb\xda\x69\x0f\ +\x3e\xbd\x5d\xfe\xac\x2b\xa2\x01\x5e\xde\xee\xf7\xf0\x87\xc6\x8e\ +\xdc\x53\x0c\xdd\x26\xba\xf5\x86\x9b\xdb\x9f\xfd\xe4\xdb\x62\x75\ +\xf6\x9c\x99\xb3\x40\x14\x22\xba\x36\x39\x90\x76\x2f\xc7\xd1\xcd\ +\x3d\xfa\x83\x81\xb9\xc5\x48\x7c\xf1\xd9\x0c\xc7\xab\xd0\x50\x97\ +\x49\xf7\xde\x75\x77\xdc\xd5\x7d\xa4\x5d\xff\x9a\xf7\xc5\x7b\x76\ +\xb7\xc6\xd2\x36\x34\xf6\x01\x3e\x59\xfa\xf2\x54\x9f\x4d\xcf\x3c\ +\xfd\xce\xe1\x73\xc0\x39\x8d\xa1\xe3\x57\xa2\xcf\x43\xe4\xef\x6b\ +\xda\xaf\x4d\x8f\x27\xde\xc2\x99\x75\x01\xe4\x8b\xca\x8b\x92\x31\ +\x5e\x64\x5c\x84\xcc\xc5\x05\xca\xdd\x87\x2f\x5b\x8d\x73\x41\xe3\ +\x47\x32\x97\x17\xdd\x58\xff\xd2\x2d\xb7\xb7\x77\xff\xe6\x7b\x82\ +\xdf\xdb\xee\x7f\xfe\x59\xd1\x00\x2f\x6b\x0f\xfd\x1a\xfe\xb3\x98\ +\xed\xfb\x04\xf8\xe0\x61\xce\xe3\x59\x91\x99\xc3\x5c\x69\x7a\xf8\ +\x57\x9f\x87\xe8\x6a\xdf\xd8\x73\xe2\xa3\xe3\x4e\x8c\xac\xf6\xf8\ +\x3c\xd9\xd4\xb0\xdd\x1f\x99\xe8\xc4\xc0\x18\x39\xe6\xfb\xb8\x59\ +\x5a\x02\xdd\xf6\xa9\x5b\xda\x8d\x6f\xf9\x60\xbb\xee\xd5\x1f\x8e\ +\xbb\x3a\xae\x01\x98\xb3\xd9\xb0\x90\x5c\x23\x3c\xff\xe0\x65\x83\ +\x43\x9a\xe3\x57\x54\xb0\xf5\x33\x26\xdf\xf9\x31\xa7\x77\x80\x8e\ +\x53\x92\x0b\x4f\xc3\x14\xbf\x1c\xea\x88\xa6\xe5\x1a\xdf\xb3\x72\ +\xbf\x36\x3d\x9e\xd0\xfc\xa4\x67\xbd\x7f\xb2\x89\x59\xdc\x59\xa2\ +\x5b\x7c\xfa\xcd\x65\x0e\x7d\x60\x9c\xfd\x14\x65\x3f\x16\xfb\x60\ +\xfb\xe2\x27\xbe\xd8\xde\xf9\x6b\xef\x0a\xfd\x7d\xed\x41\x97\x9f\ +\x19\xdf\x01\xbc\xac\x3d\xec\x71\x97\xb4\x53\xcf\x3e\x33\x7c\xcb\ +\xa3\x83\x87\xdc\x23\xfb\xea\xd9\xb3\x64\x89\x0e\x29\x19\x03\x69\ +\x8f\xad\xe3\x8f\xd3\xfc\xc7\x33\x8e\x6b\x60\x0c\x39\xc6\xc6\xc6\ +\x1a\x36\xbc\x51\xc2\x24\x67\x9c\x77\xdf\xdd\x34\x84\xc5\xd0\x7d\ +\x77\x73\x57\xf7\xd1\x78\xaf\xee\x43\xed\xe6\x6b\x6f\x8e\x45\x58\ +\x93\xa6\x23\x56\xda\x36\x23\xfc\x34\xb3\xec\xc7\xce\x63\xd0\xf1\ +\x99\xeb\x5c\x4a\xc6\xf6\x7a\xb8\x46\x73\xe2\x27\xbe\x16\xcd\x8a\ +\xaf\x35\x76\x4f\xc5\xf6\x63\xd3\xcb\x4f\xbe\xba\x72\xe8\xc9\xe5\ +\x82\xe2\x82\xb4\xf8\x2c\x34\x7e\xea\x82\x1f\x36\x39\x48\xf3\x28\ +\x4c\xf3\x98\x9b\xbb\x10\x72\x94\xe4\x31\x16\x1f\x17\x3a\x7e\xf2\ +\xb9\x4b\x64\xec\x3d\xed\xb3\xd7\x7f\x39\x98\x97\x49\xef\x68\x0f\ +\x7d\xec\x83\xdb\xc5\x4f\x7d\x44\x7b\xc8\x63\x2e\x69\xa7\xdc\x6f\ +\xf1\x7f\xbf\x6f\xf4\xff\x70\x8f\xbe\x33\xc6\x3e\x3d\x3f\x12\xe6\ +\x3c\xf8\x91\xd9\x0e\x73\xa5\xf0\x86\xf0\xc4\xc7\x19\xfb\xd8\x34\ +\x9b\x5c\x18\xca\x3a\xf8\x40\xf9\xce\x8e\x38\x76\xf6\x1d\x1c\x7d\ +\x10\x72\x60\xd4\xc0\xc9\xdf\x3c\xdd\xf6\xe9\xcf\xc6\x7b\x75\x1f\ +\x18\x7d\x38\x75\xcf\xed\xfe\xb2\xbf\x18\x70\x3d\x70\x16\xef\xce\ +\xc4\x4e\x3b\xdf\x95\xf1\x9c\xcb\x8c\xe7\x4e\x8f\x7c\x72\x91\xe6\ +\x3a\x56\x99\xfd\xe4\xd9\x24\xd1\xe1\x59\xc4\xfe\x7a\xbc\x67\x8d\ +\xd9\x73\xf1\xfd\xd8\xf4\xd6\xfb\x24\x72\x91\x70\x61\x66\xa6\xc8\ +\xb0\xb9\xd0\x8c\x7b\xd1\xd9\xc4\x8c\xe9\x27\x9f\x71\xd8\x48\x89\ +\x42\x85\x28\x66\x62\xe6\xe1\x63\xae\x83\xed\x53\xef\xbe\x25\xf8\ +\x33\xa1\xbf\xb3\x5d\xf0\xa4\x73\xdb\x85\x4f\xb9\xb4\x3d\xe4\xab\ +\x2e\x6c\x87\x4f\x5d\xcc\x57\x60\x56\xdf\xe9\xb1\x27\xf7\xc5\xde\ +\x38\x2f\x76\x96\xe8\xe2\x10\xea\x48\x47\x0e\x11\x79\x99\xa6\xd9\ +\x62\x64\x93\xc3\x86\x33\x3e\xe8\xc4\xcd\x09\x75\xb4\xf6\x78\x3f\ +\x7c\x00\xb3\xd9\xa6\xc7\x1d\xe3\xcd\xd7\xde\xd0\xae\xff\xe3\x0f\ +\x4d\x9e\x03\x9e\x13\xe6\xcf\x98\xb0\x0f\x6d\xe3\x48\xfc\xbd\x24\ +\x0f\x9f\x6c\x0e\xfe\xcc\x79\x4e\xfc\xae\x89\x24\xd6\xf3\xf8\xcc\ +\x11\x98\x42\xc4\x8b\x02\x81\xfd\xd6\xf4\xfa\x27\x5e\x9b\x0b\x48\ +\xbd\xbf\x30\xf0\x7b\x01\xf6\x85\x87\x1f\xf2\xae\x8d\x06\x46\x3e\ +\x45\x88\x24\x9f\x8b\x1b\x3f\x3f\xa5\xf1\x93\xdb\x33\x71\x72\x8f\ +\xdf\xe9\x1d\x2f\x66\xc6\xe0\x27\x7e\x77\x7c\x83\xff\xa3\xc1\x37\ +\xb5\x83\x87\x0e\xc5\xdd\xdf\x05\xf1\x27\xb0\x2e\x6d\xe7\x5c\x71\ +\x61\x7c\x07\xd0\xf7\x12\x23\x6d\x93\x74\x70\x74\x59\xf0\x5f\x0d\ +\x52\x6c\x9e\xdd\x82\xe4\x5c\x9c\x09\x69\x31\x8a\x03\x12\xbf\x1c\ +\xea\x88\xb0\x33\xcd\xb2\x73\xae\x0d\x0d\x09\x06\x4a\x31\xc3\x46\ +\x87\xd1\xc5\x36\xee\xf4\xa2\xe9\x1d\x7f\x8f\x35\xd4\x75\xd0\xed\ +\xb7\xc4\x5d\xdd\x5b\x3f\xd0\xae\x8b\xaf\x1c\x8d\xff\x5e\x9d\x67\ +\x15\x07\x30\xe0\xbc\x62\xc1\xdd\x1a\xe7\xd2\x3f\xed\xae\x8c\x38\ +\x73\x20\xfb\x5c\xc6\x18\x63\x6e\x6c\xe6\x64\x6e\xc8\x38\x39\x39\ +\xae\xdd\xe3\x3a\x1a\x14\x0f\xf8\xfb\x58\x6f\x9b\xbb\xe7\xe5\xe8\ +\xea\xde\xf3\xa7\x5c\xfb\x80\x3c\xf9\x14\xd3\x5a\xc4\x05\x46\x41\ +\x21\x61\x28\x4b\x2e\x3a\xe2\x10\x3a\x73\xea\xd3\x66\x0d\x0a\x73\ +\x88\xdc\x83\x45\x4d\x8e\x05\x6c\x0c\xfb\xb8\xce\x77\xd3\x6e\x78\ +\xc3\xc7\x83\x6f\x8a\xff\x20\xe6\xa4\x76\xc9\xd3\x2e\x88\x2f\x41\ +\x5f\x1a\x7f\xff\xef\xbc\x51\x43\x1c\x5a\x65\x5e\xdf\xc1\xc3\x9e\ +\x95\xbd\xf7\xcc\x1e\x2c\x46\x30\xc0\xce\x32\xcc\x15\x6c\x88\x41\ +\xca\xb1\x35\x7e\xec\x7d\xbd\x4d\x96\xcf\x4b\xc6\x8e\xbd\xad\xc6\ +\x62\x3c\x3f\xe3\xf1\x4b\x07\xdb\xd1\x68\x7a\xd3\x10\x37\x2b\xcb\ +\xa3\xf7\xc4\x5d\xdd\xfb\x6e\x88\xdf\xac\xf9\x40\xfb\xe4\x3b\xfd\ +\x6d\x09\xce\x06\xfb\x3c\x72\x76\x6c\x1b\x96\x92\x38\x7e\xb1\xb1\ +\x41\x99\xaf\x14\xcf\xdc\xf4\x9c\x03\x49\x5c\xdb\x39\xf3\x1e\xf2\ +\x5e\x38\x33\x36\x72\x08\xbf\x70\x17\xf5\x08\xec\xf7\xa6\x37\xcf\ +\x85\xd2\x5f\x64\x8c\xb1\x18\x2d\x3e\x24\x79\x59\x72\xe1\x92\x77\ +\x4a\x30\xa5\x87\x4d\xdc\x3b\x11\x7c\x32\x3e\x63\x48\xef\xf8\x88\ +\xeb\x67\x2e\xef\xe6\x98\xcb\xb1\x07\x46\x9f\x1a\x5e\xf7\xea\xeb\ +\x47\x9f\x20\x1e\x39\xeb\x94\xf6\x88\x67\x5e\x1c\x5f\x82\x7e\x44\ +\xfc\x1e\x70\x7c\x05\x66\x03\xdf\x01\x3c\x70\x88\xb5\xbc\xd3\x63\ +\x2d\xd8\x62\xe5\x9c\xb2\x05\x8e\x6d\xe1\x21\xb1\x33\x65\x9c\xcd\ +\xcb\xf1\xac\x9b\x2b\xc6\x4a\xce\x8b\x3e\x24\xc5\x02\x1c\xd1\xc7\ +\x78\x1e\x3b\xc6\xbe\x67\xd3\x1d\x9f\xfd\x6c\xbb\x29\xbe\x57\xf7\ +\xc1\x6b\xae\x6b\x77\x7d\x81\xf7\xcf\x3c\x83\xe7\xcc\x67\x67\x4e\ +\xfc\x36\x31\x65\xff\xbe\x9b\x0d\xab\xf7\x0f\xe1\x29\x8e\xe6\xba\ +\xae\x6b\x21\xd9\x53\x2f\x59\x23\xef\x35\xcc\x41\x22\x07\x86\x94\ +\x63\x6b\x1f\x3e\x72\x71\x14\xad\x7d\x21\x78\x51\x51\x70\x5c\x8c\ +\x48\x1a\x11\x17\xa0\xc5\x46\x8e\xfe\x2c\xd5\xbd\x38\x19\xe7\x05\ +\x0d\xf6\xe8\x8c\x75\x3c\xd2\x1c\xe4\xc9\xc1\xcc\xa1\x3f\xd4\x91\ +\x8d\x64\xce\x71\x71\x1f\x5f\xfb\x60\xfc\xc1\xc9\xa3\xed\x7d\xbf\ +\xfb\xc1\xe0\xeb\xda\xe9\x0f\x3e\xd2\x2e\x7b\xf6\xa5\xed\xe1\x8f\ +\x7f\x44\x7c\x07\xf0\xc1\x31\x92\xb9\x66\xd3\xc1\x93\x3c\x1f\x67\ +\x94\x59\xcf\x73\x58\xe8\x16\x21\xe7\x80\x8c\xa3\x7b\x2e\xf4\x4c\ +\xd3\xfc\xe4\x10\x83\xf2\x3e\xd1\x61\xd6\x42\x7a\x66\xd6\xc2\xb6\ +\xc9\x65\x5c\xc7\x78\xf1\x65\xea\x69\x74\xf4\xde\x7b\xda\x67\x3e\ +\x74\x7d\xfb\xf0\x6b\xaf\x8d\xbf\x57\x17\xff\x85\xd8\x2a\x72\x2e\ +\xc6\xa3\xb3\xb6\x67\xf3\xec\x4a\x62\xe4\x68\x23\x59\x1f\xc9\x18\ +\xe3\x36\x34\x7d\x48\xd8\xb1\x8c\x41\x37\xee\x1c\xfa\x95\xe6\x20\ +\xf1\x65\x7f\x98\x45\xb3\x10\xd8\x6f\x4d\x8f\x0b\x04\xa2\x58\x32\ +\xe9\xcf\x3e\x75\x62\x5c\x88\x90\x17\x18\xe3\xb9\xeb\xe2\xc2\x83\ +\x6d\x12\x4a\xe2\xdc\xe1\x41\x5c\xfc\x16\x66\x2e\x52\x1b\xa6\x31\ +\xc6\x5a\xd0\xca\x7c\xc7\x97\xe7\x24\xee\x38\xfc\x8c\x95\xf1\x8f\ +\xf5\x3b\x6e\xb9\xb3\xbd\xfb\xff\xfb\x9b\x11\x9f\x75\xd1\x19\xf1\ +\x5b\x20\x97\xb7\x87\x3c\xf6\x8a\x76\xfa\x03\xcf\x89\x9c\xe9\x34\ +\xfe\x20\xe3\x8e\x48\xa0\x60\x61\x0b\x3a\x17\x69\x2e\x3e\x0b\x90\ +\x5c\x48\x3c\xf1\xaf\x45\xe6\xe5\x1c\x7d\x9c\x0b\xc6\x46\x72\x66\ +\xcf\x9a\x6d\x71\xc8\x98\x8c\xf1\x3b\x76\x8c\x7d\xaf\xa6\x3b\x3f\ +\x77\x73\xfb\xc4\x5f\xbd\xbb\x7d\xe0\xf7\xaf\x6d\x77\xde\x6a\xdc\ +\x35\x91\xb0\xe7\xe1\xbc\x99\xf1\x33\x06\x5f\x8f\x09\x4d\x8d\xb1\ +\xbe\xb7\x67\xdc\x7c\xb1\xcb\xf3\xa1\x33\xc6\x5c\xf0\xc3\xd6\xaf\ +\xed\x7e\xb0\xd1\xb5\x95\x8c\x91\x43\x1d\x24\xe2\x90\x72\x6c\xed\ +\xc3\x47\x2e\x8e\xfd\x4c\x5e\x00\x14\xd1\x34\x22\x87\x8b\x0b\x32\ +\x9f\xa6\x92\x2f\x38\x6c\x08\x9f\x85\x49\x11\xa0\x33\xc6\x8b\x98\ +\x3c\x6c\xe7\x24\x5f\x36\xe6\x18\x6d\xe4\xb8\x88\x43\x09\x32\x9e\ +\xe7\x24\x47\x66\x6e\x75\xf3\x5b\xfb\xfc\x8d\x9f\x6b\xef\xf8\xe5\ +\xb7\x87\xe3\xed\xed\xdc\x47\x9f\xdd\x2e\x7d\xe6\x23\xdb\xb9\x5f\ +\xf5\x15\xed\xc8\xfd\x1f\x40\xd2\x2a\x3a\x38\x7a\x49\x4c\x81\x51\ +\x8c\x30\x3a\xeb\xc1\xec\x17\x9f\xe7\xc2\xee\x8b\x93\x98\x84\x9e\ +\x6d\xfd\xc8\x21\xbf\x3e\xce\x09\x71\x16\x88\x75\x20\xb1\xc0\x26\ +\xe6\xfc\xd8\xc4\xb4\x23\x36\x79\x79\xcb\x5d\xdd\x3f\xdc\x70\x6d\ +\xfc\xdf\x12\x7f\xdd\x6e\xfc\xf3\x4f\x4e\xc6\x31\xbf\x6b\x38\x26\ +\x5c\x2b\xe3\x99\xcf\x33\x23\x6d\x38\x36\xa8\x2c\x19\xef\x9d\x9c\ +\xd8\x20\x19\xa7\xed\xf8\x3c\x27\x3a\x63\x73\x0c\x5b\xbf\x52\x7c\ +\xdd\xa7\x58\x68\x2b\x63\x68\xd1\x2c\x04\xf6\x6b\xd3\xe3\x22\xc9\ +\xb4\xd6\x45\xc3\x05\xc6\x45\x67\x23\xc1\xa6\x58\xb8\x20\x91\xdc\ +\x69\x64\xdb\x5c\xfd\xde\xad\xd9\x04\xf1\xf7\xcc\xdc\xcc\xc1\xcb\ +\x59\x74\xe3\x3c\x3f\xf8\xb9\x6b\xcc\x6b\xe5\x3c\xf3\x6d\x06\xee\ +\x13\x09\x29\xc7\x16\x45\x76\xf3\xb5\x77\x04\xdf\x14\x8e\x3f\x69\ +\x17\x3e\x39\xbe\x03\x78\xd5\x57\xb7\x07\x3d\xf2\xd1\xed\xa4\x23\ +\xe3\x2f\x41\x1f\x88\x4f\x86\x5b\xf3\x4e\x8f\xa2\xe5\x4c\x32\x58\ +\xe1\x13\x17\x6c\x8b\x13\x09\x59\x94\x63\xeb\x78\x23\xd1\x46\xf6\ +\xcf\x41\x8e\xa9\x73\x66\x99\x3d\xa1\x7b\x3e\xb1\x41\xc2\x19\xb3\ +\xb1\x7d\xe7\xad\x37\xc6\x39\xdf\xda\xde\xf3\x3b\x7f\x1b\x7f\x91\ +\x98\xef\xd5\x39\x07\x12\x62\x3e\xc8\xbd\x20\x65\xce\xc2\x99\x91\ +\xb2\x67\x46\xe6\x26\x97\x6d\xc6\x30\x47\x6e\x76\xce\x45\x9e\xec\ +\x9c\xe4\x66\x1f\x36\x31\xa4\x73\xa1\x67\x26\x1f\x42\x66\x3f\xfa\ +\x10\x99\x33\x14\xdb\x77\x3e\x2e\x8e\xa2\xf1\x85\x33\x0b\x07\x2f\ +\x1c\x2f\x38\xf2\x29\x40\x8b\x12\x3f\x3a\x79\x16\x53\xa8\x23\xc2\ +\x06\x6b\xf2\xc9\x93\xb9\xb8\x2d\x56\x62\x8c\xc5\xa6\x51\x12\x23\ +\x0f\x3f\xc4\x1c\xf8\x5d\x03\x3f\x36\xf9\xce\x87\x8e\x5f\x26\x17\ +\xce\xc4\x1a\xd0\xb8\xb0\x3e\xfe\xd6\x8f\xc7\x57\x33\x3e\x16\x43\ +\x5e\x19\x7f\x05\xe6\x92\x76\xe1\x37\x3e\xae\xdd\xff\xe1\x97\x47\ +\x3c\x37\xbb\xac\xb3\x96\x05\xed\x1e\xfb\xe2\x24\x07\x72\x2d\xe5\ +\xd8\x7b\xdc\xaf\xbd\x96\xe4\x4c\x90\x73\x66\x1c\x39\x27\x73\x67\ +\x26\x17\x3a\xd6\x5e\xfb\x23\xbf\x1a\x92\xf1\xf9\xbd\x51\xf0\x60\ +\xdf\x62\xe3\xde\x9c\x23\x42\xa3\xb5\xc8\xe9\x99\x3d\xd8\xec\x6c\ +\x88\x60\x91\x31\x21\x0e\x19\x67\x0e\xe6\xc6\x26\x0f\x1b\x29\x13\ +\xcb\x39\xe6\x22\x21\xe3\xe8\x8c\x81\xf0\xc1\xbd\x4d\xac\x68\x06\ +\x02\xfb\xb5\xe9\x79\x41\xd9\x10\xb4\x87\xe0\x22\xc6\x45\x49\x2e\ +\x17\x19\x85\x96\xc7\x11\x37\x86\x04\x53\x64\xef\x77\x0e\x1b\x13\ +\x32\xb3\x63\x99\x9f\x02\x41\x5a\xe0\x8e\xf5\x22\xc7\xcf\x58\xfc\ +\xe4\xe5\x79\xb4\x91\x90\x72\x6c\x8d\xf7\x85\xce\x58\xcf\x16\xf2\ +\xe8\xdd\xf1\xe9\xef\xb5\xc1\x7f\xdb\x0e\x9d\x84\x9f\xe2\xcd\xcd\ +\x8e\x3d\xc1\xc4\xf0\x33\xde\x39\xf4\x13\x83\xdd\x27\xba\x34\x4d\ +\x37\x3e\x4d\x72\x36\xb0\x61\x0d\x24\x73\x67\xac\xb0\xd9\x07\x71\ +\x70\x41\xc7\xc7\xb9\x59\x13\xa9\x4d\x8c\xb1\x10\x52\xdd\xbd\x21\ +\x61\xe7\x24\x3f\x33\x7e\xcf\x6e\xb3\xf3\xec\xe0\xc5\x58\x6c\xf2\ +\xf4\xf7\xb6\x73\x23\x61\xc6\xb0\x86\xeb\xf6\x32\x42\xa3\x38\x92\ +\x98\x71\x6c\x48\xdf\xd8\xaa\xc7\x99\x08\x70\x91\xec\x67\xe2\x82\ +\x81\xbc\xf8\xc7\xd6\xea\x47\x2f\x32\x8b\x04\x1b\xbd\xf7\x53\x9c\ +\x90\x71\xf3\xf1\x53\x78\x16\x1c\x3a\x6c\xa3\x52\x27\x9f\xe7\x43\ +\x99\xfd\xde\xa9\x50\x40\xfa\x91\xbe\xcc\xcd\x3e\xd7\x43\xba\x87\ +\x50\x57\xce\xc8\xfe\x20\x0b\x0d\x69\x91\x22\xef\x1a\xfd\xf9\xa7\ +\x71\xd1\xb2\x1e\x6c\xa1\x5b\xc0\x16\xbc\x63\x9d\xcb\x22\x76\x8d\ +\x5e\xc6\x54\x2b\x64\x6c\xc5\x31\x45\xc9\xe7\xe0\x3c\xac\xc5\x79\ +\x91\xd8\xc4\xc1\xcd\x86\x87\xdf\x1c\xf6\x43\x1c\x29\xae\x48\x48\ +\xc9\x3e\xd0\x91\xe4\x41\x8c\x47\x77\x2e\xce\x8d\x4e\x4e\x7f\xa7\ +\x97\xfd\xc4\xc9\xcd\x52\xac\x98\xcf\x35\x1c\xa3\x4f\xdb\xb8\xfb\ +\x30\x8e\x5f\x0e\x75\x95\x8e\x0d\x11\x2f\x9a\x03\x81\x6a\x7a\xb3\ +\x41\xf2\x42\xa4\x30\x64\x46\xe1\x1f\xb2\xb9\x50\xf1\x8b\xad\x36\ +\xc5\x47\xb1\x42\x36\x29\x7d\xd8\x8c\xe1\xe2\x47\x52\x28\xc4\x60\ +\x6c\xe7\xa0\xa0\xb0\x7d\x9f\x90\x3c\xe7\x62\xbd\x3c\x9f\x73\x22\ +\x21\xc6\x41\x16\x87\x05\x65\xc1\x59\xd8\x7c\xfa\x48\x0c\x1b\x66\ +\x0d\x63\xe4\x1a\x43\x12\x63\x3e\xe7\x40\x42\xf8\x5c\x47\x39\x0a\ +\xa4\x87\x69\xfe\x94\x32\xda\x33\x6b\xb3\x77\xce\x06\xb1\x86\x67\ +\x56\xb2\x17\xfc\xe4\x90\x0f\x16\x9e\x1b\x89\xcf\x5c\xe6\x92\x43\ +\x1d\x91\xfb\x65\x1e\x18\xdb\x39\x99\x17\x66\x0e\xfc\x48\x6c\xcf\ +\x9e\xfd\x8c\xd1\x26\xc7\xf9\x9c\x8b\xf1\xfa\x5d\x53\x69\x6e\xa4\ +\xac\xec\x01\xdd\x31\xe8\x12\xb9\x99\xc8\x29\x9a\x13\x01\x0b\x73\ +\xce\xf4\x3d\x9b\xb6\xd6\x45\x43\x8c\x8b\xcc\xa6\xa1\xc4\xaf\x0e\ +\x30\xce\xd1\x37\x2a\x8a\x8d\x3c\x2f\x54\x74\x0b\x10\x29\xe3\xa7\ +\x60\x8c\x61\xf7\x73\x61\x13\x27\x8f\xb8\xc5\x9d\x1b\x9e\x39\xe4\ +\x41\xce\x31\xb6\x8e\x3f\xb2\x1f\xf6\x6c\x11\x2a\x69\x7a\xe8\x30\ +\xeb\x64\xc6\xc7\x18\x0a\x9e\xf1\xc4\x9c\x43\x19\xae\x95\xb3\xe2\ +\x9b\x46\x6b\xc5\x1c\xc3\x19\x65\xcf\xc1\x1e\x3c\xbb\x12\x1f\x71\ +\x18\x2c\xb0\x39\x3f\x6b\xe8\x23\x37\x63\x12\xe6\x0a\xf9\xdc\x88\ +\x09\x12\x66\x9e\xcc\xcc\xe7\xd9\xf1\x93\x23\x06\x48\xc7\x90\x47\ +\x7c\x48\x3a\x37\x92\x38\xa4\x9e\x6d\xfd\x48\xfd\xbd\x24\x56\xb4\ +\x4e\x04\xaa\xe9\xcd\x06\x8c\x0b\x8d\x8b\xd2\xe2\x73\x04\x3e\x48\ +\x3f\x17\x3d\xba\x17\x26\xc5\x06\x51\x68\xf8\xf3\x1c\xd8\x14\x05\ +\x39\xe8\xe6\x20\x61\xfd\x48\x6c\xc7\xfa\x7c\x21\x19\xe7\x1d\x1f\ +\x39\xf8\xcc\x77\x1e\x72\x32\x87\xb9\x42\xcc\xe9\xd9\x90\x16\x2d\ +\x45\xcd\xde\xb0\x33\xe3\x83\x19\x87\x9f\x31\xbd\x8d\xcf\x39\x43\ +\x1d\x11\xf6\x66\x88\xb3\x70\x06\xd6\x42\x7a\x46\x31\x41\xe2\x93\ +\xc9\x53\x0f\x75\xd5\x18\xe6\x82\x94\x63\xeb\xf8\x73\xc6\x5c\xb0\ +\x67\x60\xae\xcc\xf8\xb5\x33\x06\xf8\xb5\x91\x10\x79\xe6\x3b\x27\ +\x36\xdc\xdb\xf8\x20\xfc\x90\x76\x2f\xc7\xd1\x7a\xdc\x14\x02\x16\ +\xd1\xa6\x26\xd9\x27\x83\x87\x2e\x40\x1b\x0a\x10\xa0\x43\xe4\xa1\ +\x73\x01\x23\x2d\x30\x24\xec\x18\x24\x85\x61\x0e\x92\x62\xcd\xd2\ +\x31\x14\x12\x7e\x3f\xbd\xd5\x76\xbc\x45\x4e\x3e\xba\xe3\x9c\x3b\ +\x5c\xa3\xf1\x48\x89\x7d\xc2\x16\x20\x73\xa2\xe7\x3b\x19\x7c\xb2\ +\xc5\xce\x18\x73\x91\x79\x0e\x0b\x3d\xdc\x23\x3f\xb1\xcd\x10\xfb\ +\x87\xc4\x04\x5d\x5c\x3d\x27\xb6\xba\x38\x70\x5d\x83\x01\xfb\x41\ +\xfa\x43\x02\x1d\x72\xde\xb1\x35\xde\x2b\x3a\xfb\xf5\x3c\xcc\x0b\ +\x7b\x6e\xcf\xe6\x99\xc1\x29\xe7\x1a\x47\x42\x48\xc6\xe7\x39\xd5\ +\xb3\x24\x37\xe7\x61\x4b\xe4\x41\xca\xb1\x55\x8f\x9b\x42\xa0\x9a\ +\xde\xfa\xe0\xeb\x2f\x3e\x6c\x0a\x28\x17\x11\x17\x30\x44\x81\x11\ +\xc7\x26\x8e\x4e\x21\xe0\x77\x0c\x12\x5b\x9f\xb9\x4a\xfd\x14\xb3\ +\x73\x84\xba\x52\xe4\xce\x67\xd1\x3b\x97\xd2\xf9\x91\x43\xe4\xfe\ +\x90\xb9\x98\x2d\x58\x24\x7e\xa4\x6c\x2e\x7b\x24\x06\x11\xc3\x9f\ +\x19\xbf\x36\xfa\x46\x89\xb3\x40\xcc\x25\x06\x59\x12\x67\x2f\x60\ +\x80\x94\xf5\x93\xcb\x3e\xb1\xc5\xc1\x39\xc3\x35\x22\xc6\x40\xac\ +\x81\xae\x74\x2e\xce\xa7\x9f\xb9\xf4\x2b\xc9\xc7\xef\x38\x24\x63\ +\x20\xf4\xec\xd7\xce\x31\x7c\xda\x13\xb5\xc4\xa2\x10\xa8\xa6\x37\ +\x1f\xb2\x5e\x94\xd3\xb2\x89\x5b\x50\xe6\x38\x46\xbf\x36\x85\x62\ +\x01\x12\xcb\x36\x63\x89\x51\x30\xc4\xcc\xf3\x0e\x4f\xbf\x77\x2e\ +\x4a\xf2\x86\xd8\x39\x22\x3c\xb8\x3f\xf6\x24\x5b\xd8\x16\x2f\x36\ +\x3a\xd2\x18\x92\x7c\xef\x72\xb4\xf3\x1c\x11\x1e\x9d\x09\x09\x11\ +\x9b\x87\xfa\x3c\xf6\x2e\x3e\x48\xc9\x1f\x00\xe0\x86\x1f\xdb\xf5\ +\xc1\x00\x3f\xfb\x72\xac\xbe\x70\xad\xe0\x89\x0e\x91\xe3\x58\x6c\ +\xc6\x42\xc8\xcc\x9e\x9f\x5c\xcf\xac\x14\x2f\xe7\xc1\x0f\x69\x33\ +\x0f\xba\x73\xeb\x37\x67\x48\xe2\x2b\x5a\x10\x02\xd5\xf4\x16\x04\ +\x6c\x4c\xcb\xc5\x0d\x21\x2d\xae\x91\x23\x1e\x28\x00\x7c\xb2\x7e\ +\x0b\x94\x31\xe8\x10\x39\x34\x19\xa4\x4d\x8e\x42\xc3\x86\x90\xe4\ +\x66\xd6\xa7\x34\x0f\x29\xb9\xbf\x5c\x94\xf8\x2c\x62\x8a\xd7\xa6\ +\x47\x0e\x76\x9f\x4b\xbe\xb1\x50\x57\xe2\xe8\xce\x8f\x3e\x0f\x0d\ +\xe5\xeb\xcb\x67\x65\x2e\xce\x8a\x4f\xc6\x47\x2e\x7e\x9b\x20\x3a\ +\xfb\x47\x3a\x0f\x3a\xa4\xd4\xaf\xe4\x2c\x10\x72\x88\xc9\xb3\xd9\ +\x29\xc9\xc3\x2f\xe7\x39\xc2\xbd\xe2\x77\x0d\x7c\x45\xdb\x88\x40\ +\x35\xbd\xcd\x83\xef\xc5\xac\x74\xc6\x5c\xa8\xc4\x2c\x06\x0b\xd5\ +\x38\x05\xd8\xeb\x16\x65\x8e\x91\xe3\xf3\xe5\xdd\x0e\x32\xe7\x6a\ +\xe7\x71\xc6\x5d\x37\x86\x8c\xc8\xfd\xba\x2f\x8b\x98\x46\x61\x21\ +\xe3\x93\xf1\xe9\x57\x77\x0c\x73\xe5\x33\x12\xdf\x2a\xca\xd8\x30\ +\xa7\x67\xf3\xac\xac\x85\xaf\xf7\x8b\x97\xe7\x76\x1e\xe6\xc8\x3a\ +\xb6\xfb\xc7\xef\x39\x94\x9e\x15\x89\xcf\x33\x87\xba\x92\x8b\xee\ +\x0f\x8b\xde\xef\xdc\xf8\x25\x7c\x90\x72\x6c\xd5\xe3\x52\x10\xb0\ +\x88\x96\xb2\x58\x2d\xb2\x82\x80\x85\x40\x91\x51\x4c\x48\x75\x92\ +\x88\x63\x4b\x36\x2e\x0a\x0b\xbf\x71\x25\x71\xe7\xcc\x0d\x80\xf1\ +\x8e\x75\x0d\xf2\x20\xe7\x61\x7d\x88\x62\xb6\xc0\xc9\xc9\xb6\x7e\ +\x24\x31\xf6\x01\xb9\x66\x96\xe3\xc8\xd6\x3f\xb2\x86\x84\xee\x5e\ +\x3c\x1f\x31\x74\x9b\x92\xf8\x21\x69\x90\x99\x8c\xe9\x73\xee\x2c\ +\xf3\x99\xd5\x89\xbb\x36\x3e\x48\x5f\x96\xe3\xc8\xf1\x98\x76\xc9\ +\x1d\x80\x40\x35\xbd\xc5\x3d\x09\x14\x01\xa4\x1c\x5b\xab\x9b\x99\ +\xc5\x87\x54\x27\x8f\xe2\xd5\x46\x5a\xb4\xfa\xcd\xa7\xc0\x21\xfc\ +\x32\x31\xf3\x8c\x21\x9d\x0f\x3d\x93\xfb\xb3\x89\x78\xc7\x92\x0b\ +\xdd\x98\x3e\xd7\xcd\x7e\xe6\x74\x2e\x65\x5e\x67\xa3\xba\xfb\x56\ +\x32\x4f\xd6\xd9\x03\xb6\xe7\xcf\x67\x07\x37\x62\x3d\x87\x6b\xb4\ +\x57\xfc\xec\xd5\xfd\x32\x17\x84\xed\xd9\x8c\x0f\xd9\xe4\x3a\x46\ +\xe9\x5c\xbd\x24\xb7\x68\x07\x20\x50\x4d\x6f\x07\x3c\x09\x93\x2d\ +\x58\x24\xb9\x10\xd1\x21\x9a\x8c\x7e\x6c\x5f\xda\xe9\xc7\xc7\x78\ +\x0a\x8f\x3c\x1b\x40\xa8\x2b\x3e\xe7\xc2\x97\xc9\x75\xfb\x46\x86\ +\xdf\x39\x2d\x78\xa5\xe3\xcd\xd1\x5e\x86\x74\xbf\xae\xa5\xed\x5e\ +\xf1\x73\x56\x58\x3c\xb4\x7b\x0c\x1c\xcb\x18\xc7\xeb\x43\x66\x66\ +\x2e\x48\x0c\x72\xde\x38\x52\x8f\xbb\x02\x81\x6a\x7a\xcb\x7f\x9a\ +\x2c\x16\x56\xce\x3a\xb6\x45\xd9\x17\x29\x4d\x0c\x32\x6e\xb3\xf3\ +\x0e\x10\xbf\x8d\xce\xb1\xe6\x3b\x46\x89\x7f\x88\x2c\x66\x25\x39\ +\xe8\x32\xb6\x4d\xc0\x1c\x24\xe4\x39\x94\x63\xef\xd6\x3c\x3a\xa7\ +\xfb\x77\x0f\xcc\x9e\xcf\x2a\x26\xec\x49\xbf\xb8\x29\xa7\xed\xc8\ +\x35\x3c\x0f\x79\xf8\x3c\xa7\x71\xfc\xfa\x72\x2e\x7e\x73\x94\xf8\ +\x8a\x76\x20\x02\xd5\xf4\x76\xe0\x93\x32\xd9\x52\x2e\x9e\xac\x13\ +\xa6\xa8\xf1\x59\xe8\x36\x04\x63\xd9\xb6\xe0\xb3\x8f\xbc\x9e\x98\ +\x8b\x39\xcd\xb3\xb8\xf1\xc9\xfd\x98\x9d\x60\xb3\x37\x88\x7d\xab\ +\x63\xab\xf7\x7e\x62\x3d\xd9\xc0\xf2\x39\xd5\x9d\x27\x4b\xf5\x7e\ +\x9e\xb2\x77\x01\x02\xd5\xf4\x76\xd6\x93\x64\x31\x29\xdd\x9d\x45\ +\x69\x43\x42\xc2\xb9\xa1\xd1\xb4\x20\x63\x59\x8e\x23\xe3\x47\xfc\ +\x43\xe4\x9a\xc8\xcc\xe4\x66\x5b\x3d\xcf\x81\x6f\xd1\x24\x06\x9e\ +\x59\x3b\x9f\x13\x9d\xbd\xe8\x13\x93\x79\xf7\xd6\x9f\x4d\x5b\xc9\ +\x3c\xe8\x90\x72\x6c\xd5\xe3\xae\x41\xa0\x9a\xde\xae\x79\xaa\x4e\ +\xd8\x28\x45\x47\xe1\xf7\x85\x6e\x31\x2a\x6d\x12\x4e\x40\xfe\x10\ +\x99\x9f\x25\x7a\xb6\x87\xc6\xed\x24\x1f\x7b\x15\x0f\xf5\xf5\xec\ +\xcf\x46\xea\x98\x7c\x7e\x7d\x25\x77\x39\x02\xd5\xf4\x76\xc7\x13\ +\xd8\x37\x1e\x1b\x97\xd2\x53\x60\xeb\x53\x5a\xc8\xda\xe4\xa2\x0f\ +\x35\x85\xa1\x22\xc7\xe7\x1c\xee\x83\x39\xa0\xde\x1e\x7b\x17\xfb\ +\xe8\x5e\x3c\x0f\x7b\x50\xef\x57\xc6\x2f\xe7\x58\xbf\x6f\xec\xde\ +\x67\xbe\x7e\xa5\xfe\x92\xbb\x14\x81\x6a\x7a\xbb\xf4\x89\x5b\x63\ +\xdb\x14\x27\x85\xbe\x56\x91\x0e\xe5\x98\xaf\x74\x89\xde\xd6\xbf\ +\x9b\x64\x7f\x86\x59\xf6\x6e\x3a\x5b\xed\x75\x9d\x08\x54\xd3\x5b\ +\x27\x60\x3b\x24\xdd\xa2\x55\xba\x2d\xef\x78\x94\xf8\xb3\x6e\xde\ +\x7a\x24\x6b\xf4\xeb\xf4\xf6\x7a\xe6\xdb\xaa\xdc\xbc\x87\xac\x33\ +\xbf\x67\xd6\xaf\xed\xda\xfa\x95\xfa\x4b\xee\x03\x04\xaa\xe9\xed\ +\xcd\x27\xb9\x8a\x79\xf5\xf3\x5a\x78\xac\xc6\x63\x5f\x5b\xd5\xf4\ +\xf6\xd6\xd3\x3f\x54\xdc\x43\xbe\xbd\x75\xea\x13\x4f\xb3\x1f\xcf\ +\x7c\x22\x0a\xe5\x19\x44\xa0\xff\x64\x6f\x30\xa9\x9c\x85\x40\x21\ +\x50\x08\xec\x15\x04\xaa\xe9\xed\x95\x67\xb2\xce\x51\x08\x14\x02\ +\x73\x21\x50\x4d\x6f\x2e\x98\x2a\xa9\x10\x28\x04\xf6\x0a\x02\xd5\ +\xf4\xf6\xca\x33\x59\xe7\x28\x04\x0a\x81\xb9\x10\xa8\xa6\x37\x17\ +\x4c\x95\x54\x08\x14\x02\x7b\x05\x81\x6a\x7a\x7b\xe5\x99\xac\x73\ +\x14\x02\x85\xc0\x5c\x08\x54\xd3\x9b\x0b\xa6\x4a\x2a\x04\x0a\x81\ +\xbd\x82\x40\x35\xbd\xbd\xf2\x4c\xd6\x39\x0a\x81\x42\x60\x2e\x04\ +\xaa\xe9\xcd\x05\x53\x25\x15\x02\x85\xc0\x5e\x41\xa0\x9a\xde\x5e\ +\x79\x26\xeb\x1c\x85\x40\x21\x30\x17\x02\xd5\xf4\xe6\x82\xa9\x92\ +\x0a\x81\x42\x60\xaf\x20\x50\x4d\x6f\xaf\x3c\x93\x75\x8e\x42\xa0\ +\x10\x98\x0b\x81\x6a\x7a\x73\xc1\x54\x49\x85\x40\x21\xb0\x57\x10\ +\xa8\xa6\xb7\x57\x9e\xc9\x3a\x47\x21\x50\x08\xcc\x85\x40\x35\xbd\ +\xb9\x60\xaa\xa4\x42\xa0\x10\xd8\x2b\x08\x54\xd3\xdb\x2b\xcf\x64\ +\x9d\xa3\x10\x28\x04\xe6\x42\xa0\x9a\xde\x5c\x30\x55\x52\x21\x50\ +\x08\xec\x15\x04\xaa\xe9\xed\x95\x67\xb2\xce\x51\x08\x14\x02\x73\ +\x21\x50\x4d\x6f\x2e\x98\x2a\xa9\x10\x28\x04\xf6\x0a\x02\xd5\xf4\ +\xf6\xca\x33\x59\xe7\x28\x04\x0a\x81\xb9\x10\xa8\xa6\x37\x17\x4c\ +\x95\x54\x08\x14\x02\x7b\x05\x81\x6a\x7a\x7b\xe5\x99\xac\x73\x14\ +\x02\x85\xc0\x5c\x08\x54\xd3\x9b\x0b\xa6\x4a\x2a\x04\x0a\x81\xbd\ +\x82\x40\x35\xbd\xbd\xf2\x4c\xd6\x39\x0a\x81\x42\x60\x2e\x04\xaa\ +\xe9\xcd\x05\x53\x25\x15\x02\x85\xc0\x5e\x41\xa0\x9a\xde\x5e\x79\ +\x26\xeb\x1c\x85\x40\x21\x30\x17\x02\xd5\xf4\xe6\x82\xa9\x92\x0a\ +\x81\x42\x60\xaf\x20\x50\x4d\x6f\xaf\x3c\x93\x75\x8e\x42\xa0\x10\ +\x98\x0b\x81\x6a\x7a\x73\xc1\x54\x49\x85\x40\x21\xb0\x57\x10\xa8\ +\xa6\xb7\x57\x9e\xc9\x3a\x47\x21\x50\x08\xcc\x85\x40\x35\xbd\xb9\ +\x60\xaa\xa4\x42\xa0\x10\xd8\x2b\x08\x54\xd3\xdb\x2b\xcf\x64\x9d\ +\xa3\x10\x28\x04\xe6\x42\xa0\x9a\xde\x5c\x30\x55\x52\x21\x50\x08\ +\xec\x15\x04\xaa\xe9\xed\x95\x67\xb2\xce\x51\x08\x14\x02\x73\x21\ +\x50\x4d\x6f\x2e\x98\x2a\xa9\x10\x28\x04\xf6\x0a\x02\xd5\xf4\xf6\ +\xca\x33\x59\xe7\x28\x04\x0a\x81\xb9\x10\xa8\xa6\x37\x17\x4c\x95\ +\x54\x08\x14\x02\x7b\x05\x81\x6a\x7a\x7b\xe5\x99\xac\x73\x14\x02\ +\x85\xc0\x5c\x08\x54\xd3\x9b\x0b\xa6\x4a\x2a\x04\x0a\x81\xbd\x82\ +\x40\x35\xbd\xbd\xf2\x4c\xd6\x39\x0a\x81\x42\x60\x2e\x04\xaa\xe9\ +\xcd\x05\x53\x25\x15\x02\x85\xc0\x5e\x41\xa0\x9a\xde\x5e\x79\x26\ +\xeb\x1c\x85\x40\x21\x30\x17\x02\xd5\xf4\x8e\xc3\x74\xec\xb8\xba\ +\x4a\x3b\xba\xca\x2a\xa3\x10\xd8\xb9\x08\xd4\x35\x3c\xc7\x73\x53\ +\x4d\xef\x38\x48\xd7\x1f\x57\x57\x69\xd3\xfc\xab\x92\xca\x28\x04\ +\x76\x00\x02\xd3\xae\xd5\x69\xfe\x1d\xb0\xe5\xe5\x6f\xa1\x9a\xde\ +\x71\xcc\xff\x6b\xa8\xf7\x1c\x37\x47\xda\xfb\xe2\xf1\x8f\x3b\x5f\ +\x99\x85\xc0\x4e\x45\x60\xda\x35\xfc\xda\x9d\xba\xe1\xed\xd8\xd7\ +\x56\x34\xbd\x7c\x4b\x9d\x75\xcf\xa3\x0f\xa9\x6e\x6c\x27\xc9\x77\ +\xc5\x66\x9e\x12\x7c\x4d\xf0\xbb\x83\x7f\x39\xf8\xaa\xe0\xbb\x83\ +\x8b\x0a\x81\xdd\x80\x40\xbe\x86\xdf\x13\x1b\xf6\x1a\xbe\x6b\x87\ +\x6f\x3e\xf7\x85\xac\xbb\xed\xec\xcb\xba\xf1\x75\xc9\xc3\xeb\xca\ +\x1e\x4e\x3e\xd0\xb9\xd9\x54\xef\x23\x45\xdf\xa6\x37\xdd\xad\xb7\ +\x95\xe6\x5f\xc5\x64\xff\x68\x2b\x27\xac\xb9\x0a\x81\x25\x23\xb0\ +\x1b\xaf\x61\x7b\xc3\x10\x54\x7d\xbf\x20\xb7\xf7\x0d\x8d\x9b\xea\ +\x9b\x75\xa7\x37\xcf\xe4\x39\x27\xeb\x2e\xaa\x0f\xa9\x6e\xac\x64\ +\x21\x50\x08\x14\x02\xb9\x2f\x64\x5d\x64\xb2\x2f\xeb\xc6\xd7\x25\ +\xa7\xdd\xe9\x39\xf1\x5a\x1d\x78\x5d\x0b\x55\x72\x21\x50\x08\x14\ +\x02\x4b\x44\x80\x1e\x66\x1f\x5b\xb5\xec\xac\x3b\xbd\x55\xc9\x65\ +\x14\x02\x85\x40\x21\xb0\x0b\x10\x18\x6c\x76\xee\x7b\xda\x9d\x9e\ +\x71\x64\x9e\xa0\xee\xfc\x32\x32\xa5\x17\x02\x85\xc0\xae\x43\xa0\ +\xee\xf4\x76\xdd\x53\x56\x1b\x2e\x04\x0a\x81\xcd\x20\x30\xcf\x9d\ +\xde\xd0\xfc\xf9\xee\x6f\x28\x5e\xbe\x42\xa0\x10\x28\x04\x96\x89\ +\x00\x3d\x49\x5e\x73\xdd\x65\xdc\xe9\xf9\x92\x18\xa9\xbe\xe6\xa6\ +\x2a\x58\x08\x14\x02\x85\xc0\xa2\x10\x58\x64\xd3\xbb\x77\xb2\xe9\ +\x93\x27\x72\xae\x2e\xbc\xa8\x83\xd6\xbc\x85\x40\x21\xb0\x6b\x10\ +\xf0\x15\xe8\x7d\x8b\xd8\xf1\x22\x9b\xde\xe7\x27\x1b\x3e\x73\x22\ +\xeb\x4e\x6f\x11\xcf\x60\xcd\x59\x08\xec\x7e\x04\xf2\x2b\x40\xf4\ +\x53\x27\x47\xfa\xd2\x22\x8e\xb6\xc8\xa6\xf7\x85\xc9\x86\x6d\x7a\ +\x8b\xd8\x7f\xcd\x59\x08\x14\x02\xbb\x1f\x81\xfe\x33\x02\x9b\xde\ +\x9d\x03\x47\xf3\x15\xa3\x72\x20\x65\x6d\xd7\x32\x9a\xde\x03\xd7\ +\xde\x42\x45\x0b\x81\x42\x60\x9f\x23\xd0\xdf\xe9\xdd\x7f\x82\xc7\ +\x1d\x8b\xc0\x65\x91\x4d\xef\x63\x93\x0d\x5f\xb6\x88\x8d\xd7\x9c\ +\x85\x40\x21\xb0\x27\x11\xa0\x01\x9e\x3f\x39\xd9\x27\x16\x71\xc2\ +\x45\x36\xbd\x0f\x4d\x36\x7c\xc5\x22\x36\x5e\x73\x16\x02\x85\xc0\ +\x9e\x44\xe0\xbc\x38\x15\x1f\x7e\x7e\x39\xf8\x93\x8b\x38\xe1\x22\ +\x9b\xde\x0d\xb1\x61\x3e\x7d\x79\x40\xf0\xb9\x8b\xd8\x7c\xcd\x59\ +\x08\x14\x02\x7b\x0e\x81\x47\x4c\x4e\x74\xe3\xa2\x4e\xb6\xc8\xa6\ +\xc7\xdf\xa1\xfb\xc0\x64\xe3\x4f\x5a\xd4\x01\x6a\xde\x42\xa0\x10\ +\xd8\x53\x08\x7c\xdd\xe4\x34\xfc\x01\xdf\x85\xd0\x22\x9b\x1e\x1b\ +\xfe\xf3\xc9\xae\x9f\x3a\x91\x88\xfc\xa6\xa5\x36\x3e\x19\x5f\x51\ +\x21\x50\x08\xec\x4f\x04\xbe\x71\x72\xec\xb7\x2d\xea\xf8\x8b\x6e\ +\x7a\x6f\x9a\x6c\xfc\xaa\x45\x1d\xa0\xe6\x2d\x04\x0a\x81\x3d\x83\ +\xc0\x91\x38\xc9\x13\x26\xa7\xf9\x8b\x45\x9d\x6a\xa8\xe9\xf9\xfd\ +\x97\x2c\x67\xad\x6f\x6e\x9f\xf7\xf6\x70\xdc\x1e\xcc\xa7\x31\xde\ +\xb6\xf6\x39\xbd\x5d\x77\x7c\x3d\x22\x65\x17\x02\x7b\x03\x81\x59\ +\xb5\xfd\xac\x38\xe6\x29\xc1\x37\x05\x7f\xb4\x3b\xf2\xb4\x1e\xd3\ +\xa5\xcd\x36\x87\x9a\xde\xb4\x51\x1b\x59\x94\x4f\x60\x5e\x35\x99\ +\xf0\x3b\xa7\x4d\x5c\xfe\x42\xa0\x10\xd8\xb7\x08\xd0\x08\xa5\xe7\ +\x4f\x94\xdf\xd3\xb1\x08\xb9\x9e\xa6\xb7\x91\xf5\x39\xd0\xcb\x27\ +\x03\xbf\x2d\xa4\xdf\xb4\xde\xc8\x5c\x35\xa6\x10\x28\x04\x76\x17\ +\x02\xde\xd9\x29\xd7\xda\xfd\xd9\x11\x7c\xe6\x24\xe1\x95\x6b\x25\ +\xce\x88\x79\x73\x96\xe5\xaa\x21\x1b\x6d\x7a\x4c\xc8\x7f\x82\xed\ +\xc4\xab\x26\x9d\x18\xc6\xfe\x32\x6c\xbe\xbe\xc2\xb7\xac\xbf\x37\ +\x18\xca\x20\xa0\xb3\x0f\x64\x51\x21\x50\x08\xec\x5d\x04\xac\xfb\ +\x2c\x3d\xed\x3f\x0b\x85\xef\xe7\xfd\x6d\xf0\x42\xff\x9f\xde\x8d\ +\x36\x3d\x37\x3a\xaf\xe4\xff\xe3\x84\xfe\x55\x30\x6f\x56\xae\xd5\ +\xe0\x04\x84\xfc\xa2\x42\xa0\x10\xd8\x1b\x08\xac\x55\xd7\xa7\xc5\ +\x11\x69\x7a\xd0\x2f\x8d\xc5\xd4\x47\x6f\xa6\xbc\xe9\x22\x51\xdf\ +\xd4\x41\x39\x30\x6f\xd3\x73\x52\x65\x9e\x63\x1e\xfd\x15\x91\xc4\ +\xaf\x94\x3c\x24\xf8\xfb\x26\x03\x04\x41\x39\x71\xaf\x08\xfd\xca\ +\x95\x40\x29\x85\x40\x21\xb0\xa3\x11\x98\x55\xb3\xc6\x95\xdf\x1f\ +\xa7\xe1\xe5\xed\x47\x82\xff\x70\xd1\x27\x9b\xb7\xe9\x6d\x76\x1f\ +\xfc\x6d\xbd\x9f\x9b\x4c\xf2\x63\x21\xcf\x99\xe8\x1e\x7a\x62\xae\ +\x12\x6b\xc5\x56\x25\x96\x51\x08\x14\x02\x3b\x0a\x81\xf5\xd4\x2e\ +\xbf\xad\xf5\xc3\x93\xdd\xff\x7c\x48\x6f\xac\x90\x0b\xa1\x8d\x36\ +\x3d\x37\xd6\x6f\x4a\xbf\xd2\x38\x20\xfc\x76\x30\xaf\xd7\xf9\x53\ +\x53\x3f\x1d\xdc\x03\xa3\x3d\x4d\xc6\x90\xa2\x42\xa0\x10\xd8\xc1\ +\x08\x58\xbb\x6e\x71\x2d\xdb\xd8\x4f\x46\x32\xef\xf7\xbf\x33\xd8\ +\x0f\x3d\x1d\x3f\x8f\xb4\xd7\x28\x67\x8e\x99\xa7\xe9\xcd\x3b\x19\ +\x79\x52\xd6\xb3\xef\x87\xc2\xe0\xf7\x71\x5f\x10\xfc\x2d\x06\x92\ +\x14\x08\x5c\xe8\x45\x85\x40\x21\xb0\xb7\x10\xc8\x35\xfe\x8c\x38\ +\xda\x0b\x83\x79\x7f\xce\xbb\xbd\xcd\x9c\x76\xae\x5e\x75\x68\x8d\ +\x15\x6c\x3a\x6e\x52\x9b\x21\xea\x59\xe6\x3c\x9b\xa9\x71\x97\xb9\ +\x39\x94\xd3\x83\x9f\x18\xcc\x17\x11\x5f\x1f\x8c\x0f\x72\xfc\x50\ +\xc3\x34\x86\x1c\x8a\x8f\x26\xa8\x87\x42\xa0\x10\xd8\x16\x04\x72\ +\x7d\xa2\x53\xff\xbd\xd4\x67\xee\x43\x23\xe7\x0f\x82\xf9\x10\xe3\ +\x57\x82\xb9\xcb\x33\x16\xea\x0a\xe5\x0f\x2c\x70\x5a\xff\xf8\x33\ +\xe9\xcf\xbe\x41\x9d\x45\xa6\x91\x31\x37\xa2\x24\xbf\x3f\x80\xcd\ +\xb3\xf7\x3b\x47\xde\x10\xb9\xaf\x09\xfe\xda\xe0\xbf\x0b\xbe\x2a\ +\xf8\x96\x60\x72\x60\xee\x04\xcd\x47\x7a\x38\xe3\xda\x11\x2a\x2a\ +\x04\x0a\x81\x1d\x80\x80\x75\x4e\xfd\x43\x7d\x1f\xd0\x6f\x0f\x39\ +\x29\x72\xae\x09\x7e\x72\xf0\x7b\x82\xb9\x01\xba\x27\x18\x72\x2e\ +\x74\xeb\xdf\xda\xc7\x47\x7f\x80\x94\xc6\x6c\x8e\xd8\x90\xfe\xb1\ +\x95\x1e\xdd\x4c\x72\x0d\xaa\xd3\x26\xd0\x3f\x4d\x3a\x99\x87\xc5\ +\x66\xb3\xff\x34\xf8\x73\xc1\xfc\xed\xac\xdf\x09\xe6\x57\x4f\x24\ +\xf6\x44\x63\x74\x8c\x00\xe6\xb8\xbe\x0c\x90\xf1\x92\x85\x40\x21\ +\xb0\x1c\x04\xac\xd1\x79\x25\x75\x0b\xff\xdf\xc1\x34\xbc\xdb\x82\ +\xff\x49\x30\x0d\xcf\x39\x42\x1d\x11\x3d\xa5\xa7\xdc\x67\x8c\xe9\ +\xd3\x46\x0e\x8d\x5d\x89\xb3\x81\xed\x20\xee\xf0\xbe\x27\xf8\xae\ +\x60\x7e\x27\xf7\x17\x83\x8b\x0a\x81\x42\x60\x6f\x20\xd0\x37\xb0\ +\x7c\xaa\x97\x85\xf1\x92\x60\xbe\xd1\xc1\x57\x55\x3e\x16\x3c\x8d\ +\x72\xf3\xca\xba\xf9\xf8\x86\xfc\xc6\x07\xa5\x2f\x4b\x07\x83\xc9\ +\xd9\x1f\x02\x3b\x93\x36\x4d\x54\x9d\xb8\x7a\x96\xea\x37\x45\xfc\ +\x43\xc1\xcf\x0b\x7e\x4c\xf0\x05\xc1\x6f\x08\xe6\x36\xd5\x1c\xa4\ +\x1c\xea\xca\x6d\x33\x3a\x94\x63\x8e\x19\x47\xea\xb1\x10\x28\x04\ +\xb6\x1a\x01\x6a\xcc\x1a\xb7\xf6\xb0\xf5\x29\x87\x62\x87\x23\xef\ +\x67\x82\xff\xf7\x60\x08\xc9\xef\xe5\x5b\xb7\x4a\x62\x90\x0d\x4d\ +\xd9\xbf\x7c\x25\x27\x8f\x31\x0f\xff\x9a\x34\x4f\xd3\xf3\x00\x4a\ +\x26\xec\x75\x0e\x0b\x29\xfb\x38\xf6\x10\x7d\x38\x9c\xdc\xf5\x3d\ +\x3b\xf8\xab\x83\xaf\x0c\xfe\xe3\xe0\x2f\x05\x73\x08\xc6\x21\x21\ +\xe7\xd0\x1e\x7b\xeb\xb1\x10\x28\x04\x96\x85\x40\xae\x6b\xd7\xcc\ +\x3e\xea\x3f\xf7\x00\x75\xbe\xa6\xc6\xdb\x58\x7c\x52\x0b\xfd\x87\ +\xe0\xdf\x18\x69\xc7\xeb\xda\xfa\x9e\xb8\x57\xea\xbe\xb7\x73\xfd\ +\xa3\x6b\x2b\xcd\x9f\x2a\xfb\x85\xa6\x25\x9a\xc7\x21\x3c\x64\x96\ +\x1e\xce\xb8\x32\x8f\xeb\xe7\x76\x93\xc8\x6f\x0e\xfe\xd5\x60\xde\ +\xdb\xfb\x44\xf0\x8b\x82\xdf\x1b\x0c\xf5\x1f\x6c\xe4\x71\xc4\x7b\ +\x3b\xfb\xd0\x8b\x0a\x81\x42\x60\x6b\x10\xb0\xe6\x9d\xcd\xfa\xce\ +\x12\xdd\xfa\x47\x5e\x1c\xfc\x3f\x83\xaf\x08\xa6\x96\xff\x75\x30\ +\xdf\xd9\x25\xcf\x71\xa1\xae\x90\xf5\xec\x9d\x1d\x01\x7c\x7e\x70\ +\xa1\xc4\x07\x93\x07\x69\x2b\xc7\xde\x81\x47\x36\xb5\x51\x62\x72\ +\x69\x1e\xdd\xdc\x21\xf9\xea\x70\x7e\x7b\x30\xff\x41\xf8\xf9\xc1\ +\xaf\x0b\xfe\xd6\x60\x48\x10\xb3\x3e\x04\xd6\x28\xb9\x1e\x0a\x81\ +\x42\x60\x69\x08\xd8\xb8\x72\x8d\xb2\xb8\xf5\xc9\x87\x15\x6f\x0c\ +\xa6\xe1\xf1\xea\xed\xa5\xc1\x34\xbc\x59\x34\xab\x9f\x10\xcf\x39\ +\xb3\xe6\x5b\x15\x77\x73\xab\x9c\x03\x86\x79\x48\x99\x34\x3f\x65\ +\x65\x03\xf8\x7d\xb9\x4c\x33\xb5\xa1\xe2\xcf\x7a\x98\xab\xc8\xcd\ +\x23\xcf\x0b\xfe\x8d\xe0\xc7\x4f\x32\xb8\x25\xfe\x89\xe0\xcf\x06\ +\x13\x87\xf3\x4f\x80\x30\x57\x0e\x4f\x6c\x1a\xad\x15\x9b\x36\xa6\ +\xfc\x85\xc0\x7e\x46\x80\xba\x1d\xa2\xec\x47\xcf\xb6\xf5\xcf\x6f\ +\x58\x50\xb7\x3f\x10\x8c\xef\xba\xe0\xef\x9d\xc8\x10\xab\x7a\x08\ +\x36\x64\x8d\x66\x89\x6e\xbd\x7b\x47\x97\x25\x71\x59\xbf\xe3\x99\ +\x73\x90\xdc\xe4\x60\x30\x39\x3d\x98\x87\xcc\x36\x8b\x64\xbf\x3a\ +\xc3\xa7\xe9\x69\xea\x55\xea\x17\xc3\xa2\xd1\xf1\x85\xc5\x27\x04\ +\xf3\x01\xc7\x4b\x83\x6f\x0f\xe6\xe5\x2e\xb7\xb6\x43\xeb\x85\x7b\ +\x15\xf8\xd8\x45\x85\x40\x21\xb0\x71\x04\xac\x71\x66\xb0\x8e\xf5\ +\x21\xb9\x91\xc9\xb6\x3e\x7e\xdb\x8a\x3f\x30\xf2\xb4\x49\x0e\xf5\ +\xfc\x5d\xc1\x9f\x0e\x96\xc8\x75\xac\xbe\x2c\x73\xe3\xca\xcd\x4c\ +\x3f\x52\xdd\x71\xbd\xad\xff\x04\xb9\xd6\xc2\x27\x24\x87\xc3\x83\ +\x3a\xce\xcd\x2b\xf3\x1d\x1d\x3e\x9a\x6a\xce\x65\xce\xde\xc6\x07\ +\xb9\x69\x0f\xf4\xb8\xf0\xfd\x7c\xf0\x63\x09\x06\x7d\x32\xf8\x17\ +\x82\x7f\x23\x98\xaf\xba\x0c\x81\x11\xee\x35\x4d\xa5\x1d\xff\x00\ +\x00\x07\x89\x49\x44\x41\x54\xc9\x35\xd6\x4c\xaa\x60\x21\xb0\x8f\ +\x11\xb0\x3e\xa7\x41\x90\xe3\xd6\x3b\x9f\xcc\xf2\x57\x8f\x7f\x34\ +\xf8\xf2\xc9\xc0\x8f\x84\xe4\x57\xcb\xde\x14\xec\x18\xf3\x27\x29\ +\x2b\xc2\x9a\xc7\xd1\xeb\xd6\xf9\xbd\x93\x98\x39\xfa\xcd\xb7\xb6\ +\x95\xe4\x0d\x92\x9b\x19\x0c\x0e\x38\xdd\x34\xe3\x64\xd2\xf0\x6b\ +\x67\xa9\x9f\x9c\xec\xd7\x46\x4a\x6e\xb6\x97\xdf\x17\x09\x3f\x14\ +\xfc\xf0\x49\xe2\xad\x21\x5f\x19\xfc\x5b\xc1\x7f\x13\x4c\xbe\x63\ +\x42\x5d\xa5\x63\x67\xca\x79\xd9\x5f\x7a\x21\x50\x08\x8c\x11\xa0\ +\x4e\x7b\xea\x7d\xda\x8f\x8c\x44\xee\xe2\xbe\x33\xf8\xa1\x93\x41\ +\xd4\x27\xdf\xbb\xfd\xe5\xe0\x7b\x26\x3e\x85\xfd\x43\x5b\x69\x0d\ +\x5b\x9f\xd9\xb6\xb9\xf9\x2a\x8f\x31\xc4\xf5\xe7\x5c\x63\xc8\xa9\ +\xe4\xe6\xa7\x26\x74\x01\xf3\x91\x32\x29\x7d\x73\xf3\x0e\xcf\x9c\ +\x2c\xc9\xc7\x96\xb2\x8e\xaf\x3f\x38\x3e\x7e\x92\x00\xec\xbf\x09\ +\xbe\x38\x58\xfa\x68\x28\x6f\x0c\xfe\xf3\xe0\xb7\x06\x7f\x26\xd8\ +\xf1\xa1\x9e\xa0\xb3\x56\x8e\x93\x53\x54\x08\xec\x77\x04\xac\x8b\ +\xbe\x16\xc1\x05\x9f\xfe\xfb\x87\xce\xff\x61\x7d\x55\xf0\xd3\x82\ +\xbf\x32\x58\xe2\x57\x49\x7f\x29\xf8\xd7\x83\x79\x3b\x2a\x8f\x73\ +\xbc\x32\xc2\x23\xb2\x16\x87\xa4\x4d\x6e\xa8\xb9\x91\x9f\xc7\xa0\ +\x9b\x37\x9e\x79\x8d\xc7\x7e\x13\x6b\xa4\x8e\x42\xe6\x23\x65\x02\ +\x43\x4d\x0f\xbf\x39\xc4\x21\x6d\xa4\x94\x75\x7c\xf9\x30\xda\xf8\ +\xcc\x7b\x4a\xe8\x2f\x0e\xe6\xaf\xb4\xf0\xc7\x0b\x32\x01\xfc\x75\ +\xc1\xfc\xb9\x69\x3e\xfc\xe0\xd3\x60\xde\x27\xbc\x3b\xb8\xa8\x10\ +\x28\x04\xe6\x43\x80\x9b\x0c\x1a\xdc\x59\xc1\x0f\x08\xbe\x2c\x98\ +\xbb\x3a\x5f\x6d\x85\x3a\x22\xee\xe4\xf8\x5e\xed\xcb\x83\x5f\x1f\ +\x8c\x6d\x8d\x87\xba\x42\xd6\xae\xd2\x40\xae\x75\xf4\x6c\xd3\xc4\ +\xb0\x95\x8c\xd1\x56\xcf\x63\x16\xd6\xf4\x58\x0c\xca\x4d\x4c\xdb\ +\xc3\x2a\xb3\x3f\xe7\x7b\x70\xa5\x31\xf2\x87\x48\x20\x3c\x3c\xe3\ +\xf0\x9d\x1a\xfc\xe4\xe0\xab\x26\xfc\xa8\x90\xce\x19\x6a\x51\x21\ +\x50\x08\x2c\x00\x81\x1b\x62\xce\x3f\x9f\xf0\x9b\x43\x72\x63\x41\ +\xdd\x59\x97\x48\x6b\x7a\x5a\x3d\x5a\xd3\x91\xba\xaa\xd1\xe1\xa7\ +\xce\x73\x03\xf3\x8e\x8f\x98\x1c\xea\x8a\xee\x5c\x4a\x62\x6b\xd2\ +\xb4\x4d\xad\x39\x28\x82\x1e\xca\x3c\x3f\x05\xd6\xcf\xbc\xf9\xf0\ +\xf8\xf5\x31\x26\xeb\x8e\xc1\x3f\x44\x1e\x26\x4b\x74\xe6\xd0\xc7\ +\xb8\x23\xc1\xfc\x44\xe2\x3b\x41\x97\x04\xf3\x53\x8a\x6f\x82\xf3\ +\x13\x8b\x2f\x3d\x17\x15\x02\x85\xc0\x7c\x08\x70\xc7\xc6\x2b\xa4\ +\x2f\x4c\xf8\x63\x21\x7d\x05\xe5\x4b\xd7\x70\x8d\xc8\x3a\xcc\x35\ +\x8d\x0e\x29\xc7\xd6\xf1\x47\xeb\x16\x29\x3b\x4f\x6e\x72\x8c\xf0\ +\x66\xc7\xbc\xa1\xb1\xe4\xe9\x47\x5f\x93\xa6\x6d\x6a\xcd\x41\x11\ +\xec\x1b\x95\xb6\x92\x79\x61\x6d\xa4\x3e\x65\xb8\x46\x64\x8e\x36\ +\xf1\x21\xb2\xfb\x0f\x1d\x4e\x1f\x52\x9d\x39\xb2\x3e\x34\x67\xf9\ +\x0a\x81\x42\x60\x6d\x04\xac\x47\x25\xd9\xd6\x30\xf5\xa5\x9e\x67\ +\xe9\x6b\x7a\x5a\x1d\xe2\x97\x19\x8f\x6e\x93\x53\xea\xa7\x19\xaa\ +\x67\x69\x5f\x18\x47\xe7\x78\xe4\xb5\xfb\x46\xc8\x43\x08\x84\xb6\ +\x12\xbf\x07\x50\xef\xd7\xe9\xc7\x6a\xf7\x79\xda\xd3\xe2\xac\xe3\ +\x1a\x48\x75\xc6\xad\x35\x86\x78\x51\x21\xb0\xdf\x11\x98\x56\x23\ +\x43\xb8\xf4\xf5\xd5\x37\xb7\x59\x73\xd9\x1f\x9c\x1b\x7b\x88\x89\ +\xeb\x57\x47\x42\xce\xa1\x1c\x7b\xd7\xf1\xb8\xa8\xa6\x37\xb4\xa1\ +\x21\x1f\x20\xd1\xa9\x05\x93\xad\x9b\xd7\x03\xd8\xdb\x7d\x1e\xf1\ +\xde\xe7\x7c\x39\x86\xaf\xa8\x10\x28\x04\xc6\x08\xf4\x75\x85\xd7\ +\x7a\x19\x8a\x11\x9f\xd6\xec\xfa\x7c\xeb\x91\x31\x99\xf4\x23\x7b\ +\xf6\x0e\x2f\xe7\xe4\xb1\x9b\xd6\x37\xda\xf4\x5c\xd8\x8d\x4d\x3b\ +\xac\x7e\xf3\x1c\x37\x24\xcd\x71\xcc\x50\x0e\xbe\xa1\xf8\x5a\x63\ +\xc9\x27\x9e\xc7\x65\xdd\x98\x73\xb0\x46\x4f\x43\x73\xf4\x39\x65\ +\x17\x02\x3b\x01\x81\xb5\xae\x63\xf7\x37\xcf\xf5\xdc\x37\xb6\x3c\ +\x56\x5d\x99\xeb\x49\x5f\x96\x79\x4f\xea\xc8\x9e\x19\x93\x7d\xda\ +\x59\xa2\x6f\x8a\x36\xdb\xf4\x5c\x3c\x1f\x44\x9f\xc0\x1a\xd3\x46\ +\xca\xe4\xfa\x21\x88\x77\x7c\x8e\x57\x92\x3b\x44\xfa\x99\x5f\x7d\ +\x28\x6f\x96\xcf\xb1\xca\x69\xf9\xb3\xe2\xd3\xc6\x95\xbf\x10\x58\ +\x26\x02\xf3\x5e\xa7\xb3\xf2\x66\xc5\xe7\x39\x93\xb5\x6f\x2e\xb6\ +\x3e\xf5\x21\x49\x7e\xce\x73\x7c\xf6\x67\xdf\xba\xf4\xcd\x36\x3d\ +\x37\x26\x40\xda\xfd\x26\xf4\x93\xa7\x4e\x8e\x36\xbe\x3c\x87\x7e\ +\x73\x90\x43\x44\x5e\xce\xed\x73\x5c\xcb\xb9\xfb\x78\xd9\x85\x40\ +\x21\x30\x8c\xc0\x66\x6a\xc6\xba\x73\x66\x6c\x7d\x59\xea\x47\xf6\ +\x2f\x6b\x19\x6b\x5c\x1d\x29\x39\x8f\xf6\xdc\x72\xb3\x4d\x6f\xad\ +\x85\xdc\x94\xe0\x79\x00\x6d\xe5\x50\xde\x5a\xf3\xe6\x98\x63\xf1\ +\x39\x9f\x71\x62\xbd\xcf\x58\xc9\x42\xa0\x10\x98\x8d\xc0\x50\xfd\ +\xe4\x9a\x9b\x35\x03\xb9\xb9\x0e\x69\x6c\x50\x3f\x87\x79\xe3\xe8\ +\xf8\x71\xc8\x97\xe3\x1b\xd6\xb7\xaa\xe9\x79\x08\x41\xd2\x76\x63\ +\x1e\xd6\x38\x7e\x7d\xbc\x77\x80\x3f\xdb\xc4\x99\x23\xfb\xf1\x41\ +\xce\xa1\x1c\x7b\x4f\x7c\x9c\x15\x3f\x71\x44\x79\x0a\x81\x42\x60\ +\x23\x08\x58\xef\xbd\xec\xe7\x22\x2e\x13\x53\x57\xf6\x3e\xed\x21\ +\x89\x6f\x43\xb4\x55\x4d\x6f\xad\xc5\x39\x10\xd4\x37\x21\xfd\xe3\ +\xe8\xf1\xee\xdf\x37\x3f\xec\x3c\x36\xeb\x8e\x45\xf6\xf3\xe5\x58\ +\xe9\x85\x40\x21\xb0\x38\x04\xac\x3d\x24\x4c\x8d\xea\x63\x55\xbf\ +\x63\x87\xde\x53\xce\x23\xe6\x1c\x7d\xde\x96\xd9\xd3\x1a\xc8\x46\ +\x17\x70\x3e\xa5\xf3\x60\xcb\xf8\xd4\x73\x9e\x9f\x16\xe9\xd3\xf6\ +\x4e\x50\x30\xf3\x9c\xea\x9b\x95\xae\xb9\xd9\x79\x6a\x7c\x21\xb0\ +\x5b\x10\xe8\x9b\xcd\x46\xf6\x9d\xe7\xb0\x3e\xb3\x2f\x37\x3b\xfc\ +\xde\xd0\x98\x83\x94\x59\xbf\xd7\xf5\x65\x89\xbe\x29\xf2\x93\xd3\ +\x4d\x4d\x92\x06\xdb\x3c\x94\x86\xb4\x3d\x2c\x7e\x7d\xea\xda\x4a\ +\xc7\x22\x19\x97\xfd\xe8\x79\x2e\x72\x16\x49\x79\xed\x45\xae\x53\ +\x73\x17\x02\x9b\x45\x60\xde\xba\x98\x37\x6f\xda\x7e\xac\xc9\x3c\ +\x8f\x3a\x52\xce\xe3\x6d\x7a\xf8\xfa\x78\x6f\xe7\x71\x5b\xaa\x2f\ +\xaa\x98\x9d\x57\xe9\xa6\xb5\x91\xbd\x9e\x6d\xf2\x7b\x5b\x9f\x77\ +\x80\xc6\xf1\x67\xc2\x0f\x80\xd3\xe2\x39\xb7\xf4\x42\xa0\x10\x98\ +\x8d\x00\xf5\xb4\x16\xd9\xcc\xcc\xeb\xa5\x71\xe6\x20\x96\x59\x1f\ +\x12\xea\xc7\x6a\x8f\xa3\x5b\xf0\xb8\x8c\xf7\xf4\xe6\xd9\xa6\x07\ +\xb3\x61\x31\x66\x5a\xd3\x32\x77\xda\xbc\xc4\xf3\x3c\xd3\xf2\xca\ +\x5f\x08\x14\x02\xb3\x11\x98\x55\x6f\x6b\xcd\x90\xc7\x66\x7d\xad\ +\x31\x0b\x8f\x4d\x6b\x2c\x5b\xbd\x70\x5e\x47\x1d\xa9\xce\x7a\xbe\ +\x77\x97\x7d\x79\x1f\xf3\xdc\xe1\xe5\x7c\xf4\x69\x73\xf5\x79\xb3\ +\xec\xad\x9a\x67\xd6\x3a\x15\x2f\x04\x36\x8b\xc0\x56\x37\x97\x7e\ +\xbe\xde\x66\xbf\xfa\x7a\x99\xcf\x42\xcc\x3b\xbe\x9c\xa7\x6e\xae\ +\xb6\x52\xff\x96\xc9\x9d\x72\xa7\xc7\x81\x38\x24\x6c\x73\xc3\x27\ +\xd1\x74\x00\x0c\xb9\x1d\x0d\x68\x61\x4f\x80\x07\x2c\x59\x08\xec\ +\x01\x04\xac\x61\x6a\x34\xd7\x4c\xd6\xb7\xfd\x98\xcb\x6e\x20\xae\ +\xa7\xcc\x00\xe0\x93\xf1\x9b\xa3\x0f\xe0\xf4\x11\x97\xf4\x29\xf5\ +\x23\x87\x7c\x39\x5e\x7a\x21\x50\x08\x0c\x23\x30\xad\x51\x65\x7f\ +\xd6\x9d\xc5\x3a\x45\xf6\x77\x76\xe4\xe0\xcf\xe3\xb2\x6e\x1c\xb9\ +\x30\xda\x49\x77\x7a\xfd\x21\x33\x18\xe8\x34\xb0\xec\x33\xdf\x18\ +\x76\x35\x39\x51\x29\x59\x08\x6c\x2d\x02\xb9\xf6\xd0\xb3\xdd\xaf\ +\x64\xb3\xeb\xfd\x3b\xc2\xde\x09\x4d\xc2\x3d\x28\x05\x46\x7b\x96\ +\x24\xdf\x1c\xc7\x96\x2c\x04\x0a\x81\xc5\x22\x90\x9b\x9e\xfa\x2c\ +\x99\x77\x44\xae\xf9\xd9\xbf\x70\x7d\x27\xdf\xe9\x4d\x3b\x7c\x0f\ +\x14\x0d\xaf\xf7\x4d\x1b\x5b\xfe\x42\xa0\x10\xd8\x3a\x04\xac\x3b\ +\xe5\xd6\xcd\xbc\xc0\x99\x76\xe2\x1d\x92\x7b\xea\x25\x30\xe8\xcb\ +\x90\xe8\x53\xe6\x58\xaf\xcf\x93\xd3\x8f\x29\xbb\x10\xd8\x4f\x08\ +\x4c\x6b\x60\x43\xfe\xde\x37\xcd\xd6\xaf\xdc\x56\x3c\xb7\xfa\x37\ +\x32\xb6\xe2\x30\x36\x26\xa5\x73\xf6\x36\x7e\x7c\x43\x7e\xc7\x94\ +\x2c\x04\x0a\x81\xf5\x21\xb0\xde\xc6\x94\xf3\xb3\xbe\xbe\x55\x97\ +\x98\xbd\x1b\x1a\x46\xbf\x47\x6d\x65\x0f\xd7\x34\x7f\x9f\x57\x76\ +\x21\x50\x08\xcc\x8f\xc0\x5a\x0d\xcd\x58\x2f\xe7\x9f\x7d\x89\x99\ +\x3b\xf1\x4e\xaf\x3f\x7e\xdf\xc4\x7a\xbb\xcf\x17\xf8\xde\x9f\xed\ +\x59\x73\xe4\xdc\xd2\x0b\x81\xfd\x82\xc0\xac\xda\x99\x15\xdf\x15\ +\x38\xed\xd5\xe2\x9f\x75\x2e\xe3\xca\x5d\xf1\x64\xd5\x26\x0b\x81\ +\x05\x20\x60\x23\x53\xae\xb5\xc4\x3c\x39\x6b\x8d\xdf\x11\xb1\xdd\ +\x70\xa7\xb7\x11\xa0\xaa\x99\x6d\x04\xb5\x1a\xb3\x1f\x11\xd8\x13\ +\x8d\x6c\x3d\x4f\xdc\x5e\x6d\x7a\xeb\xc1\xa0\x72\x0b\x81\xfd\x8c\ +\xc0\xbe\x6b\x7a\xfb\xf9\xc9\xae\xb3\x17\x02\x85\x40\x21\x50\x08\ +\x14\x02\x85\x40\x21\x50\x08\x14\x02\x85\x40\x21\x50\x08\x14\x02\ +\x85\x40\x21\x50\x08\x14\x02\xbb\x11\x81\xff\x1f\xb1\x52\x54\x81\ +\x7e\xf0\xe3\x29\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\ +" + +qt_resource_name = "\ +\x00\x05\ +\x00\x6f\xa6\x53\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x73\ +\x00\x0c\ +\x0a\xb2\x11\x87\ +\x00\x61\ +\x00\x64\x00\x64\x00\x5f\x00\x63\x00\x6f\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0c\ +\x07\x8b\x16\x07\ +\x00\x61\ +\x00\x64\x00\x64\x00\x5f\x00\x70\x00\x65\x00\x61\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0c\ +\x02\x36\xcc\x67\ +\x00\x73\ +\x00\x61\x00\x76\x00\x65\x00\x5f\x00\x66\x00\x69\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0e\ +\x01\xfa\x1c\x07\ +\x00\x66\ +\x00\x69\x00\x74\x00\x5f\x00\x6c\x00\x69\x00\x6d\x00\x69\x00\x74\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct = "\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x02\ +\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xf5\ +\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x11\xa6\ +\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x08\xa7\ +\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources()