aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Tismer <ctismer@gmail.com>2015-07-05 07:50:36 +0200
committerChristian Tismer <ctismer@gmail.com>2015-07-05 07:50:36 +0200
commit0d814764dd2d34553b4f4d8f34a0641457a21a7c (patch)
tree501bf9b010133c32b72d05fa3f473ff47a107ad4
parent050809faad4e8f58e89ab53df9e3f86045f98c48 (diff)
remove phonon
-rw-r--r--examples/demos/qtdemo/xml/examples.xml4
-rw-r--r--examples/phonon/FolgersCoffe_512kb_mp4_026vbr260.ogvbin2397943 -> 0 bytes
-rw-r--r--examples/phonon/README26
-rwxr-xr-xexamples/phonon/capabilities.py140
-rwxr-xr-xexamples/phonon/musicplayer.py322
-rw-r--r--examples/phonon/pyqplayer/images/folder-music.pngbin5310 -> 0 bytes
-rw-r--r--examples/phonon/pyqplayer/images/pause.pngbin913 -> 0 bytes
-rw-r--r--examples/phonon/pyqplayer/images/play.pngbin1097 -> 0 bytes
-rw-r--r--examples/phonon/pyqplayer/images/qplayer.pngbin4278 -> 0 bytes
-rw-r--r--examples/phonon/pyqplayer/images/stop.pngbin720 -> 0 bytes
-rwxr-xr-xexamples/phonon/pyqplayer/pysideqplayer.py146
-rw-r--r--examples/phonon/pyqplayer/qplayer.qrc9
-rw-r--r--examples/phonon/pyqplayer/qrc_resources.py840
-rwxr-xr-xexamples/phonon/videoplayer.py53
-rw-r--r--examples/tools/qtdemo/examples.xml4
15 files changed, 0 insertions, 1544 deletions
diff --git a/examples/demos/qtdemo/xml/examples.xml b/examples/demos/qtdemo/xml/examples.xml
index 816550f..45083b7 100644
--- a/examples/demos/qtdemo/xml/examples.xml
+++ b/examples/demos/qtdemo/xml/examples.xml
@@ -95,10 +95,6 @@
<example filename="svgviewer" name="SVG Viewer" />
<example filename="transformations" name="Transformations" />
</category>
- <category dirname="phonon" name="Phonon">
- <example filename="capabilities" name="Capabilities" />
- <example filename="musicplayer" name="Music Player" />
- </category>
<category dirname="richtext" name="Rich Text">
<example filename="calendar" name="Calendar" />
<example filename="orderform" name="Order Form" />
diff --git a/examples/phonon/FolgersCoffe_512kb_mp4_026vbr260.ogv b/examples/phonon/FolgersCoffe_512kb_mp4_026vbr260.ogv
deleted file mode 100644
index c2454ea..0000000
--- a/examples/phonon/FolgersCoffe_512kb_mp4_026vbr260.ogv
+++ /dev/null
Binary files differ
diff --git a/examples/phonon/README b/examples/phonon/README
deleted file mode 100644
index e02e648..0000000
--- a/examples/phonon/README
+++ /dev/null
@@ -1,26 +0,0 @@
-PyQt uses the Phonon cross-platform multimedia framework to play common
-multimedia formats.
-
-Applications can be written to take advantage of the native multimedia
-technologies on each platform via a consistent cross-platform PyQt API.
-
-
-The example launcher provided with PyQt can be used to explore each of the
-examples in this directory.
-
-Documentation for these examples can be found via the Tutorial and Examples
-link in the main Qt documentation.
-
-
-Finding the PyQt Examples and Demos launcher
-============================================
-
-On Windows:
-
-The launcher can be accessed via the Windows Start menu. Select the menu
-entry entitled "Examples and Demos" entry in the submenu containing PySide.
-
-On all platforms:
-
-The source code for the launcher can be found in the examples/tools/qtdemo
-directory in the PyQt package.
diff --git a/examples/phonon/capabilities.py b/examples/phonon/capabilities.py
deleted file mode 100755
index ce5bcd1..0000000
--- a/examples/phonon/capabilities.py
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/usr/bin/env python
-
-#############################################################################
-##
-## Copyright (C) 2007-2008 Trolltech ASA. All rights reserved.
-##
-## This file is part of the example classes of the Qt Toolkit.
-##
-## Licensees holding a valid Qt License Agreement may use this file in
-## accordance with the rights, responsibilities and obligations
-## contained therein. Please consult your licensing agreement or
-## contact sales@trolltech.com if any conditions of this licensing
-## agreement are not clear to you.
-##
-## Further information about Qt licensing is available at:
-## http://www.trolltech.com/products/qt/licensing.html or by
-## contacting info@trolltech.com.
-##
-## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-##
-#############################################################################
-
-import sys
-
-from PySide import QtCore, QtGui
-
-try:
- from PySide.phonon import Phonon
-except ImportError:
- app = QtGui.QApplication(sys.argv)
- QtGui.QMessageBox.critical(None, "Phonon Capabilities",
- "Your Qt installation does not have Phonon support.",
- QtGui.QMessageBox.Ok | QtGui.QMessageBox.Default,
- QtGui.QMessageBox.NoButton)
- sys.exit(1)
-
-
-class Window(QtGui.QWidget):
- def __init__(self):
- super(Window, self).__init__()
-
- self.setupUi()
- self.updateWidgets()
-
- notifier = Phonon.BackendCapabilities.notifier()
- notifier.capabilitiesChanged.connect(self.updateWidgets)
- notifier.availableAudioOutputDevicesChanged.connect(self.updateWidgets)
-
- def updateWidgets(self):
- # Output devices.
- devices = Phonon.BackendCapabilities.availableAudioOutputDevices()
- model = Phonon.AudioOutputDeviceModel(devices)
- self.devicesListView.setModel(model)
-
- # MIME types.
- self.mimeListWidget.clear()
-
- for mimeType in Phonon.BackendCapabilities.availableMimeTypes():
- item = QtGui.QListWidgetItem(self.mimeListWidget)
- item.setText(mimeType)
-
- # Effects.
- self.effectsTreeWidget.clear()
-
- for effect in Phonon.BackendCapabilities.availableAudioEffects():
- item = QtGui.QTreeWidgetItem(self.effectsTreeWidget)
- item.setText(0, "Effect")
- item.setText(1, effect.name())
- item.setText(2, effect.description())
-
- # Effects parameters.
- for parameter in Phonon.Effect(effect, self).parameters():
- defaultValue = parameter.defaultValue()
- minimumValue = parameter.minimumValue()
- maximumValue = parameter.maximumValue()
-
- valueString = "%s / %s / %s" % (defaultValue, minimumValue, maximumValue)
-
- parameterItem = QtGui.QTreeWidgetItem(item)
- parameterItem.setText(0, "Parameter")
- parameterItem.setText(1, parameter.name())
- parameterItem.setText(2, parameter.description())
- parameterItem.setText(3, str(parameter.type()))
- parameterItem.setText(4, valueString)
-
- for i in range(self.effectsTreeWidget.columnCount()):
- if i == 0:
- self.effectsTreeWidget.setColumnWidth(0, 150)
- elif i == 2:
- self.effectsTreeWidget.setColumnWidth(2, 350)
- else:
- self.effectsTreeWidget.resizeColumnToContents(i)
-
- def setupUi(self):
- self.setupBackendBox()
-
- layout = QtGui.QVBoxLayout()
- layout.addWidget(self.backendBox)
-
- self.setLayout(layout)
- self.setWindowTitle("Backend Capabilities Example")
-
- def setupBackendBox(self):
- self.devicesLabel = QtGui.QLabel("Available Audio Devices:")
- self.devicesListView = QtGui.QListView()
-
- self.mimeTypesLabel = QtGui.QLabel("Supported MIME Types:")
- self.mimeListWidget = QtGui.QListWidget()
-
- self.effectsLabel = QtGui.QLabel("Available Audio Effects:")
-
- headerLabels = ("Type", "Name", "Description", "Value Type",
- "Default/Min/Max Values")
-
- self.effectsTreeWidget = QtGui.QTreeWidget()
- self.effectsTreeWidget.setHeaderLabels(headerLabels)
- self.effectsTreeWidget.setColumnCount(5)
-
- layout = QtGui.QGridLayout()
- layout.addWidget(self.devicesLabel, 0, 0)
- layout.addWidget(self.devicesListView, 1, 0)
- layout.addWidget(self.mimeTypesLabel, 0, 1)
- layout.addWidget(self.mimeListWidget, 1, 1)
- layout.addWidget(self.effectsLabel, 2, 0)
- layout.addWidget(self.effectsTreeWidget, 3, 0, 2, 2)
- layout.setRowStretch(3, 100)
-
- self.backendBox = QtGui.QGroupBox("Backend Capabilities")
- self.backendBox.setLayout(layout)
-
-
-if __name__ == '__main__':
- app = QtGui.QApplication(sys.argv)
- app.setApplicationName("Phonon Capabilities Example")
-
- window = Window()
- window.show()
-
- sys.exit(app.exec_())
diff --git a/examples/phonon/musicplayer.py b/examples/phonon/musicplayer.py
deleted file mode 100755
index 350ec45..0000000
--- a/examples/phonon/musicplayer.py
+++ /dev/null
@@ -1,322 +0,0 @@
-#!/usr/bin/env python
-
-#############################################################################
-##
-## Copyright (C) 2007-2008 Trolltech ASA. All rights reserved.
-##
-## This file is part of the example classes of the Qt Toolkit.
-##
-## Licensees holding a valid Qt License Agreement may use this file in
-## accordance with the rights, responsibilities and obligations
-## contained therein. Please consult your licensing agreement or
-## contact sales@trolltech.com if any conditions of this licensing
-## agreement are not clear to you.
-##
-## Further information about Qt licensing is available at:
-## http://www.trolltech.com/products/qt/licensing.html or by
-## contacting info@trolltech.com.
-##
-## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-##
-############################################################################
-
-import sys
-from PySide import QtCore, QtGui
-
-try:
- from PySide.phonon import Phonon
-except ImportError:
- app = QtGui.QApplication(sys.argv)
- QtGui.QMessageBox.critical(None, "Music Player",
- "Your Qt installation does not have Phonon support.",
- QtGui.QMessageBox.Ok | QtGui.QMessageBox.Default,
- QtGui.QMessageBox.NoButton)
- sys.exit(1)
-
-
-class MainWindow(QtGui.QMainWindow):
- def __init__(self):
- QtGui.QMainWindow.__init__(self)
-
- self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
- self.mediaObject = Phonon.MediaObject(self)
- self.metaInformationResolver = Phonon.MediaObject(self)
-
- self.mediaObject.setTickInterval(1000)
-
- self.connect(self.mediaObject, QtCore.SIGNAL('tick(qint64)'),
- self.tick)
- self.connect(self.mediaObject,
- QtCore.SIGNAL('stateChanged(Phonon::State, Phonon::State)'),
- self.stateChanged)
- self.connect(self.metaInformationResolver,
- QtCore.SIGNAL('stateChanged(Phonon::State, Phonon::State)'),
- self.metaStateChanged)
- self.connect(self.mediaObject,
- QtCore.SIGNAL('currentSourceChanged(Phonon::MediaSource)'),
- self.sourceChanged)
- self.connect(self.mediaObject, QtCore.SIGNAL('aboutToFinish()'),
- self.aboutToFinish)
-
- Phonon.createPath(self.mediaObject, self.audioOutput)
-
- self.setupActions()
- self.setupMenus()
- self.setupUi()
- self.timeLcd.display("00:00")
-
- self.sources = []
-
- def sizeHint(self):
- return QtCore.QSize(500, 300)
-
- def addFiles(self):
- files,_ = QtGui.QFileDialog.getOpenFileNames(self,
- self.tr("Select Music Files"),
- QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.MusicLocation))
-
- if files=="":
- return
-
- index = len(self.sources)
-
- for string in files:
- self.sources.append(Phonon.MediaSource(string))
-
- if self.sources:
- self.metaInformationResolver.setCurrentSource(self.sources[index])
-
- def about(self):
- QtGui.QMessageBox.information(self, self.tr("About Music Player"),
- self.tr("The Music Player example shows how to use Phonon - "
- "the multimedia framework that comes with Qt - to "
- "create a simple music player."))
-
- def stateChanged(self, newState, oldState):
- if newState == Phonon.ErrorState:
- if self.mediaObject.errorType() == Phonon.FatalError:
- QtGui.QMessageBox.warning(self, self.tr("Fatal Error"),
- self.mediaObject.errorString())
- else:
- QtGui.QMessageBox.warning(self, self.tr("Error"),
- self.mediaObject.errorString())
-
- elif newState == Phonon.PlayingState:
- self.playAction.setEnabled(False)
- self.pauseAction.setEnabled(True)
- self.stopAction.setEnabled(True)
-
- elif newState == Phonon.StoppedState:
- self.stopAction.setEnabled(False)
- self.playAction.setEnabled(True)
- self.pauseAction.setEnabled(False)
- self.timeLcd.display("00:00")
-
- elif newState == Phonon.PausedState:
- self.pauseAction.setEnabled(False)
- self.stopAction.setEnabled(True)
- self.playAction.setEnabled(True)
-
- def tick(self, time):
- displayTime = QtCore.QTime(0, (time / 60000) % 60, (time / 1000) % 60)
- self.timeLcd.display(displayTime.toString('mm:ss'))
-
- def tableClicked(self, row, column):
- oldState = self.mediaObject.state()
-
- self.mediaObject.stop()
- self.mediaObject.clearQueue()
-
- self.mediaObject.setCurrentSource(self.sources[row])
-
- if oldState == Phonon.PlayingState:
- self.mediaObject.play()
-
- def sourceChanged(self, source):
- self.musicTable.selectRow(self.sources.index(source))
- self.timeLcd.display("00:00")
-
- def metaStateChanged(self, newState, oldState):
- if newState == Phonon.ErrorState:
- QtGui.QMessageBox.warning(self, self.tr("Error opening files"),
- self.metaInformationResolver.errorString())
-
- while self.sources and self.sources.pop() != self.metaInformationResolver.currentSource():
- pass
-
- return
-
- if newState != Phonon.StoppedState and newState != Phonon.PausedState:
- return
-
- if self.metaInformationResolver.currentSource().type() == Phonon.MediaSource.Invalid:
- return
-
- metaData = self.metaInformationResolver.metaData()
-
- title = metaData.get('TITLE', [""])[0]
- if title=="":
- title = self.metaInformationResolver.currentSource().fileName()
-
- titleItem = QtGui.QTableWidgetItem(title)
- titleItem.setFlags(titleItem.flags() ^ QtCore.Qt.ItemIsEditable)
-
- artist = metaData.get('ARTIST', [""])[0]
- artistItem = QtGui.QTableWidgetItem(artist)
- artistItem.setFlags(artistItem.flags() ^ QtCore.Qt.ItemIsEditable)
-
- album = metaData.get('ALBUM', [""])[0]
- albumItem = QtGui.QTableWidgetItem(album)
- albumItem.setFlags(albumItem.flags() ^ QtCore.Qt.ItemIsEditable)
-
- year = metaData.get('DATE', [""])[0]
- yearItem = QtGui.QTableWidgetItem(year)
- yearItem.setFlags(yearItem.flags() ^ QtCore.Qt.ItemIsEditable)
-
- currentRow = self.musicTable.rowCount()
- self.musicTable.insertRow(currentRow)
- self.musicTable.setItem(currentRow, 0, titleItem)
- self.musicTable.setItem(currentRow, 1, artistItem)
- self.musicTable.setItem(currentRow, 2, albumItem)
- self.musicTable.setItem(currentRow, 3, yearItem)
-
- if not self.musicTable.selectedItems():
- self.musicTable.selectRow(0)
- self.mediaObject.setCurrentSource(self.metaInformationResolver.currentSource())
-
- source = self.metaInformationResolver.currentSource()
- index = self.sources.index(self.metaInformationResolver.currentSource()) + 1
-
- if len(self.sources) > index:
- self.metaInformationResolver.setCurrentSource(self.sources[index])
- else:
- self.musicTable.resizeColumnsToContents()
- if self.musicTable.columnWidth(0) > 300:
- self.musicTable.setColumnWidth(0, 300)
-
- def aboutToFinish(self):
- index = self.sources.index(self.mediaObject.currentSource()) + 1
- if len(self.sources) > index:
- self.mediaObject.enqueue(self.sources[index])
-
- def setupActions(self):
- self.playAction = QtGui.QAction(self.style().standardIcon(QtGui.QStyle.SP_MediaPlay), self.tr("Play"), self)
- self.playAction.setShortcut(self.tr("Crl+P"))
- self.playAction.setDisabled(True)
-
- self.pauseAction = QtGui.QAction(self.style().standardIcon(QtGui.QStyle.SP_MediaPause), self.tr("Pause"), self)
- self.pauseAction.setShortcut(self.tr("Ctrl+A"))
- self.pauseAction.setDisabled(True)
-
- self.stopAction = QtGui.QAction(self.style().standardIcon(QtGui.QStyle.SP_MediaStop), self.tr("Stop"), self)
- self.stopAction.setShortcut(self.tr("Ctrl+S"))
- self.stopAction.setDisabled(True)
-
- self.nextAction = QtGui.QAction(self.style().standardIcon(QtGui.QStyle.SP_MediaSkipForward), self.tr("Next"), self)
- self.nextAction.setShortcut(self.tr("Ctrl+N"))
-
- self.previousAction = QtGui.QAction(self.style().standardIcon(QtGui.QStyle.SP_MediaSkipBackward), self.tr("Previous"), self)
- self.previousAction.setShortcut(self.tr("Ctrl+R"))
-
- self.addFilesAction = QtGui.QAction(self.tr("Add &Files"), self)
- self.addFilesAction.setShortcut(self.tr("Ctrl+F"))
-
- self.exitAction = QtGui.QAction(self.tr("E&xit"), self)
- self.exitAction.setShortcut(self.tr("Ctrl+X"))
-
- self.aboutAction = QtGui.QAction(self.tr("A&bout"), self)
- self.aboutAction.setShortcut(self.tr("Ctrl+B"))
-
- self.aboutQtAction = QtGui.QAction(self.tr("About &Qt"), self)
- self.aboutQtAction.setShortcut(self.tr("Ctrl+Q"))
-
- self.connect(self.playAction, QtCore.SIGNAL('triggered()'),
- self.mediaObject, QtCore.SLOT('play()'))
- self.connect(self.pauseAction, QtCore.SIGNAL('triggered()'),
- self.mediaObject, QtCore.SLOT('pause()'))
- self.connect(self.stopAction, QtCore.SIGNAL('triggered()'),
- self.mediaObject, QtCore.SLOT('stop()'))
- self.connect(self.addFilesAction, QtCore.SIGNAL('triggered()'),
- self.addFiles)
- self.connect(self.exitAction, QtCore.SIGNAL('triggered()'),
- self, QtCore.SLOT('close()'))
- self.connect(self.aboutAction, QtCore.SIGNAL('triggered()'),
- self.about)
- self.connect(self.aboutQtAction, QtCore.SIGNAL('triggered()'),
- QtGui.qApp, QtCore.SLOT('aboutQt()'))
-
- def setupMenus(self):
- fileMenu = self.menuBar().addMenu(self.tr("&File"))
- fileMenu.addAction(self.addFilesAction)
- fileMenu.addSeparator()
- fileMenu.addAction(self.exitAction)
-
- aboutMenu = self.menuBar().addMenu(self.tr("&Help"))
- aboutMenu.addAction(self.aboutAction)
- aboutMenu.addAction(self.aboutQtAction)
-
- def setupUi(self):
- bar = QtGui.QToolBar()
-
- bar.addAction(self.playAction)
- bar.addAction(self.pauseAction)
- bar.addAction(self.stopAction)
-
- self.seekSlider = Phonon.SeekSlider(self)
- self.seekSlider.setMediaObject(self.mediaObject)
-
- self.volumeSlider = Phonon.VolumeSlider(self)
- self.volumeSlider.setAudioOutput(self.audioOutput)
- self.volumeSlider.setSizePolicy(QtGui.QSizePolicy.Maximum,
- QtGui.QSizePolicy.Maximum)
-
- volumeLabel = QtGui.QLabel()
- volumeLabel.setPixmap(QtGui.QPixmap('images/volume.png'))
-
- palette = QtGui.QPalette()
- palette.setBrush(QtGui.QPalette.Light, QtCore.Qt.darkGray)
-
- self.timeLcd = QtGui.QLCDNumber()
- self.timeLcd.setPalette(palette)
-
- headers = [self.tr("Title"), self.tr("Artist"), self.tr("Album"), self.tr("Year")]
-
- self.musicTable = QtGui.QTableWidget(0, 4)
- self.musicTable.setHorizontalHeaderLabels(headers)
- self.musicTable.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
- self.musicTable.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.connect(self.musicTable, QtCore.SIGNAL('cellPressed(int, int)'),
- self.tableClicked)
-
- seekerLayout = QtGui.QHBoxLayout()
- seekerLayout.addWidget(self.seekSlider)
- seekerLayout.addWidget(self.timeLcd)
-
- playbackLayout = QtGui.QHBoxLayout()
- playbackLayout.addWidget(bar)
- playbackLayout.addStretch()
- playbackLayout.addWidget(volumeLabel)
- playbackLayout.addWidget(self.volumeSlider)
-
- mainLayout = QtGui.QVBoxLayout()
- mainLayout.addWidget(self.musicTable)
- mainLayout.addLayout(seekerLayout)
- mainLayout.addLayout(playbackLayout)
-
- widget = QtGui.QWidget()
- widget.setLayout(mainLayout)
-
- self.setCentralWidget(widget)
- self.setWindowTitle("Phonon Music Player")
-
-
-if __name__ == '__main__':
- app = QtGui.QApplication(sys.argv)
- app.setApplicationName("Music Player")
- app.setQuitOnLastWindowClosed(True)
-
- window = MainWindow()
- window.show()
-
- sys.exit(app.exec_())
diff --git a/examples/phonon/pyqplayer/images/folder-music.png b/examples/phonon/pyqplayer/images/folder-music.png
deleted file mode 100644
index 3d18944..0000000
--- a/examples/phonon/pyqplayer/images/folder-music.png
+++ /dev/null
Binary files differ
diff --git a/examples/phonon/pyqplayer/images/pause.png b/examples/phonon/pyqplayer/images/pause.png
deleted file mode 100644
index 38f8b30..0000000
--- a/examples/phonon/pyqplayer/images/pause.png
+++ /dev/null
Binary files differ
diff --git a/examples/phonon/pyqplayer/images/play.png b/examples/phonon/pyqplayer/images/play.png
deleted file mode 100644
index 60cc880..0000000
--- a/examples/phonon/pyqplayer/images/play.png
+++ /dev/null
Binary files differ
diff --git a/examples/phonon/pyqplayer/images/qplayer.png b/examples/phonon/pyqplayer/images/qplayer.png
deleted file mode 100644
index 0a72320..0000000
--- a/examples/phonon/pyqplayer/images/qplayer.png
+++ /dev/null
Binary files differ
diff --git a/examples/phonon/pyqplayer/images/stop.png b/examples/phonon/pyqplayer/images/stop.png
deleted file mode 100644
index df8d7d2..0000000
--- a/examples/phonon/pyqplayer/images/stop.png
+++ /dev/null
Binary files differ
diff --git a/examples/phonon/pyqplayer/pysideqplayer.py b/examples/phonon/pyqplayer/pysideqplayer.py
deleted file mode 100755
index 1853994..0000000
--- a/examples/phonon/pyqplayer/pysideqplayer.py
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/python
-
-# pysideqplayer.py
-#
-# Copyright 2009 ahmed youssef <xmonader@gmail.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-# MA 02110-1301, USA.
-
-
-
-import sys
-
-from PySide import QtCore, QtGui
-try:
- from PySide.phonon import Phonon
-except ImportError:
- app = QtGui.QApplication(sys.argv)
- QtGui.QMessageBox.critical(None, "Music Player",
- "Your Qt installation does not have Phonon support.",
- QtGui.QMessageBox.Ok | QtGui.QMessageBox.Default,
- QtGui.QMessageBox.NoButton)
- sys.exit(1)
-
-import qrc_resources
-
-class QPlayer(QtGui.QWidget):
-
- def __init__(self):
- #QtGui.QWidget.__init__(self)
- super(QPlayer, self).__init__()
- self.audioOuptut=Phonon.AudioOutput(Phonon.MusicCategory, self)
- self.player=Phonon.MediaObject(self)
- Phonon.createPath(self.player, self.audioOuptut)
-
- self.videoWidget=Phonon.VideoWidget(self)
- Phonon.createPath(self.player, self.videoWidget)
-
- self.player.setTickInterval(1000)
- self.connect(self.player, QtCore.SIGNAL("tick(qint64)"), self.tick)
-
- self.seekSlider=Phonon.SeekSlider(self.player, self)
- self.volumeSlider=Phonon.VolumeSlider(self.audioOuptut, self)
-
- self.buildGUI()
- self.setupConnections()
-
- def buildGUI(self):
-
- self.fileLabel = QtGui.QLabel("File")
- self.fileEdit = QtGui.QLineEdit()
- self.fileLabel.setBuddy(self.fileEdit)
-
- self.lcdTimer=QtGui.QLCDNumber()
- self.lcdTimer.display("00:00")
-
- self.browseButton=QtGui.QPushButton("Browse")
- self.browseButton.setIcon(QtGui.QIcon(":/images/folder-music.png"))
-
- self.playButton=QtGui.QPushButton("Play")
- self.playButton.setIcon(QtGui.QIcon(":/images/play.png"))
- self.playButton.setEnabled(False)
-
- self.pauseButton=QtGui.QPushButton("Pause")
- self.pauseButton.setIcon(QtGui.QIcon(":/images/pause.png"))
-
- self.stopButton=QtGui.QPushButton("Stop")
- self.stopButton.setIcon(QtGui.QIcon(":/images/stop.png"))
-
- upperLayout=QtGui.QHBoxLayout()
- upperLayout.addWidget(self.fileLabel)
- upperLayout.addWidget(self.fileEdit)
- upperLayout.addWidget(self.browseButton)
-
- midLayout=QtGui.QHBoxLayout()
- midLayout.addWidget(self.seekSlider)
- midLayout.addWidget(self.lcdTimer)
-
- lowerLayout=QtGui.QHBoxLayout()
- lowerLayout.addWidget(self.playButton)
- lowerLayout.addWidget(self.pauseButton)
- lowerLayout.addWidget(self.stopButton)
- lowerLayout.addWidget(self.volumeSlider)
-
- layout=QtGui.QVBoxLayout()
- layout.addLayout(upperLayout)
- layout.addWidget(self.videoWidget)
- layout.addLayout(midLayout)
- layout.addLayout(lowerLayout)
-
- self.setLayout(layout)
- self.lcdTimer.setSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
- self.seekSlider.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
- self.volumeSlider.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
-
-
- def setupConnections(self):
- self.connect(self.browseButton, QtCore.SIGNAL("clicked()"), self.browseClicked)
- self.connect(self.playButton, QtCore.SIGNAL("clicked()"), self.playClicked)#self.playClicked)
- self.connect(self.pauseButton, QtCore.SIGNAL("clicked()"), self.pauseClicked)
- self.connect(self.stopButton, QtCore.SIGNAL("clicked()"), self.stopClicked)
- self.connect(self.fileEdit, QtCore.SIGNAL("textChanged(const QString&)"), self.checkFileName)
-
- def tick(self, time):
- displayTime = QtCore.QTime(0, (time / 60000) % 60, (time / 1000) % 60)
- self.lcdTimer.display(displayTime.toString('mm:ss'))
-
- def playClicked(self):
- self.player.setCurrentSource(Phonon.MediaSource(self.fileEdit.text()))
- self.player.play()
-
- def pauseClicked(self):
- self.player.pause()
-
- def stopClicked(self):
- self.player.stop()
- self.lcdTimer.display("00:00")
-
- def browseClicked(self):
- f, _ = QtGui.QFileDialog.getOpenFileName(self)
- if f!="":
- self.fileEdit.setText(f)
-
- def checkFileName(self, s):
- if s!="":
- self.playButton.setEnabled(True)
- else:
- self.playButton.setEnabled(False)
-
-if __name__=="__main__":
- qapp=QtGui.QApplication(sys.argv)
- w=QPlayer()
- w.show()
- sys.exit(qapp.exec_())
diff --git a/examples/phonon/pyqplayer/qplayer.qrc b/examples/phonon/pyqplayer/qplayer.qrc
deleted file mode 100644
index 4f0b0f4..0000000
--- a/examples/phonon/pyqplayer/qplayer.qrc
+++ /dev/null
@@ -1,9 +0,0 @@
-<RCC>
-<qresource>
- <file>images/play.png</file>
- <file>images/pause.png</file>
- <file>images/stop.png</file>
- <file>images/qplayer.png</file>
- <file>images/folder-music.png</file>
-</qresource>
-</RCC> \ No newline at end of file
diff --git a/examples/phonon/pyqplayer/qrc_resources.py b/examples/phonon/pyqplayer/qrc_resources.py
deleted file mode 100644
index 839b885..0000000
--- a/examples/phonon/pyqplayer/qrc_resources.py
+++ /dev/null
@@ -1,840 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Resource object code
-#
-# Created: Sun Apr 5 06:44:32 2009
-# by: The Resource Compiler for PyQt (Qt v4.4.3)
-#
-# WARNING! All changes made in this file will be lost!
-
-from PySide import QtCore
-
-qt_resource_data = "\
-\x00\x00\x02\xd0\
-\x89\
-\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
-\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
-\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\
-\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x00\x48\x00\x00\
-\x00\x48\x00\x46\xc9\x6b\x3e\x00\x00\x02\x42\x49\x44\x41\x54\x58\
-\xc3\xed\x96\x5d\x8a\x13\x41\x14\x85\xbf\x4a\x32\xc2\x90\x97\x30\
-\x30\x82\xcb\x70\x7c\x71\x1d\x3e\xb9\x86\x59\xd2\x2c\xc0\x6d\xb8\
-\x02\x41\x04\x19\x10\x5d\x81\x11\x9f\xec\x74\xfd\x9d\xeb\x43\x75\
-\x77\xfa\x77\x9c\xe4\xd5\xdc\xd0\xd4\x0f\x74\xce\xb9\xe7\x9e\xba\
-\x5d\x70\x89\x4b\xfc\xef\xe1\xe6\x36\x1f\x1e\x1e\x30\xb3\x57\xdb\
-\xed\xf6\xcd\x66\xb3\xc1\xcc\xb0\x63\xd0\x2e\xa1\x4c\x80\xde\x48\
-\xb3\x5f\x46\x49\x39\x84\xf0\x19\xf8\x7d\x7f\x7f\x3f\xc1\xda\xcc\
-\x11\xd8\xed\x76\xc4\x98\xde\xde\xdd\xbd\xfe\xb0\xdb\xed\xd6\x92\
-\xb5\x24\xc6\x8f\x1d\xe7\xd8\x64\x1f\xf8\xb5\xdf\xd7\x8f\x8f\x5f\
-\xdf\x81\xfb\x38\x87\x35\x4b\xe0\xea\xea\x05\x00\x37\x37\x37\x9b\
-\xdb\xdb\x97\x1b\x49\x34\x59\xf5\xc0\x99\x10\x92\x19\xa6\xe3\x5c\
-\x59\x78\x1f\x58\xad\x56\xeb\x05\xb1\xe7\x09\x98\x09\x33\x4c\x12\
-\xed\xd3\x28\x3a\x02\x05\x99\xca\x5c\xbd\xb5\x0c\x49\xf8\x10\xc9\
-\x29\x03\xce\xb9\x79\xfc\x25\x02\xd6\x55\xb5\x03\x6b\x0b\xdc\xcf\
-\x58\x43\x25\x5a\x05\x24\xe1\x7d\x24\xa6\x8c\x99\x39\x1c\xee\x44\
-\x05\x86\x46\x63\x04\xae\x27\xa4\xcf\x2a\xb2\xc7\x98\xda\xd7\x16\
-\xa0\x9f\xa5\x40\x2b\xeb\xc8\x7c\x9a\x82\xcb\x8c\x9c\x72\x01\x2f\
-\x99\xb7\xff\xe5\xc0\xb9\x13\x09\x30\x70\x35\x33\xe0\x03\xc3\x49\
-\x84\x98\xf0\x3e\xa0\xac\x63\xc9\xba\x64\x96\x4d\xf0\x0c\x05\x86\
-\x60\xe3\x75\x4c\xa9\xd4\x3b\xa6\xc9\xa9\x00\xd7\x28\x70\x46\x09\
-\x06\xe7\x7a\x06\x3c\x4b\x04\x1f\xf0\x3e\x92\xa5\x9e\x4a\x60\xb4\
-\x04\x3a\x25\x4e\x2b\x41\x31\x5e\xb1\xa0\x66\xc0\x63\x4a\xd4\x07\
-\x4f\x4c\xe9\x08\x3a\x3a\x9e\x3d\x0f\x34\x04\xce\x3a\x05\x1a\xba\
-\x5e\x46\x08\x91\xea\x50\x93\xdb\x5a\x5b\xaf\x3f\xb0\x44\xc0\x39\
-\xce\xe8\x03\xc7\x96\x2a\xc3\x4c\xd4\x3e\x72\x38\xd4\xc5\x68\xcc\
-\x67\xdd\x5f\x0f\x4c\x78\x9a\x07\x4a\x01\xd4\x65\x5f\x1a\x4b\x55\
-\xd5\xa5\x2b\x8e\xa5\xee\xb2\x67\xc6\x84\x67\x78\xa0\x2b\x81\xcc\
-\x4c\x46\x8c\x89\xaa\xaa\xc9\x39\x43\xcf\x64\x4f\xd5\xbf\xa7\xe2\
-\xe9\x1e\x68\x4c\x58\x3a\x5b\xce\x54\x55\x4d\xca\x79\x11\x74\x99\
-\x14\x48\xe6\xce\x56\x40\x66\xd4\x75\x20\x84\xde\x19\x67\x8e\xc4\
-\xf4\xcb\xd8\xed\x4b\xe7\x94\xa0\x0c\x39\x65\xab\x7d\xc0\xba\x5f\
-\xd7\x25\x7b\xc0\xff\xfe\x2c\x83\x9d\x46\x20\xa5\x84\x73\xe8\xe7\
-\x7e\x9f\xae\xaf\x0f\xa9\x77\x13\x1a\x18\xae\xb9\xf6\x2c\x5d\x56\
-\x30\xc3\x1d\xaa\x3f\xa9\x18\xf7\x04\x02\xde\xd7\x00\x5f\x7e\x7c\
-\xff\xf6\x7e\xbd\x5e\xaf\x9a\xcb\xd6\xc4\x25\xc3\x2d\x1b\xed\x97\
-\xb5\x24\x4b\x29\x7e\xe2\x12\x97\xb8\xc4\x42\xfc\x05\x26\x27\x01\
-\x3f\x94\xe0\x3e\xc1\x00\x00\x00\x22\x7a\x54\x58\x74\x53\x6f\x66\
-\x74\x77\x61\x72\x65\x00\x00\x78\xda\x2b\x2f\x2f\xd7\xcb\xcc\xcb\
-\x2e\x4e\x4e\x2c\x48\xd5\xcb\x2f\x4a\x07\x00\x36\xd8\x06\x58\x10\
-\x53\xca\x5c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
-\x00\x00\x14\xbe\
-\x89\
-\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
-\x00\x00\x20\x00\x00\x00\x20\x10\x06\x00\x00\x00\x23\xea\xa6\xb7\
-\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\
-\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x00\x48\x00\x00\
-\x00\x48\x00\x46\xc9\x6b\x3e\x00\x00\x00\x09\x76\x70\x41\x67\x00\
-\x00\x00\x20\x00\x00\x00\x20\x00\x87\xfa\x9c\x9d\x00\x00\x13\xd5\
-\x49\x44\x41\x54\x68\xde\xd5\x99\x79\x70\x54\xd5\xb6\xc6\x7f\xa7\
-\xbb\x93\xee\xcc\x9d\x89\x04\x02\x28\x84\x04\xc4\x60\x90\xc8\x14\
-\x20\x20\x02\x02\x32\x48\x18\x1c\x50\xb9\xc8\x1c\x15\x45\xaf\x84\
-\x51\x10\x45\xe1\xa2\xcc\x20\xca\xac\x22\x02\x22\x0a\x88\x80\x02\
-\x81\x20\x63\x98\xc3\x90\x40\xc8\x44\x20\xf3\xdc\x9d\x74\xf7\xd9\
-\x7b\xbf\x3f\x82\x42\x3d\xbd\x75\xaf\xa5\x55\xaf\xde\xfa\x67\xd5\
-\x5e\xe7\xd4\xa9\xf5\x7d\xfb\x5b\xeb\xac\x7d\x8e\xc6\xff\x13\x1b\
-\x97\x3c\x2e\x79\x5c\x32\x5c\x6a\x75\x29\xe6\x52\x07\x0e\xce\x88\
-\x9e\xf1\xc4\x8c\x78\xb7\x98\x86\x17\xc2\xc6\x36\x68\xe7\x73\xc2\
-\xef\xb6\x2f\x3e\x03\xac\xa7\x2b\x87\x3a\x97\x68\xcb\x42\xec\xe6\
-\x5b\x9e\x56\xef\xe8\xfc\x25\xd9\x23\x6f\xbd\x52\x58\x90\x69\x8b\
-\xf0\x6f\x3d\xfa\xe1\xf7\xe0\xc1\x59\x1e\x15\x9a\xf6\x7f\x00\x20\
-\x61\x66\xc2\xcc\x84\x99\x10\x17\x10\x17\x10\x17\xc0\xe6\xdd\x17\
-\x76\x5f\xd8\x7d\xc1\xad\xe5\xb9\x01\xe7\x06\x9c\x1b\xe0\x77\xf4\
-\xc6\x91\x1b\x47\x6e\x1c\x69\xf4\x68\x4e\xfb\x9c\xf6\x39\xed\x5b\
-\x8f\xbd\xf3\xf9\x9d\xcf\xef\x7c\xde\x6b\x48\x51\x6c\x51\x6c\x51\
-\xec\x3f\x7a\x96\x4e\x28\x4d\x28\x7d\x65\xfa\x67\x15\xe7\x2a\xb6\
-\x54\x7c\xb8\xd2\x55\x2d\xab\x37\x55\xbf\xf0\xfd\xae\xca\x80\xaa\
-\xb3\xb6\x61\x27\x13\xf3\xb6\x17\x7f\x59\xf9\x7a\xc6\x89\x9b\xfd\
-\x0a\x62\x2a\x06\x95\x4d\xb8\xe5\x5b\x7e\xbd\xe6\xc2\x87\x83\x95\
-\x2a\x8d\xb9\x1e\x0f\x47\x1a\x17\x0e\x17\x71\x7f\x23\xa0\xe4\xb9\
-\xc9\x73\x93\xe7\x42\x92\x6f\x92\x6f\x92\xaf\xc9\x23\xdd\x2b\xdd\
-\x2b\xdd\xab\x61\xc7\xec\xa2\xec\xa2\xec\xa2\x47\x7f\xbe\x53\x79\
-\xa7\xf2\x4e\x65\xaf\xeb\x45\x63\x8a\xc6\x14\x8d\x19\x69\x2c\x5d\
-\x5d\xba\xba\x74\xf5\x8c\x8f\x2b\x92\x2b\x92\x2b\x92\x57\x45\x54\
-\x55\x54\x55\x54\x55\xec\xc2\xbe\xd1\xbe\xd1\xbe\xf1\x64\x61\xed\
-\xf8\xda\xf1\xb5\xe3\x6f\x0e\x71\x6e\x73\x6e\x73\x6e\x2b\xd1\x74\
-\x37\xdd\x5d\x37\xd7\x6e\x12\x45\xe2\xbc\xd8\x27\x77\xa9\xae\x52\
-\xc9\x93\x4a\xb9\xa6\xeb\xe7\xa4\xa7\x52\x65\xad\x6d\x23\x9d\xfb\
-\x95\xca\x2b\xab\x70\x73\xcc\x52\xaa\xb0\xb7\xed\x25\x3d\x5e\xa9\
-\x12\x0f\xbb\x72\x2d\x57\xea\xb6\x7f\xf5\x24\x57\xe8\xea\x38\x98\
-\x75\xc4\x91\xc8\x07\xbf\xf4\x2f\x78\xc0\x55\xff\x6f\x00\x7e\x28\
-\xf5\x50\xea\xa1\x54\x10\xb1\x22\x56\xc4\x42\x76\x64\x76\x64\x76\
-\xe4\xf3\x53\x6c\x6d\x6c\x6d\x6c\x6d\x32\xc2\x9c\x59\xce\x2c\x67\
-\x56\xc9\x41\xbd\x8d\xde\x46\x6f\x53\xfb\x85\x38\x28\x0e\x8a\x83\
-\x72\x97\xdc\x2e\xb7\xcb\xed\x4a\xa9\xc9\x6a\xb2\x9a\xac\x94\x2a\
-\x56\xc5\xaa\x58\x29\x25\x94\x50\x42\xfd\x5b\x73\xfd\x22\x06\xcb\
-\x1f\x95\x2a\x35\x56\x57\x3b\x8f\x2a\x75\xcb\x56\x3e\xc3\xf1\x94\
-\x52\xf9\x73\xaa\xd7\xe9\x73\x94\x2a\x0d\x76\xec\x50\x8b\x94\x2a\
-\x3d\xec\x1c\xa8\x7e\x50\xaa\x30\xd7\x3e\x44\x37\x2b\x95\xf3\x65\
-\xe5\x02\x67\xe6\xea\xad\xf0\xd1\x4e\x67\x11\x9f\x1c\x79\xe6\xce\
-\xab\xce\xda\xdf\xe3\x31\xfd\x69\x06\xe2\x89\x27\x1e\x0c\x69\x86\
-\x34\x43\x1a\x78\x94\x7b\x94\x7b\x94\xc7\x04\x58\xf2\x2d\xf9\x96\
-\xfc\xa6\xb7\x0c\x56\x83\xd5\x60\x05\xce\x70\x86\x33\x40\x1e\x79\
-\xe4\x01\xe7\x38\xc7\x39\x60\x0a\x53\x98\x02\x58\xb1\x62\x05\xaa\
-\xa9\xa6\x1a\x70\xc7\x1d\x77\xc0\x8c\x19\x33\xb8\xbe\x13\x9f\xa8\
-\x38\xb8\x15\x52\x7e\xb9\x76\x3d\x98\x9f\x34\x27\xba\x27\x81\x7b\
-\x33\xf3\x52\x63\x0f\xd0\xe2\xb5\xcb\xbc\x01\xe2\x1f\xea\x0a\x00\
-\xab\x55\x14\xbb\x41\xee\x91\x09\xb8\x83\x98\x26\x0d\x80\x0d\x9c\
-\xbf\xe0\x87\x74\xad\x95\xd5\x00\x6c\xf9\x8b\x04\xc8\x12\x59\x22\
-\x4b\xee\x0b\xd4\x50\x43\x0d\x7d\x58\xc8\x42\x16\x02\x5b\xd9\xca\
-\x56\x20\x80\x00\x02\x00\x89\x44\x02\xb9\xe4\x92\x0b\xb4\xa2\x15\
-\xad\x80\x3e\xf4\xa1\x0f\x70\x8d\x6b\x5c\x03\x0c\x18\x31\x02\x0d\
-\xd8\xa5\x12\xa0\xfa\x8e\xbd\xdc\x51\x05\xae\x72\x99\x4d\x13\xf0\
-\xa8\x31\x85\x19\xc3\x41\x3f\x8b\x3b\x80\xb6\x49\x75\x06\xd0\xe6\
-\xd1\x02\x00\x2b\xeb\x28\x05\x7d\xa7\xba\xa9\x72\x40\x4c\x56\xed\
-\xa8\x04\xb0\x5d\x01\xd0\xfb\x8a\x39\x77\x33\xde\xf0\x97\x08\x10\
-\x56\x61\x15\xd6\xfb\x02\x8d\x69\x4c\x63\x74\x86\x32\x94\xa1\xf7\
-\xc2\xea\xba\xba\xae\xae\xdf\x77\x9f\x01\x03\x06\x40\x20\x10\x80\
-\x09\x13\x26\xe0\x34\x29\xa4\x80\x70\xaf\x0b\x3b\xa3\x9d\x8f\x3a\
-\x5f\x05\xfb\x58\xbb\xb9\x36\x1c\xc4\x33\xb4\xf3\x18\x05\xae\x56\
-\x72\x1d\xeb\x41\x1b\xc0\x63\x00\x9a\x83\x31\x00\xec\xe7\x59\x00\
-\x6e\x52\x9f\x03\x20\xc6\xc9\xee\x98\x40\x3f\xac\x06\xf1\x04\x10\
-\x64\xdb\x0b\xa0\x57\xc8\x77\xfe\x08\x8f\xe1\x4f\x13\x90\x23\x72\
-\x44\xce\x7d\x40\xa3\x54\x94\x8a\x02\x6c\xd8\xb0\xfd\x01\xe0\x5f\
-\xfd\xaf\x66\xac\xdb\x69\xcd\x5f\xf3\xd7\xfc\x41\xbd\xa4\x9e\x57\
-\xcf\x43\xed\x85\xda\x5f\x6a\x7f\x01\xc7\xd0\xda\xb7\x6b\x27\x83\
-\x98\x24\x13\xc5\x70\x90\x8f\x29\x8d\x0b\x20\x5a\xca\x4c\x00\x3d\
-\x58\x9e\x01\xd0\x1d\x32\x1d\x40\xc4\xd5\xe9\x51\x3f\x22\x3f\x53\
-\xef\x81\x1e\x2a\x9b\xf0\x39\x88\xbe\xb2\x1f\x9e\x00\x35\x33\x35\
-\x3f\x70\xf5\x13\x33\xff\x08\xed\x9f\x26\x40\x4f\xd3\xd3\xf4\xb4\
-\xfb\x08\x70\x53\x6e\xca\x0d\xc8\x27\x9f\xfc\xfb\x76\xf6\x3f\x99\
-\x37\x3e\xf8\x80\x8c\x91\x0f\xc9\x87\x40\x7f\x5a\xef\xac\x77\x06\
-\xd5\x9e\x38\xd5\x15\x68\x42\x10\x12\x64\xa9\x7a\x9c\xdb\xe0\xda\
-\x2d\xa7\x02\xe8\x4e\x19\x0f\xa0\x5b\x65\x00\x80\x2b\x47\xda\x00\
-\x5c\x5d\x44\xb4\x0a\x03\xdd\x53\x6e\xe3\x20\xe8\x01\xf2\xc7\xba\
-\x3c\xf4\x97\xe4\x3e\x70\x4d\x97\x1f\x90\xf1\x77\x28\x60\x8d\x58\
-\x23\xd6\xdc\x5b\xcb\x5d\x72\x97\xdc\x05\x6a\xaa\x9a\xaa\xa6\x82\
-\x4a\x57\xe9\x2a\xfd\xde\x75\xcd\xa8\x19\x35\xe3\x1f\x3c\xe8\x2e\
-\x51\xea\x0b\xb5\x43\xed\x00\x26\xb1\x9c\xe5\x80\x07\x16\x3c\x41\
-\xf3\xc3\x83\x1c\x90\x41\x2a\x5f\xfd\x0b\xf4\x20\x99\x0b\xa0\x97\
-\x49\x5f\xce\x83\x9e\x2b\x87\x90\x05\x22\x58\x75\x61\x3f\xb8\x42\
-\x45\x23\xf5\x16\xe8\xcd\x64\x8d\xea\x0c\xfa\x4c\xd9\x4c\xb9\x00\
-\x5c\xe3\x1c\x5d\x40\xec\x92\xdf\xa8\x57\xff\x0e\x02\xb6\x8a\xad\
-\x62\xeb\x7d\x0a\x48\x56\xc9\x2a\x19\x48\x24\x91\x44\xa0\x07\x3d\
-\xe8\x01\x4c\x60\x02\x13\x40\x1d\x57\xc7\xd5\x71\x7e\x6b\x86\x9a\
-\x49\x33\x69\x26\xc0\x58\x57\x1a\x9a\xbb\x66\xd6\xcc\x80\xe1\x3e\
-\xe5\x68\x80\x37\x16\x6a\x40\xbd\xa3\x72\x55\x14\x88\xab\xf2\xb0\
-\xda\x05\x7a\x92\xbc\xa5\x16\x82\x7e\x49\x3d\xa8\x3e\x01\x57\x8e\
-\x88\x95\x45\xa0\xbf\xaf\x2f\x12\xf3\x41\x5c\x95\x61\xf2\x20\x88\
-\x87\xa4\x54\x47\x01\x6a\x46\xeb\x4f\x82\xcc\x13\x03\xe4\x53\x7f\
-\x03\x01\xfa\x5c\x7d\xae\x3e\xf7\x3e\x02\x8c\xca\xa8\x8c\x40\x31\
-\xc5\x14\x03\x19\x64\x90\x01\x6a\xa9\x5a\xaa\x96\x72\xaf\xdb\x8f\
-\x63\x1c\xe3\x40\x1d\x55\x47\xd5\x51\x50\x29\x2a\x45\xa5\x80\xba\
-\xac\x2e\xab\xcb\xf7\x08\xc2\x84\x09\x37\xc0\x1b\x33\x65\x20\x87\
-\x29\x33\x2f\x83\xd8\x26\xab\x94\x0f\x88\x93\xd2\xae\x74\x10\x69\
-\x62\x95\x32\x81\xfe\xbc\x5e\x22\xba\x83\xde\x5c\xb6\x54\x13\x40\
-\x64\xcb\xc3\x3c\x0e\xb2\x89\x38\xae\xac\x00\x7c\x52\x7b\x11\xe4\
-\x4a\x79\x5d\x3e\xf9\x47\x42\xfc\xb3\x0a\x98\x2d\x66\x8b\xd9\xc0\
-\x30\x86\x31\x0c\x64\x99\x2c\x93\x65\xa0\x76\xdc\x95\xf2\x10\x86\
-\x30\x04\x34\x73\xdd\xce\x2a\x5d\xe9\x4a\xbf\x4f\x01\x41\x5a\x90\
-\x16\x04\x34\xa3\x19\xcd\xf8\xad\x77\xa8\xef\xd4\x77\xea\x3b\xe0\
-\x23\xda\x73\x08\xd4\x5c\xb2\xd4\x24\x90\x39\xaa\x50\x2d\x04\x35\
-\x53\xac\x50\x87\x40\xfb\x82\xbe\x64\x01\x8f\xf0\xb6\xaa\x06\x79\
-\x43\xc4\x0a\x37\x20\x95\x2b\x1c\x06\x36\xb0\x43\x5d\x06\xa7\xaf\
-\x78\x9a\xd6\x40\x57\x5b\x4c\xcd\x31\x10\x2b\x85\xc1\xe7\x02\xd0\
-\xeb\xaf\x2a\x00\x1d\xfd\xbe\xb5\x8a\x50\x11\x2a\x02\x28\xa2\x88\
-\x22\xa0\x84\x12\x4a\xee\xed\x30\x76\xec\xd8\xef\x23\xa4\x5c\x95\
-\xab\x72\xa0\x8c\x32\xca\x80\x02\x0a\x28\x00\x3e\xe5\x53\x3e\x05\
-\xd5\x57\x3d\x45\x3f\x60\xb9\x5a\xcc\x3b\x20\x43\xe4\xbf\x94\x37\
-\x88\x4e\x22\x5e\x26\x80\xae\x89\x2c\x39\x06\x9c\x7d\x5d\xcd\xf5\
-\x4d\xa0\x97\x88\x8b\xaa\x2f\xe8\x87\xc5\x7c\x15\x00\xae\x6c\x7d\
-\x9e\xfa\x01\x2a\x2c\xb5\x45\xe2\x55\x00\xd3\xdb\xce\x70\x90\x67\
-\xc5\x52\x99\xf3\x7b\x3c\x7f\x5a\x01\xfa\xbb\xfa\xbb\xfa\xbb\xf7\
-\x05\x5e\xe6\x65\x5e\xe6\xb7\xd7\x9d\x9a\xae\xa6\xab\x69\xc0\x14\
-\x12\x79\x0b\x34\x87\x56\xab\xd5\x00\xe9\xa4\x93\x76\xaf\x07\xa8\
-\x3c\x95\xa7\xf2\x40\x7d\xa9\xbe\x54\x5f\x02\x1b\xd9\xc8\x46\xa0\
-\x15\x7e\xaa\x1c\xf0\xc3\x8b\x91\x20\x3b\xa9\x5f\xd4\x50\x90\x4b\
-\xa4\x49\x55\x81\xfa\x5a\xb6\x90\xcd\x41\xee\x97\x99\x72\x20\x68\
-\x13\x98\xc8\x39\xd0\xbe\xd2\x5e\x54\xdf\x81\xa3\x9d\x3e\x50\x15\
-\x42\xf9\xa3\x35\x43\x45\x63\x88\x74\xf4\x78\xd6\x6b\x3f\x08\xa7\
-\xec\x20\x5b\x01\x53\x80\xd7\xff\x4a\x09\x8c\x10\x2f\x89\x17\xe1\
-\xd7\xc1\x47\x1d\x54\x07\xd5\xcf\x08\x55\xab\xaa\x54\x15\xb8\x1e\
-\x70\x35\xd7\x3b\x80\xf6\x9a\x36\x87\xcd\x50\xf5\x63\xd5\xf9\xaa\
-\x4a\xd0\x47\xea\x2f\xeb\xef\x40\x50\x4d\x50\x55\x90\x0d\x0c\x61\
-\x86\xc6\x86\x30\x50\x39\x2a\x57\xdd\x02\x55\xac\x4a\x54\x09\xa8\
-\x09\xea\x11\x5e\x01\x35\x9e\xb5\x6a\x05\x48\x9b\xec\xa2\x7a\x80\
-\xab\x50\xdf\x2a\x32\x41\x0e\x16\x8b\xc4\x1d\xa0\x0f\x0e\xae\x82\
-\x56\x8f\x70\x4c\xa0\x35\xd0\x86\xf3\x1c\x54\xa6\xd4\xde\x11\x97\
-\xa0\xe6\x67\xe7\x2d\xd9\x1b\xc6\x3e\x1b\x3d\xdf\xd2\x16\x64\x9c\
-\xb8\x28\x17\xff\x1e\xcf\x9f\x2e\x01\xe7\x65\x67\xb6\xf3\xda\xbd\
-\xb5\xfd\x21\x7b\x8c\xbd\x3f\xd7\x32\x36\x65\xdc\xb9\x39\x1c\x0a\
-\x2d\x85\x8f\x16\xec\x05\xa7\x74\x6a\xae\x39\x90\xd5\x27\xfb\x74\
-\x76\x4f\x58\xec\xb3\xf8\x83\x25\x39\xb0\xc5\x6d\xeb\x3f\xb7\x3a\
-\xa1\xaa\x53\xd5\xe0\xaa\xd1\x60\xac\x67\xf4\x37\x7a\x02\x8a\x1a\
-\x6a\x80\xe5\x2c\x56\xcb\x80\xd5\x6a\x19\x13\x41\x06\xcb\xf5\x32\
-\x1f\x9c\x67\x5c\x87\xf5\x8b\xa0\xaf\x13\xab\xe4\x31\x10\xdd\x44\
-\x2f\x39\x0c\xc4\x0f\xf2\x59\xf9\x36\x38\x36\xbb\x86\x89\x3c\x28\
-\xaf\x5f\x73\x58\xc4\x83\x48\x11\x2d\xc4\x7a\x30\x1f\x30\xce\x57\
-\x7b\x41\xac\x12\xaf\xc9\x63\x7f\x81\x80\x85\x1d\x17\x37\x5c\x36\
-\x16\xf4\x4e\x32\xc5\x30\x88\x77\xe7\x1f\x5b\x70\x60\x51\x40\xf4\
-\xdb\xe9\x3b\xaf\x1f\xcf\x98\xd6\x36\x43\x3f\x25\x5e\xd0\xf7\x83\
-\xc5\xdb\xf2\xb8\xc7\x33\x50\xf1\x5e\x65\x71\x65\x20\xf8\xe7\x5a\
-\x0f\x05\x84\x41\xd7\xf5\xdd\x26\x76\x03\x4e\x87\x9f\xba\x7c\xea\
-\x1a\xcc\x2f\x9d\xff\xc2\xbf\x92\x20\xb5\x71\xea\xbc\xcb\x46\x90\
-\x13\x65\x07\xd9\x05\x78\x96\xd3\x9c\x02\x69\x91\x36\x79\x0d\x5c\
-\x33\xf4\x6a\xfd\x73\x70\xf9\xb9\x2e\xca\xd5\xa0\x3b\xc4\x7e\x39\
-\x06\xf4\x16\xa2\x97\x5a\x0b\x7a\xa9\xb0\xaa\x95\x50\x56\x66\xb7\
-\x88\xa7\xa1\x66\xb1\x23\x57\x98\x40\x46\xca\x9d\xb2\x05\xb0\x5e\
-\xb5\xa6\x1e\xc8\x9d\x72\x89\x6c\xf7\x7b\x5c\xff\xb1\x04\xd6\x3c\
-\xb0\xee\xad\x8d\xf3\xa1\xf6\x05\xc7\x09\xe7\x66\x2a\xbd\x8c\x9e\
-\xba\xc7\xec\x21\x45\x01\x5d\xfc\x43\xac\x8b\xe7\x37\xb4\xd6\xb3\
-\x8e\xb6\xce\x6e\xea\x5e\x7d\xcb\xd6\xc0\xee\x03\x39\xb7\x52\x16\
-\x9c\x49\x84\xca\xe2\xca\x8b\x95\x65\xa0\x3e\x52\x01\xea\x35\xf0\
-\x7d\xcb\xb7\xb9\xef\x36\x18\xf0\xf0\xc0\x1b\x4f\x07\x42\xa1\xab\
-\xf0\x99\xc2\xbe\x70\x62\xca\xc9\xb3\xa7\x66\x40\xf3\x51\x65\x47\
-\x22\x07\x40\xf3\xc1\x91\x67\x9a\x6d\x04\x7d\xb7\x3e\x59\xb4\x05\
-\xd1\x52\x4c\x37\xdc\x00\xd7\x2a\xe9\x2d\x47\x80\x66\xd1\xaa\x78\
-\x1f\x0c\x1b\xb0\xa8\x7f\x42\xad\xd2\xc3\xe4\x78\x28\x9b\x6a\x1f\
-\x25\xfa\x83\x58\x29\x9d\xaa\x13\x70\x85\x4b\x3c\x0b\x6a\xb2\x08\
-\x95\x23\x41\xae\x30\x6c\x31\xb4\x05\x60\xe9\x7f\x45\xc0\x67\x6b\
-\xd6\x2c\x58\x3f\x09\xbc\xad\xde\x5d\xbd\x9f\x01\xf7\x55\xee\x99\
-\xce\xfc\x5e\xbe\xd6\xb7\xac\xab\xfc\x9a\x2d\x6b\x19\x30\xdf\x7f\
-\xb8\xbf\x5b\xe8\xe5\x5c\xef\x5c\xcf\xdc\x42\x38\x51\x7d\xbc\xff\
-\xf1\xe9\x90\xa5\x67\xf6\xbd\xb9\x1e\x6c\xed\xab\xaf\x54\xaf\x03\
-\xb1\x49\x7c\x20\x87\x81\xa5\xc0\x62\x33\xef\x82\x86\x5f\x37\xfa\
-\xbe\xf1\x76\x88\xfd\xa6\x73\xa7\x4e\x43\x21\xea\x1f\x51\x11\x0f\
-\x5f\x80\xfc\xa4\x02\xff\x82\xeb\x90\xd1\x3c\x73\x44\x56\x6f\x68\
-\x54\xd6\xa8\x4d\xa3\x06\xe0\xbf\xc0\x3d\x41\xec\x04\xfb\x3a\xfb\
-\x51\xd1\x06\xf4\x4f\xd4\x5e\x2d\x05\x9c\x76\xd1\x5b\xae\x85\xb2\
-\x70\xfb\x5e\x71\x18\x5c\xbd\x45\x8d\x1a\x07\x2c\x63\x2f\x3b\x41\
-\x4d\xe3\x7d\xb5\x16\x94\x97\x98\x2d\x32\x41\xeb\xa8\xda\x1b\x7f\
-\xed\x01\xf1\xf7\x70\xfe\xf6\x75\xac\x45\x8b\x88\x88\x88\x88\xdf\
-\xe2\x11\x57\xaf\xa6\xa7\xa7\xa7\x73\x7d\xd9\xa0\x15\x0f\xaf\x6a\
-\x18\x50\xd5\xb8\x57\xe3\x07\x1b\x1d\xd8\xde\x36\xf4\x66\x48\xb3\
-\x7a\x0d\xba\x5d\x4d\xf9\xfa\xf4\xf1\xd3\x3a\xec\x7d\x74\xcf\xd8\
-\x1f\x3b\x42\x55\xe7\x2a\x5b\xe5\xf7\x60\x68\x6c\x78\xcc\x38\x1e\
-\x8c\x06\x63\xb8\xd1\x13\xd4\x04\xf5\xb4\x1c\x00\x8e\xf2\xda\x1f\
-\x1d\xdb\xc0\x31\xce\xd9\xda\x71\x1d\xdc\x1b\xba\x57\xba\xf7\x85\
-\x27\x5d\x7d\x1e\xed\x33\x04\x7a\x4c\xed\xb9\xaf\xd7\x02\x28\x8f\
-\x2e\x8f\x2a\x7b\x00\x9a\x94\x3e\x68\x7f\xe0\x07\x70\x7f\xd2\x32\
-\xca\xb3\x14\x2e\x69\xc5\x13\xb5\x5d\x50\x72\xd9\xb9\xc9\x2d\x04\
-\x6c\x1d\x9c\x49\x72\x25\x88\x34\xd9\x42\x8d\x01\xbc\x39\xc2\x31\
-\x50\x63\xd4\xfb\xbc\x03\x5c\xe1\x67\x75\x7e\xcd\x06\x02\x45\x6b\
-\x26\x8d\xb1\x53\x69\xfc\x84\xb9\xbc\xf2\xe6\x1b\x3d\x0e\x34\x6a\
-\x71\x5f\x0f\xa8\x03\xae\xdd\x9d\xee\x8d\x4d\xeb\x4e\x6b\x6e\x49\
-\x9a\xa6\x69\x9a\xe6\x56\x6a\xa9\x31\xaf\x33\xbf\xde\x2d\x2a\xf4\
-\xfd\x90\x07\x42\x06\x77\x28\xca\x5e\x94\x25\xb2\xae\xc0\xfe\xca\
-\xbd\xbd\xf6\xfa\x80\xc8\x12\x0f\x89\x8e\x10\xb8\x22\x68\x4f\x50\
-\x2a\x74\x6e\x10\x77\xa8\xcb\xa7\xf0\xfa\xe2\x49\x83\xdf\x38\x0a\
-\x6f\x0c\x7a\x73\xe4\x9b\x27\xa1\xeb\xcc\xee\xd1\x8f\x0f\x85\xc0\
-\x0f\x82\xc6\x04\x9d\x04\x8e\x51\x89\x06\x7b\xe6\xed\xb2\xec\x32\
-\xc0\x85\xb3\xe7\xa7\x9f\xdb\x00\xc1\xaf\x04\x0f\x0c\x8e\x80\xb2\
-\x21\x65\xd3\xca\xae\x81\xea\xae\x1e\x96\xa5\x60\x1f\xe0\xfc\x4c\
-\x6f\x08\xe5\x93\xec\x46\xfd\x0a\xb8\x92\xf5\x1b\x72\x1f\xc8\x0a\
-\x31\x5d\x86\x82\x98\x2b\x5e\x97\x6e\x20\x0f\xcb\xcd\x72\x20\xc8\
-\x2c\xf9\xa3\x7a\x11\xf4\x81\xaa\xbb\xb0\x82\xdc\x2d\x2f\xaa\xc7\
-\xfe\x6d\x0f\xf0\x8c\xad\xf3\x6e\xd1\x14\x52\x40\x81\x69\x96\x57\
-\x2b\xf3\x74\x73\x67\xed\x40\x40\x52\xc0\x48\xff\xa5\x8f\x46\x59\
-\xca\x2c\x67\x2d\x2d\x2c\xbb\x4f\x8d\x38\x79\xe4\xd4\x52\x50\x9d\
-\xd8\xa9\x7d\x0f\xbe\x63\xad\xd9\xd6\xe7\xa1\xe1\xc7\x8d\xfc\x1a\
-\x4d\x85\x27\x87\xf5\x3e\xd6\xbb\x1b\x84\xfb\x34\x5d\xdd\x74\x05\
-\x38\x3f\x75\xb9\xbb\xfc\xc0\xb8\xc1\x34\xc2\x6d\x3f\x94\x74\x2f\
-\xf9\xa2\xf4\x0a\x64\x8d\xcb\x8c\xb9\xd9\x13\xaa\x72\x2b\xe6\x55\
-\xbe\x0e\x47\xa6\x25\xf5\x48\x9a\x01\x6d\x3f\x6e\x37\xba\x5d\x1b\
-\xd0\x26\x6a\x1f\x6b\x5b\x41\x9a\xe5\x33\x32\x1c\x54\x92\x5a\x49\
-\x30\x88\x5f\xc4\x32\x59\x08\xe8\x44\x51\x08\x54\xd0\x53\x09\x60\
-\x94\x4a\xe6\x11\x50\x49\x38\xd1\x81\xb5\x64\x53\x09\xae\x03\xfa\
-\x2e\xbd\x37\xb8\xb9\x8c\x69\xc6\x15\x00\x04\x60\xf9\x1d\x01\xc6\
-\x41\x75\xde\x2b\x4d\xdd\x52\xb9\x2a\xc7\x7d\x95\xf7\x66\x9f\x79\
-\x3e\x9f\x69\x1f\xfa\x27\x58\x3f\xb2\x2e\xa9\x37\xcc\x75\xd6\x35\
-\xdc\x19\x09\x15\x45\x15\x4f\x54\x9c\x04\xeb\x06\xeb\x12\xeb\x41\
-\x30\x47\x78\xb4\xf3\xe8\x04\xc6\x1b\xc6\x7d\xc6\x1b\x70\xb3\xe6\
-\xe6\xb5\xcc\x04\xa8\x3e\x6b\x7b\xcf\x96\x0f\xce\x74\x67\xb8\xb3\
-\x0f\x64\xf5\xcc\xaa\x9f\xbd\x12\x9c\x1d\x5c\xa9\xae\xc3\xe0\x91\
-\xe1\x19\xea\x39\x1a\xb4\x9f\xb4\xaf\x0d\x05\x50\xbe\xaa\xbc\x75\
-\xb9\x17\x54\xc7\x57\x7d\x51\xb5\x0e\xea\x45\xd7\x7b\x30\x78\x14\
-\xa8\x20\x15\xa0\x42\x40\xce\x93\xb3\x48\x00\xf9\xa2\x1c\x2d\x0d\
-\x40\xaa\xfa\x49\x65\x01\xd5\x54\x52\x0a\xea\x08\xff\xe4\x17\x60\
-\xb9\x7a\x9b\xa5\xc0\x72\x50\xa9\xc0\x72\xc2\xc9\x06\x71\x50\x6e\
-\x97\xd9\xc0\xff\x3a\x99\xde\x7d\x0d\xda\x72\xeb\xbc\xfd\x65\x2d\
-\x50\x0b\xd2\x82\xdc\xa2\x0c\xd5\x86\x12\x43\xbe\x77\x07\xe3\x34\
-\xa3\xcd\xb0\x46\x7b\xca\xe4\x6b\xf2\x37\xd5\x82\x57\xb5\xf7\x0a\
-\xaf\x7d\xe0\xbb\xde\x7a\xcd\x9a\x09\xbe\xe7\xfd\x4c\x7e\xc1\x50\
-\x32\xbe\x64\x71\xc9\x47\x70\x65\xe5\x95\xd8\x2b\x5b\x20\x75\x4e\
-\xea\x95\xd4\x61\x70\xb9\xc1\xe5\x3e\x57\xbe\x83\xf4\xcf\xd3\x0e\
-\xa5\xa5\x42\xd1\x8a\x82\xae\xf9\xe5\xe0\xd5\xd3\xdb\xe9\x1d\x01\
-\x3e\xa9\xbe\x76\x9f\x6c\xf0\x9a\xe3\xd5\xdf\x7b\x12\x18\x23\x8d\
-\x91\xc6\x32\xb0\xf4\xb0\xf4\xb3\xd4\x07\xbe\x65\x2f\x5b\x41\x7d\
-\xac\xbe\x57\x15\x20\xa6\x8b\x29\xb2\x3d\x88\x61\xf2\x39\xe9\x0d\
-\xa2\x9f\xec\x2f\xd3\x41\x6e\x15\x09\xd2\x01\x32\x54\xe6\xc9\xfe\
-\x20\xa3\x65\x86\x8a\xa7\x97\x7c\x44\x6f\x2a\x67\xe0\xad\x82\xe5\
-\x0e\xf5\x07\x87\xa1\xbb\x04\x08\x7b\x9d\xaf\xb8\x43\x7d\x1a\x10\
-\x56\xfa\x9a\xd8\x27\x56\xeb\xf3\xd4\x6b\xe5\x4b\xcb\x22\xcb\x28\
-\xef\x15\x90\x1b\x70\x2d\x60\x0b\xab\xc3\x1e\x6f\xd8\xae\x61\x05\
-\xf8\xde\xf6\x7b\xc3\xef\x6d\xb0\xa6\x5a\xbd\xad\xcd\xc0\xba\xdd\
-\x7a\xc9\xba\x19\x72\x0a\xb2\x3b\x64\x99\xe0\xe2\xe9\xf3\xb1\x17\
-\x1e\x84\x4b\x3d\x2e\x24\x9e\x7f\x04\xb2\xb4\x9b\x8f\x64\x64\x83\
-\x7f\x52\xc0\xfe\xc0\x16\x10\xd4\x2c\x28\x33\x38\x04\x7c\x16\xf9\
-\x68\x3e\xee\x10\xb6\xa3\x61\x7c\xc3\xb6\x10\x9a\x16\x7a\x33\xf4\
-\x38\x18\x02\x0d\x99\x86\xdd\xc0\x31\xed\x84\xb6\x1f\x54\x57\xa5\
-\x54\x3d\x50\x83\xe4\x5a\x59\x1f\x64\x37\x31\x5b\x2a\x10\xfe\xfa\
-\x55\x59\xa1\xde\x71\x6c\x70\x0d\x11\xbd\xed\xad\xcb\x8e\xd9\xd6\
-\xb8\x06\xe5\x4f\xbf\xdd\xb8\xec\x4d\xc7\xda\xdc\x23\x33\x1b\x3d\
-\x1d\x1c\xf1\x1d\x23\x72\x27\x96\x96\x39\xda\xff\xc7\x39\x40\xfe\
-\x58\xd7\x04\x6b\x0f\x9a\x67\x99\x97\x5b\x16\x9a\xe6\x9f\xaa\x77\
-\x6a\xcb\xc9\x57\x32\x4b\xe3\xa6\x77\x8d\x8d\x3b\x5e\xe6\x19\x63\
-\x8f\xf9\x32\xe6\x5d\x7f\xce\x3c\x7b\xb6\xe5\xb9\xc6\xe0\xd6\xd0\
-\x4d\x77\xab\x84\x80\x86\x01\x36\xff\x3c\x08\x8e\x09\x5e\x10\x3c\
-\x1d\x8a\x9b\x15\x8f\x2d\x5a\x04\xae\x3c\xe7\x67\xae\x79\xd0\x24\
-\xbc\xe9\x57\xe1\xde\xe0\xb5\xd3\x6b\x94\xd7\x1a\xa8\x0d\x77\x1c\
-\xa8\x7d\x08\x8c\x73\x8c\x13\x8c\x9d\xa0\xed\xa8\xc7\x9e\x8a\xa9\
-\x0f\x21\x01\x21\x81\xf5\x96\x42\xc9\xb3\x25\x63\x4b\xba\x80\xb6\
-\x84\x96\xc4\xa8\x08\x7d\xa5\xfe\x90\x88\xaa\x4d\x2a\xdf\x62\x2b\
-\x57\x5f\x95\xcf\xaa\x9c\x52\xe3\x2b\x1a\xe5\x87\x96\x68\xb6\x65\
-\x7a\xe4\x9d\x8a\xc2\x37\xab\xba\xbb\xe6\x16\xff\xb3\xdc\x52\xb3\
-\x51\x7c\x9d\x71\xdb\xb1\xc1\x35\x40\xe9\x5f\x5d\x89\x6e\x39\x73\
-\xc6\x89\x27\xa0\x34\xdd\x7e\x4e\xfc\x3a\x08\x6d\xf9\xb7\x04\x70\
-\xf7\x9b\x9d\x6c\xef\x11\xec\xd1\xd5\xa3\x8f\xd2\x77\x5d\xfb\x3e\
-\x78\xa7\x7f\x5e\x83\x41\xa3\xe3\x07\xc6\x4f\x3b\x91\xf8\x58\xf0\
-\x63\xa6\x98\xc0\x3e\x89\xce\x23\xce\x71\xce\x05\x90\x1f\x5d\xf0\
-\x42\xc1\x69\x30\xc5\x99\xba\x9b\xf2\x20\x38\x2e\xe8\x42\xf0\x21\
-\x68\x32\xb5\xa9\xb1\xc9\x22\xd0\xe3\xf4\x6f\xc5\x27\xe0\x48\x73\
-\x48\x47\x20\xd8\x17\xda\xb7\xd9\x17\x81\x39\xd1\x51\x6a\x9e\x0b\
-\x91\x85\x11\x44\x5e\x84\x1e\x81\x3d\x9e\x78\x62\x2f\xe8\x9e\x7a\
-\xb1\x3e\x27\x23\xa5\xca\x58\x95\x52\x75\xed\xa8\xa9\x34\xa7\xd2\
-\x62\xfb\xe9\xe2\xe4\x13\x1f\x67\x4c\x56\x6f\x35\xeb\x76\xf2\xb5\
-\xec\x04\xd5\x49\x8d\xab\x4a\xad\xdd\x20\xa2\x6a\xf6\x88\x4d\xf2\
-\x53\x35\x87\x50\xed\x45\xed\x0d\xed\xa5\xdb\x5e\x5c\xd6\xc2\x39\
-\xb6\x63\xbe\xc9\x64\xb8\xae\x2d\xcb\x2c\x2d\x9b\xe1\x08\x55\xef\
-\xc3\x2d\xb1\x98\xb8\xb4\xdf\x2b\xc0\x18\x14\x14\x18\x18\x18\x78\
-\xdf\x60\x50\xa1\x65\x6b\xd9\xae\xdb\x5a\xa1\xe6\xd0\x5c\x95\xbd\
-\xaa\x16\x54\x7d\x56\xe9\xa1\x25\x66\x0c\xce\xf8\xea\xe6\x57\xb5\
-\x03\x62\x07\xc6\xf6\xe8\xb8\xa4\x69\x5e\x54\xef\xa8\x76\xad\x3a\
-\x06\xb7\x37\xc7\x99\xdb\x98\xa3\xc0\xb8\xdd\xd8\xc6\x58\x0b\xe6\
-\x26\xe6\xee\x96\x25\x60\xd9\x64\x8e\xb3\x1c\x00\xb7\x04\xf7\x6f\
-\xdc\x0e\x80\xdb\xc3\x6e\x7e\x6e\xcf\x81\xcf\x97\xde\x13\x7d\xd6\
-\x41\xf3\xf6\x91\x2d\x23\xed\xd0\x65\x79\xe7\xc3\x9d\x66\x80\xfb\
-\x08\xf7\x66\xee\x47\x2e\x26\xee\x79\x61\xcf\xb0\x3d\xbd\x5e\x6d\
-\xf6\x5c\xab\xa1\xcf\x0d\x7e\xea\xf3\x9a\x0d\xf9\x3f\x5c\x48\xaa\
-\xbe\xbc\xd4\xab\x28\xd2\xd5\xbd\x6d\x78\x59\x41\x4a\xe5\x4c\xad\
-\xd4\x62\x72\x7d\xa6\xb7\x92\xf3\xd9\xc6\x5a\x86\xaa\xc3\x39\x2b\
-\x09\xa1\x40\x7d\xbc\xad\x84\x29\x72\x94\x1a\x9e\x73\x4c\x54\x88\
-\xb9\x62\x2b\xe4\x9e\x59\x72\xa1\xdb\x1b\xfc\xf7\x56\x7f\x41\x48\
-\x42\x48\x02\x84\x6e\x09\x79\x2a\xa4\x2f\x34\x6a\x1e\x66\x0e\x33\
-\x9b\xf3\xbc\x5f\xf1\xfc\xc0\xf3\xbd\xe8\x9e\x43\xbd\x87\x58\x06\
-\xbb\x5e\xed\x74\xa3\xdb\x8d\xc8\x1b\xfe\x87\xfb\xe8\x76\x61\x10\
-\x9e\x8e\xf1\xd5\x17\x6c\xe1\xb6\x2e\x4a\x15\xbc\x59\x50\x5e\x38\
-\x56\xa9\x9c\x95\xb9\xdd\x73\x85\x52\x99\x67\xb3\x96\x67\x47\x2b\
-\x75\xcb\xf7\xd6\xa4\x3c\x1f\xa5\xca\x4f\x95\x57\x55\x0c\x51\x4a\
-\xf8\x89\x30\x11\xae\xc7\x97\x9c\x29\xd9\x5f\x72\x2a\x59\x2e\x1a\
-\xb9\xa8\xfd\xa2\x91\xfd\x36\xd7\x65\x11\xe8\xdd\x50\x0f\xf9\x32\
-\x78\xb7\x57\x6c\xf3\x1d\xb1\x71\x3d\xf7\x87\xbe\xd2\x7d\xe4\xec\
-\xdc\x7d\xed\xa6\x47\x37\x1a\xff\xea\xca\x03\x13\x17\xa7\x84\xde\
-\x9e\x30\xeb\xa7\xe8\xf1\x83\x1b\x6c\x9a\x90\xb0\x57\xaf\xf7\x69\
-\xfd\xde\x09\x53\x7f\x4e\x86\x30\xfb\xb8\x45\xbb\x03\xfe\x7b\xbc\
-\xbf\x2b\x81\x3b\x6f\x17\xac\x2c\x58\x09\x74\xa1\x23\x1d\x81\x34\
-\x1c\x38\x1c\x03\xcc\x9d\xdc\xfb\xb9\x3f\x9d\x66\xd8\x56\xfd\xcd\
-\xb4\xed\x6e\xa5\x1f\xde\xa9\x97\x1f\x53\xd0\xf9\xa4\xfd\xdd\x5b\
-\x73\x4a\xdf\xfd\xa8\x5b\x60\xab\x26\xad\x6e\xb6\xaa\xed\x39\xd5\
-\xd7\xcb\xf7\x2d\x9f\x43\x11\x6b\x4c\xd2\x34\xdc\xff\x5b\x1f\x89\
-\x81\x0e\x5a\x2a\xe7\xc5\xe3\x22\x4f\x1f\x61\x3b\x6d\x8b\xb0\x5b\
-\x6d\x1f\x64\x86\xa7\x7c\x9e\xb2\x3f\xe5\xfa\xa1\xab\x0b\xd5\xc2\
-\x82\x85\x1e\x7b\xd2\xb6\xac\xdf\x72\x72\xcb\xfa\x6c\xaf\xba\x2c\
-\xaa\x9f\xd6\xa6\x96\x97\x15\xf5\x73\xd6\xd3\xf2\x3d\x47\xf8\x29\
-\x63\x26\x5e\x8c\x67\x90\x23\x4f\x0d\x93\x05\xe2\xdd\x4b\xbd\x45\
-\xa2\x73\x9f\xcb\xed\xdb\xd9\xe2\x19\xd3\xcf\xe6\xab\x65\xe3\x4c\
-\xb9\x95\x03\xb2\xd7\x43\x9e\xe7\x66\x8f\x51\xa5\xff\x3d\x01\x7f\
-\xf6\x47\xf1\xf3\x77\x79\x7b\xa8\xce\x7b\x2c\xac\xf3\x96\x2f\xe2\
-\xf2\xe2\xf2\xe3\xf6\x05\xcc\xeb\xff\x5d\xff\xaf\xfa\x87\x35\x88\
-\x8d\x58\x12\x91\x1c\xb1\x35\xe0\xa6\x61\xa4\xc1\x62\xdc\xa0\xb5\
-\xcd\xfc\x26\x73\xda\xcd\x79\xe5\xb5\xfb\xcf\xee\x33\xee\x0b\xbc\
-\xfd\xf3\x8f\x96\xbd\x8f\xed\x1d\x5d\x9c\x28\x6b\xa4\x5d\xe6\xd6\
-\xdc\x4d\xb9\x76\x56\x9d\x77\x2d\x0d\xbb\xda\x7f\xf1\xeb\x4f\xd2\
-\xdf\x23\xb7\xe6\x62\x9e\xd3\xf0\x71\xc4\x87\x5d\x5e\x1d\xf9\xaf\
-\x07\xab\xb3\xda\x95\x8e\x30\xb4\x2a\x1e\x4e\x0b\xe3\x25\xf7\x53\
-\x95\xcd\x8a\xb7\xa4\x2f\x3a\x19\x0a\x45\x7b\x77\x4f\x9a\x16\xf9\
-\x27\xd1\x00\xff\x03\x36\x3d\x47\xed\x96\x05\x75\x01\x00\x00\x00\
-\x2e\x7a\x54\x58\x74\x63\x72\x65\x61\x74\x65\x2d\x64\x61\x74\x65\
-\x00\x00\x78\xda\x33\x32\x30\xb0\xd4\x35\x30\xd6\x35\x32\x0f\x31\
-\xb4\xb0\x32\x31\xb1\x32\x32\xd0\x35\x30\xb3\x32\x30\x00\x00\x42\
-\x43\x05\x1a\xb6\x7e\xb5\x2e\x00\x00\x00\x2e\x7a\x54\x58\x74\x6d\
-\x6f\x64\x69\x66\x79\x2d\x64\x61\x74\x65\x00\x00\x78\xda\x33\x32\
-\x30\xb0\xd4\x35\x30\xd6\x35\x32\x0f\x31\xb4\xb0\x32\x31\xb1\x32\
-\x32\xd0\x35\x30\xb3\x32\x30\x00\x00\x42\x43\x05\x1a\xd4\x46\x42\
-\xd1\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
-\x00\x00\x04\x49\
-\x89\
-\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
-\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
-\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\
-\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x00\x48\x00\x00\
-\x00\x48\x00\x46\xc9\x6b\x3e\x00\x00\x03\xbb\x49\x44\x41\x54\x58\
-\xc3\xed\x94\x4f\x4c\x54\x57\x14\xc6\xbf\x19\x98\x37\xfc\x49\x04\
-\x86\x7f\xc6\x99\x79\x04\x52\xcb\xca\xb1\x63\x69\x53\x9c\xd9\x34\
-\x29\xab\xa6\x49\xd1\x90\xea\x82\x36\xb1\x81\x34\xb4\x65\x12\x5b\
-\xba\x34\x0d\x1b\x22\x4d\x4d\xaa\x49\xd9\x55\xad\x09\x0a\x95\x50\
-\xd2\x85\x6d\x48\x77\x35\xa6\x4d\x68\xa3\x16\x35\x62\x2b\xa1\xcc\
-\xcc\x9d\x3b\xa0\x23\xc5\x99\xf7\xee\x7b\xef\x9e\x2e\xde\xf0\x47\
-\x33\x38\x83\xe2\xaa\x7c\xc9\x7b\x8b\xb3\xb8\xbf\xef\x9e\xf3\x9d\
-\x0b\x6c\x6b\x5b\xff\x77\x39\x72\x15\x87\x86\x86\x00\x60\x97\x94\
-\x72\xc7\xd4\xd4\xd4\x4c\x7d\x7d\xbd\x35\x30\x30\xf0\x5c\x0c\x14\
-\xe5\x2a\x76\x76\x76\x42\x51\x94\x37\x02\x81\xc0\xb7\x81\xc0\xde\
-\x17\x14\xc5\x95\x6a\x6c\x6c\xe4\xdd\xdd\xdd\xd6\xc4\xc4\xc4\x96\
-\x1a\x70\xe6\x2a\xba\xdd\x25\x70\xb9\x14\xf8\xfd\xaa\x7f\xdf\xbe\
-\xe0\x87\xe1\x70\xf8\x87\xf6\xf6\x03\xe7\x4a\x4a\x4a\xdf\xea\xef\
-\xef\xdf\x41\x44\x68\x6e\x6e\x7e\x7e\x06\x88\x24\x88\x88\x88\x24\
-\xdc\x6e\x37\xbc\x5e\x9f\x27\x18\x0c\x76\x84\x42\xfb\x2f\xb4\xb5\
-\xb5\x7d\x7f\xf1\xe2\xd8\xfb\x5d\x5d\x5d\x3b\x01\xe0\xe0\xc1\x03\
-\xcf\x64\xa0\x38\xb7\x01\xb2\xff\x04\x48\x49\x90\x52\xa2\xb8\xb8\
-\x18\xf5\xf5\x3b\xcb\x3c\x9e\xea\xd7\x7d\x3e\x7f\x58\x6d\x68\xb8\
-\x31\x3e\x3e\x3e\x12\x8d\x46\xc7\x14\x97\xeb\x8e\x5f\x55\xe5\xe0\
-\xe0\x17\x5b\x67\x80\xc8\x6e\x02\x40\xeb\x6a\x04\xa7\xd3\x09\x4f\
-\x75\xb5\xab\xa2\xb2\x72\xaf\x77\x97\x77\x8f\xdf\xcf\xba\x55\xb5\
-\x61\x82\xb1\xf8\xf9\xbe\x4f\x3f\xf9\xc3\xaf\x36\x88\xde\xde\xde\
-\x82\x0d\xe4\x0c\x61\x47\x47\x07\x88\xe4\x8b\xaa\xaa\xbe\x53\x5e\
-\x5e\x5e\x24\xb3\xf0\xd5\x4f\xda\xbe\xdc\x6e\xb7\xa3\xb2\xaa\xaa\
-\xb2\xa6\xba\xf6\xb5\x8a\x8a\xaa\xb7\x6b\x6a\x6b\x03\xa6\x61\x64\
-\x5a\x5a\x5e\x66\x03\x03\xc7\xc5\xd5\xab\xbf\x23\x16\x8b\x3f\x4d\
-\x06\xb0\xd2\x01\x7b\x1c\x8f\xc1\x89\x08\x92\x08\x96\x25\x41\x92\
-\x50\x5a\x5a\x0a\xbf\xaa\xd6\x04\xf6\xbc\x74\x38\x18\x6c\x19\x7d\
-\xe5\xd5\xd6\xb1\x99\x99\xdb\xef\x1d\x3a\x74\xb8\x0e\x00\x8e\x1c\
-\x79\x77\x43\x03\x39\xdf\x81\x91\x91\x51\x48\x69\xbd\x19\x0a\x85\
-\xc7\xeb\xea\xea\x5c\x96\x94\xab\xe0\x15\xf8\x7a\x23\x24\x65\x36\
-\x2b\x04\x49\x12\x42\x08\xa4\x52\x29\x91\x4c\xf2\xe9\x78\x6c\x7e\
-\x64\x69\xe9\xc1\xd9\xa2\xa2\x22\x06\x00\x3d\x3d\x3d\x9b\xca\xc0\
-\x23\xb7\x5e\x0f\xb7\x3b\x60\xc1\x32\x2d\x18\xa6\x05\xcb\xb2\x20\
-\xb3\x46\x00\x40\x51\x4a\x14\xb7\xbb\xa4\xc9\xe9\x74\x36\x12\x91\
-\xb2\xa9\x10\xda\xc1\x5b\xdb\x82\xc7\xe1\xa6\x65\x41\xe8\x02\xc2\
-\x30\xed\x31\xac\x8e\x0a\x30\x4d\x13\xa9\xd4\xbd\x34\xe7\xec\xa7\
-\x64\x32\x71\x32\x1e\x9f\xbf\x5c\x56\x56\x6e\x6c\x14\xcc\x3c\x1d\
-\x90\x6b\x60\xb2\xd7\x51\xd7\x05\x34\x4d\x3c\x0a\x06\x60\x59\x12\
-\xff\x2e\x3d\x30\x78\x92\x5d\x49\x72\x76\x2a\x1a\x9d\xbb\xe4\xf5\
-\xaa\x0f\x2f\x9c\xff\x06\x37\x6e\xce\x6d\x98\x81\x27\xbd\x03\xd9\
-\xc7\x28\xdb\x72\x29\x91\xce\x68\xd0\x75\x61\x8f\x04\x6b\xab\xb9\
-\xbc\xbc\x2c\x17\x92\x89\x69\xce\xd9\x50\x82\xc5\x46\x5b\xf7\x87\
-\x17\x87\x87\xcf\x61\x72\xf2\x67\xe4\xd3\x06\x06\xec\x01\xc8\xec\
-\xed\x57\xe0\x9a\x26\xd6\x6d\x05\x90\xd1\xd2\xb4\xb0\xc0\xe7\x78\
-\x82\x9d\xe6\x9c\x9d\x8e\x44\x22\x73\x47\x8f\x46\x10\x0a\xb5\xe6\
-\x05\x17\x36\x02\x49\x44\x92\xa0\x69\x3a\x34\x4d\x07\x49\x80\x40\
-\x10\x42\xc7\xe2\xe2\xc2\x02\xe7\x6c\x34\xc9\xd9\xd0\x6f\xbf\xfe\
-\x32\xed\xf3\x35\x10\x00\x9c\x38\xf1\x55\xc1\xf0\x7c\x21\x04\x11\
-\x41\x18\x26\x32\x19\x1b\x6e\x98\x06\x52\xf7\xef\x3d\xe4\x3c\x7e\
-\x89\xf3\xc4\xc9\xbf\xee\xdc\xba\xe2\xa9\xae\x35\xcf\x9c\x1d\xde\
-\x14\xb4\xe0\x0e\xc8\xec\xed\x0d\xd3\xc4\xd2\x52\x4a\xf0\x04\xbb\
-\xcc\x93\x89\x53\xf3\xff\xcc\xfe\xe8\xf3\xf9\x33\xc7\x07\xbf\x7c\
-\x6a\x70\x1e\x03\x80\xc3\x01\x12\x42\x90\xa6\x2d\x4a\x96\x88\x5f\
-\x4f\x72\xf6\x35\x63\xb1\xef\x9a\x9a\x76\xdf\x9f\xbc\x39\x8d\x63\
-\xc7\x3e\x7f\x66\xf8\x86\x06\x0c\x43\xc0\xe1\x70\xd2\xec\xec\xdd\
-\xbb\xe9\x74\x7a\x98\xb1\xd8\x99\x48\x24\x32\xff\xf1\x47\x1f\xa0\
-\xaf\xef\xb3\x2d\x01\x3f\xd1\x80\xae\xeb\x00\xf0\xe7\xec\xec\xdf\
-\xed\xd7\xae\x4d\xdd\xae\xa9\xa9\x23\x87\xc3\xb1\xb9\x93\xb7\xb5\
-\xad\x6d\x15\xa8\xff\x00\x75\x02\xa2\xba\x45\xfa\x93\x54\x00\x00\
-\x00\x22\x7a\x54\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\x00\x00\
-\x78\xda\x2b\x2f\x2f\xd7\xcb\xcc\xcb\x2e\x4e\x4e\x2c\x48\xd5\xcb\
-\x2f\x4a\x07\x00\x36\xd8\x06\x58\x10\x53\xca\x5c\x00\x00\x00\x00\
-\x49\x45\x4e\x44\xae\x42\x60\x82\
-\x00\x00\x10\xb6\
-\x89\
-\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
-\x00\x00\x20\x00\x00\x00\x20\x10\x06\x00\x00\x00\x23\xea\xa6\xb7\
-\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\
-\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd6\x00\x00\
-\x0d\xd6\x01\x90\x6f\x79\x9c\x00\x00\x00\x09\x76\x70\x41\x67\x00\
-\x00\x00\x20\x00\x00\x00\x20\x00\x87\xfa\x9c\x9d\x00\x00\x0f\x9f\
-\x49\x44\x41\x54\x68\xde\xed\x97\x67\x58\x15\xd7\xbe\x87\x7f\x33\
-\xb3\x1b\xbb\xb0\x29\x02\x02\x22\x22\x82\x08\x48\x87\x28\x46\xac\
-\x60\x49\xd4\x68\x6c\x89\x31\xf6\x9a\x98\x98\xc4\x6e\x62\x8a\x2d\
-\x16\x34\x60\x8f\xc6\x76\x8c\x47\x25\xb1\xc4\x1a\xf4\xa8\x60\x4d\
-\xc4\x82\x8d\x8e\xf4\xbe\xd9\x7d\x66\xf6\xcc\xec\x99\xf3\x41\x93\
-\x7b\xef\xc9\xbd\xc9\x39\x37\xb9\x39\x1f\xae\xef\x97\xdf\xac\x59\
-\xb3\x9e\xe7\xbf\xde\xe7\x99\x55\x80\xe7\x3c\xe7\x39\xcf\xf9\xd7\
-\x91\x3f\x0d\x62\xe8\xd3\x24\x73\x9e\x26\xa5\x7e\xf6\x7e\xc1\xb3\
-\xef\x3a\xff\xbb\x0b\xfd\x2d\x64\xbf\xd1\xdf\x2e\x6e\x7a\xd4\x49\
-\xfd\x48\x7d\xc8\x1b\xaf\x8c\x6a\xf0\x6d\x17\x11\xd4\x65\x65\xc8\
-\x04\x75\x4e\xd4\x30\xcf\x25\x1e\x24\xb5\x39\xe8\xb8\xea\x9a\xb2\
-\x04\x53\x75\x7e\xa2\x8f\xd8\x56\xb8\x43\x84\x08\x39\x82\x41\x1c\
-\x46\xdf\x37\x86\x98\xf7\xf1\xa5\x75\x99\xe6\xb3\x16\x25\x3f\xbb\
-\x6a\x7f\x49\x5c\xb9\x99\xe9\x53\x3a\xf3\xe4\xc1\xef\xb3\x4d\x5b\
-\x2b\x7d\xaf\x73\xb7\xf2\x6d\x5f\x99\x7c\x65\x09\xd4\x23\x38\x45\
-\x8d\x90\xe7\x8c\x00\xf5\xe7\x0b\x20\x7e\x7a\xd0\xbf\xe0\x0a\xd9\
-\x0a\xc0\xfc\x83\x05\xc2\x87\xd4\xbc\x15\xaf\x2e\x09\x0a\x1d\xfe\
-\xe2\xee\x61\x2f\x0f\xe2\xbd\x86\xcd\x99\xe9\xbf\xbd\xad\x8f\x6c\
-\x44\x4f\x3f\x67\x0f\x7e\xa3\x83\x6b\x63\xb3\x4d\xb4\x4e\x66\xef\
-\x91\x0b\x9d\xfd\xb9\xc1\xce\x91\x00\x71\x12\x81\x52\x77\x40\xf5\
-\x92\x22\x48\xbc\x0d\x28\x86\x28\x6e\x39\xb7\x23\x89\xdc\x25\xeb\
-\x28\x7d\xe1\xf8\x9c\xf7\x73\xde\x15\xb3\x0c\x9b\xcc\x5b\xec\xee\
-\x52\x6b\xf1\xdb\x2d\x3b\x8c\xac\xf4\xee\xad\xd7\x1f\xe9\x8a\x42\
-\x1d\xec\xc5\xa2\xc3\x4b\x4e\x2c\x33\x1b\xee\x5c\xfa\x5b\x42\x6e\
-\xa3\xed\x51\xb3\x8a\xca\xa2\x26\xe2\x81\x34\xd8\x39\xca\xb9\x17\
-\x5d\xff\x04\x01\xcf\xa0\x16\xe7\xbf\xcb\x06\x5d\xe9\x5b\x38\x6b\
-\xf2\xa4\x37\x03\x2e\x6c\xa1\xdd\x44\xd7\x32\xf4\x0f\x8b\xba\x1e\
-\x7c\x63\x82\x79\x33\xf0\x60\x5a\xc1\x2a\xed\x7c\x00\x57\xc9\xe4\
-\xa0\x34\x40\x33\x4a\xd7\xe8\x73\x08\xd0\x11\xba\x09\xae\xbb\x01\
-\x7d\x9a\xee\x13\xaa\x23\xa0\x9f\xa6\xb5\x0b\x77\x00\xf7\xa3\x1a\
-\x5b\xeb\x10\x40\x7b\x4e\x79\xad\xa1\x1a\x50\xcb\x95\xf3\x6b\x8e\
-\x03\xf2\xc7\x72\xae\xe9\x2a\x2e\x08\xfd\xa4\x51\x8e\xb9\xe6\xd8\
-\xd6\xd7\x6c\xae\xd2\xb6\xfc\x71\x15\x0b\x6b\xbb\x48\x85\x67\xea\
-\x2e\x85\x5e\x6b\x60\xfb\x9e\xae\x58\xab\xda\x3c\xca\x60\x2d\xcc\
-\xee\xf0\x65\xc0\x19\xf9\x6e\xa1\x7b\xc5\xf4\xea\xc1\xfc\xe4\x3f\
-\x50\x40\xe7\xa8\xa0\x74\xc2\x04\x54\x4c\xaf\x8a\x96\xdc\x3c\x6f\
-\x5e\x66\x4e\x94\x87\x75\xdd\x75\x27\x6e\x46\x6c\x95\xf7\x9a\x57\
-\x66\x1d\x1f\x77\x2a\xde\xca\x02\x67\xf2\x2f\xaf\x0c\x38\x0b\xb4\
-\x69\xf4\x31\x74\x6d\x05\xb4\x59\xda\x0c\xb7\x16\x40\xf3\xbe\xe6\
-\x1d\xcd\x2d\x40\xb3\x5e\x6b\x51\x77\x01\x74\x8b\x74\x61\x9a\x8f\
-\x00\x5d\x95\xee\x13\x6d\x2b\xa0\x3d\xa1\x8b\xd1\xa8\x01\xdd\x68\
-\xed\x76\xe5\x3c\x40\x93\xa1\x62\xb9\x06\x40\xfd\x36\x29\xd6\x74\
-\x01\x14\xb1\x02\x93\x97\x06\x28\x8e\x49\xca\x1b\xdd\x00\x6a\x1e\
-\xd5\xad\x66\x96\x38\xd5\xd6\xc4\x25\xf3\xe9\xa5\x63\x4b\xf4\x55\
-\x87\xb0\xef\x1b\xfd\x79\x2e\x77\x05\x3b\xee\xd0\x84\xb5\x59\x9b\
-\x5b\x8c\x53\x1e\x07\xfa\x5f\xf1\x5d\x24\x3b\xe6\x3c\x57\xdb\xb3\
-\xfe\x73\x61\xf8\xff\x5e\x00\x39\x89\x7f\x25\x13\xfd\x80\xe4\xb4\
-\xf8\x31\x40\x68\xac\xd7\x54\x7d\xb1\xe9\x71\x52\x29\xdb\x8b\xd1\
-\xb3\x2b\x81\x1f\xb8\xfc\x9b\xba\x81\x00\x59\xa8\x2c\x08\x28\x02\
-\xcc\x95\x16\xc2\x64\x06\x8c\x11\xc6\xc7\xcd\xa7\x01\x1b\x61\x4d\
-\x31\x6f\x01\x68\x2f\xfb\x50\x5b\x7b\x80\x3e\x62\xbf\x64\x1b\x08\
-\xd0\xcb\xe8\x4c\xdb\x5d\x80\xee\x47\x2f\xb0\x39\x01\x3a\x9e\x39\
-\xcd\xae\x03\xe8\x04\x3e\xcf\xc5\x08\xd0\x26\x99\x14\x6b\x07\x98\
-\xb9\xae\x33\x66\xad\x05\x6c\x09\x3a\x9f\x8c\x6a\xc0\x76\x99\x3c\
-\xb3\x64\x08\xb9\x4b\xe9\x4f\x25\x25\x1c\x0c\xed\x1f\xb3\x37\x78\
-\xa6\x7c\xcf\xe2\x31\xb3\xc6\xbd\xb1\x4e\x79\x31\x4b\x3a\x56\xba\
-\x37\xc5\x67\xd3\xdc\x81\xb1\x1b\x23\x95\xca\xf3\x6d\x1f\x48\x92\
-\x24\xad\xaa\xfd\x1d\x02\xc2\x7f\xec\x38\x1b\x43\x00\xf1\xbe\xe8\
-\x02\xb8\xf6\xe7\x77\xb1\x9d\xac\x1e\xaa\x78\xf2\x14\x01\xfb\xc7\
-\x80\xcb\x5e\xb5\x51\xb9\x1e\x60\x74\x74\x3b\x7b\x00\x60\x6b\xb5\
-\x8d\xb1\x5e\x04\xf8\x1e\xfc\x22\x6e\x32\xc0\xb5\xe3\xa2\xb9\xd3\
-\x00\x97\xc8\x99\xf9\x2b\x00\x77\x8a\x7b\x9b\x9f\x04\x38\x22\x1d\
-\x79\xdc\x15\xc0\x31\x82\xb5\x38\xe2\x01\x66\x2d\x43\xb3\x63\x00\
-\x66\x3b\xcd\x31\x9b\x00\x66\x98\x5d\x6b\x8b\x04\x1c\x5b\xd8\x32\
-\x76\x00\x20\x0c\x26\x5a\xdc\x16\x02\xfc\x39\xad\x6e\x80\x0e\xb0\
-\xbb\xea\x5b\x56\xeb\x01\xdb\x1e\x59\xc4\x27\xa1\x44\xb9\x2a\x85\
-\x3a\x1e\x75\xa5\x73\x41\x8f\xfb\x51\xf1\xd4\xca\x55\x77\x56\x71\
-\x8b\xff\xaa\x4b\xdf\xf3\xc6\xda\xd6\x65\xc7\xd3\xf7\xf4\xde\xf8\
-\xec\x0f\xce\xf1\xe1\xbd\x0c\xd4\xa5\x7f\x5e\x00\xd5\x12\x62\x5c\
-\x05\x3d\x50\x50\x5d\x36\x05\x45\x6e\x9f\xf5\xbc\x15\x7f\xcc\x59\
-\x37\xb8\x32\x74\x4f\xa7\x58\x59\x8d\x67\x4a\xcb\x29\x53\x80\x7a\
-\x30\xf0\xc8\xa7\xe4\x9c\xae\x09\x10\xf2\x84\x06\x7e\x1f\x20\xdb\
-\x27\x13\xe5\x9f\x00\x32\x17\x59\x83\xec\x5b\x40\x56\x4a\xad\x94\
-\xef\x04\xa8\xa5\xd4\x5d\xf2\x4d\x80\x8c\x22\x5f\x23\x36\x01\x44\
-\x3f\xf2\x36\xd9\x01\x20\xbe\x24\x94\x04\x01\xa0\x00\x83\x51\x04\
-\x48\x95\x58\x26\x31\x80\xd8\x2a\xde\x13\x43\x00\xe7\x42\x31\xd7\
-\xd9\x0d\x10\xad\xa2\xbb\xf0\x16\x20\x5e\x94\x74\x54\x2a\xc0\xa7\
-\x50\x44\xe0\x4c\x80\x1d\x4f\x7a\x24\x17\x00\xdc\x87\xf4\x0e\x4d\
-\x03\x35\xdc\x93\x77\x69\x2e\xdf\xd9\x69\x66\xe7\x6e\x21\x3d\xf8\
-\xd4\x5e\xeb\xe3\xd3\x63\x3a\xaa\x7d\xec\x39\x17\xd7\x5c\x7d\xc8\
-\x46\x17\xde\x4a\x29\xe8\xf6\x9d\xcb\x43\xfe\xf3\x92\xcc\xf2\x15\
-\x7c\xdd\xaf\x08\xa8\xfa\xb8\xfe\x13\x14\x01\x96\x51\xf6\x60\x80\
-\x5b\xd3\xf6\x92\xc7\x08\xc9\x11\x71\x2b\xfe\xbd\xc8\x28\x51\x11\
-\x5d\xee\xfb\xba\x2f\x41\x8c\x44\x7c\x41\x59\xd9\xb7\xfa\xf7\x81\
-\xa6\x03\x06\x25\x61\x00\xa8\x63\x14\x45\xf4\x01\xa8\x11\xe4\x25\
-\xd9\x4b\x00\xe5\x45\x8d\xa0\xb2\x01\xd2\x9f\x9c\x4a\x45\x03\x84\
-\x8a\xdc\x45\xfa\x02\xc4\x1a\x42\x81\xb9\x00\x8a\x31\x01\xa5\x80\
-\xc4\x22\x5d\x4a\x04\xc4\x04\xf1\x9a\x38\x1b\x70\x4e\x10\x4f\x8b\
-\xdb\x01\x67\x81\xd0\xc1\x99\x06\xf0\x5d\xf9\x0c\xe1\x26\xc0\xd7\
-\x73\xc1\xbc\x3f\xc0\x7d\xe7\x08\x72\x7c\x0b\xb0\x1b\xf8\x3b\x64\
-\x11\xc0\x1c\x86\x4b\xd8\x26\xc0\x72\x80\x36\x07\xcf\x01\x54\x29\
-\x62\x50\xe5\xab\xee\xa3\x43\xa7\x76\xda\x69\x5e\x9e\x92\x17\x1b\
-\x14\xd5\x4d\xbd\x17\x27\xbf\x1a\x72\xf0\xb6\xf5\xd0\xbd\x71\x69\
-\xea\x5e\x31\x6a\x0f\x47\x76\x01\x5f\x92\xcb\x9d\xff\x6f\x04\x88\
-\x3b\xa4\x0d\xff\xd1\x64\x17\x18\x52\x8d\x07\x70\xd3\x79\x22\x68\
-\x8d\x7f\xa6\xe4\x9e\x7c\x38\xca\x37\x52\x52\xe6\xba\xcd\x71\xb3\
-\xbb\xf6\xa0\x69\xe0\xf1\xf1\x92\x11\x9e\x6e\x80\xbd\x13\xfd\xaa\
-\xd8\x0a\x50\x97\x29\x2d\x59\x07\x90\x89\xa4\x1b\x69\x07\x48\x05\
-\xf1\x12\xd9\x09\x20\x27\x12\x17\xc9\x07\x00\x7a\x11\x17\xf1\x0e\
-\x20\x75\x90\xda\x4b\x49\x80\x38\x49\xcc\x12\x07\x01\xd2\x5a\xe9\
-\xae\x74\x03\x70\x8e\x71\x76\x17\xe3\x01\xe1\x84\xa0\x12\xe2\x00\
-\x7e\x3e\x7f\x4e\x18\x0f\xf0\x7b\xb8\x51\xfc\x65\x80\x7b\xec\xd0\
-\x72\x8b\x01\xc7\x23\x76\x90\x63\x1d\xc0\x14\x32\x2c\x43\x00\x8c\
-\x87\xf3\x9c\xa7\x11\x30\x14\xdb\xaf\x86\x2d\x05\x9c\xb0\x75\xad\
-\x93\xab\x06\x74\xce\x0e\x5e\x67\x38\x91\x18\x13\x6b\x8f\x3e\xaf\
-\x9e\x21\x19\xd3\x4d\xdb\x66\x9b\x8b\x6f\x9f\x49\xe6\x92\xb2\x55\
-\x75\x9c\x50\xf1\x59\x15\x23\xac\xfa\x4f\x02\x7e\x5e\x0c\x22\x89\
-\x73\x00\x36\xb6\x6c\x30\xc7\x02\x8d\x23\xad\xdf\x5a\xf2\xc4\x7c\
-\xd5\xf2\x90\x93\x1d\x6e\x7a\xfd\x90\xd0\x3b\xf6\x6a\x4c\xad\x76\
-\x8f\x62\xb6\x66\x88\xcb\x57\x86\x56\xa0\x28\xa3\x2c\x45\x5f\x01\
-\x30\x1f\xb1\x2a\x49\x01\x50\xb1\xe4\x7a\xe2\x0c\x40\xb8\x12\x9f\
-\x13\xdf\x00\x84\x05\x1d\x08\x0a\xb0\xeb\xec\x69\xf6\x40\xa0\xa1\
-\xb2\x71\x7e\xe3\x4e\xa0\x39\xc2\xb0\xc5\x60\x05\xcc\x0d\x96\x59\
-\x96\x2a\x80\xbf\xcb\xbb\x0b\x9b\x01\x62\x1c\x71\x9f\x4c\x04\x9c\
-\x6e\x42\xb2\xd3\x0a\x70\x5f\x73\x53\xb9\xfe\x80\xe3\xaf\x8e\x79\
-\xfc\x72\xc0\x71\xd4\x31\xc0\x31\x05\x60\x4e\x31\x53\x1d\x36\x80\
-\xae\xb4\x6f\xb3\x8b\x00\x1b\xc1\xcf\x54\xa6\x02\x2d\x95\x56\x26\
-\x78\x2e\xc0\x3f\xb2\x75\xae\x19\xac\xd0\x47\x96\x86\xc1\x34\x3f\
-\x76\x4e\xd0\xc0\x40\x93\x72\x6a\xc3\xb4\x4d\xe3\x76\xe5\x9a\x03\
-\xf2\x8b\xb4\x5b\x35\x53\x08\x8b\x68\xe1\x4e\xf3\x77\xb1\xfa\x97\
-\xe7\x00\x74\x31\x06\xed\xc1\x3c\xa0\xc0\xfd\xc9\x24\xac\xef\x70\
-\x60\xe2\xeb\x23\xf2\xda\x54\xac\x38\x3b\x7d\xc6\x24\xff\x44\xf9\
-\x6b\x1e\x11\xd7\x22\xe7\x29\x62\xc8\xcc\x5c\xf1\xda\xd1\xaa\x2c\
-\x20\x2b\xef\x8c\xa2\xfd\x0d\xc0\x3e\x9f\x29\xd4\xd6\x02\xae\x8b\
-\x75\x5b\xb5\xa1\x80\x3a\xcf\x65\xbe\x26\x0d\xa0\x6b\x38\x6f\x6e\
-\x19\xa0\x5c\xa3\xf4\x56\x75\x05\x5c\xe4\xaa\x0c\x97\x89\x00\x3f\
-\x4d\xf8\x5a\xe8\x0d\xd0\x8f\xe8\xee\xb6\x05\x80\xcb\x5a\x55\xb5\
-\x22\x0f\x08\xae\x0b\x9a\x16\xb4\x10\xd0\x67\xea\x83\xdc\x76\x00\
-\xa8\x20\xda\xc0\x06\xe0\x03\x69\xa8\x34\x11\x10\x79\x91\x16\x63\
-\x00\xe1\x88\xb0\x56\xec\x06\x08\x67\x84\x77\x04\x37\x40\x76\x4a\
-\xa6\x52\x5c\x01\xb8\xb1\x74\x78\x6d\x31\x10\x3b\x37\x58\x7e\x64\
-\x09\xe0\x5b\xee\x77\xca\xe0\x55\x9c\xb0\xfe\x8b\xad\x39\xd6\xbc\
-\x37\x6f\x6c\x3f\xb6\x5f\x17\x32\xff\x07\x05\x41\x10\xc4\xad\x11\
-\xf8\xe5\xe1\xb3\x65\x8d\xe9\x04\xae\xff\xd4\x32\xcd\xab\x6a\x69\
-\x58\xa4\xe8\xd2\xd0\x42\xbe\x4f\xf5\x51\xef\x8c\x1e\xe9\x1e\xa5\
-\x4f\x0d\xba\xeb\xdf\x2e\x41\x9b\x90\x1c\x76\x01\x08\x18\xed\xed\
-\x5e\xae\x07\x6a\xb6\xd6\xed\xe0\x83\x01\x83\xda\x54\x45\x35\x03\
-\xe2\x01\x29\x4f\xec\x0d\xb8\xf5\xd5\xeb\xdd\x77\x03\xc1\x2f\x05\
-\x9d\xea\xb4\x08\x08\xd8\xe4\xbf\xab\x9d\x07\xa0\x8f\x70\xed\xab\
-\x8f\x00\x24\x4f\xa9\x19\xc7\x80\xba\x80\xfa\x21\xf5\x56\xa0\xac\
-\xeb\x93\xb7\x4a\x7b\x00\x9a\xc7\x2e\x41\xda\xe5\x00\xf1\x35\xde\
-\x25\x3b\x02\xec\x49\xd6\xce\x7d\x08\x38\xb6\xb3\x89\x0e\x1a\x60\
-\xf6\xb1\x37\xd8\x79\x00\xe3\xc6\x5c\x71\xac\x03\x6c\x35\xd6\xa1\
-\xd6\xe3\x80\x78\x50\x7a\x53\x2d\x07\xaa\xfc\x6b\xce\x3a\xe7\x01\
-\x91\x53\x43\x54\xb5\x3a\xcf\x48\xf7\x01\xee\xbb\xf1\x0d\xbb\x3e\
-\x6c\x40\xcc\xa4\xa2\xf8\x1c\xc2\xb5\x48\xb7\x8e\x1c\xcd\xd7\xfe\
-\xfa\xe9\x3b\x1c\x5f\x31\x36\x36\x83\xdd\xd3\x38\xbe\x25\xcd\x12\
-\xa5\xca\x34\x05\x3b\x63\xc5\x1d\x72\x59\xa4\x11\x77\x9d\xe5\xb2\
-\xf8\x36\x6d\xa2\xf2\x63\xea\xfa\xec\x00\x62\x66\x86\x7f\xcf\x54\
-\x02\xdc\x26\xfb\xc3\xaa\xf1\x40\x9d\xb2\x31\x57\x72\x07\x1c\x8b\
-\xb9\x1e\x64\x33\xd0\xde\x3d\xe0\x49\x60\x26\x10\x2e\xef\x3c\x27\
-\xfc\x3c\xa0\x29\x55\x77\x50\x87\x03\x8e\x0d\xdc\x69\x87\x00\xd8\
-\xd2\x69\x05\x7d\x18\xa8\x6d\xad\x33\x55\x07\x00\xb6\x40\xdb\x21\
-\x6b\x4f\x40\xef\xa5\xeb\xe9\xbe\x1a\x70\x5c\x64\x49\xf6\x21\xc0\
-\x4e\x67\x23\x1d\xd3\x01\xf6\x09\x13\xca\x7c\x00\x30\x9f\x32\x01\
-\x4c\x31\x60\x7f\x60\x6f\x67\x53\x01\x5c\x2f\x7e\x89\xa3\x12\x30\
-\xf8\x9b\x8f\x13\x45\x80\xc7\x11\x57\xba\xfe\x3c\x02\x42\xd7\x75\
-\x94\x39\x5e\xd4\x05\x3e\x1c\x54\xf8\xa9\x10\x97\x4d\xf7\xcf\x4c\
-\xa9\x54\x7b\x35\x5f\xf9\x75\x01\xcd\x00\x46\xe3\x43\x42\xe1\x3c\
-\x69\x5c\xda\xfa\x97\xd6\xdd\xe5\x77\x5b\xb7\x5b\x2c\xb2\xb4\xc6\
-\x89\x32\x99\xea\x68\x9b\xa3\xe1\x1b\x8c\x45\xcd\xdf\xd4\xe6\x7a\
-\xf5\xd2\xbb\xba\x5a\x7d\xd3\x81\x64\x2a\xe9\x5a\xfb\x61\x40\x60\
-\x88\xef\x41\xe3\x42\xc0\x94\x63\x7c\xa5\x39\x01\x28\x79\xa5\x3c\
-\xac\x39\x05\xe0\x74\xc2\x7c\xd2\x02\x28\x3e\x97\x4f\x50\x96\x02\
-\xf6\x7d\xb4\xd9\xee\x06\x18\x0f\x98\xd2\x8c\x11\x80\xe5\xba\xc5\
-\x6c\xa2\x00\xc5\x2e\x99\x9f\x6c\x28\xa0\xb4\x2b\x22\x94\x7e\x00\
-\x6b\x61\x7b\x32\x25\x00\xa3\x63\x07\xd2\x91\x00\x63\x60\xce\xd2\
-\x63\x01\xba\x80\x29\xb7\xeb\x00\x7b\x5f\x3a\xcc\xd6\x19\xe0\x5e\
-\xe5\xcf\x3a\xe2\x01\x66\x0f\x1b\xce\x5f\x00\xdc\x87\xba\xbe\xdc\
-\xfc\x37\xa0\x8b\xa3\x93\xca\x56\x4b\x4d\xcb\xb3\xdf\x5b\xc4\x9d\
-\xca\xae\x5b\x97\xfa\xb1\xb7\xd7\xa4\xf2\x92\xdf\xbe\x7f\x3d\x42\
-\x2e\x9c\x80\xdc\xae\x50\xc9\x0b\xf9\x9a\xe6\xa5\x4d\xd7\x9a\xc6\
-\x36\xec\x8c\xa3\x12\xe5\x3d\xc6\x77\x8f\xd3\xc4\x79\x64\x87\x2e\
-\xe8\xd2\xaf\xf0\x71\x51\x59\xb9\x3b\x60\x58\xd9\xe4\xd2\xf0\x08\
-\x08\x48\xf4\xdd\xe9\x35\x0a\xe8\xde\x98\x30\xce\xb3\x0b\xe0\x6b\
-\x6d\x73\xc1\x38\x0c\xa8\x6a\xaa\x1c\xf7\xf8\x28\xf0\xf0\x40\xc1\
-\xa1\xe2\xd9\x40\x4d\x4a\xdd\x8c\x96\xdd\x80\x8d\xb1\x79\xdb\xd7\
-\x02\x8a\x1c\xf9\x21\x79\x20\xa0\xda\xa2\x7a\xa2\x1a\x0d\xb0\xd3\
-\x1c\xd9\xec\x63\x80\x2d\x67\x07\xd1\x6d\x01\x66\x06\x7b\x92\x76\
-\x07\xe8\x40\xa6\xb7\x9d\x01\x68\x8a\x76\xb3\x8d\x04\x98\x93\xf4\
-\x22\x3b\x09\x10\x46\xe2\x7b\xea\x36\x40\x17\xda\x17\xb7\x56\x01\
-\xbd\xca\x5f\xa8\xae\x29\x03\xf4\x33\x74\xe7\x99\xcf\xcc\xb2\x23\
-\x15\x27\x57\xd3\x71\x59\x9d\x3b\x67\x06\xab\x64\x5c\xc5\xf1\xdf\
-\xba\x0e\xff\x0c\x79\x95\xb8\x46\x1e\x03\x00\xc4\x03\xe4\x2a\x67\
-\xb4\xd3\x2c\x68\xd5\x0a\x51\x29\xd5\x12\xd1\xc0\x93\x17\xeb\x7e\
-\x94\xb5\x00\x0d\x4d\xad\xfe\xba\xb7\x80\xf2\x9d\xb5\x93\x9b\xdf\
-\x00\xfc\x6b\xdd\xf7\x1b\xf7\x02\xe1\xe3\x83\x2f\x68\xe2\x80\x51\
-\x57\xd3\x72\xb5\xf7\x00\x8b\x99\x9e\x2b\xed\x07\x8a\xfc\x9f\x8c\
-\x6e\x72\x05\x8a\x99\x8a\xfe\x52\x1d\x50\xdf\xb6\x39\x96\x12\x01\
-\xcb\x04\xdb\x60\x22\x07\x70\xf4\xe3\xc7\x11\x75\x80\xd3\xe9\xdc\
-\x8b\x1b\x80\xe8\x94\x2a\xa5\x38\x40\xba\x23\x9e\x93\x66\x02\x44\
-\x16\xb1\x8d\xc8\x07\x94\x97\x94\xd7\xe5\xbe\x00\xf9\x1d\xfc\x1a\
-\x95\x40\xbf\xf0\xee\xe6\x92\x22\x20\x6e\x43\x84\xbe\x75\x1f\x70\
-\x71\xf4\xb5\x81\xc2\xa1\x87\xed\xb2\x97\x5e\xde\xc8\x1c\x7e\x62\
-\x7a\x70\xaa\x20\x87\x3b\x86\x7f\xfe\x06\xee\x2c\x76\xde\x75\xda\
-\x00\xd4\xa2\x0e\xb5\xd2\x8b\x1e\xa5\x1e\xaf\x7a\x94\x85\x7d\xe3\
-\x1d\xeb\x73\xcf\xeb\x52\xb7\x05\x6a\xa5\xa6\x5c\x7d\x8d\x5c\x50\
-\x78\xa4\xd0\xbd\xb4\x1f\x50\x3b\xbc\x49\xc5\xbf\x06\x58\x2f\x70\
-\x21\x5e\x35\x40\xc5\xce\x3a\x0f\xbe\x12\xa8\xe8\x50\xb9\xa5\xd6\
-\x02\x88\xd9\xcc\x0b\xb5\x71\x40\xd0\x17\x3e\x5b\x6d\xa3\x80\x84\
-\xf2\xf0\xe3\xd4\x3b\x40\xe2\x0f\xd1\x17\x35\xc9\x40\xe4\xd8\x2e\
-\x93\x64\xa7\x81\x8e\xf5\xed\x77\x4a\x3a\x20\x68\x42\xc0\x61\xee\
-\x08\x10\x98\xef\x7b\x94\x1e\x02\x04\x6f\x68\xff\x2d\xd3\x1e\x08\
-\x3f\x15\x52\x66\x8c\x04\x92\x36\x75\xb5\x94\xec\x07\x06\x06\xf7\
-\x9c\xfe\xb0\x17\x10\x13\x14\x7e\xd0\x54\x09\x5c\xe9\x7d\xb3\x1f\
-\xff\x52\xcd\xc0\x8c\x7b\xbb\x0e\x30\xa5\x1b\x3f\xad\xcd\x6d\xa8\
-\x16\x67\x5e\xdf\x6f\x3b\x68\xaf\x91\x0c\xe2\x2f\xb7\xc1\xdf\x42\
-\x92\x24\x49\x92\x00\x0f\x17\x8f\x45\xee\xb7\x13\xb9\xd4\x09\x03\
-\xa8\x54\x73\x46\x46\x90\x5b\x47\xef\x8e\x93\xbb\xcf\x13\x66\x3a\
-\x0f\x0a\x07\x81\x07\x5b\xf3\x27\x3f\x98\x0e\x34\x38\xeb\xbd\x1b\
-\x2a\x00\xdd\x46\xdd\x7d\x5d\x1f\xa0\x8d\xc9\x8b\xf5\xf8\x0b\xa0\
-\x5f\xa7\xad\x22\xc6\x00\x9a\x7c\xd9\xcb\xad\x15\x80\xdb\x14\xd5\
-\x96\x66\x01\x68\xeb\xed\xf6\x8e\x3d\x0f\xf0\xb9\xee\x7d\xd0\x65\
-\x13\xa0\x7f\xdf\x93\x53\xd7\x03\xda\x02\xed\x3a\xa2\x3b\xa0\xe8\
-\xa7\x18\x28\x85\x03\xd4\x08\x6a\x87\x33\x09\xe0\xe7\x08\x0b\x6c\
-\x3d\x01\x5b\x07\x6b\x52\x83\x56\x7c\xef\xc9\xf7\x55\x67\x59\xa5\
-\xa5\xf9\xc7\xe5\x77\x57\x90\xf5\x8f\xc7\x5e\x98\x74\x35\x45\xba\
-\xb7\x77\x47\xc5\xdb\xb5\xa1\x12\x9b\xb5\x1e\xdb\x31\x02\x30\x85\
-\x61\x26\x8e\x02\xf8\xd7\x05\xfc\x57\x14\xde\xbe\x1b\xfc\xfa\xfa\
-\x2e\x1c\x24\x4f\x32\xbd\x30\x3f\x29\x6e\x69\xaa\xef\x60\xff\xf7\
-\xfc\xb8\xf8\x59\xb2\x12\xd9\xeb\xb2\x41\x64\x92\x61\x7f\x4b\xa0\
-\x61\x0b\x50\x2d\x54\xb5\x56\x7f\x0a\x98\x76\x9b\x58\x53\x22\x40\
-\xcc\x45\x32\x96\x00\xea\x31\x9a\x43\x9a\x12\x40\x53\xab\x69\xab\
-\xae\x06\x94\x29\x8a\x0f\xc9\x46\x80\xd2\x93\x5e\x8e\x10\xe7\x22\
-\x84\x0a\xb3\x4c\xa2\xc9\x29\x77\x23\x45\xf6\x4b\xb1\x8f\x94\x23\
-\x6d\x73\x8c\xe4\x96\xf3\x39\x8e\x9d\xb6\xba\xa6\xcd\xc6\x5e\xc6\
-\x34\x4b\xa7\xb2\x21\x86\x0c\xe3\x52\x21\xbd\x72\x61\xbd\x77\x33\
-\x80\x82\x4b\x96\xb5\xf6\xcd\xc0\xad\x59\x4f\xeb\x2c\xae\x7a\x9a\
-\xec\xf4\x7f\x9c\xc1\xef\x14\xf0\x13\xca\x70\x7d\xb4\xfe\x88\xfe\
-\x8d\x1e\xca\xf0\xfa\xc8\xf7\xc3\x33\xa7\xf9\xf9\x2e\xf1\xbb\xef\
-\x3f\xbb\x7f\x84\xcb\x6a\xf5\x60\x97\x19\x6d\xd2\x25\x5a\x7a\x1d\
-\xfb\x20\x30\x5b\xd9\xcd\xac\x0c\xb0\x5d\xb4\x4e\xb7\x7d\x0f\x30\
-\xd1\x8c\x27\xf3\x36\x20\x64\x0b\x4e\x61\x14\x20\x26\x49\x22\x1a\
-\x01\xab\x9b\x75\xa1\x2d\xf9\x81\xba\x7e\x6e\xf5\x7b\xd5\x7c\xc6\
-\x31\xc8\x50\x41\xd8\x8c\x57\x18\x9a\x65\xb9\x0f\x18\x6f\x47\x13\
-\xfb\x9a\xe3\x74\x7d\x0b\xda\x49\x43\x1c\x6d\x1b\xfa\x00\x00\xee\
-\x59\xad\xcf\x26\xfa\x2c\x9d\x53\x9f\x15\xc8\xfe\x4f\x95\xff\x41\
-\x02\x7e\x82\x8c\xc1\x14\xcc\xc5\xec\x80\xf1\xde\xde\x3e\xf0\xc9\
-\xea\x9d\xd7\x76\x99\xdf\x43\xdf\xfd\xa9\xcb\x75\x0a\x57\xad\x6b\
-\x87\xe8\x4e\xf2\xe1\x72\x8d\x62\xaa\xcf\x8f\x52\x17\x9c\x47\x5b\
-\xb5\x92\x4f\xe3\x97\x08\x36\xc2\x8f\x75\xb0\xad\x6c\x1f\x26\xdb\
-\xd2\xc3\x3c\xda\x3c\xa6\xa4\xa8\xe9\x5c\x43\x66\xbd\xfa\xcb\x39\
-\x96\x31\xa6\x2f\x4d\x3e\x87\x07\x61\x10\x96\x63\x35\x9d\x87\xb3\
-\xf8\x08\x8b\x7f\x5e\xbb\x9c\xbf\xb7\xe2\x3f\x58\xc0\x3f\x22\x0b\
-\x7b\x9a\x9e\xdb\xa8\xe1\x54\x3a\xb5\x26\xf0\x23\x75\xaa\xc6\xac\
-\xb1\x05\x76\x96\x37\xc8\x3f\x50\xa4\xb7\xc9\x91\x42\x11\x25\x8d\
-\x26\xbb\x73\xa5\x8e\xf9\x8e\x85\x86\xb1\xcc\x7d\xda\x48\x9f\x29\
-\x1c\x2a\x1e\x15\x3f\x12\x3f\x28\xca\x7a\x3a\x9e\x19\xf1\x7f\x5b\
-\xe7\x9f\xc7\x4f\xdb\xae\xf9\x69\x90\x96\xa7\x49\xf9\x3f\x4d\xe2\
-\xad\x67\xfd\xe4\xbf\xbb\xd0\xe7\x3c\xe7\x39\xff\x3f\xf8\x3b\x2d\
-\xc0\x4e\x64\x5b\xc7\x35\x83\x00\x00\x00\x2e\x7a\x54\x58\x74\x63\
-\x72\x65\x61\x74\x65\x2d\x64\x61\x74\x65\x00\x00\x78\xda\x33\x32\
-\x30\xb0\xd4\x35\x30\xd6\x35\x32\x0f\x31\xb4\xb0\x32\x31\xb6\x32\
-\x35\xd2\x35\x30\xb3\x32\x30\x00\x00\x42\x5f\x05\x1e\xae\x66\xbc\
-\xfe\x00\x00\x00\x2e\x7a\x54\x58\x74\x6d\x6f\x64\x69\x66\x79\x2d\
-\x64\x61\x74\x65\x00\x00\x78\xda\x33\x32\x30\xb0\xd4\x35\x30\xd6\
-\x35\x32\x0f\x31\xb4\xb0\x32\x31\xb6\x32\x35\xd2\x35\x30\xb3\x32\
-\x30\x00\x00\x42\x5f\x05\x1e\xcc\x5e\x4b\x01\x00\x00\x00\x22\x7a\
-\x54\x58\x74\x53\x6f\x66\x74\x77\x61\x72\x65\x00\x00\x78\xda\x2b\
-\x2f\x2f\xd7\xcb\xcc\xcb\x2e\x4e\x4e\x2c\x48\xd5\xcb\x2f\x4a\x07\
-\x00\x36\xd8\x06\x58\x10\x53\xca\x5c\x00\x00\x00\x00\x49\x45\x4e\
-\x44\xae\x42\x60\x82\
-\x00\x00\x03\x91\
-\x89\
-\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
-\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\
-\x00\x00\x00\x06\x62\x4b\x47\x44\x00\x00\x00\x00\x00\x00\xf9\x43\
-\xbb\x7f\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x00\x48\x00\x00\
-\x00\x48\x00\x46\xc9\x6b\x3e\x00\x00\x03\x03\x49\x44\x41\x54\x58\
-\xc3\xed\x55\x4d\x8b\x1c\x55\x14\x3d\xaf\x7b\xa6\x32\xe9\x36\x76\
-\x67\x31\x06\xb2\x76\x22\xc2\x2c\x5c\xe8\xd6\xfc\x02\xfd\x05\x66\
-\x2b\xb3\xf0\x0f\xc9\x80\x5b\x21\xfe\x0f\xb7\x92\x95\x1b\x11\xb4\
-\x41\x99\x40\x84\x9a\x18\xba\xde\x7b\xf7\x9e\xe3\xa2\x5e\x7d\x74\
-\xa6\x66\xa0\x93\xa5\x7d\x9b\x57\x45\x17\x87\x7b\xcf\x3d\xf7\xe3\
-\x01\x07\x3b\xd8\xff\xdd\xc2\xd4\xc7\xe7\xcf\x7f\x42\xce\xe9\xa3\
-\xd5\x6a\xf5\x69\x08\x33\x91\x2e\x92\x22\xc5\x62\x68\x9a\xe6\xe5\
-\xb3\x67\xdf\xfc\x7e\x79\x79\x59\x9d\x9e\x9e\x7e\x56\x55\xf7\x16\
-\xa4\xd3\x9d\xa4\x28\x51\x24\xa5\x9c\x53\xac\xeb\xfa\x57\x40\xcd\
-\xc5\xc5\xc5\x8d\x58\x47\x53\x04\xce\xce\x3e\x46\x5d\x5f\x7f\xf9\
-\xe4\xc9\xd9\x0f\xc7\xc7\xd5\xcc\xbd\x23\x40\xb9\x53\x66\x36\xdf\
-\x6c\x36\x3f\x02\xf8\x76\xb1\x58\x3c\x3c\x3f\x3f\xff\x7e\xbd\x7e\
-\xf8\x09\xe9\xee\x4e\x91\x84\xb7\x84\xf1\xcf\xab\x57\x7f\xbd\x78\
-\xf1\xcb\x57\x12\x7e\x9b\x8a\x35\x49\x60\xb9\x5c\x22\xa5\x74\xb4\
-\x5a\xad\xee\x57\xd5\xbd\x23\x92\x20\x09\xf7\xf6\xa4\x94\x50\x55\
-\x2f\x97\x00\x30\x9f\xcf\xc3\x83\x07\x1f\x9e\xac\xd7\xeb\xfb\x3d\
-\x8e\x04\x0b\xb6\xd9\x36\x6f\x80\x30\x0f\x93\x5a\x03\xb3\xa9\x8f\
-\xa4\x20\x49\xe5\x3d\x38\x2d\xc7\xcc\x61\xee\x00\x00\x09\x90\xd8\
-\xe3\xd8\x05\x27\xe1\xee\xc8\x66\x77\xf6\xc0\x24\x01\x49\x37\x0f\
-\x05\x96\x20\xd9\x0c\xa2\x42\x8f\x56\xff\xd8\xc1\x9b\x3b\xdc\x79\
-\x4b\xa7\xdd\x49\x80\xd8\x75\x8a\xde\xa9\xbb\xc3\xb2\x41\xd0\x48\
-\x81\x01\x47\x8d\x88\x26\x03\x29\x00\x21\xec\x49\x40\x00\xd4\xfe\
-\x46\x59\x51\x44\xca\x06\x27\x21\x21\x00\x08\x98\xc8\x5c\x14\xcc\
-\x5a\xf9\x55\x80\xef\x58\x02\xf4\xd9\x90\x82\x65\x47\x4a\xb9\xcd\
-\x4a\x45\x01\xa8\x94\x61\x44\x94\x44\x8c\x09\xee\x2c\xc9\xbc\x13\
-\x81\x52\x82\xd2\x88\x4e\xa2\x19\x39\x1d\x27\xc6\x91\x42\x94\x10\
-\x53\x46\xce\xb6\x93\xc8\x5e\x04\xba\xee\xef\x82\x53\x42\x8c\x69\
-\x70\x4a\x8d\x7a\x40\xea\x94\x12\x05\xcb\x86\xd8\xa4\xfe\x7f\x51\
-\x60\xff\x1e\x18\x1f\xcb\x86\x18\x13\x44\xf6\xd3\x20\xa9\x77\x2a\
-\x4a\xa2\x40\x0a\xdb\x26\xc1\xdd\x0b\xae\x94\x20\xdc\x2e\xc1\xb4\
-\x02\x62\xdf\x80\xa4\x7a\xe9\xa9\xce\xe9\x50\xdb\x31\xd1\x94\x33\
-\x72\xce\x3d\x8e\xa5\x21\xa1\xb0\x1f\x81\x22\x9d\x24\x21\x9b\x21\
-\xa5\xbc\xbb\x0f\x38\xd4\xb5\x5b\x02\xa4\x5a\xe9\xfd\x46\xf9\xee\
-\x1a\x82\xe9\x55\x2c\x09\x10\xda\x0d\x68\xed\x4a\x65\x09\xdc\x35\
-\x1c\x06\xc7\x3d\xd1\x9c\xad\xcf\x7c\xb7\x07\x6e\x27\x31\x49\x80\
-\x6c\x25\x76\x27\x52\xf6\x92\x25\x47\x63\xd6\xbe\x17\x27\x18\xf6\
-\x43\xca\x65\x3f\x8c\xf7\x86\xde\x63\x0c\x21\x99\x39\xcc\xbc\x97\
-\xbd\xdb\x07\x9d\xb4\xcb\x65\xcb\x9f\x4e\x75\x5b\x6f\x8c\xeb\x12\
-\xd9\xbb\x04\x5d\xf3\xe4\x9c\x41\x1f\xe6\xbc\xad\x2d\x7b\xc7\xcb\
-\xe5\x02\x00\x60\xe6\x98\xcd\xec\xad\xe9\xe1\x48\xad\x3d\xc7\xd0\
-\xdd\xe1\x24\xb2\xf9\x5b\x4e\x87\xcd\x28\x29\x2c\x16\x27\x08\x01\
-\xc8\xd9\xe0\xd4\x4d\x6c\x21\xbb\xb7\x02\xaf\x5f\xff\x8b\x18\x1b\
-\xbb\xbe\xae\xb7\xf3\xf9\xf1\xbc\xbf\x66\xcb\x65\xe4\xee\x47\x29\
-\xc5\xf8\xe8\xd1\x63\xa4\x94\x59\xd7\xf5\xd6\x9c\x91\x94\x8f\xe5\
-\x77\xe7\xac\x69\xb6\x0d\x45\x86\x7d\x08\x5c\x5d\xfd\x0d\x92\x3f\
-\xc7\x18\xbf\x0e\x61\x16\x86\x4b\xa9\x1b\x3b\x86\x94\xe2\xd5\xe7\
-\x5f\x3c\x55\x4a\xe9\x7a\xb3\xf9\xe3\xbb\xaa\xaa\x3e\xd8\xc5\x94\
-\x25\x66\x96\x2c\xe7\x3f\x71\xb0\x83\x1d\xec\x16\xfb\x0f\x0e\xbd\
-\x4a\x1c\x0d\x7d\x56\x69\x00\x00\x00\x22\x7a\x54\x58\x74\x53\x6f\
-\x66\x74\x77\x61\x72\x65\x00\x00\x78\xda\x2b\x2f\x2f\xd7\xcb\xcc\
-\xcb\x2e\x4e\x4e\x2c\x48\xd5\xcb\x2f\x4a\x07\x00\x36\xd8\x06\x58\
-\x10\x53\xca\x5c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
-\
-"
-
-qt_resource_name = "\
-\x00\x06\
-\x07\x03\x7d\xc3\
-\x00\x69\
-\x00\x6d\x00\x61\x00\x67\x00\x65\x00\x73\
-\x00\x08\
-\x0b\x63\x58\x07\
-\x00\x73\
-\x00\x74\x00\x6f\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\
-\x00\x10\
-\x0c\x67\x06\x67\
-\x00\x66\
-\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x6d\x00\x75\x00\x73\x00\x69\x00\x63\x00\x2e\x00\x70\x00\x6e\x00\x67\
-\x00\x08\
-\x02\x8c\x59\xa7\
-\x00\x70\
-\x00\x6c\x00\x61\x00\x79\x00\x2e\x00\x70\x00\x6e\x00\x67\
-\x00\x0b\
-\x0f\x35\xb2\x47\
-\x00\x71\
-\x00\x70\x00\x6c\x00\x61\x00\x79\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\
-\x00\x09\
-\x0c\x98\xba\x47\
-\x00\x70\
-\x00\x61\x00\x75\x00\x73\x00\x65\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\x05\x00\x00\x00\x02\
-\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x17\x96\
-\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
-\x00\x00\x00\x28\x00\x00\x00\x00\x00\x01\x00\x00\x02\xd4\
-\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\x2c\x9d\
-\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xe3\
-"
-
-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()
diff --git a/examples/phonon/videoplayer.py b/examples/phonon/videoplayer.py
deleted file mode 100755
index be86f64..0000000
--- a/examples/phonon/videoplayer.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-#
-# This file is part of the PySide project.
-#
-# Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-#
-# Contact: PySide team <contact@pyside.org>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public License
-# version 2.1 as published by the Free Software Foundation. Please
-# review the following information to ensure the GNU Lesser General
-# Public License version 2.1 requirements will be met:
-# http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-# #
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-# 02110-1301 USA
-
-
-import os
-from PySide.QtGui import QApplication
-from PySide.phonon import Phonon
-
-app = QApplication([])
-app.setApplicationName('Phonon Video Player')
-
-#file_path = os.path.join(os.path.dirname(__file__), '320x240.ogv')
-file_path = os.path.join(os.path.dirname(__file__), 'FolgersCoffe_512kb_mp4_026vbr260.ogv')
-media_src = Phonon.MediaSource(file_path)
-
-media_obj = Phonon.MediaObject()
-media_obj.setCurrentSource(media_src)
-
-video_widget = Phonon.VideoWidget()
-Phonon.createPath(media_obj, video_widget)
-
-audio_out = Phonon.AudioOutput(Phonon.VideoCategory)
-Phonon.createPath(media_obj, audio_out)
-
-video_widget.show()
-
-media_obj.play()
-
-app.exec_()
-
diff --git a/examples/tools/qtdemo/examples.xml b/examples/tools/qtdemo/examples.xml
index 96433f3..1933cea 100644
--- a/examples/tools/qtdemo/examples.xml
+++ b/examples/tools/qtdemo/examples.xml
@@ -92,10 +92,6 @@
<example filename="transformations" name="Transformations" />
<example filename="svgviewer" name="SVG Viewer" />
</category>
- <category dirname="phonon" name="Phonon">
- <example filename="capabilities" name="Backend Capabilities" />
- <example filename="musicplayer" name="Music Player" />
- </category>
<category dirname="richtext" name="Rich Text">
<example filename="calendar" name="Calendar" />
<example filename="orderform" name="Order Form" />