From 619350a3dfaefa4b45fb2caa47441fff3b2872f3 Mon Sep 17 00:00:00 2001 From: Andre Fischer Date: Fri, 27 Apr 2007 12:02:34 +0000 Subject: Initial revision --- sdext/prj/build.lst | 5 +++++ sdext/prj/d.lst | 1 + 2 files changed, 6 insertions(+) create mode 100644 sdext/prj/build.lst create mode 100644 sdext/prj/d.lst diff --git a/sdext/prj/build.lst b/sdext/prj/build.lst new file mode 100644 index 000000000000..430029283a60 --- /dev/null +++ b/sdext/prj/build.lst @@ -0,0 +1,5 @@ +dx sdext : NULL +dx sdext usr1 - all sdext_mkout NULL +dx sdext\inc nmake - all sdext_inc NULL +dx sdext\prj get - all sdext_prj NULL +dx sdext\util nmake - all sdext_util NULL diff --git a/sdext/prj/d.lst b/sdext/prj/d.lst new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/sdext/prj/d.lst @@ -0,0 +1 @@ + -- cgit From 7a35d8d3505efa36215b59d2206e2a4be2844e86 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 11 May 2007 12:51:02 +0000 Subject: initial version --- sdext/source/minimizer/aboutdialog.cxx | 273 +++++++++ sdext/source/minimizer/aboutdialog.hxx | 133 +++++ sdext/source/minimizer/basic.txt | 89 +++ sdext/source/minimizer/configurationaccess.cxx | 552 +++++++++++++++++ sdext/source/minimizer/configurationaccess.hxx | 165 +++++ sdext/source/minimizer/description.xml | 11 + sdext/source/minimizer/exports.map | 9 + sdext/source/minimizer/fileopendialog.cxx | 252 ++++++++ sdext/source/minimizer/fileopendialog.hxx | 89 +++ sdext/source/minimizer/graphiccollector.cxx | 376 ++++++++++++ sdext/source/minimizer/graphiccollector.hxx | 126 ++++ sdext/source/minimizer/impoptimizer.cxx | 794 +++++++++++++++++++++++++ sdext/source/minimizer/impoptimizer.hxx | 110 ++++ 13 files changed, 2979 insertions(+) create mode 100644 sdext/source/minimizer/aboutdialog.cxx create mode 100644 sdext/source/minimizer/aboutdialog.hxx create mode 100644 sdext/source/minimizer/basic.txt create mode 100644 sdext/source/minimizer/configurationaccess.cxx create mode 100644 sdext/source/minimizer/configurationaccess.hxx create mode 100644 sdext/source/minimizer/description.xml create mode 100644 sdext/source/minimizer/exports.map create mode 100644 sdext/source/minimizer/fileopendialog.cxx create mode 100644 sdext/source/minimizer/fileopendialog.hxx create mode 100644 sdext/source/minimizer/graphiccollector.cxx create mode 100644 sdext/source/minimizer/graphiccollector.hxx create mode 100644 sdext/source/minimizer/impoptimizer.cxx create mode 100644 sdext/source/minimizer/impoptimizer.hxx diff --git a/sdext/source/minimizer/aboutdialog.cxx b/sdext/source/minimizer/aboutdialog.cxx new file mode 100644 index 000000000000..f429e09b8a94 --- /dev/null +++ b/sdext/source/minimizer/aboutdialog.cxx @@ -0,0 +1,273 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: aboutdialog.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:49:08 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef ABOUTDIALOG_HXX +#include "aboutdialog.hxx" +#endif +#ifndef OPTIMIZATIONSTATS_HXX +#include "optimizationstats.hxx" +#endif +#ifndef _FILEOPEN_DIALOG_HXX_ +#include "fileopendialog.hxx" +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_EXECUTABLEDIALOGRESULTS_HPP_ +#include +#endif + +// --------------- +// - ABOUTDIALOG - +// --------------- + +using namespace ::rtl; +using namespace ::com::sun::star::ui; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::script; +using namespace ::com::sun::star::container; + + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertFixedText( AboutDialog& rAboutDialog, const rtl::OUString& rControlName, const OUString& rLabel, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Bool bMultiLine, sal_Int16 nTabIndex ) +{ + OUString pNames[] = { + TKGet( TK_Height ), + TKGet( TK_Label ), + TKGet( TK_MultiLine ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( nHeight ), + Any( rLabel ), + Any( bMultiLine ), + Any( nXPos ), + Any( nYPos ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rAboutDialog.insertFixedText( rControlName, aNames, aValues ); + return rControlName; +} + +rtl::OUString InsertSeparator( AboutDialog& rAboutDialog, const OUString& rControlName, sal_Int32 nOrientation, + sal_Int32 nPosX, sal_Int32 nPosY, sal_Int32 nWidth, sal_Int32 nHeight ) +{ + OUString pNames[] = { + TKGet( TK_Height ), + TKGet( TK_Orientation ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( nHeight ), + Any( nOrientation ), + Any( nPosX ), + Any( nPosY ), + Any( sal_Int16( 0 ) ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rAboutDialog.insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlFixedLineModel" ) ), + rControlName, aNames, aValues ); + return rControlName; +} + +rtl::OUString InsertImage( AboutDialog& rAboutDialog, const OUString& rControlName, const OUString& rURL, + sal_Int32 nPosX, sal_Int32 nPosY, sal_Int32 nWidth, sal_Int32 nHeight ) +{ + OUString pNames[] = { + TKGet( TK_Border ), + TKGet( TK_Height ), + TKGet( TK_ImageURL ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_ScaleImage ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_Int16( 1 ) ), + Any( nHeight ), + Any( rURL ), + Any( nPosX ), + Any( nPosY ), + Any( sal_True ), + Any( nWidth ) }; + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rAboutDialog.insertImage( rControlName, aNames, aValues ); + return rControlName; +} + +rtl::OUString InsertButton( AboutDialog& rAboutDialog, const OUString& rControlName, Reference< XActionListener >& xActionListener, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int16 nTabIndex, PPPOptimizerTokenEnum nResID ) +{ + OUString pNames[] = { + TKGet( TK_Enabled ), + TKGet( TK_Height ), + TKGet( TK_Label ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_PushButtonType ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_True ), + Any( nHeight ), + Any( rAboutDialog.getString( nResID ) ), + Any( nXPos ), + Any( nYPos ), + Any( static_cast< sal_Int16 >( PushButtonType_OK ) ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rAboutDialog.insertButton( rControlName, xActionListener, aNames, aValues ); + return rControlName; +} + +void AboutDialog::InitDialog() +{ + // setting the dialog properties + OUString pNames[] = { + TKGet( TK_Closeable ), + TKGet( TK_Height ), + TKGet( TK_Moveable ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Title ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_True ), + Any( sal_Int32( 221 ) ), + Any( sal_True ), + Any( sal_Int32( 113 ) ), + Any( sal_Int32( 42 ) ), + Any( getString( STR_ABOUT ) ), + Any( sal_Int32( 178 ) ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rtl::OUString sBitmapPath( getPath( TK_BitmapPath ) ); + rtl::OUString sBitmap( rtl::OUString::createFromAscii( "/aboutlogo.png" ) ); + rtl::OUString sURL( sBitmapPath += sBitmap ); + + mxDialogModelMultiPropertySet->setPropertyValues( aNames, aValues ); + InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), sURL, 0, 0, 178, 44 ); + InsertFixedText( *this, rtl::OUString( rtl::OUString::createFromAscii( "fixedtext" ) ), getString( STR_ABOUT_PRN ), 9, 66, 160, 127, sal_True, 0 ); + InsertSeparator( *this, rtl::OUString( rtl::OUString::createFromAscii( "separator" ) ), 0, 0, 196, 178, 8 ); + InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, 125, 204, 50, 14, 1, STR_OK ); +} + +// ----------------------------------------------------------------------------- + +AboutDialog::AboutDialog( const Reference< XComponentContext > &rxMSF, Reference< XFrame >& rxFrame ) : + UnoDialog( rxMSF, rxFrame ), + ConfigurationAccess( rxMSF, NULL ), + mxMSF( rxMSF ), + mxFrame( rxFrame ), + mxActionListener( new AboutActionListener( *this ) ) +{ + Reference< XFrame > xFrame( mxController->getFrame() ); + Reference< XWindow > xContainerWindow( xFrame->getContainerWindow() ); + Reference< XWindowPeer > xWindowPeer( xContainerWindow, UNO_QUERY_THROW ); + createWindowPeer( xWindowPeer ); + + InitDialog(); +} + +// ----------------------------------------------------------------------------- + +AboutDialog::~AboutDialog() +{ +} + +// ----------------------------------------------------------------------------- + +sal_Bool AboutDialog::execute() +{ + UnoDialog::execute(); + return mbStatus; +} + +// ----------------------------------------------------------------------------- + +void AboutActionListener::actionPerformed( const ActionEvent& rEvent ) + throw ( com::sun::star::uno::RuntimeException ) +{ + if ( rEvent.ActionCommand == rtl::OUString( rtl::OUString::createFromAscii( "button" ) ) ) + { + mrAboutDialog.endExecute( sal_True ); + } +} +void AboutActionListener::disposing( const ::com::sun::star::lang::EventObject& /* Source */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ +} diff --git a/sdext/source/minimizer/aboutdialog.hxx b/sdext/source/minimizer/aboutdialog.hxx new file mode 100644 index 000000000000..c02f96eeba3a --- /dev/null +++ b/sdext/source/minimizer/aboutdialog.hxx @@ -0,0 +1,133 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: aboutdialog.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:49:17 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef ABOUTDIALOG_HXX +#define ABOUTDIALOG_HXX +#include +#ifndef UNODIALOG_HXX +#include "unodialog.hxx" +#endif +#ifndef _CONFIGURATION_ACCESS_HXX_ +#include "configurationaccess.hxx" +#endif +#ifndef _PPPOPTIMIZER_TOKEN_HXX +#include "pppoptimizertoken.hxx" +#endif +#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XITEMLISTENER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ +#include +#endif +#ifndef _COM_SUN_STAR_TEXT_XTEXTRANGE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XITEMEVENTBROADCASTER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_PUSHBUTTONTYPE_HPP_ +#include +#endif + +#define DIALOG_WIDTH 310 +#define DIALOG_HEIGHT 210 +#define BUTTON_WIDTH 50 +#define BUTTON_HEIGHT 14 + +// ------------------- +// - OPTIMIZERDIALOG - +// ------------------- +class AboutDialog : public UnoDialog, public ConfigurationAccess +{ +public : + + AboutDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame ); + ~AboutDialog(); + + sal_Bool execute(); + +private : + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >mxMSF; + com::sun::star::uno::Reference< com::sun::star::frame::XFrame > mxFrame; + com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > mxActionListener; + + void InitDialog(); + +public : + + com::sun::star::uno::Reference< com::sun::star::frame::XFrame>& GetFrame() { return mxFrame; }; + const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& GetComponentContext() { return mxMSF; }; +}; + +class AboutActionListener : public ::cppu::WeakImplHelper1< com::sun::star::awt::XActionListener > +{ +public: + AboutActionListener( AboutDialog& rAboutDialog ) : mrAboutDialog( rAboutDialog ){}; + + virtual void SAL_CALL actionPerformed( const ::com::sun::star::awt::ActionEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); +private: + + AboutDialog& mrAboutDialog; +}; + +#endif // ABOUTDIALOG_HXX diff --git a/sdext/source/minimizer/basic.txt b/sdext/source/minimizer/basic.txt new file mode 100644 index 000000000000..3a540aea5730 --- /dev/null +++ b/sdext/source/minimizer/basic.txt @@ -0,0 +1,89 @@ +Sub Main + +Dim oSettings(11) as new com.sun.star.beans.PropertyValue +oSettings(0).Name = "JPEGCompression" +oSettings(0).Value= True +oSettings(1).Name = "JPEGQuality" +oSettings(1).Value= 25 +oSettings(2).Name = "RemoveCropArea" +oSettings(2).Value= True +oSettings(3).Name = "ImageResolution" +oSettings(3).Value= 90 +oSettings(4).Name = "OLEOptimization" +oSettings(4).Value= False +oSettings(5).Name = "OLEOptimizationType" +oSettings(5).Value= 1 +oSettings(6).Name = "DeleteUnusedMasterPages" +oSettings(6).Value= True +oSettings(7).Name = "DeleteHiddenSlides" +oSettings(7).Value= True +oSettings(8).Name = "DeleteNotesPages" +oSettings(8).Value= True +oSettings(9).Name = "SaveAs" +oSettings(9).Value= true +oSettings(10).Name = "EmbedLinkedGraphics" +oSettings(10).Value = false +oSettings(11).Name = "SaveAsURL" +oSettings(11).Value = "" +oSettings(12).Name = "FilterName" +oSettings(12).Value = "impress8" + + + +Dim oArg(0) as new com.sun.star.beans.PropertyValue +oArg(0).Name = "Settings" +oArg(0).Value= oSettings + +Dim url As String +Dim oPresentations(17) as String +oPresentations( 0)="d:\data\sunpresentations\01-22-07SunIntelAnnouncementPresentation,01-22-2007.star_impress_8x.odp" +oPresentations( 1)="d:\data\sunpresentations\01_Schwartz_SAS_VF.odp" +oPresentations( 2)="d:\data\sunpresentations\CorporateSocialResponsibilityCustomerPresentation,02-12-2007.star_impress_8x.odp" +oPresentations( 3)="d:\data\sunpresentations\Current-ProjectBlackboxCustomerPresentation,03-07-2007.star_impress_8x.odp" +oPresentations( 4)="d:\data\sunpresentations\JavaSE6CustomerPresentation,12-11-2006(2).star_impress_8x.odp" +oPresentations( 5)="d:\data\sunpresentations\JavaSE6CustomerPresentation,12-11-2006.star_impress_8x.odp" +oPresentations( 6)="d:\data\sunpresentations\NetworkComputingLaunchPresentation,Q22006,Washington,DC,05-08-2006.star_impress_8x.odp" +oPresentations( 7)="d:\data\sunpresentations\ProjectBlackboxTechnicalPresentation-NDAONLY,11-09-2006.star_impress_8x.odp" +oPresentations( 8)="d:\data\sunpresentations\ScottMcNealy,IntlAssocofPrivacyProfessionals)ConferenceOpeningKeynote,'PlayingonSunday-GettingPrivacyRight',March,8,2007,Washington,DC,,03-08-2007.star_impress_8x.odp" +oPresentations( 9)="d:\data\sunpresentations\Sun'sStoragetekAcademy-JonathanSchwartzTheSky'sTheLimit!,February,292007,SanFrancisco,CA,02-28-2007.star_impress_8x.odp" +oPresentations(10)="d:\data\sunpresentations\SunAnalystSummit2007(SAS)-DonGranthamExecutingonStrategy,February,6,2007,SanFrancisco,CA,02-07-2007.star_impress_8x.odp" +oPresentations(11)="d:\data\sunpresentations\SunConsultingServicesPortfolio-Presentation,03-17-2006.star_impress_6x.sxi" +oPresentations(12)="d:\data\sunpresentations\SunFedOpenYourMindandSunFedTechDayatGTSI,ScottMcNealy,January23and24,2007,Washington,DC,01-23-2007.star_impress_8x.odp" +oPresentations(13)="d:\data\sunpresentations\SunFedTechDaysatAccenture,ScottMcNealy,January24,2007,Washington,DC,01-24-2007.star_impress_8x.odp" +oPresentations(14)="d:\data\sunpresentations\SunManagedServicesGoldenPitch,03-22-2007.star_impress_8x.odp" +oPresentations(15)="d:\data\sunpresentations\SunServicesEducationServicesGeneralPresentation,01-11-2006.star_impress_6x.sxi" +oPresentations(16)="d:\data\sunpresentations\SunSystemPacks-CustomerReadyPresentation,01-23-2007.star_impress_8x.odp" +oPresentations(17)="d:\data\sunpresentations\U.S.SalesMeetingCustomerPresentation(08-01-2006),08-01-2006.odp" + +FOR I = 0 TO 17 +url=oPresentations( I ) +oSettings(11)=url+string( I, 2 ) +url=converttourl( url ) +optimize( url, oArg() ) +NEXT I + +End Sub + +Sub Optimize( url as String, oArg ) + +Dim oPPPOptimizerDialog as Object +Dim oUrl as new com.sun.star.util.URL +Dim oTrans as Object +oTrans = createUNOService("com.sun.star.util.URLTransformer") +oUrl.Complete = "vnd.com.sun.star.comp.PPPOptimizer:optimize" +oTrans.parsestrict(oUrl) + +Dim oDoc As Object +Dim FileProperties(0) As New com.sun.star.beans.PropertyValue +oSM = CreateObject("com.sun.star.ServiceManager") +oDesk = oSM.createInstance("com.sun.star.frame.Desktop") +oDoc = oDesk.loadComponentFromURL( url, "_blank", 0, FileProperties() ) + +Dim oInitialization( 0 ) as Object +oInitialization(0) = oDoc.getCurrentController.getFrame +oPPPOptimizerDialog = createUNOservice("com.sun.star.comp.PPPOptimizerImp") +oPPPOptimizerDialog.initialize( oInitialization ) +oPPPOptimizerDialog.dispatch(oURL, oArg) +odoc.dispose +End Sub + diff --git a/sdext/source/minimizer/configurationaccess.cxx b/sdext/source/minimizer/configurationaccess.cxx new file mode 100644 index 000000000000..3f8ebc2ccadb --- /dev/null +++ b/sdext/source/minimizer/configurationaccess.cxx @@ -0,0 +1,552 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: configurationaccess.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:49:41 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef _CONFIGURATION_ACCESS_HXX_ +#include "configurationaccess.hxx" +#endif +#include +#ifndef _COM_SUN_STAR_FRAME_XCOMPONENTLOADER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XHIERARCHICALNAMEACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UTIL_XCHANGESBATCH_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UTIL_XMACROEXPANDER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_ +#include +#endif + +using namespace ::rtl; +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::container; + +static const OUString& GetConfigurationProviderServiceName (void) +{ + static const OUString sConfigurationProviderServiceName ( + RTL_CONSTASCII_USTRINGPARAM( + "com.sun.star.configuration.ConfigurationProvider")); + return sConfigurationProviderServiceName; +} +static const OUString& GetPathToConfigurationRoot (void) +{ + static const OUString sPathToConfigurationRoot ( + RTL_CONSTASCII_USTRINGPARAM("org.openoffice.Office.SunPresentationMinimizer")); + return sPathToConfigurationRoot; +} + +void OptimizerSettings::LoadSettingsFromConfiguration( const Reference< XNameAccess >& rSettings ) +{ + if ( rSettings.is() ) + { + const Sequence< OUString > aElements( rSettings->getElementNames() ); + for ( int i = 0; i < aElements.getLength(); i++ ) + { + try + { + const OUString aPropertyName( aElements[ i ] ); + Any aValue( rSettings->getByName( aPropertyName ) ); + switch( TKGet( aPropertyName ) ) + { + case TK_Name : aValue >>= maName; break; + case TK_JPEGCompression : aValue >>= mbJPEGCompression; break; + case TK_JPEGQuality : aValue >>= mnJPEGQuality; break; + case TK_RemoveCropArea : aValue >>= mbRemoveCropArea; break; + case TK_ImageResolution : aValue >>= mnImageResolution; break; + case TK_EmbedLinkedGraphics : aValue >>= mbEmbedLinkedGraphics; break; + case TK_OLEOptimization : aValue >>= mbOLEOptimization; break; + case TK_OLEOptimizationType : aValue >>= mnOLEOptimizationType; break; + case TK_DeleteUnusedMasterPages : aValue >>= mbDeleteUnusedMasterPages; break; + case TK_DeleteHiddenSlides : aValue >>= mbDeleteHiddenSlides; break; + case TK_DeleteNotesPages : aValue >>= mbDeleteNotesPages ;break; + case TK_SaveAs : aValue >>= mbSaveAs; break; +// case TK_SaveAsURL : aValue >>= maSaveAsURL; break; // URL is not saved to configuration +// case TK_FilterName : aValue >>= maFilterName; break; // URL is not saved to configuration + case TK_OpenNewDocument : aValue >>= mbOpenNewDocument; break; + default: break; + } + } + catch( Exception& ) + { + } + } + } +} + +void OptimizerSettings::SaveSettingsToConfiguration( const Reference< XNameReplace >& rSettings ) +{ + if ( rSettings.is() ) + { + OUString pNames[] = { + TKGet( TK_Name ), + TKGet( TK_JPEGCompression ), + TKGet( TK_JPEGQuality ), + TKGet( TK_RemoveCropArea ), + TKGet( TK_ImageResolution ), + TKGet( TK_EmbedLinkedGraphics ), + TKGet( TK_OLEOptimization ), + TKGet( TK_OLEOptimizationType ), + TKGet( TK_DeleteUnusedMasterPages ), + TKGet( TK_DeleteHiddenSlides ), + TKGet( TK_DeleteNotesPages ), + TKGet( TK_SaveAs ), +// TKGet( TK_SaveAsURL ), +// TKGet( TK_FilterName ), + TKGet( TK_OpenNewDocument ) }; + + Any pValues[] = { + Any( maName ), + Any( mbJPEGCompression ), + Any( mnJPEGQuality ), + Any( mbRemoveCropArea ), + Any( mnImageResolution ), + Any( mbEmbedLinkedGraphics ), + Any( mbOLEOptimization ), + Any( mnOLEOptimizationType ), + Any( mbDeleteUnusedMasterPages ), + Any( mbDeleteHiddenSlides ), + Any( mbDeleteNotesPages ), + Any( mbSaveAs ), +// Any( maSaveAsURL ), +// Any( maFilterName ), + Any( mbOpenNewDocument ) }; + + sal_Int32 i, nCount = sizeof( pNames ) / sizeof( OUString ); + + for ( i = 0; i < nCount; i++ ) + { + try + { + rSettings->replaceByName( pNames[ i ], pValues[ i ] ); + } + catch( Exception& /* rException */ ) + { + } + } + } +} + +sal_Bool OptimizerSettings::operator==( const OptimizerSettings& rOptimizerSettings ) const +{ + return ( rOptimizerSettings.mbJPEGCompression == mbJPEGCompression ) + && ( rOptimizerSettings.mnJPEGQuality == mnJPEGQuality ) + && ( rOptimizerSettings.mbRemoveCropArea == mbRemoveCropArea ) + && ( rOptimizerSettings.mnImageResolution == mnImageResolution ) + && ( rOptimizerSettings.mbEmbedLinkedGraphics == mbEmbedLinkedGraphics ) + && ( rOptimizerSettings.mbOLEOptimization == mbOLEOptimization ) + && ( rOptimizerSettings.mnOLEOptimizationType == mnOLEOptimizationType ) + && ( rOptimizerSettings.mbDeleteUnusedMasterPages == mbDeleteUnusedMasterPages ) + && ( rOptimizerSettings.mbDeleteHiddenSlides == mbDeleteHiddenSlides ) + && ( rOptimizerSettings.mbDeleteNotesPages == mbDeleteNotesPages ) + && ( rOptimizerSettings.mbOpenNewDocument == mbOpenNewDocument ); +} + + +ConfigurationAccess::ConfigurationAccess( const Reference< uno::XComponentContext >& rxMSF, OptimizerSettings* pDefaultSettings ) : + mxMSF( rxMSF ) +{ + LoadStrings(); + maSettings.push_back( pDefaultSettings ? + *pDefaultSettings : OptimizerSettings() ); + maSettings.back().maName = TKGet( TK_LastUsedSettings ); + LoadConfiguration(); + maInitialSettings = maSettings; +}; + +ConfigurationAccess::~ConfigurationAccess() +{ +} + +rtl::OUString ConfigurationAccess::getPath( const PPPOptimizerTokenEnum eToken ) +{ + rtl::OUString aPath; + try + { + static const OUString sProtocol( RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.expand:" ) ); + static const OUString stheMacroExpander( RTL_CONSTASCII_USTRINGPARAM( "/singletons/com.sun.star.util.theMacroExpander" ) ); + Reference< container::XNameAccess > xSet( OpenConfiguration( true ), UNO_QUERY_THROW ); + if ( xSet->hasByName( TKGet( eToken ) ) ) + xSet->getByName( TKGet( eToken ) ) >>= aPath; + if ( aPath.match( sProtocol, 0 ) ) + { + rtl::OUString aTmp( aPath.copy( 20 ) ); + Reference< util::XMacroExpander > xExpander; + if ( mxMSF->getValueByName( stheMacroExpander ) >>= xExpander ) + { + aPath = xExpander->expandMacros( aTmp ); + } + } + } + catch ( Exception& ) + { + } + return aPath; +} + +rtl::OUString ConfigurationAccess::getString( const PPPOptimizerTokenEnum eToken ) const +{ + std::map< PPPOptimizerTokenEnum, rtl::OUString, Compare >::const_iterator aIter( maStrings.find( eToken ) ); + return aIter != maStrings.end() ? ((*aIter).second) : rtl::OUString(); +} + +void ConfigurationAccess::LoadStrings() +{ + try + { + do + { + Reference< XInterface > xRoot( OpenConfiguration( true ) ); + if ( !xRoot.is() ) + break; + Reference< container::XNameAccess > xSet( GetConfigurationNode( xRoot, TKGet( TK_Strings ) ), UNO_QUERY ); + if ( xSet.is() ) + { + const Sequence< OUString > aElements( xSet->getElementNames() ); + for ( int i = 0; i < aElements.getLength(); i++ ) + { + try + { + OUString aString, aPropertyName( aElements[ i ] ); + if ( xSet->getByName( aPropertyName ) >>= aString ) + maStrings[ TKGet( aPropertyName ) ] = aString; + } + catch( Exception& ) + { + } + } + } + } + while( false ); + } + catch( Exception& ) + { + } +} + +void ConfigurationAccess::LoadConfiguration() +{ + try + { + do + { + Reference< XInterface > xRoot( OpenConfiguration( true ) ); + if ( !xRoot.is() ) + break; + Reference< container::XNameAccess > xSet( GetConfigurationNode( xRoot, TKGet( TK_LastUsedSettings ) ), UNO_QUERY ); + if ( xSet.is() ) + { + OptimizerSettings& rCurrent( maSettings.front() ); + rCurrent.LoadSettingsFromConfiguration( xSet ); + } + xSet = Reference< container::XNameAccess >( GetConfigurationNode( xRoot, TKGet( TK_Settings_Templates ) ), UNO_QUERY ); + if ( xSet.is() ) + { + const Sequence< OUString > aElements( xSet->getElementNames() ); + for ( int i = 0; i < aElements.getLength(); i++ ) + { + try + { + OUString aPath( TKGet( TK_Settings_Templates_ ).concat( aElements[ i ] ) ); + Reference< container::XNameAccess > xTemplates( GetConfigurationNode( xRoot, aPath ), UNO_QUERY ); + if ( xTemplates.is() ) + { + maSettings.push_back( OptimizerSettings() ); + maSettings.back().LoadSettingsFromConfiguration( xTemplates ); + } + } + catch( Exception& /* rException */ ) + { + } + } + } + } + while( false ); + } + catch( Exception& ) + { + } +} + +void ConfigurationAccess::SaveConfiguration() +{ + try + { + do + { + int i; + unsigned int k; + Reference xRoot( OpenConfiguration( false ), UNO_QUERY_THROW ); + + // storing the last used settings + Reference< container::XNameReplace > xSet( GetConfigurationNode( xRoot, TKGet( TK_LastUsedSettings ) ), UNO_QUERY_THROW ); + OptimizerSettings& rCurrent( maSettings.front() ); + rCurrent.SaveSettingsToConfiguration( xSet ); + + // updating template elements + xSet = Reference< container::XNameReplace >( GetConfigurationNode( xRoot, TKGet( TK_Settings_Templates ) ), UNO_QUERY_THROW ); + Reference< container::XNameContainer > xNameContainer( xSet, UNO_QUERY_THROW ); + + const Sequence< OUString > aElements( xSet->getElementNames() ); + for( i = 0; i < aElements.getLength(); i++ ) + xNameContainer->removeByName( aElements[ i ] ); + + for( k = 1; k < maSettings.size(); k++ ) + { + OptimizerSettings& rSettings( maSettings[ k ] ); + OUString aElementName( TKGet( TK_Template ).concat( OUString::valueOf( static_cast< sal_Int32 >( k ) ) ) ); + Reference< lang::XSingleServiceFactory > xChildFactory ( xSet, UNO_QUERY_THROW ); + Reference< container::XNameReplace > xChild( xChildFactory->createInstance(), UNO_QUERY_THROW ); + xNameContainer->insertByName( aElementName, Any( xChild ) ); + + OUString aPath( TKGet( TK_Settings_Templates_ ).concat( aElementName ) ); + Reference< container::XNameReplace > xTemplates( GetConfigurationNode( xRoot, aPath ), UNO_QUERY ); + rSettings.SaveSettingsToConfiguration( xTemplates ); + } + xRoot->commitChanges(); + } + while( false ); + } + catch( Exception& /* rException */ ) + { + + } +} + +Reference< XInterface > ConfigurationAccess::OpenConfiguration( bool bReadOnly ) +{ + Reference< XInterface > xRoot; + try + { + Reference< lang::XMultiServiceFactory > xProvider( mxMSF->getServiceManager()->createInstanceWithContext( GetConfigurationProviderServiceName(), mxMSF ), UNO_QUERY ); + if ( xProvider.is() ) + { + Sequence< Any > aCreationArguments( 2 ); + aCreationArguments[0] = makeAny( PropertyValue( + OUString( RTL_CONSTASCII_USTRINGPARAM( "nodepath" ) ), 0, + makeAny( GetPathToConfigurationRoot() ), + PropertyState_DIRECT_VALUE ) ); + aCreationArguments[1] = makeAny(beans::PropertyValue( + OUString( RTL_CONSTASCII_USTRINGPARAM( "lazywrite" ) ), 0, makeAny( true ), + PropertyState_DIRECT_VALUE ) ); + OUString sAccessService; + if ( bReadOnly ) + sAccessService = OUString( RTL_CONSTASCII_USTRINGPARAM( + "com.sun.star.configuration.ConfigurationAccess" ) ); + else + sAccessService = OUString( RTL_CONSTASCII_USTRINGPARAM( + "com.sun.star.configuration.ConfigurationUpdateAccess" ) ); + + xRoot = xProvider->createInstanceWithArguments( + sAccessService, aCreationArguments ); + } + } + catch ( Exception& /* rException */ ) + { + } + return xRoot; +} + +Reference< XInterface > ConfigurationAccess::GetConfigurationNode( + const Reference< XInterface >& xRoot, + const OUString& sPathToNode ) +{ + Reference< XInterface > xNode; + try + { + if ( !sPathToNode.getLength() ) + xNode = xRoot; + else + { + Reference< XHierarchicalNameAccess > xHierarchy( xRoot, UNO_QUERY ); + if ( xHierarchy.is() ) + { + xHierarchy->getByHierarchicalName( sPathToNode ) >>= xNode; + } + } + } + catch ( Exception& rException ) + { + OSL_TRACE ("caught exception while getting configuration node %s: %s", + ::rtl::OUStringToOString(sPathToNode, + RTL_TEXTENCODING_UTF8).getStr(), + ::rtl::OUStringToOString(rException.Message, + RTL_TEXTENCODING_UTF8).getStr()); + } + return xNode; +} + +com::sun::star::uno::Any ConfigurationAccess::GetConfigProperty( const PPPOptimizerTokenEnum ePropertyToken ) const +{ + Any aRetValue; + const OptimizerSettings& rSettings( maSettings.front() ); + try + { + switch( ePropertyToken ) + { + case TK_Name : aRetValue <<= rSettings.maName; break; + case TK_JPEGCompression : aRetValue <<= rSettings.mbJPEGCompression; break; + case TK_JPEGQuality : aRetValue <<= rSettings.mnJPEGQuality; break; + case TK_RemoveCropArea : aRetValue <<= rSettings.mbRemoveCropArea; break; + case TK_ImageResolution : aRetValue <<= rSettings.mnImageResolution; break; + case TK_EmbedLinkedGraphics : aRetValue <<= rSettings.mbEmbedLinkedGraphics; break; + case TK_OLEOptimization : aRetValue <<= rSettings.mbOLEOptimization; break; + case TK_OLEOptimizationType : aRetValue <<= rSettings.mnOLEOptimizationType; break; + case TK_DeleteUnusedMasterPages : aRetValue <<= rSettings.mbDeleteUnusedMasterPages; break; + case TK_DeleteHiddenSlides : aRetValue <<= rSettings.mbDeleteHiddenSlides; break; + case TK_DeleteNotesPages : aRetValue <<= rSettings.mbDeleteNotesPages; break; + case TK_SaveAs : aRetValue <<= rSettings.mbSaveAs; break; + case TK_SaveAsURL : aRetValue <<= rSettings.maSaveAsURL; break; + case TK_FilterName : aRetValue <<= rSettings.maFilterName; break; + case TK_OpenNewDocument : aRetValue <<= rSettings.mbOpenNewDocument; break; + default: + break; + } + } + catch( Exception& /* rException */ ) + { + } + return aRetValue; +} + +void ConfigurationAccess::SetConfigProperty( const PPPOptimizerTokenEnum ePropertyToken, const com::sun::star::uno::Any& rValue ) +{ + OptimizerSettings& rSettings( maSettings.front() ); + try + { + switch( ePropertyToken ) + { + case TK_Name : rValue >>= rSettings.maName; break; + case TK_JPEGCompression : rValue >>= rSettings.mbJPEGCompression; break; + case TK_JPEGQuality : rValue >>= rSettings.mnJPEGQuality; break; + case TK_RemoveCropArea : rValue >>= rSettings.mbRemoveCropArea; break; + case TK_ImageResolution : rValue >>= rSettings.mnImageResolution; break; + case TK_EmbedLinkedGraphics : rValue >>= rSettings.mbEmbedLinkedGraphics; break; + case TK_OLEOptimization : rValue >>= rSettings.mbOLEOptimization; break; + case TK_OLEOptimizationType : rValue >>= rSettings.mnOLEOptimizationType; break; + case TK_DeleteUnusedMasterPages : rValue >>= rSettings.mbDeleteUnusedMasterPages; break; + case TK_DeleteHiddenSlides : rValue >>= rSettings.mbDeleteHiddenSlides; break; + case TK_DeleteNotesPages : rValue >>= rSettings.mbDeleteNotesPages; break; + case TK_CustomShowName : rValue >>= rSettings.maCustomShowName; break; + case TK_SaveAs : rValue >>= rSettings.mbSaveAs; break; + case TK_SaveAsURL : rValue >>= rSettings.maSaveAsURL; break; + case TK_FilterName : rValue >>= rSettings.maFilterName; break; + case TK_OpenNewDocument : rValue >>= rSettings.mbOpenNewDocument; break; + default: + break; + } + } + catch( Exception& /* rException */ ) + { + } +} + +sal_Bool ConfigurationAccess::GetConfigProperty( const PPPOptimizerTokenEnum ePropertyToken, const sal_Bool bDefault ) const +{ + sal_Bool bRetValue = bDefault; + if ( ! ( GetConfigProperty( ePropertyToken ) >>= bRetValue ) ) + bRetValue = bDefault; + return bRetValue; +} + +sal_Int16 ConfigurationAccess::GetConfigProperty( const PPPOptimizerTokenEnum ePropertyToken, const sal_Int16 nDefault ) const +{ + sal_Int16 nRetValue = nDefault; + if ( ! ( GetConfigProperty( ePropertyToken ) >>= nRetValue ) ) + nRetValue = nDefault; + return nRetValue; +} + +sal_Int32 ConfigurationAccess::GetConfigProperty( const PPPOptimizerTokenEnum ePropertyToken, const sal_Int32 nDefault ) const +{ + sal_Int32 nRetValue = nDefault; + if ( ! ( GetConfigProperty( ePropertyToken ) >>= nRetValue ) ) + nRetValue = nDefault; + return nRetValue; +} + +Sequence< PropertyValue > ConfigurationAccess::GetConfigurationSequence() +{ + Sequence< PropertyValue > aRet( 14 ); + OptimizerSettings& rSettings( maSettings.front() ); + aRet[ 0 ].Name = TKGet( TK_JPEGCompression ); + aRet[ 0 ].Value= Any( rSettings.mbJPEGCompression ); + aRet[ 1 ].Name = TKGet( TK_JPEGQuality ); + aRet[ 1 ].Value= Any( rSettings.mnJPEGQuality ); + aRet[ 2 ].Name = TKGet( TK_RemoveCropArea ); + aRet[ 2 ].Value= Any( rSettings.mbRemoveCropArea ); + aRet[ 3 ].Name = TKGet( TK_ImageResolution ); + aRet[ 3 ].Value= Any( rSettings.mnImageResolution ); + aRet[ 4 ].Name = TKGet( TK_EmbedLinkedGraphics ); + aRet[ 4 ].Value= Any( rSettings.mbEmbedLinkedGraphics ); + aRet[ 5 ].Name = TKGet( TK_OLEOptimization ); + aRet[ 5 ].Value= Any( rSettings.mbOLEOptimization ); + aRet[ 6 ].Name = TKGet( TK_OLEOptimizationType ); + aRet[ 6 ].Value= Any( rSettings.mnOLEOptimizationType ); + aRet[ 7 ].Name = TKGet( TK_DeleteUnusedMasterPages ); + aRet[ 7 ].Value= Any( rSettings.mbDeleteUnusedMasterPages ); + aRet[ 8 ].Name = TKGet( TK_DeleteHiddenSlides ); + aRet[ 8 ].Value= Any( rSettings.mbDeleteHiddenSlides ); + aRet[ 9 ].Name = TKGet( TK_DeleteNotesPages ); + aRet[ 9 ].Value= Any( rSettings.mbDeleteNotesPages ); + aRet[ 10].Name = TKGet( TK_CustomShowName ); + aRet[ 10].Value= Any( rSettings.maCustomShowName ); + aRet[ 11].Name = TKGet( TK_SaveAsURL ); + aRet[ 11].Value= Any( rSettings.maSaveAsURL ); + aRet[ 12].Name = TKGet( TK_FilterName ); + aRet[ 12].Value= Any( rSettings.maFilterName ); + aRet[ 13].Name = TKGet( TK_OpenNewDocument ); + aRet[ 13].Value= Any( rSettings.mbOpenNewDocument ); + return aRet; +} + +std::vector< OptimizerSettings >::iterator ConfigurationAccess::GetOptimizerSettingsByName( const rtl::OUString& rName ) +{ + std::vector< OptimizerSettings >::iterator aIter( maSettings.begin() + 1 ); + while ( aIter != maSettings.end() ) + { + if ( aIter->maName == rName ) + break; + aIter++; + } + return aIter; +} diff --git a/sdext/source/minimizer/configurationaccess.hxx b/sdext/source/minimizer/configurationaccess.hxx new file mode 100644 index 000000000000..8b674edcba78 --- /dev/null +++ b/sdext/source/minimizer/configurationaccess.hxx @@ -0,0 +1,165 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: configurationaccess.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:49:50 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + + +#ifndef _CONFIGURATION_ACCESS_HXX_ +#define _CONFIGURATION_ACCESS_HXX_ +#include +#ifndef _PPPOPTIMIZER_TOKEN_HXX +#include "pppoptimizertoken.hxx" +#endif +#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_ANY_H_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_XINTERFACE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMEREPLACE_HPP_ +#include +#endif +#include + +struct OptimizerSettings +{ + rtl::OUString maName; + sal_Bool mbJPEGCompression; + sal_Int32 mnJPEGQuality; + sal_Bool mbRemoveCropArea; + sal_Int32 mnImageResolution; + sal_Bool mbEmbedLinkedGraphics; + sal_Bool mbOLEOptimization; + sal_Int16 mnOLEOptimizationType; + sal_Bool mbDeleteUnusedMasterPages; + sal_Bool mbDeleteHiddenSlides; + sal_Bool mbDeleteNotesPages; + rtl::OUString maCustomShowName; + sal_Bool mbSaveAs; + rtl::OUString maSaveAsURL; + rtl::OUString maFilterName; + sal_Bool mbOpenNewDocument; + + OptimizerSettings() : + mbJPEGCompression( sal_False ), + mnJPEGQuality( 90 ), + mbRemoveCropArea( sal_False ), + mnImageResolution( 0 ), + mbEmbedLinkedGraphics( sal_False ), + mbOLEOptimization( sal_False ), + mnOLEOptimizationType( 0 ), + mbDeleteUnusedMasterPages( sal_False ), + mbDeleteHiddenSlides( sal_False ), + mbDeleteNotesPages( sal_False ), + mbSaveAs( sal_True ), + mbOpenNewDocument( sal_True ){}; + ~OptimizerSettings(){}; + + void LoadSettingsFromConfiguration( const com::sun::star::uno::Reference< com::sun::star::container::XNameAccess >& rSettings ); + void SaveSettingsToConfiguration( const com::sun::star::uno::Reference< com::sun::star::container::XNameReplace >& rSettings ); + + sal_Bool operator==( const OptimizerSettings& rOptimizerSettings ) const; + +}; +class ConfigurationAccess +{ + public : + + ConfigurationAccess( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rXFactory, + OptimizerSettings* pDefaultSettings = NULL ); + ~ConfigurationAccess(); + void SaveConfiguration(); + + rtl::OUString getPath( const PPPOptimizerTokenEnum ); + rtl::OUString getString( const PPPOptimizerTokenEnum ) const; + + // access to current OptimizerSettings (stored in the first entry of maSettings) + com::sun::star::uno::Any GetConfigProperty( const PPPOptimizerTokenEnum ) const; + void SetConfigProperty( const PPPOptimizerTokenEnum, const com::sun::star::uno::Any& aValue ); + + sal_Bool GetConfigProperty( const PPPOptimizerTokenEnum, const sal_Bool bDefault ) const; + sal_Int16 GetConfigProperty( const PPPOptimizerTokenEnum, const sal_Int16 nDefault ) const; + sal_Int32 GetConfigProperty( const PPPOptimizerTokenEnum, const sal_Int32 nDefault ) const; + + com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > GetConfigurationSequence(); + + // getting access to the OptimizerSettings list + std::vector< OptimizerSettings >& GetOptimizerSettings() { return maSettings; }; + std::vector< OptimizerSettings >::iterator GetOptimizerSettingsByName( const rtl::OUString& rName ); + + private : + + struct Compare + { + bool operator()( const PPPOptimizerTokenEnum s1, const PPPOptimizerTokenEnum s2 ) const + { + return s1 < s2; + } + }; + std::map < PPPOptimizerTokenEnum, rtl::OUString, Compare > maStrings; + + std::vector< OptimizerSettings > maSettings; + std::vector< OptimizerSettings > maInitialSettings; + + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > mxMSF; + + void LoadStrings(); + void LoadConfiguration(); + com::sun::star::uno::Reference< com::sun::star::uno::XInterface > OpenConfiguration( bool bReadOnly ); + com::sun::star::uno::Reference< com::sun::star::uno::XInterface > GetConfigurationNode( + const com::sun::star::uno::Reference< com::sun::star::uno::XInterface >& xRoot, const rtl::OUString& sPathToNode ); +}; + +#endif // _CONFIGURATION_ACCESS_HXX_ + diff --git a/sdext/source/minimizer/description.xml b/sdext/source/minimizer/description.xml new file mode 100644 index 000000000000..2b217c8852d7 --- /dev/null +++ b/sdext/source/minimizer/description.xml @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/sdext/source/minimizer/exports.map b/sdext/source/minimizer/exports.map new file mode 100644 index 000000000000..c673092ae700 --- /dev/null +++ b/sdext/source/minimizer/exports.map @@ -0,0 +1,9 @@ +PDFFILTER_1_0 { + global: + component_getImplementationEnvironment; + component_getFactory; + component_writeInfo; + + local: + *; +}; \ No newline at end of file diff --git a/sdext/source/minimizer/fileopendialog.cxx b/sdext/source/minimizer/fileopendialog.cxx new file mode 100644 index 000000000000..5a33ceb3ae7f --- /dev/null +++ b/sdext/source/minimizer/fileopendialog.cxx @@ -0,0 +1,252 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: fileopendialog.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:50:19 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef _FILEOPEN_DIALOG_HXX_ +#include "fileopendialog.hxx" +#endif + +#ifndef _SAL_TYPES_H_ +#include +#endif +#ifndef _PPPOPTIMIZER_TOKEN_HXX +#include "pppoptimizertoken.hxx" +#endif +#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_COMMONFILEPICKERELEMENTIDS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_EXECUTABLEDIALOGRESULTS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_EXTENDEDFILEPICKERELEMENTIDS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_FILEPREVIEWIMAGEFORMATS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_CONTROLACTIONS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_TEMPLATEDESCRIPTION_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKERCONTROLACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKERNOTIFIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPREVIEW_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILTERMANAGER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILTERGROUPMANAGER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_XFOLDERPICKER_HDL_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_NAMEDVALUE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_EMBED_ELEMENTMODES_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XENUMERATION_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XCONTAINERQUERY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UCB_INTERACTIVEAUGMENTEDIOEXCEPTION_HPP_ +#include +#endif +#ifndef _COMPHELPER_TYPES_HXX_ +#include +#endif + + +using namespace ::rtl; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::container; +using namespace ::com::sun::star::ui::dialogs; + +FileOpenDialog::FileOpenDialog( const Reference< XComponentContext >& rxMSF ) : + mxMSF( rxMSF ) +{ + Sequence< Any > aInitPropSeq( 1 ); + aInitPropSeq[ 0 ] <<= (sal_Int16)TemplateDescription::FILESAVE_AUTOEXTENSION; // TemplateDescription.FILEOPEN_SIMPLE + + mxFilePicker = Reference < XFilePicker >( mxMSF->getServiceManager()->createInstanceWithArgumentsAndContext( + OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ui.dialogs.FilePicker" ) ), aInitPropSeq, rxMSF ),UNO_QUERY_THROW ); + mxFilePicker->setMultiSelectionMode( sal_False ); + + + // collecting a list of impress filters + Reference< XNameAccess > xFilters( mxMSF->getServiceManager()->createInstanceWithContext( + OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.FilterFactory" ) ), rxMSF ), UNO_QUERY_THROW ); + Sequence< OUString > aFilterList( xFilters->getElementNames() ); + for ( int i = 0; i < aFilterList.getLength(); i++ ) + { + Sequence< PropertyValue > aFilterProperties; + if ( xFilters->getByName( aFilterList[ i ] ) >>= aFilterProperties ) + { + FilterEntry aFilterEntry; + sal_Bool bImpressFilter = sal_False; + for ( int j = 0; j < aFilterProperties.getLength(); j++ ) + { + PropertyValue& rProperty( aFilterProperties[ j ] ); + switch( TKGet( rProperty.Name ) ) + { + case TK_DocumentService : + { + rtl::OUString sDocumentService; + rProperty.Value >>= sDocumentService; + if ( sDocumentService == OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.presentation.PresentationDocument" ) ) ) + bImpressFilter = sal_True; + else + j = aFilterProperties.getLength(); + } + break; + case TK_Name : rProperty.Value >>= aFilterEntry.maName; break; + case TK_UIName : rProperty.Value >>= aFilterEntry.maUIName; break; + case TK_Type : rProperty.Value >>= aFilterEntry.maType; break; + case TK_Flags : rProperty.Value >>= aFilterEntry.maFlags; break; + default : break; + } + } + if ( bImpressFilter && ( ( aFilterEntry.maFlags & 3 ) == 3 ) ) + { + aFilterEntryList.push_back( aFilterEntry ); + } + } + } + + Reference< XNameAccess > xTypes( mxMSF->getServiceManager()->createInstanceWithContext( + OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.TypeDetection" ) ), rxMSF ), UNO_QUERY_THROW ); + Sequence< OUString > aTypeList( xFilters->getElementNames() ); + +// mxFilePicker->setDefaultName( ); + + Reference< XFilterManager > xFilterManager( mxFilePicker, UNO_QUERY_THROW ); + std::vector< FilterEntry >::iterator aIter( aFilterEntryList.begin() ); + while( aIter != aFilterEntryList.end() ) + { + Sequence< PropertyValue > aTypeProperties; + try + { + if ( xTypes->getByName( aIter->maType ) >>= aTypeProperties ) + { + Sequence< OUString > aExtensions; + for ( int i = 0; i < aTypeProperties.getLength(); i++ ) + { + switch( TKGet( aTypeProperties[ i ].Name ) ) + { + case TK_Extensions : aTypeProperties[ i ].Value >>= aExtensions; break; + default: break; + } + } + if ( aExtensions.getLength() ) + { + xFilterManager->appendFilter( aIter->maUIName, aExtensions[ 0 ] ); + if ( aIter->maFlags & 0x100 ) + xFilterManager->setCurrentFilter( aIter->maUIName ); + } + } + } + catch ( Exception& ) + { + } + aIter++; + } +} +FileOpenDialog::~FileOpenDialog() +{ +} +sal_Int16 FileOpenDialog::execute() +{ + return mxFilePicker->execute(); +} +void FileOpenDialog::setDefaultName( const rtl::OUString& rDefaultName ) +{ + mxFilePicker->setDefaultName( rDefaultName ); +} +void FileOpenDialog::setDefaultDirectory( const rtl::OUString& rDefaultDirectory ) +{ + mxFilePicker->setDisplayDirectory( rDefaultDirectory ); +} +::rtl::OUString FileOpenDialog::getURL() const +{ + Sequence< OUString > aFileSeq( mxFilePicker->getFiles() ); + return aFileSeq.getLength() ? aFileSeq[ 0 ] : OUString(); +}; +::rtl::OUString FileOpenDialog::getFilterName() const +{ + rtl::OUString aFilterName; + Reference< XFilterManager > xFilterManager( mxFilePicker, UNO_QUERY_THROW ); + rtl::OUString aUIName( xFilterManager->getCurrentFilter() ); + std::vector< FilterEntry >::const_iterator aIter( aFilterEntryList.begin() ); + while( aIter != aFilterEntryList.end() ) + { + if ( aIter->maUIName == aUIName ) + { + aFilterName = aIter->maName; + break; + } + aIter++; + } + return aFilterName; +}; diff --git a/sdext/source/minimizer/fileopendialog.hxx b/sdext/source/minimizer/fileopendialog.hxx new file mode 100644 index 000000000000..fc857b3ab451 --- /dev/null +++ b/sdext/source/minimizer/fileopendialog.hxx @@ -0,0 +1,89 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: fileopendialog.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:50:28 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + + +#ifndef _FILEOPEN_DIALOG_HXX_ +#define _FILEOPEN_DIALOG_HXX_ + +#include + +#ifndef _COMPHELPER_PROCESSFACTORY_HXX_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_STRINGPAIR_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKER_HPP_ +#include +#endif + +class FileOpenDialog +{ + // a list of filters that are provided within the SaveDialog + struct FilterEntry + { + rtl::OUString maName; + rtl::OUString maType; + rtl::OUString maUIName; + rtl::OUString maFilter; + sal_Int32 maFlags; + com::sun::star::uno::Sequence< rtl::OUString > maExtensions; + + FilterEntry() : + maFlags( 0 ) {} + }; + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > mxMSF; + com::sun::star::uno::Reference < ::com::sun::star::ui::dialogs::XFilePicker > mxFilePicker; + + std::vector< FilterEntry > aFilterEntryList; + +public : + FileOpenDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF ); + ~FileOpenDialog(); + + sal_Int16 execute(); + + void setDefaultName( const rtl::OUString& ); + void setDefaultDirectory( const rtl::OUString& ); + + ::rtl::OUString getURL() const; + ::rtl::OUString getFilterName() const; +}; + +#endif // _FILEOPEN_DIALOG_HXX_ + diff --git a/sdext/source/minimizer/graphiccollector.cxx b/sdext/source/minimizer/graphiccollector.cxx new file mode 100644 index 000000000000..a351e04dbde5 --- /dev/null +++ b/sdext/source/minimizer/graphiccollector.cxx @@ -0,0 +1,376 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: graphiccollector.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:50:36 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef GRAPHICCOLLECTOR_HXX +#include "graphiccollector.hxx" +#endif + +#ifndef _COM_SUN_STAR_AWT_XDEVICE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XFRAMESSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_FILLSTYLE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_BITMAPMODE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATIONPAGE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ +#include +#endif + +#include "impoptimizer.hxx" + +using namespace ::rtl; +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::drawing; +using namespace ::com::sun::star::graphic; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::presentation; + +const DeviceInfo& GraphicCollector::GetDeviceInfo( const Reference< XComponentContext >& rxFact ) +{ + static DeviceInfo aDeviceInfo; + if( !aDeviceInfo.Width ) + { + try + { + Reference< XFramesSupplier > xDesktop( rxFact->getServiceManager()->createInstanceWithContext( + OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ), rxFact ), UNO_QUERY_THROW ); + Reference< XFrame > xFrame( xDesktop->getActiveFrame() ); + Reference< XWindow > xWindow( xFrame->getContainerWindow() ); + Reference< XDevice > xDevice( xWindow, UNO_QUERY_THROW ); + aDeviceInfo = xDevice->getInfo(); + } + catch( Exception& ) + { + } + } + return aDeviceInfo; +} + +void ImpAddEntity( std::vector< GraphicCollector::GraphicEntity >& rGraphicEntities, Reference< XGraphic >& rxGraphic, const GraphicSettings& rGraphicSettings, const GraphicCollector::GraphicUser& rUser ) +{ + const rtl::OUString aGraphicURL( rUser.maGraphicURL ); + const rtl::OUString sPackageURL( OUString::createFromAscii( "vnd.sun.star.GraphicObject:" ) ); + + if ( rGraphicSettings.mbEmbedLinkedGraphics || ( !aGraphicURL.getLength() || aGraphicURL.match( sPackageURL, 0 ) ) ) + { + std::vector< GraphicCollector::GraphicEntity >::iterator aIter( rGraphicEntities.begin() ); + while( aIter != rGraphicEntities.end() ) + { + if ( aIter->maUser[ 0 ].maGraphicURL == aGraphicURL ) + { + if ( rUser.maLogicalSize.Width > aIter->maLogicalSize.Width ) + aIter->maLogicalSize.Width = rUser.maLogicalSize.Width; + if ( rUser.maLogicalSize.Height > aIter->maLogicalSize.Height ) + aIter->maLogicalSize.Height = rUser.maLogicalSize.Height; + aIter->maUser.push_back( rUser ); + break; + } + aIter++; + } + if ( aIter == rGraphicEntities.end() ) + { + GraphicCollector::GraphicEntity aEntity( rxGraphic, rUser ); + rGraphicEntities.push_back( aEntity ); + } + } +} + +void ImpAddGraphicEntity( const Reference< XComponentContext >& rxMSF, Reference< XShape >& rxShape, const GraphicSettings& rGraphicSettings, std::vector< GraphicCollector::GraphicEntity >& rGraphicEntities ) +{ + Reference< XGraphic > xGraphic; + Reference< XPropertySet > xShapePropertySet( rxShape, UNO_QUERY_THROW ); + if ( xShapePropertySet->getPropertyValue( TKGet( TK_Graphic ) ) >>= xGraphic ) + { + text::GraphicCrop aGraphicCropLogic( 0, 0, 0, 0 ); + + GraphicCollector::GraphicUser aUser; + aUser.mxShape = rxShape; + aUser.mbFillBitmap = sal_False; + xShapePropertySet->getPropertyValue( TKGet( TK_GraphicURL ) ) >>= aUser.maGraphicURL; + xShapePropertySet->getPropertyValue( TKGet( TK_GraphicStreamURL ) ) >>= aUser.maGraphicStreamURL; + xShapePropertySet->getPropertyValue( TKGet( TK_GraphicCrop ) ) >>= aGraphicCropLogic; + awt::Size aLogicalSize( rxShape->getSize() ); + + // calculating the logical size, as if there were no cropping + if ( aGraphicCropLogic.Left || aGraphicCropLogic.Right || aGraphicCropLogic.Top || aGraphicCropLogic.Bottom ) + { + awt::Size aSize100thMM( GraphicCollector::GetOriginalSize( rxMSF, xGraphic ) ); + if ( aSize100thMM.Width && aSize100thMM.Height ) + { + awt::Size aCropSize( aSize100thMM.Width - ( aGraphicCropLogic.Left + aGraphicCropLogic.Right ), + aSize100thMM.Height - ( aGraphicCropLogic.Top + aGraphicCropLogic.Bottom )); + if ( aCropSize.Width && aCropSize.Height ) + { + awt::Size aNewLogSize( static_cast< sal_Int32 >( static_cast< double >( aSize100thMM.Width * aLogicalSize.Width ) / aCropSize.Width ), + static_cast< sal_Int32 >( static_cast< double >( aSize100thMM.Height * aLogicalSize.Height ) / aCropSize.Height ) ); + aLogicalSize = aNewLogSize; + } + } + } + aUser.maGraphicCropLogic = aGraphicCropLogic; + aUser.maLogicalSize = aLogicalSize; + ImpAddEntity( rGraphicEntities, xGraphic, rGraphicSettings, aUser ); + } +} + +void ImpAddFillBitmapEntity( const Reference< XComponentContext >& rxMSF, const Reference< XPropertySet >& rxPropertySet, const awt::Size& rLogicalSize, + std::vector< GraphicCollector::GraphicEntity >& rGraphicEntities, const GraphicSettings& rGraphicSettings, const Reference< XPropertySet >& rxPagePropertySet ) +{ + try + { + FillStyle eFillStyle; + if ( rxPropertySet->getPropertyValue( TKGet( TK_FillStyle ) ) >>= eFillStyle ) + { + if ( eFillStyle == FillStyle_BITMAP ) + { + rtl::OUString aFillBitmapURL; + Reference< XBitmap > xFillBitmap; + if ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmap ) ) >>= xFillBitmap ) + { + Reference< XGraphic > xGraphic( xFillBitmap, UNO_QUERY_THROW ); + if ( xGraphic.is() ) + { + awt::Size aLogicalSize( rLogicalSize ); + Reference< XPropertySetInfo > axPropSetInfo( rxPropertySet->getPropertySetInfo() ); + if ( axPropSetInfo.is() ) + { + if ( axPropSetInfo->hasPropertyByName( TKGet( TK_FillBitmapMode ) ) ) + { + BitmapMode eBitmapMode; + if ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapMode ) ) >>= eBitmapMode ) + { + if ( ( eBitmapMode == BitmapMode_REPEAT ) || ( eBitmapMode == BitmapMode_NO_REPEAT ) ) + { + sal_Bool bLogicalSize; + awt::Size aSize( 0, 0 ); + if ( ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapLogicalSize ) ) >>= bLogicalSize ) + && ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapSizeX ) ) >>= aSize.Width ) + && ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapSizeY ) ) >>= aSize.Height ) ) + { + if ( bLogicalSize ) + { + if ( !aSize.Width || !aSize.Height ) + { + awt::Size aSize100thMM( GraphicCollector::GetOriginalSize( rxMSF, xGraphic ) ); + if ( aSize100thMM.Width && aSize100thMM.Height ) + aLogicalSize = aSize100thMM; + } + else + aLogicalSize = aSize; + } + else + { + aLogicalSize.Width = sal::static_int_cast< sal_Int32 >( ( static_cast< double >( aLogicalSize.Width ) * aSize.Width ) / -100.0 ); + aLogicalSize.Height = sal::static_int_cast< sal_Int32 >( ( static_cast< double >( aLogicalSize.Height ) * aSize.Height ) / -100.0 ); + } + } + } + } + } + } + GraphicCollector::GraphicUser aUser; + aUser.mxPropertySet = rxPropertySet; + rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapURL ) ) >>= aUser.maGraphicURL; + aUser.mbFillBitmap = sal_True; + aUser.maLogicalSize = aLogicalSize; + aUser.mxPagePropertySet = rxPagePropertySet; + ImpAddEntity( rGraphicEntities, xGraphic, rGraphicSettings, aUser ); + } + } + } + } + } + catch( Exception& ) + { + } +} + +void ImpCollectBackgroundGraphic( const Reference< XComponentContext >& rxMSF, const Reference< XDrawPage >& rxDrawPage, const GraphicSettings& rGraphicSettings, std::vector< GraphicCollector::GraphicEntity >& rGraphicEntities ) +{ + try + { + awt::Size aLogicalSize( 28000, 21000 ); + Reference< XPropertySet > xPropertySet( rxDrawPage, UNO_QUERY_THROW ); + xPropertySet->getPropertyValue( TKGet( TK_Width ) ) >>= aLogicalSize.Width; + xPropertySet->getPropertyValue( TKGet( TK_Height ) ) >>= aLogicalSize.Height; + + Reference< XPropertySet > xBackgroundPropSet; + if ( xPropertySet->getPropertyValue( TKGet( TK_Background ) ) >>= xBackgroundPropSet ) + ImpAddFillBitmapEntity( rxMSF, xBackgroundPropSet, aLogicalSize, rGraphicEntities, rGraphicSettings, xPropertySet ); + } + catch( Exception& ) + { + } +} + +void ImpCollectGraphicObjects( const Reference< XComponentContext >& rxMSF, const Reference< XShapes >& rxShapes, const GraphicSettings& rGraphicSettings, std::vector< GraphicCollector::GraphicEntity >& rGraphicEntities ) +{ + for ( sal_Int32 i = 0; i < rxShapes->getCount(); i++ ) + { + try + { + const OUString sGraphicObjectShape( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.GraphicObjectShape" ) ); + const OUString sGroupShape( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.GroupShape" ) ); + Reference< XShape > xShape( rxShapes->getByIndex( i ), UNO_QUERY_THROW ); + const OUString sShapeType( xShape->getShapeType() ); + if ( sShapeType == sGroupShape ) + { + Reference< XShapes > xShapes( xShape, UNO_QUERY_THROW ); + ImpCollectGraphicObjects( rxMSF, xShapes, rGraphicSettings, rGraphicEntities ); + continue; + } + + if ( sShapeType == sGraphicObjectShape ) + ImpAddGraphicEntity( rxMSF, xShape, rGraphicSettings, rGraphicEntities ); + + // now check for a fillstyle + Reference< XPropertySet > xEmptyPagePropSet; + Reference< XPropertySet > xShapePropertySet( xShape, UNO_QUERY_THROW ); + awt::Size aLogicalSize( xShape->getSize() ); + ImpAddFillBitmapEntity( rxMSF, xShapePropertySet, aLogicalSize, rGraphicEntities, rGraphicSettings, xEmptyPagePropSet ); + } + catch( Exception& ) + { + } + } +} + +awt::Size GraphicCollector::GetOriginalSize( const Reference< XComponentContext >& rxMSF, const Reference< XGraphic >& rxGraphic ) +{ + awt::Size aSize100thMM( 0, 0 ); + Reference< XPropertySet > xGraphicPropertySet( rxGraphic, UNO_QUERY_THROW ); + if ( xGraphicPropertySet->getPropertyValue( TKGet( TK_Size100thMM ) ) >>= aSize100thMM ) + { + if ( !aSize100thMM.Width && !aSize100thMM.Height ) + { // MAPMODE_PIXEL USED :-( + awt::Size aSourceSizePixel( 0, 0 ); + if ( xGraphicPropertySet->getPropertyValue( TKGet( TK_SizePixel ) ) >>= aSourceSizePixel ) + { + const DeviceInfo& rDeviceInfo( GraphicCollector::GetDeviceInfo( rxMSF ) ); + if ( rDeviceInfo.PixelPerMeterX && rDeviceInfo.PixelPerMeterY ) + { + aSize100thMM.Width = static_cast< sal_Int32 >( ( aSourceSizePixel.Width * 100000.0 ) / rDeviceInfo.PixelPerMeterX ); + aSize100thMM.Height = static_cast< sal_Int32 >( ( aSourceSizePixel.Height * 100000.0 ) / rDeviceInfo.PixelPerMeterY ); + } + } + } + } + return aSize100thMM; +} + +void GraphicCollector::CollectGraphics( const Reference< XComponentContext >& rxMSF, const Reference< XModel >& rxModel, + const GraphicSettings& rGraphicSettings, std::vector< GraphicCollector::GraphicEntity >& rGraphicList ) +{ + try + { + sal_Int32 i; + Reference< XDrawPagesSupplier > xDrawPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + for ( i = 0; i < xDrawPages->getCount(); i++ ) + { + Reference< XDrawPage > xDrawPage( xDrawPages->getByIndex( i ), UNO_QUERY_THROW ); + ImpCollectBackgroundGraphic( rxMSF, xDrawPage, rGraphicSettings, rGraphicList ); + Reference< XShapes > xDrawShapes( xDrawPage, UNO_QUERY_THROW ); + ImpCollectGraphicObjects( rxMSF, xDrawShapes, rGraphicSettings, rGraphicList ); + + Reference< XPresentationPage > xPresentationPage( xDrawPage, UNO_QUERY_THROW ); + Reference< XDrawPage > xNotesPage( xPresentationPage->getNotesPage() ); + ImpCollectBackgroundGraphic( rxMSF, xNotesPage, rGraphicSettings, rGraphicList ); + Reference< XShapes > xNotesShapes( xNotesPage, UNO_QUERY_THROW ); + ImpCollectGraphicObjects( rxMSF, xNotesShapes, rGraphicSettings, rGraphicList ); + } + Reference< XMasterPagesSupplier > xMasterPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xMasterPages( xMasterPagesSupplier->getMasterPages(), UNO_QUERY_THROW ); + for ( i = 0; i < xMasterPages->getCount(); i++ ) + { + Reference< XDrawPage > xMasterPage( xMasterPages->getByIndex( i ), UNO_QUERY_THROW ); + ImpCollectBackgroundGraphic( rxMSF, xMasterPage, rGraphicSettings, rGraphicList ); + Reference< XShapes > xMasterPageShapes( xMasterPage, UNO_QUERY_THROW ); + ImpCollectGraphicObjects( rxMSF, xMasterPageShapes, rGraphicSettings, rGraphicList ); + } + + std::vector< GraphicCollector::GraphicEntity >::iterator aGraphicIter( rGraphicList.begin() ); + std::vector< GraphicCollector::GraphicEntity >::iterator aGraphicIEnd( rGraphicList.end() ); + while( aGraphicIter != aGraphicIEnd ) + { + // check if it is possible to remove the crop area + aGraphicIter->mbRemoveCropArea = rGraphicSettings.mbRemoveCropArea; + if ( aGraphicIter->mbRemoveCropArea ) + { + std::vector< GraphicCollector::GraphicUser >::iterator aGUIter( aGraphicIter->maUser.begin() ); + while( aGraphicIter->mbRemoveCropArea && ( aGUIter != aGraphicIter->maUser.end() ) ) + { + if ( aGUIter->maGraphicCropLogic.Left || aGUIter->maGraphicCropLogic.Top + || aGUIter->maGraphicCropLogic.Right || aGUIter->maGraphicCropLogic.Bottom ) + { + if ( aGUIter == aGraphicIter->maUser.begin() ) + aGraphicIter->maGraphicCropLogic = aGUIter->maGraphicCropLogic; + else if ( ( aGraphicIter->maGraphicCropLogic.Left != aGUIter->maGraphicCropLogic.Left ) + || ( aGraphicIter->maGraphicCropLogic.Top != aGUIter->maGraphicCropLogic.Top ) + || ( aGraphicIter->maGraphicCropLogic.Right != aGUIter->maGraphicCropLogic.Right ) + || ( aGraphicIter->maGraphicCropLogic.Bottom != aGUIter->maGraphicCropLogic.Bottom ) ) + { + aGraphicIter->mbRemoveCropArea = sal_False; + } + } + else + aGraphicIter->mbRemoveCropArea = sal_False; + aGUIter++; + } + } + if ( !aGraphicIter->mbRemoveCropArea ) + aGraphicIter->maGraphicCropLogic = text::GraphicCrop( 0, 0, 0, 0 ); + aGraphicIter++; + } + } + catch ( Exception& ) + { + } +} + diff --git a/sdext/source/minimizer/graphiccollector.hxx b/sdext/source/minimizer/graphiccollector.hxx new file mode 100644 index 000000000000..9ad183051248 --- /dev/null +++ b/sdext/source/minimizer/graphiccollector.hxx @@ -0,0 +1,126 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: graphiccollector.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:50:44 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef GRAPHICCOLLECTOR_HXX +#define GRAPHICCOLLECTOR_HXX + +#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_DEVICEINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_TEXT_GRAPHICCROP_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XSHAPE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHIC_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ +#include +#endif +#include + + +struct GraphicSettings +{ + sal_Bool mbJPEGCompression; + sal_Int32 mnJPEGQuality; + sal_Bool mbRemoveCropArea; + sal_Int32 mnImageResolution; + sal_Bool mbEmbedLinkedGraphics; + + GraphicSettings( sal_Bool bJPEGCompression, sal_Int32 nJPEGQuality, sal_Bool bRemoveCropArea, + sal_Int32 nImageResolution, sal_Bool bEmbedLinkedGraphics ) + : mbJPEGCompression( bJPEGCompression ) + , mnJPEGQuality( nJPEGQuality ) + , mbRemoveCropArea( bRemoveCropArea ) + , mnImageResolution( nImageResolution ) + , mbEmbedLinkedGraphics( bEmbedLinkedGraphics ) {}; +}; + +class GraphicCollector +{ + public: + + struct GraphicUser + { + com::sun::star::uno::Reference< com::sun::star::drawing::XShape > mxShape; // if mbFillBitmap is false the xShape has + com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > mxPropertySet; // to be used otherwise the PropertySet + com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > mxPagePropertySet; + rtl::OUString maGraphicURL; + rtl::OUString maGraphicStreamURL; + com::sun::star::text::GraphicCrop maGraphicCropLogic; + com::sun::star::awt::Size maLogicalSize; + sal_Bool mbFillBitmap; + + GraphicUser() : mxShape(), maGraphicCropLogic( 0, 0, 0, 0 ), mbFillBitmap( sal_False ) {}; + }; + + struct GraphicEntity + { + com::sun::star::uno::Reference< com::sun::star::graphic::XGraphic > mxGraphic; // the corresponding XGraphic of the Shape + com::sun::star::awt::Size maLogicalSize; // the biggest logical size the graphic will be displayed + sal_Bool mbRemoveCropArea; // + com::sun::star::text::GraphicCrop maGraphicCropLogic; + std::vector< GraphicUser > maUser; + + GraphicEntity( const com::sun::star::uno::Reference< com::sun::star::graphic::XGraphic >& xGraphic, const GraphicUser& rUser ) + : mxGraphic( xGraphic ), maLogicalSize( rUser.maLogicalSize ), mbRemoveCropArea( sal_False ), maGraphicCropLogic( 0, 0, 0, 0 ) { maUser.push_back( rUser ); }; + }; + + static const com::sun::star::awt::DeviceInfo& GetDeviceInfo( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxFact ); + static com::sun::star::awt::Size GetOriginalSize( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, + const com::sun::star::uno::Reference< com::sun::star::graphic::XGraphic >& rxGraphic ); + static void CollectGraphics( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& rxModel, + const GraphicSettings& rGraphicSettings, std::vector< GraphicEntity >& io_rGraphicList ); + +}; + +// -------------------- +// - GRAPHICCOLLECTOR - +// -------------------- + + +#endif // GRAPHICCOLLECTOR_HXX diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx new file mode 100644 index 000000000000..e6b40082ec08 --- /dev/null +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -0,0 +1,794 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: impoptimizer.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:50:53 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "impoptimizer.hxx" + +#ifndef PPPOPTIMIZER_HXX +#include "pppoptimizer.hxx" +#endif +#ifndef GRAPHICCOLLECTOR_HXX +#include "graphiccollector.hxx" +#endif +#ifndef PAGECOLLECTOR_HXX +#include "pagecollector.hxx" +#endif +#include "informationdialog.hxx" + +#include +#include +#include +#include +#include +#include +#include + +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_RECTANGLE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UTIL_MEASUREUNIT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDESKTOP_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XWINDOW_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_FrameSearchFlag_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DOCUMENT_XDOCUMENTINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DOCUMENT_XDOCUMENTINFOSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHICPROVIDER_HPP_ +#include +#endif +#ifndef _UTL_CONFIGMGR_HXX_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMED_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGETARGET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATIONSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATION_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATIONPAGE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DOCUMENT_XFILTER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DOCUMENT_XEXPORTER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_RUNTIME_EXCEPTION_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHICPROVIDER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_GRAPHIC_GRAPHICTYPE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_IO_XSTREAM_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_IO_XSEEKABLE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XCOMPONENTLOADER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UTIL_URL_HPP_ +#include +#endif + +using namespace ::std; +using namespace ::rtl; +using namespace ::vcl; +using namespace ::com::sun::star; +using namespace ::com::sun::star::io; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::drawing; +using namespace ::com::sun::star::graphic; +using namespace ::com::sun::star::document; +using namespace ::com::sun::star::container; +using namespace ::com::sun::star::presentation; + +void ImpExtractCustomShow( const Reference< XModel >& rxModel, const OUString& rCustomShowName ) +{ + vector< Reference< XDrawPage > > vNonUsedPageList; + try + { + PageCollector::CollectNonCustomShowPages( rxModel, rCustomShowName, vNonUsedPageList ); + Reference< XDrawPagesSupplier > xDrawPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + vector< Reference< XDrawPage > >::iterator aIter( vNonUsedPageList.begin() ); + while( aIter != vNonUsedPageList.end() ) + xDrawPages->remove( *aIter ); + } + catch( Exception& ) + { + + } +} + +void ImpDeleteUnusedMasterPages( const Reference< XModel >& rxModel ) +{ + vector< PageCollector::MasterPageEntity > aMasterPageList; + PageCollector::CollectMasterPages( rxModel, aMasterPageList ); + + // now master pages that are not marked can be deleted + Reference< XMasterPagesSupplier > xMasterPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xMasterPages( xMasterPagesSupplier->getMasterPages(), UNO_QUERY_THROW ); + vector< PageCollector::MasterPageEntity >::iterator aIter( aMasterPageList.begin() ); + while( aIter != aMasterPageList.end() ) + { + if ( !aIter->bUsed ) + xMasterPages->remove( aIter->xMasterPage ); + aIter++; + } +} + +void ImpDeleteHiddenSlides( const Reference< XModel >& rxModel ) +{ + try + { + Reference< XDrawPagesSupplier > xDrawPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + for( sal_Int32 i = 0; i < xDrawPages->getCount(); i++ ) + { + Reference< XDrawPage > xDrawPage( xDrawPages->getByIndex( i ), UNO_QUERY_THROW ); + Reference< XPropertySet > xPropSet( xDrawPage, UNO_QUERY_THROW ); + + sal_Bool bVisible = sal_True; + const OUString sVisible( RTL_CONSTASCII_USTRINGPARAM( "Visible" ) ); + if ( xPropSet->getPropertyValue( sVisible ) >>= bVisible ) + { + if (!bVisible ) + { + xDrawPages->remove( xDrawPage ); + i--; + } + } + } + } + catch( Exception& ) + { + } +} + +void ImpDeleteNotesPages( const Reference< XModel >& rxModel ) +{ + try + { + Reference< XDrawPagesSupplier > xDrawPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + sal_Int32 i, nPages = xDrawPages->getCount(); + for( i = 0; i < nPages; i++ ) + { + Reference< XPresentationPage > xPresentationPage( xDrawPages->getByIndex( i ), UNO_QUERY_THROW ); + Reference< XPropertySet > xPropSet( xPresentationPage->getNotesPage(), UNO_QUERY_THROW ); + Reference< XShapes > xShapes( xPropSet, UNO_QUERY_THROW ); + while( xShapes->getCount() ) + xShapes->remove( Reference< XShape >( xShapes->getByIndex( xShapes->getCount() - 1 ), UNO_QUERY_THROW ) ); + + const OUString sLayout( RTL_CONSTASCII_USTRINGPARAM( "Layout" ) ); + xPropSet->setPropertyValue( sLayout, Any( (sal_Int16)21 ) ); + } + } + catch( Exception& ) + { + } +} + +void ImpConvertOLE( const Reference< XModel >& rxModel, sal_Int32 nOLEOptimizationType ) +{ + try + { + Reference< XDrawPagesSupplier > xDrawPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + for ( sal_Int32 i = 0; i < xDrawPages->getCount(); i++ ) + { + Reference< XShapes > xShapes( xDrawPages->getByIndex( i ), UNO_QUERY_THROW ); + for ( sal_Int32 j = 0; j < xShapes->getCount(); j++ ) + { + const OUString sOLE2Shape( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.OLE2Shape" ) ); + Reference< XShape > xShape( xShapes->getByIndex( j ), UNO_QUERY_THROW ); + if ( xShape->getShapeType() == sOLE2Shape ) + { + Reference< XPropertySet > xPropSet( xShape, UNO_QUERY_THROW ); + + sal_Bool bConvertOLE = nOLEOptimizationType == 0; + if ( nOLEOptimizationType == 1 ) + { + sal_Bool bIsInternal = sal_True; + xPropSet->getPropertyValue( TKGet( TK_IsInternal ) ) >>= bIsInternal; + bConvertOLE = !bIsInternal; + } + if ( bConvertOLE ) + { + Reference< XGraphic > xGraphic; + if ( xPropSet->getPropertyValue( TKGet( TK_Graphic ) ) >>= xGraphic ) + { + const OUString sGraphicShape( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.GraphicObjectShape" ) ); + Reference< XMultiServiceFactory > xFact( rxModel, UNO_QUERY_THROW ); + Reference< XShape > xShape2( xFact->createInstance( sGraphicShape ), UNO_QUERY_THROW ); + xShapes->add( xShape2 ); + xShape2->setPosition( xShape->getPosition() ); + xShape2->setSize( xShape->getSize() ); + Reference< XPropertySet > xPropSet2( xShape2, UNO_QUERY_THROW ); + xPropSet2->setPropertyValue( TKGet( TK_Graphic ), Any( xGraphic ) ); + xShapes->remove( xShape ); + xPropSet2->setPropertyValue( TKGet( TK_ZOrder ), Any( j ) ); + } + } + } + } + } + } + catch( Exception& ) + { + } +} + +void ImpCompressGraphic( Reference< XGraphicProvider >& rxGraphicProvider, const Reference< XGraphic >& rxGraphic, Reference< XOutputStream >& rxOutputStream, + const OUString& rDestMimeType, const awt::Size& rLogicalSize, sal_Int32 nJPEGQuality, sal_Int32 nImageResolution, sal_Bool bRemoveCropping, const text::GraphicCrop& rGraphicCropLogic ) +{ + try + { + if ( rxGraphicProvider.is() && rxOutputStream.is() ) + { + Sequence< PropertyValue > aFilterData( 8 ); + aFilterData[ 0 ].Name = TKGet( TK_ImageResolution ); + aFilterData[ 0 ].Value <<= nImageResolution; + aFilterData[ 1 ].Name = TKGet( TK_ColorMode ); // todo: jpeg color mode (0->true color, 1->greyscale) + aFilterData[ 1 ].Value <<= (sal_Int32)0; + aFilterData[ 2 ].Name = TKGet( TK_Quality ); // quality that is used if we export to jpeg + aFilterData[ 2 ].Value <<= nJPEGQuality; + aFilterData[ 3 ].Name = TKGet( TK_Compression ); // compression that is used if we export to png + aFilterData[ 3 ].Value <<= (sal_Int32)6; + aFilterData[ 4 ].Name = TKGet( TK_Interlaced ); // interlaced is turned off if we export to png + aFilterData[ 4 ].Value <<= (sal_Int32)0; + aFilterData[ 5 ].Name = TKGet( TK_LogicalSize ); + aFilterData[ 5 ].Value <<= rLogicalSize; + aFilterData[ 6 ].Name = TKGet( TK_RemoveCropArea ); + aFilterData[ 6 ].Value <<= bRemoveCropping; + aFilterData[ 7 ].Name = TKGet( TK_GraphicCropLogic ); + aFilterData[ 7 ].Value <<= rGraphicCropLogic; + + Sequence< PropertyValue > aArgs( 3 ); + aArgs[ 0 ].Name = TKGet( TK_MimeType ); // the GraphicProvider is using "MimeType", the GraphicExporter "MediaType"... + aArgs[ 0 ].Value <<= rDestMimeType; + aArgs[ 1 ].Name = TKGet( TK_OutputStream ); + aArgs[ 1 ].Value <<= rxOutputStream; + aArgs[ 2 ].Name = TKGet( TK_FilterData ); + aArgs[ 2 ].Value <<= aFilterData; + + rxGraphicProvider->storeGraphic( rxGraphic, aArgs ); + } + } + catch( Exception& ) + { + } +} + +Reference< XGraphic > ImpCompressGraphic( const Reference< XComponentContext >& rxMSF, + const Reference< XGraphic >& xGraphic, const awt::Size& aLogicalSize, const text::GraphicCrop& aGraphicCropLogic, + const GraphicSettings& rGraphicSettings ) +{ + Reference< XGraphic > xNewGraphic; + try + { + OUString aSourceMimeType; + Reference< XPropertySet > xGraphicPropertySet( xGraphic, UNO_QUERY_THROW ); + if ( xGraphicPropertySet->getPropertyValue( TKGet( TK_MimeType ) ) >>= aSourceMimeType ) + { + sal_Int8 nGraphicType( xGraphic->getType() ); + if ( nGraphicType == com::sun::star::graphic::GraphicType::PIXEL ) + { + sal_Bool bTransparent = sal_False; + sal_Bool bAlpha = sal_False; + sal_Bool bAnimated = sal_False; + + awt::Size aSourceSizePixel( 0, 0 ); + text::GraphicCrop aGraphicCropPixel( 0, 0, 0, 0 ); + + if ( ( xGraphicPropertySet->getPropertyValue( TKGet( TK_SizePixel ) ) >>= aSourceSizePixel ) && + ( xGraphicPropertySet->getPropertyValue( TKGet( TK_Transparent ) ) >>= bTransparent ) && + ( xGraphicPropertySet->getPropertyValue( TKGet( TK_Alpha ) ) >>= bAlpha ) && + ( xGraphicPropertySet->getPropertyValue( TKGet( TK_Animated ) ) >>= bAnimated ) ) + { + awt::Size aDestSizePixel( aSourceSizePixel ); + if ( !bAnimated ) + { + sal_Bool bNeedsOptimizing = sal_False; + sal_Bool bRemoveCropArea( rGraphicSettings.mbRemoveCropArea ); + + // cropping has to be removed from SourceSizePixel + if ( aGraphicCropLogic.Left || aGraphicCropLogic.Top || aGraphicCropLogic.Right || aGraphicCropLogic.Bottom ) + { + const awt::Size aSize100thMM( GraphicCollector::GetOriginalSize( rxMSF, xGraphic ) ); + + if ( bRemoveCropArea ) + bNeedsOptimizing = sal_True; + + if ( aSize100thMM.Width && aSize100thMM.Height ) + { + aGraphicCropPixel.Left = static_cast< sal_Int32 >( ( (double)aSourceSizePixel.Width * aGraphicCropLogic.Left ) / aSize100thMM.Width ); + aGraphicCropPixel.Top = static_cast< sal_Int32 >( ( (double)aSourceSizePixel.Height* aGraphicCropLogic.Top ) / aSize100thMM.Height ); + aGraphicCropPixel.Right = static_cast< sal_Int32 >( ( (double)aSourceSizePixel.Width * ( aSize100thMM.Width - aGraphicCropLogic.Right ) ) / aSize100thMM.Width ); + aGraphicCropPixel.Bottom = static_cast< sal_Int32 >( ( (double)aSourceSizePixel.Height* ( aSize100thMM.Height - aGraphicCropLogic.Bottom ) ) / aSize100thMM.Height ); + + // first calculating new SourceSizePixel by removing the cropped area + aSourceSizePixel.Width = aGraphicCropPixel.Right - aGraphicCropPixel.Left; + aSourceSizePixel.Height= aGraphicCropPixel.Bottom - aGraphicCropPixel.Top; + } + else + { + bRemoveCropArea = sal_False; + } + } + if ( ( aSourceSizePixel.Width > 0 ) && ( aSourceSizePixel.Height > 0 ) ) + { + OUString aDestMimeType( RTL_CONSTASCII_USTRINGPARAM( "image/png" ) ); + if ( rGraphicSettings.mbJPEGCompression && !bTransparent && !bAlpha && !bAnimated ) + { + aDestMimeType = OUString( RTL_CONSTASCII_USTRINGPARAM( "image/jpeg" ) ); +// if( aSourceMimeType != aDestMimeType ) + bNeedsOptimizing = sal_True; + } + if ( bRemoveCropArea ) + aDestSizePixel = aSourceSizePixel; + if ( rGraphicSettings.mnImageResolution && aLogicalSize.Width && aLogicalSize.Height ) + { + const double fSourceDPIX = ((double)aSourceSizePixel.Width / ((double)aLogicalSize.Width / 2540.0 )); + const double fSourceDPIY = ((double)aSourceSizePixel.Height/ ((double)aLogicalSize.Height/ 2540.0 )); + + // check, if the bitmap DPI exceeds the maximum DPI + if( ( fSourceDPIX > rGraphicSettings.mnImageResolution ) || ( fSourceDPIY > rGraphicSettings.mnImageResolution ) ) + { + const double fNewSizePixelX = ((double)aDestSizePixel.Width * rGraphicSettings.mnImageResolution ) / fSourceDPIX; + const double fNewSizePixelY = ((double)aDestSizePixel.Height* rGraphicSettings.mnImageResolution ) / fSourceDPIY; + + aDestSizePixel = awt::Size( (sal_Int32)fNewSizePixelX, (sal_Int32)fNewSizePixelY ); + bNeedsOptimizing = sal_True; + } + } + if ( bNeedsOptimizing && aDestSizePixel.Width && aDestSizePixel.Height ) + { + Reference< XStream > xTempFile( rxMSF->getServiceManager()->createInstanceWithContext( OUString::createFromAscii( "com.sun.star.io.TempFile" ), rxMSF ), UNO_QUERY_THROW ); + Reference< XOutputStream > xOutputStream( xTempFile->getOutputStream() ); + Reference< XGraphicProvider > xGraphicProvider( rxMSF->getServiceManager()->createInstanceWithContext( OUString::createFromAscii( "com.sun.star.graphic.GraphicProvider" ), rxMSF ), UNO_QUERY_THROW ); + + ImpCompressGraphic( xGraphicProvider, xGraphic, xOutputStream, aDestMimeType, aLogicalSize, rGraphicSettings.mnJPEGQuality, rGraphicSettings.mnImageResolution, bRemoveCropArea, aGraphicCropLogic ); + Reference< XInputStream > xInputStream( xTempFile->getInputStream() ); + Reference< XSeekable > xSeekable( xInputStream, UNO_QUERY_THROW ); + xSeekable->seek( 0 ); + Sequence< PropertyValue > aArgs( 1 ); + aArgs[ 0 ].Name = TKGet( TK_InputStream ); + aArgs[ 0 ].Value <<= xInputStream; + xNewGraphic = xGraphicProvider->queryGraphic( aArgs ); + } + } + } + } + } + else // this is a metafile + { + rtl::OUString aDestMimeType( aSourceMimeType ); + Reference< XStream > xTempFile( rxMSF->getServiceManager()->createInstanceWithContext( OUString::createFromAscii( "com.sun.star.io.TempFile" ), rxMSF ), UNO_QUERY_THROW ); + Reference< XOutputStream > xOutputStream( xTempFile->getOutputStream() ); + Reference< XGraphicProvider > xGraphicProvider( rxMSF->getServiceManager()->createInstanceWithContext( OUString::createFromAscii( "com.sun.star.graphic.GraphicProvider" ), rxMSF ), UNO_QUERY_THROW ); + ImpCompressGraphic( xGraphicProvider, xGraphic, xOutputStream, aDestMimeType, aLogicalSize, rGraphicSettings.mnJPEGQuality, rGraphicSettings.mnImageResolution, sal_False, aGraphicCropLogic ); + Reference< XInputStream > xInputStream( xTempFile->getInputStream() ); + Reference< XSeekable > xSeekable( xInputStream, UNO_QUERY_THROW ); + xSeekable->seek( 0 ); + Sequence< PropertyValue > aArgs( 1 ); + aArgs[ 0 ].Name = TKGet( TK_InputStream ); + aArgs[ 0 ].Value <<= xInputStream; + xNewGraphic = xGraphicProvider->queryGraphic( aArgs ); + } + } + } + catch( Exception& ) + { + } + return xNewGraphic; +} + +void CompressGraphics( ImpOptimizer& rOptimizer, const Reference< XComponentContext >& rxMSF, const GraphicSettings& rGraphicSettings, + std::vector< GraphicCollector::GraphicEntity >& rGraphicList ) +{ + try + { + std::vector< GraphicCollector::GraphicEntity >::iterator aGraphicIter( rGraphicList.begin() ); + std::vector< GraphicCollector::GraphicEntity >::iterator aGraphicIEnd( rGraphicList.end() ); + double i = 0; + while( aGraphicIter != aGraphicIEnd ) + { + i++; + sal_Int32 nProgress = static_cast< sal_Int32 >( 40.0 * ( i / static_cast< double >( rGraphicList.size() ) ) ) + 50; + rOptimizer.SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( nProgress ) ) ); + rOptimizer.DispatchStatus(); + + GraphicSettings aGraphicSettings( rGraphicSettings ); + aGraphicSettings.mbRemoveCropArea = aGraphicIter->mbRemoveCropArea; + + Reference< XPropertySet > xNewGraphicPropertySet( aGraphicIter->mxGraphic, UNO_QUERY_THROW ); + awt::Size aSize100thMM( GraphicCollector::GetOriginalSize( rxMSF, aGraphicIter->mxGraphic ) ); + Reference< XGraphic > xNewGraphic( ImpCompressGraphic( rxMSF, aGraphicIter->mxGraphic, aGraphicIter->maLogicalSize, aGraphicIter->maGraphicCropLogic, aGraphicSettings ) ); + if ( xNewGraphic.is() ) + { + // applying graphic to each user + std::vector< GraphicCollector::GraphicUser >::iterator aGraphicUserIter( aGraphicIter->maUser.begin() ); + while( aGraphicUserIter != aGraphicIter->maUser.end() ) + { + if ( aGraphicUserIter->mxShape.is() ) + { + rtl::OUString sEmptyGraphicURL; + Reference< XPropertySet > xShapePropertySet( aGraphicUserIter->mxShape, UNO_QUERY_THROW ); + xShapePropertySet->setPropertyValue( TKGet( TK_GraphicURL ), Any( sEmptyGraphicURL ) ); + xShapePropertySet->setPropertyValue( TKGet( TK_Graphic ), Any( xNewGraphic ) ); + + if ( aGraphicUserIter->maGraphicCropLogic.Left || aGraphicUserIter->maGraphicCropLogic.Top + || aGraphicUserIter->maGraphicCropLogic.Right || aGraphicUserIter->maGraphicCropLogic.Bottom ) + { // removing crop area was not possible or should't been applied + text::GraphicCrop aGraphicCropLogic( 0, 0, 0, 0 ); + if ( !aGraphicSettings.mbRemoveCropArea ) + { + awt::Size aNewSize( GraphicCollector::GetOriginalSize( rxMSF, xNewGraphic ) ); + aGraphicCropLogic.Left = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Left * ((double)aNewSize.Width / (double)aSize100thMM.Width)); + aGraphicCropLogic.Top = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Top * ((double)aNewSize.Height / (double)aSize100thMM.Height)); + aGraphicCropLogic.Right = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Right * ((double)aNewSize.Width / (double)aSize100thMM.Width)); + aGraphicCropLogic.Bottom = (sal_Int32)((double)aGraphicUserIter->maGraphicCropLogic.Bottom * ((double)aNewSize.Height / (double)aSize100thMM.Height)); + } + xShapePropertySet->setPropertyValue( TKGet( TK_GraphicCrop ), Any( aGraphicCropLogic ) ); + } + } + else if ( aGraphicUserIter->mxPropertySet.is() ) + { + Reference< XBitmap > xFillBitmap( xNewGraphic, UNO_QUERY ); + if ( xFillBitmap.is() ) + { + awt::Size aSize; + sal_Bool bLogicalSize; + + Reference< XPropertySet >& rxPropertySet( aGraphicUserIter->mxPropertySet ); + rxPropertySet->setPropertyValue( TKGet( TK_FillBitmap ), Any( xFillBitmap ) ); + if ( ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapLogicalSize ) ) >>= bLogicalSize ) + && ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapSizeX ) ) >>= aSize.Width ) + && ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapSizeY ) ) >>= aSize.Height ) ) + { + if ( !aSize.Width || !aSize.Height ) + { + rxPropertySet->setPropertyValue( TKGet( TK_FillBitmapLogicalSize ), Any( sal_True ) ); + rxPropertySet->setPropertyValue( TKGet( TK_FillBitmapSizeX ), Any( aGraphicUserIter->maLogicalSize.Width ) ); + rxPropertySet->setPropertyValue( TKGet( TK_FillBitmapSizeY ), Any( aGraphicUserIter->maLogicalSize.Height ) ); + } + } + if ( aGraphicUserIter->mxPagePropertySet.is() ) + aGraphicUserIter->mxPagePropertySet->setPropertyValue( TKGet( TK_Background ), Any( rxPropertySet ) ); + } + } + aGraphicUserIter++; + } + } + aGraphicIter++; + } + } + catch ( Exception& ) + { + } +} + +// ---------------- +// - ImpOptimizer - +// ---------------- + +ImpOptimizer::ImpOptimizer( const Reference< XComponentContext >& rxMSF, const Reference< XModel >& rxModel ) : + mxMSF ( rxMSF ), + mxModel ( rxModel ), + mbJPEGCompression ( sal_False ), + mnJPEGQuality ( 90 ), + mbRemoveCropArea ( sal_False ), + mnImageResolution ( 0 ), + mbEmbedLinkedGraphics ( sal_True ), + mbOLEOptimization ( sal_False ), + mnOLEOptimizationType ( 0 ), + mbDeleteUnusedMasterPages ( sal_False ), + mbDeleteHiddenSlides ( sal_False ), + mbDeleteNotesPages ( sal_False ), + mbOpenNewDocument ( sal_False ), + mbInformationDialog ( sal_False ) +{ +} + +// ----------------------------------------------------------------------------- + +ImpOptimizer::~ImpOptimizer() +{ +} + +// ----------------------------------------------------------------------------- + +void ImpOptimizer::DispatchStatus() +{ + if ( mxStatusDispatcher.is() ) + { + URL aURL; + aURL.Protocol = OUString( RTL_CONSTASCII_USTRINGPARAM( "vnd.com.sun.star.comp.SunPresentationMinimizer:" ) ); + aURL.Path = OUString( RTL_CONSTASCII_USTRINGPARAM( "statusupdate" ) ); + mxStatusDispatcher->dispatch( aURL, GetStatusSequence() ); + } +} + +// ----------------------------------------------------------------------------- + +sal_Bool ImpOptimizer::Optimize() +{ + + if ( maCustomShowName.getLength() ) + ImpExtractCustomShow( mxModel, maCustomShowName ); + + if ( mbDeleteUnusedMasterPages ) + { + SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 40 ) ) ); + SetStatusValue( TK_Status, Any( TKGet( STR_DELETING_SLIDES ) ) ); + DispatchStatus(); + ImpDeleteUnusedMasterPages( mxModel ); + } + + if ( mbDeleteHiddenSlides ) + { + SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 40 ) ) ); + SetStatusValue( TK_Status, Any( TKGet( STR_DELETING_SLIDES ) ) ); + DispatchStatus(); + ImpDeleteHiddenSlides( mxModel ); + } + + if ( mbDeleteNotesPages ) + { + SetStatusValue( TK_Status, Any( TKGet( STR_DELETING_SLIDES ) ) ); + DispatchStatus(); + ImpDeleteNotesPages( mxModel ); + } + + if ( mbOLEOptimization ) + { + SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 45 ) ) ); + SetStatusValue( TK_Status, Any( TKGet( STR_CREATING_OLE_REPLACEMENTS ) ) ); + DispatchStatus(); + ImpConvertOLE( mxModel, mnOLEOptimizationType ); + } + + if ( mbJPEGCompression || mbRemoveCropArea || mnImageResolution ) + { + SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 50 ) ) ); + SetStatusValue( TK_Status, Any( TKGet( STR_OPTIMIZING_GRAPHICS ) ) ); + DispatchStatus(); + + std::vector< GraphicCollector::GraphicEntity > aGraphicList; + GraphicSettings aGraphicSettings( mbJPEGCompression, mnJPEGQuality, mbRemoveCropArea, mnImageResolution, mbEmbedLinkedGraphics ); + GraphicCollector::CollectGraphics( mxMSF, mxModel, aGraphicSettings, aGraphicList ); + CompressGraphics( *this, mxMSF, aGraphicSettings, aGraphicList ); + } + SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 100 ) ) ); + DispatchStatus(); + return sal_True; +} + +// ----------------------------------------------------------------------------- + +sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) +{ + sal_Bool bRet = sal_True; + + if ( mxModel.is() ) + { + SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 0 ) ) ); + DispatchStatus(); + + int i, nICount; + for ( i = 0, nICount = rArguments.getLength(); i < nICount; i++ ) + { + switch( TKGet( rArguments[ i ].Name ) ) + { + case TK_StatusDispatcher : rArguments[ i ].Value >>= mxStatusDispatcher; break; + case TK_InformationDialog: rArguments[ i ].Value >>= mbInformationDialog; break; + case TK_Settings : + { + com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aSettings; + int j, nJCount; + rArguments[ i ].Value >>= aSettings; + for ( j = 0, nJCount = aSettings.getLength(); j < nJCount; j++ ) + { + switch( TKGet( aSettings[ j ].Name ) ) + { + case TK_JPEGCompression : aSettings[ j ].Value >>= mbJPEGCompression; break; + case TK_JPEGQuality : aSettings[ j ].Value >>= mnJPEGQuality; break; + case TK_RemoveCropArea : aSettings[ j ].Value >>= mbRemoveCropArea; break; + case TK_ImageResolution : aSettings[ j ].Value >>= mnImageResolution; break; + case TK_EmbedLinkedGraphics : aSettings[ j ].Value >>= mbEmbedLinkedGraphics; break; + case TK_OLEOptimization : aSettings[ j ].Value >>= mbOLEOptimization; break; + case TK_OLEOptimizationType : aSettings[ j ].Value >>= mnOLEOptimizationType; break; + case TK_CustomShowName : aSettings[ j ].Value >>= maCustomShowName; break; + case TK_DeleteUnusedMasterPages : aSettings[ j ].Value >>= mbDeleteUnusedMasterPages; break; + case TK_DeleteHiddenSlides : aSettings[ j ].Value >>= mbDeleteHiddenSlides; break; + case TK_DeleteNotesPages : aSettings[ j ].Value >>= mbDeleteNotesPages; break; + case TK_SaveAsURL : aSettings[ j ].Value >>= maSaveAsURL; break; + case TK_FilterName : aSettings[ j ].Value >>= maFilterName; break; + case TK_OpenNewDocument : aSettings[ j ].Value >>= mbOpenNewDocument; break; + default: break; + } + } + } + break; + default: break; + } + } + + sal_Int64 nSourceSize = 0; + sal_Int64 nDestSize = 0; + + Reference< XFrame > xSelf; + if ( maSaveAsURL.getLength() ) + { + + SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 10 ) ) ); + SetStatusValue( TK_Status, Any( TKGet( STR_DUPLICATING_PRESENTATION ) ) ); + DispatchStatus(); + + Reference< XStorable >xStorable( mxModel, UNO_QUERY ); + if ( xStorable.is() ) + { + Sequence< PropertyValue > aArguments; + if ( maFilterName.getLength() ) + { + int nLength = aArguments.getLength(); + aArguments.realloc( nLength + 1 ); + aArguments[ nLength ].Name = TKGet( TK_FilterName ); + aArguments[ nLength ].Value <<= maFilterName; + } + xStorable->storeToURL( maSaveAsURL, aArguments ); + + nSourceSize = PPPOptimizer::GetFileSize( maSaveAsURL ); + + SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 30 ) ) ); + SetStatusValue( TK_Status, Any( TKGet( STR_DUPLICATING_PRESENTATION ) ) ); + DispatchStatus(); + + Reference< XDesktop > xDesktop( mxMSF->getServiceManager()->createInstanceWithContext( + OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ), mxMSF ), UNO_QUERY ); + Reference< XFrame > xFrame( xDesktop, UNO_QUERY ); + xSelf = xFrame->findFrame( TKGet( TK__blank ), FrameSearchFlag::CREATE ); + Reference< XComponentLoader > xComponentLoader( xSelf, UNO_QUERY ); + + Sequence< PropertyValue > aLoadProps( 1 ); + aLoadProps[ 0 ].Name = TKGet( TK_Hidden ); + aLoadProps[ 0 ].Value <<= (sal_Bool)( sal_True ); + mxModel = Reference< XModel >( xComponentLoader->loadComponentFromURL( + maSaveAsURL, TKGet( TK__self ), 0, aLoadProps ), UNO_QUERY ); + } + } + + // check if the document is ReadOnly -> error + Reference< XStorable > xStorable( mxModel, UNO_QUERY ); + if ( xStorable.is() && !xStorable->isReadonly() ) + bRet = Optimize(); + + if ( maSaveAsURL.getLength() ) + { + if ( xStorable.is() ) + { + xStorable->store(); + nDestSize = PPPOptimizer::GetFileSize( maSaveAsURL ); + } + sal_Bool bInformationDialog = sal_True; + if ( bInformationDialog ) + { + InformationDialog aInformationDialog( mxMSF, xSelf, mbOpenNewDocument, nSourceSize, nDestSize ); + aInformationDialog.execute(); + } + if ( mbOpenNewDocument && xSelf.is() ) + { + Reference< awt::XWindow > xContainerWindow( xSelf->getContainerWindow() ); + xContainerWindow->setVisible( sal_True ); + } + else + { + Reference< XComponent > xComponent( mxModel, UNO_QUERY ); + xComponent->dispose(); + } + } + if ( nSourceSize && nDestSize ) + { + SetStatusValue( TK_FileSizeSource, Any( nSourceSize ) ); + SetStatusValue( TK_FileSizeDestination, Any( nDestSize ) ); + DispatchStatus(); + } + } + else + bRet = sal_False; + return bRet; +} + diff --git a/sdext/source/minimizer/impoptimizer.hxx b/sdext/source/minimizer/impoptimizer.hxx new file mode 100644 index 000000000000..3e61dd90a239 --- /dev/null +++ b/sdext/source/minimizer/impoptimizer.hxx @@ -0,0 +1,110 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: impoptimizer.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:51:02 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef IMPOPTIMIZER_HXX +#define IMPOPTIMIZER_HXX + +#ifndef _PPPOPTIMIZER_TOKEN_HXX +#include "pppoptimizertoken.hxx" +#endif +#ifndef OPTIMIZATIONSTATS_HXX +#include "optimizationstats.hxx" +#endif +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_TASK_XSTATUSINDICATOR_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XMULTI_COMPONENT_FACTORY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ +#include +#endif + +class Point; +class Size; + +// ------------- +// - PDFExport - +// ------------- + +class ImpOptimizer : public OptimizationStats +{ +private: + + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > mxMSF; + com::sun::star::uno::Reference< com::sun::star::frame::XModel > mxModel; + com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > mxStatusDispatcher; + + sal_Bool mbJPEGCompression; + sal_Int32 mnJPEGQuality; + sal_Bool mbRemoveCropArea; + sal_Int32 mnImageResolution; + sal_Bool mbEmbedLinkedGraphics; + sal_Bool mbOLEOptimization; + sal_Int32 mnOLEOptimizationType; + rtl::OUString maCustomShowName; + sal_Bool mbDeleteUnusedMasterPages; + sal_Bool mbDeleteHiddenSlides; + sal_Bool mbDeleteNotesPages; + rtl::OUString maSaveAsURL; + rtl::OUString maFilterName; + sal_Bool mbOpenNewDocument; + sal_Bool mbInformationDialog; + + sal_Bool Optimize(); + +public: + + ImpOptimizer( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rXFactory, + const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& rxModel ); + ~ImpOptimizer(); + + sal_Bool Optimize( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rArguments ); + void DispatchStatus(); +}; + +#endif -- cgit From e22c431e24b4a83ddc928f7703b13a9a109c1b8e Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 11 May 2007 13:01:25 +0000 Subject: initial version --- sdext/source/minimizer/informationdialog.cxx | 327 +++++++ sdext/source/minimizer/informationdialog.hxx | 135 +++ sdext/source/minimizer/makefile.mk | 141 +++ sdext/source/minimizer/manifest.xml | 16 + sdext/source/minimizer/optimizationstats.cxx | 118 +++ sdext/source/minimizer/optimizationstats.hxx | 79 ++ sdext/source/minimizer/optimizerdialog.cxx | 864 +++++++++++++++++++ sdext/source/minimizer/optimizerdialog.hrc | 44 + sdext/source/minimizer/optimizerdialog.hxx | 275 ++++++ sdext/source/minimizer/optimizerdialogcontrols.cxx | 955 +++++++++++++++++++++ sdext/source/minimizer/pagecollector.cxx | 205 +++++ sdext/source/minimizer/pagecollector.hxx | 61 ++ sdext/source/minimizer/pppoptimizer.cxx | 214 +++++ sdext/source/minimizer/pppoptimizer.hxx | 127 +++ sdext/source/minimizer/pppoptimizerdialog.cxx | 232 +++++ sdext/source/minimizer/pppoptimizerdialog.hxx | 143 +++ sdext/source/minimizer/pppoptimizertoken.cxx | 346 ++++++++ sdext/source/minimizer/pppoptimizertoken.hxx | 291 +++++++ sdext/source/minimizer/pppoptimizeruno.cxx | 125 +++ sdext/source/minimizer/unodialog.cxx | 448 ++++++++++ sdext/source/minimizer/unodialog.hxx | 213 +++++ 21 files changed, 5359 insertions(+) create mode 100644 sdext/source/minimizer/informationdialog.cxx create mode 100644 sdext/source/minimizer/informationdialog.hxx create mode 100644 sdext/source/minimizer/makefile.mk create mode 100644 sdext/source/minimizer/manifest.xml create mode 100644 sdext/source/minimizer/optimizationstats.cxx create mode 100644 sdext/source/minimizer/optimizationstats.hxx create mode 100644 sdext/source/minimizer/optimizerdialog.cxx create mode 100644 sdext/source/minimizer/optimizerdialog.hrc create mode 100644 sdext/source/minimizer/optimizerdialog.hxx create mode 100644 sdext/source/minimizer/optimizerdialogcontrols.cxx create mode 100644 sdext/source/minimizer/pagecollector.cxx create mode 100644 sdext/source/minimizer/pagecollector.hxx create mode 100644 sdext/source/minimizer/pppoptimizer.cxx create mode 100644 sdext/source/minimizer/pppoptimizer.hxx create mode 100644 sdext/source/minimizer/pppoptimizerdialog.cxx create mode 100644 sdext/source/minimizer/pppoptimizerdialog.hxx create mode 100644 sdext/source/minimizer/pppoptimizertoken.cxx create mode 100644 sdext/source/minimizer/pppoptimizertoken.hxx create mode 100644 sdext/source/minimizer/pppoptimizeruno.cxx create mode 100644 sdext/source/minimizer/unodialog.cxx create mode 100644 sdext/source/minimizer/unodialog.hxx diff --git a/sdext/source/minimizer/informationdialog.cxx b/sdext/source/minimizer/informationdialog.cxx new file mode 100644 index 000000000000..6daa26fdab53 --- /dev/null +++ b/sdext/source/minimizer/informationdialog.cxx @@ -0,0 +1,327 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: informationdialog.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:56:24 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef INFORMATIONDIALOG_HXX +#include "informationdialog.hxx" +#endif +#ifndef OPTIMIZATIONSTATS_HXX +#include "optimizationstats.hxx" +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_EXECUTABLEDIALOGRESULTS_HPP_ +#include +#endif +#ifndef _RTL_USTRBUF_HXX_ +#include +#endif + +#define DIALOG_WIDTH 240 +#define DIALOG_HEIGHT 84 +#define PAGE_POS_X 35 +#define PAGE_WIDTH ( DIALOG_WIDTH - PAGE_POS_X ) - 6 + + +// --------------------- +// - INFORMATIONDIALOG - +// --------------------- + +using namespace ::rtl; +using namespace ::com::sun::star::ui; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::script; +using namespace ::com::sun::star::container; + + + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertFixedText( InformationDialog& rInformationDialog, const rtl::OUString& rControlName, const OUString& rLabel, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Bool bMultiLine, sal_Int16 nTabIndex ) +{ + OUString pNames[] = { + TKGet( TK_Height ), + TKGet( TK_Label ), + TKGet( TK_MultiLine ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( nHeight ), + Any( rLabel ), + Any( bMultiLine ), + Any( nXPos ), + Any( nYPos ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rInformationDialog.insertFixedText( rControlName, aNames, aValues ); + return rControlName; +} + +rtl::OUString InsertImage( InformationDialog& rInformationDialog, const OUString& rControlName, const OUString& rURL, + sal_Int32 nPosX, sal_Int32 nPosY, sal_Int32 nWidth, sal_Int32 nHeight ) +{ + OUString pNames[] = { + TKGet( TK_Border ), + TKGet( TK_Height ), + TKGet( TK_ImageURL ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_ScaleImage ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_Int16( 1 ) ), + Any( nHeight ), + Any( rURL ), + Any( nPosX ), + Any( nPosY ), + Any( sal_True ), + Any( nWidth ) }; + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rInformationDialog.insertImage( rControlName, aNames, aValues ); + return rControlName; +} + +rtl::OUString InsertCheckBox( InformationDialog& rInformationDialog, const OUString& rControlName, + const Reference< XItemListener > xItemListener, const OUString& rLabel, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int16 nTabIndex ) +{ + OUString pNames[] = { + TKGet( TK_Enabled ), + TKGet( TK_Height ), + TKGet( TK_Label ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_True ), + Any( nHeight ), + Any( rLabel ), + Any( nXPos ), + Any( nYPos ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + Reference< XCheckBox > xCheckBox( rInformationDialog.insertCheckBox( rControlName, aNames, aValues ) ); + if ( xItemListener.is() ) + xCheckBox->addItemListener( xItemListener ); + return rControlName; +} + +rtl::OUString InsertButton( InformationDialog& rInformationDialog, const OUString& rControlName, Reference< XActionListener >& xActionListener, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int16 nTabIndex, PPPOptimizerTokenEnum nResID ) +{ + OUString pNames[] = { + TKGet( TK_Enabled ), + TKGet( TK_Height ), + TKGet( TK_Label ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_PushButtonType ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_True ), + Any( nHeight ), + Any( rInformationDialog.getString( nResID ) ), + Any( nXPos ), + Any( nYPos ), + Any( static_cast< sal_Int16 >( PushButtonType_OK ) ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rInformationDialog.insertButton( rControlName, xActionListener, aNames, aValues ); + return rControlName; +} + + +static OUString ImpValueOfInMB( const sal_Int64& rVal ) +{ + double fVal( static_cast( rVal ) ); + fVal /= ( 1 << 20 ); + fVal += 0.05; + rtl::OUStringBuffer aVal( OUString::valueOf( fVal ) ); + sal_Int32 nX( OUString( aVal.getStr() ).indexOf( '.', 0 ) ); + if ( nX > 0 ) + aVal.setLength( nX + 2 ); + return aVal.makeStringAndClear(); +} + +void InformationDialog::InitDialog() +{ + // setting the dialog properties + OUString pNames[] = { + TKGet( TK_Closeable ), + TKGet( TK_Height ), + TKGet( TK_Moveable ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Title ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_True ), + Any( sal_Int32( DIALOG_HEIGHT ) ), + Any( sal_True ), + Any( sal_Int32( 113 ) ), + Any( sal_Int32( 42 ) ), + Any( getString( STR_ABOUT ) ), + Any( sal_Int32( DIALOG_WIDTH ) ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rtl::OUString sBitmapPath( getPath( TK_BitmapPath ) ); + rtl::OUString sBitmap( rtl::OUString::createFromAscii( "/aboutlogo.png" ) ); + rtl::OUString sURL( sBitmapPath += sBitmap ); + + sal_Bool bOpenNewDocument = mrbOpenNewDocument; + setControlProperty( TKGet( TK_OpenNewDocument ), TKGet( TK_State ), Any( (sal_Int16)bOpenNewDocument ) ); + + mxDialogModelMultiPropertySet->setPropertyValues( aNames, aValues ); + + + OUString aInfoString( getString( STR_INFO_1 ) ); + const OUString aOldSizePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%OLDFILESIZE" ) ); + const OUString aNewSizePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%NEWFILESIZE" ) ); + sal_Int32 i = aInfoString.indexOf( aOldSizePlaceholder, 0 ); + if ( i >= 0 ) + aInfoString = aInfoString.replaceAt( i, aOldSizePlaceholder.getLength(), ImpValueOfInMB( mnSourceSize ) ); + + sal_Int32 j = aInfoString.indexOf( aNewSizePlaceholder, 0 ); + if ( j >= 0 ) + aInfoString = aInfoString.replaceAt( j, aNewSizePlaceholder.getLength(), ImpValueOfInMB( mnDestSize ) ); + + com::sun::star::uno::Reference< com::sun::star::awt::XItemListener > xItemListener; + InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), sURL, 5, 5, 25, 25 ); + InsertFixedText( *this, rtl::OUString( rtl::OUString::createFromAscii( "fixedtext" ) ), aInfoString, PAGE_POS_X, 6, PAGE_WIDTH, 24, sal_True, 0 ); + InsertCheckBox( *this, TKGet( TK_OpenNewDocument ), xItemListener, getString( STR_AUTOMATICALLY_OPEN ), PAGE_POS_X, 42, PAGE_WIDTH, 8, 1 ); + InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, DIALOG_WIDTH / 2 - 25, DIALOG_HEIGHT - 20, 50, 14, 2, STR_OK ); +} + +// ----------------------------------------------------------------------------- + +InformationDialog::InformationDialog( const Reference< XComponentContext > &rxMSF, Reference< XFrame >& rxFrame, sal_Bool& bOpenNewDocument, sal_Int64 nSourceSize, sal_Int64 nDestSize ) : + UnoDialog( rxMSF, rxFrame ), + ConfigurationAccess( rxMSF, NULL ), + mxMSF( rxMSF ), + mxFrame( rxFrame ), + mxActionListener( new OKActionListener( *this ) ), + mnSourceSize( nSourceSize ), + mnDestSize( nDestSize ), + mrbOpenNewDocument( bOpenNewDocument ) +{ + Reference< XFrame > xFrame( mxController->getFrame() ); + Reference< XWindow > xContainerWindow( xFrame->getContainerWindow() ); + Reference< XWindowPeer > xWindowPeer( xContainerWindow, UNO_QUERY_THROW ); + createWindowPeer( xWindowPeer ); + + InitDialog(); +} + +// ----------------------------------------------------------------------------- + +InformationDialog::~InformationDialog() +{ +} + +// ----------------------------------------------------------------------------- + +sal_Bool InformationDialog::execute() +{ + UnoDialog::execute(); + + sal_Int16 nInt16; + Any aAny( getControlProperty( TKGet( TK_OpenNewDocument ), TKGet( TK_State ) ) ); + if ( aAny >>= nInt16 ) + { + sal_Bool bOpenNewDocument = static_cast< sal_Bool >( nInt16 ); + mrbOpenNewDocument = bOpenNewDocument; + } + return mbStatus; +} + +// ----------------------------------------------------------------------------- + +void OKActionListener::actionPerformed( const ActionEvent& rEvent ) + throw ( com::sun::star::uno::RuntimeException ) +{ + if ( rEvent.ActionCommand == rtl::OUString( rtl::OUString::createFromAscii( "button" ) ) ) + { + mrInformationDialog.endExecute( sal_True ); + } +} +void OKActionListener::disposing( const ::com::sun::star::lang::EventObject& /* Source */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ +} diff --git a/sdext/source/minimizer/informationdialog.hxx b/sdext/source/minimizer/informationdialog.hxx new file mode 100644 index 000000000000..9d2febfba022 --- /dev/null +++ b/sdext/source/minimizer/informationdialog.hxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: informationdialog.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:56:41 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef INFORMATIONDIALOG_HXX +#define INFORMATIONDIALOG_HXX +#include +#ifndef UNODIALOG_HXX +#include "unodialog.hxx" +#endif +#ifndef _CONFIGURATION_ACCESS_HXX_ +#include "configurationaccess.hxx" +#endif +#ifndef _PPPOPTIMIZER_TOKEN_HXX +#include "pppoptimizertoken.hxx" +#endif +#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XITEMLISTENER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ +#include +#endif +#ifndef _COM_SUN_STAR_TEXT_XTEXTRANGE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XITEMEVENTBROADCASTER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_PUSHBUTTONTYPE_HPP_ +#include +#endif + +// --------------------- +// - InformationDialog - +// --------------------- +class InformationDialog : public UnoDialog, public ConfigurationAccess +{ +public : + + InformationDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, + com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame, + sal_Bool& bOpenNewDocument, sal_Int64 nSourceSize, sal_Int64 nDestSize ); + ~InformationDialog(); + + sal_Bool execute(); + +private : + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >mxMSF; + com::sun::star::uno::Reference< com::sun::star::frame::XFrame > mxFrame; + + com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > mxActionListener; + + void InitDialog(); + + sal_Int64 mnSourceSize; + sal_Int64 mnDestSize; + sal_Bool& mrbOpenNewDocument; + +public : + + com::sun::star::uno::Reference< com::sun::star::frame::XFrame>& GetFrame() { return mxFrame; }; + const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& GetComponentContext() { return mxMSF; }; +}; + +class OKActionListener : public ::cppu::WeakImplHelper1< com::sun::star::awt::XActionListener > +{ +public: + OKActionListener( InformationDialog& rInformationDialog ) : mrInformationDialog( rInformationDialog ){}; + + virtual void SAL_CALL actionPerformed( const ::com::sun::star::awt::ActionEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); +private: + + InformationDialog& mrInformationDialog; +}; + +#endif INFORMATIONDIALOG_HXX diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk new file mode 100644 index 000000000000..42568a533b1b --- /dev/null +++ b/sdext/source/minimizer/makefile.mk @@ -0,0 +1,141 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: sj $ $Date: 2007-05-11 13:56:50 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/..$/.. +PRJNAME=customres +TARGET=SunPresentationMinimizer +GEN_HID=FALSE + +ENABLE_EXCEPTIONS=TRUE + +# --- Settings ---------------------------------- + +.INCLUDE : settings.mk + +DLLPRE= +common_build_zip= + +# --- Files ------------------------------------- + +SLOFILES= $(SLO)$/unodialog.obj \ + $(SLO)$/optimizerdialog.obj \ + $(SLO)$/optimizerdialogcontrols.obj \ + $(SLO)$/configurationaccess.obj \ + $(SLO)$/impoptimizer.obj \ + $(SLO)$/pppoptimizer.obj \ + $(SLO)$/pppoptimizeruno.obj \ + $(SLO)$/pppoptimizertoken.obj \ + $(SLO)$/pppoptimizerdialog.obj \ + $(SLO)$/fileopendialog.obj \ + $(SLO)$/optimizationstats.obj \ + $(SLO)$/aboutdialog.obj \ + $(SLO)$/graphiccollector.obj \ + $(SLO)$/pagecollector.obj \ + $(SLO)$/informationdialog.obj + +# --- Library ----------------------------------- + +SHL1TARGET= $(TARGET).uno + +SHL1STDLIBS= $(CPPUHELPERLIB) \ + $(CPPULIB) \ + $(SALLIB) +SHL1DEPN= +SHL1IMPLIB= i$(SHL1TARGET) +SHL1LIBS= $(SLB)$/$(TARGET).lib +SHL1DEF= $(MISC)$/$(SHL1TARGET).def +SHL1VERSIONMAP= exports.map +DEF1NAME= $(SHL1TARGET) + +COMPONENT_FILES= \ + $(MISC)$/SunPresentationMinimizer$/registration$/license_en-US.txt \ + $(MISC)$/SunPresentationMinimizer$/registration$/license_de-DE.txt \ + $(MISC)$/SunPresentationMinimizer$/configuration$/SunPresentationMinimizer.xcs \ + $(MISC)$/SunPresentationMinimizer$/configuration$/SunPresentationMinimizer.xcu \ + $(MISC)$/SunPresentationMinimizer$/configuration$/Addons.xcu \ + $(MISC)$/SunPresentationMinimizer$/configuration$/ImpressWindowState.xcu \ + $(MISC)$/SunPresentationMinimizer$/configuration$/ProtocolHandler.xcu \ + $(MISC)$/SunPresentationMinimizer$/description.xml + +COMPONENT_BITMAPS= \ + $(MISC)$/SunPresentationMinimizer$/bitmaps$/aboutlogo.png \ + $(MISC)$/SunPresentationMinimizer$/bitmaps$/opt_16.png \ + $(MISC)$/SunPresentationMinimizer$/bitmaps$/opt_26.png \ + $(MISC)$/SunPresentationMinimizer$/bitmaps$/opt_16_h.png \ + $(MISC)$/SunPresentationMinimizer$/bitmaps$/opt_26_h.png + +COMPONENT_HELP= \ + $(MISC)$/SunPresentationMinimizer$/help$/help_de.odt \ + $(MISC)$/SunPresentationMinimizer$/help$/help_en-us.odt + +COMPONENT_MANIFEST= \ + $(MISC)$/SunPresentationMinimizer$/META-INF$/manifest.xml + +COMPONENT_LIBRARY= \ + $(MISC)$/SunPresentationMinimizer$/SunPresentationMinimizer.uno$(DLLPOST) + +ZIP1DEPN= $(COMPONENT_MANIFEST) $(COMPONENT_FILES) $(COMPONENT_BITMAPS) $(COMPONENT_HELP) $(COMPONENT_LIBRARY) +ZIP1TARGET= sun-presentation-minimizer +ZIP1DIR= $(MISC)$/SunPresentationMinimizer +ZIP1EXT= .oxt +ZIP1FLAGS=-r +ZIP1LIST= * + +# --- Targets ---------------------------------- + +.INCLUDE : target.mk + +$(COMPONENT_MANIFEST) : $$(@:f) + @-$(MKDIRHIER) $(@:d) + +$(TYPE) $< | $(SED) "s/SHARED_EXTENSION/$(DLLPOST)/" > $@ + +$(COMPONENT_FILES) : $$(@:f) + @-$(MKDIRHIER) $(@:d) + +$(COPY) $< $@ + +$(COMPONENT_BITMAPS) : bitmaps$/$$(@:f) + @-$(MKDIRHIER) $(@:d) + +$(COPY) $< $@ + +$(COMPONENT_HELP) : help$/$$(@:f) + @-$(MKDIRHIER) $(@:d) + +$(COPY) $< $@ + +$(COMPONENT_LIBRARY) : $(DLLDEST)$/$$(@:f) + @-$(MKDIRHIER) $(@:d) + +$(COPY) $< $@ + +# remove this once ZIPnDEPN exists +$(ZIP1TARGETN) : $(COMPONENT_MANIFEST) $(COMPONENT_FILES) $(COMPONENT_BITMAPS) $(COMPONENT_HELP) $(COMPONENT_LIBRARY) diff --git a/sdext/source/minimizer/manifest.xml b/sdext/source/minimizer/manifest.xml new file mode 100644 index 000000000000..52fd36356cf3 --- /dev/null +++ b/sdext/source/minimizer/manifest.xml @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/sdext/source/minimizer/optimizationstats.cxx b/sdext/source/minimizer/optimizationstats.cxx new file mode 100644 index 000000000000..6c47e2fef22b --- /dev/null +++ b/sdext/source/minimizer/optimizationstats.cxx @@ -0,0 +1,118 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: optimizationstats.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:57:05 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef OPTIMIZATIONSTATS_HXX +#include "optimizationstats.hxx" +#endif + +#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ +#include +#endif + + +using namespace ::rtl; +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::drawing; +using namespace ::com::sun::star::beans; + +// ----------------------------------------------------------------------------- + +OptimizationStats::OptimizationStats() +{ +} + +// ----------------------------------------------------------------------------- + +void OptimizationStats::SetStatusValue( const PPPOptimizerTokenEnum eStat, const uno::Any& rStatValue ) +{ + maStats[ eStat ] = rStatValue; +} + +// ----------------------------------------------------------------------------- + +const uno::Any* OptimizationStats::GetStatusValue( const PPPOptimizerTokenEnum eStat ) const +{ + std::map< PPPOptimizerTokenEnum, uno::Any, Compare >::const_iterator aIter( maStats.find( eStat ) ); + return aIter != maStats.end() ? &((*aIter).second) : NULL; +} + +// ----------------------------------------------------------------------------- + +com::sun::star::beans::PropertyValues OptimizationStats::GetStatusSequence() +{ + int i = 0; + uno::Sequence< PropertyValue > aStatsSequence( maStats.size() ); + std::map< PPPOptimizerTokenEnum, uno::Any, Compare >::iterator aIter( maStats.begin() ); + while( aIter != maStats.end() ) + { + aStatsSequence[ i ].Name = TKGet( (*aIter).first ); + aStatsSequence[ i++ ].Value <<= (*aIter++).second; + } + return aStatsSequence; +} + +// ----------------------------------------------------------------------------- + +void OptimizationStats::InitializeStatusValues( const uno::Sequence< PropertyValue >& rOptimizationStats ) +{ + for( int i = 0; i < rOptimizationStats.getLength(); i++ ) + rOptimizationStats[ i ].Value >>= maStats[ TKGet( rOptimizationStats[ i ].Name ) ]; +} + +// ----------------------------------------------------------------------------- + +void OptimizationStats::InitializeStatusValuesFromDocument( Reference< XModel > rxModel ) +{ + try + { + Reference< XDrawPagesSupplier > xDrawPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + SetStatusValue( TK_Pages, Any( awt::Size( 0, xDrawPages->getCount() ) ) ); + } + catch ( Exception& ) + { + } +} diff --git a/sdext/source/minimizer/optimizationstats.hxx b/sdext/source/minimizer/optimizationstats.hxx new file mode 100644 index 000000000000..986891c29461 --- /dev/null +++ b/sdext/source/minimizer/optimizationstats.hxx @@ -0,0 +1,79 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: optimizationstats.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:57:14 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef OPTIMIZATIONSTATS_HXX +#define OPTIMIZATIONSTATS_HXX + +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ +#include +#endif +#ifndef _PPPOPTIMIZER_TOKEN_HXX +#include "pppoptimizertoken.hxx" +#endif +#include + +class OptimizationStats +{ + struct Compare + { + bool operator()( const PPPOptimizerTokenEnum s1, const PPPOptimizerTokenEnum s2 ) const + { + return s1 < s2; + } + }; + std::map < PPPOptimizerTokenEnum, com::sun::star::uno::Any, Compare > maStats; + + public : + + OptimizationStats(); + ~OptimizationStats(){}; + + void SetStatusValue( const PPPOptimizerTokenEnum eStat, const com::sun::star::uno::Any& rStatValue ); + const com::sun::star::uno::Any* GetStatusValue( const PPPOptimizerTokenEnum eStat ) const; + + void InitializeStatusValuesFromDocument( com::sun::star::uno::Reference< com::sun::star::frame::XModel > rxModel ); + void InitializeStatusValues( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rOptimizationStats ); + + com::sun::star::beans::PropertyValues GetStatusSequence(); +}; + + +#endif // OPTIMIZATIONSTATS_HXX diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx new file mode 100644 index 000000000000..facf83c6f945 --- /dev/null +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -0,0 +1,864 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: optimizerdialog.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:57:22 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef OPTIMIZERDIALOG_HXX +#include "optimizerdialog.hxx" +#endif +#ifndef _FILEOPEN_DIALOG_HXX_ +#include "fileopendialog.hxx" +#endif +#ifndef _COM_SUN_STAR_UI_DIALOGS_EXECUTABLEDIALOGRESULTS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UCB_XSIMPLEFILEACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_IO_XINPUTSTREAM_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UTIL_XCloseBroadcaster_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XCOMPONENTLOADER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XLAYOUTMANAGER_HPP_ +#include +#endif +#ifndef _OSL_TIME_H_ +#include +#endif + +// ------------------- +// - OPTIMIZERDIALOG - +// ------------------- + +using namespace ::rtl; +using namespace ::com::sun::star::io; +using namespace ::com::sun::star::ui; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::ucb; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::script; +using namespace ::com::sun::star::container; + + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::InitDialog() +{ + // setting the dialog properties + OUString pNames[] = { + TKGet( TK_Closeable ), + TKGet( TK_Height ), + TKGet( TK_Moveable ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Title ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_True ), + Any( sal_Int32( DIALOG_HEIGHT ) ), + Any( sal_True ), + Any( sal_Int32( 200 ) ), + Any( sal_Int32( 52 ) ), + Any( getString( STR_SUN_OPTIMIZATION_WIZARD ) ), + Any( sal_Int32( DIALOG_WIDTH ) ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + mxDialogModelMultiPropertySet->setPropertyValues( aNames, aValues ); +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::InitRoadmap() +{ + try + { + OUString pNames[] = { + TKGet( TK_Height ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_Int32( DIALOG_HEIGHT - 26 ) ), + Any( sal_Int32( 0 ) ), + Any( sal_Int32( 0 ) ), + Any( sal_Int32( 0 ) ), + Any( mnTabIndex++ ), + Any( sal_Int32( 85 ) ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + mxRoadmapControlModel = insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlRoadmapModel" ) ), + TKGet( TK_rdmNavi ), aNames, aValues ); + + Reference< XPropertySet > xPropertySet( mxRoadmapControlModel, UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( TKGet( TK_Name ), Any( TKGet( TK_rdmNavi ) ) ); + mxRoadmapControl = mxDialogControlContainer->getControl( TKGet( TK_rdmNavi ) ); + InsertRoadmapItem( 0, sal_True, getString( STR_INTRODUCTION ), ITEM_ID_INTRODUCTION ); + InsertRoadmapItem( 1, sal_True, getString( STR_SLIDES ), ITEM_ID_SLIDES ); + InsertRoadmapItem( 2, sal_True, getString( STR_IMAGE_OPTIMIZATION ), ITEM_ID_GRAPHIC_OPTIMIZATION ); + InsertRoadmapItem( 3, sal_True, getString( STR_OLE_OBJECTS ), ITEM_ID_OLE_OPTIMIZATION ); + InsertRoadmapItem( 4, sal_True, getString( STR_SUMMARY ), ITEM_ID_SUMMARY ); + + rtl::OUString sBitmapPath( getPath( TK_BitmapPath ) ); + rtl::OUString sBitmap( isHighContrast() ? rtl::OUString::createFromAscii( "/minimizepresi_80_h.png" ) + : rtl::OUString::createFromAscii( "/minimizepresi_80.png" ) ); + rtl::OUString sURL( sBitmapPath += sBitmap ); + + xPropertySet->setPropertyValue( TKGet( TK_ImageURL ), Any( sURL ) ); + xPropertySet->setPropertyValue( TKGet( TK_Activated ), Any( (sal_Bool)sal_True ) ); + xPropertySet->setPropertyValue( TKGet( TK_Complete ), Any( (sal_Bool)sal_True ) ); + xPropertySet->setPropertyValue( TKGet( TK_CurrentItemID ), Any( (sal_Int16)ITEM_ID_INTRODUCTION ) ); + xPropertySet->setPropertyValue( TKGet( TK_Text ), Any( getString( STR_STEPS ) ) ); + } + catch( Exception& ) + { + } +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::InsertRoadmapItem( const sal_Int32 nIndex, const sal_Bool bEnabled, const rtl::OUString& rLabel, const sal_Int32 nItemID ) +{ + try + { + Reference< XSingleServiceFactory > xSFRoadmap( mxRoadmapControlModel, UNO_QUERY_THROW ); + Reference< XIndexContainer > aIndexContainerRoadmap( mxRoadmapControlModel, UNO_QUERY_THROW ); + Reference< XInterface > xRoadmapItem( xSFRoadmap->createInstance(), UNO_QUERY_THROW ); + Reference< XPropertySet > xPropertySet( xRoadmapItem, UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( TKGet( TK_Label ), Any( rLabel ) ); + xPropertySet->setPropertyValue( TKGet( TK_Enabled ), Any( bEnabled ) ); + xPropertySet->setPropertyValue( TKGet( TK_ID ), Any( nItemID ) ); + aIndexContainerRoadmap->insertByIndex( nIndex, Any( xRoadmapItem ) ); + } + catch( Exception& ) + { + + } +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::UpdateConfiguration() +{ + sal_Int16 nInt16; + OUString aString; + Any aAny; + + Sequence< sal_Int16 > aSelectedItems; + Sequence< OUString > aStringItemList; + + // page0 + aAny = getControlProperty( TKGet( TK_ListBox0Pg0 ), TKGet( TK_SelectedItems ) ); + if ( aAny >>= aSelectedItems ) + { + if ( aSelectedItems.getLength() ) + { + sal_Int16 nSelectedItem = aSelectedItems[ 0 ]; + aAny = getControlProperty( TKGet( TK_ListBox0Pg0 ), TKGet( TK_StringItemList ) ); + if ( aAny >>= aStringItemList ) + { + if ( aStringItemList.getLength() > nSelectedItem ) + SetConfigProperty( TK_Name, Any( aStringItemList[ nSelectedItem ] ) ); + } + } + } + + // page1 +// aAny = getControlProperty( TKGet( TK_CheckBox0Pg1 ), TKGet( TK_State ) ); +// if ( aAny >>= nInt16 ) +// SetConfigProperty( TK_JPEGCompression, Any( nInt16 != 0 ) ); + +// aAny = getControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ) ); +// if ( aAny >>= fDouble ) +// SetConfigProperty( TK_JPEGQuality, Any( (sal_Int32)fDouble ) ); + +// aAny = getControlProperty( TKGet( TK_CheckBox1Pg1 ), TKGet( TK_State ) ); +// if ( aAny >>= nInt16 ) +// SetConfigProperty( TK_RemoveCropArea, Any( nInt16 != 0 ) ); + +// aAny = getControlProperty( TKGet( TK_ComboBox0Pg1 ), TKGet( TK_Text ) ); +// if ( aAny >>= aString ) +// { +// sal_Int32 nI0, nI1, nI2, nI3, nI4; +// nI0 = nI1 = nI2 = nI3 = nI4 = 0; +// +// if ( getString( STR_IMAGE_RESOLUTION_0 ).getToken( 1, ';', nI0 ) == aString ) +// aString = getString( STR_IMAGE_RESOLUTION_0 ).getToken( 0, ';', nI4 ); +// else if ( getString( STR_IMAGE_RESOLUTION_1 ).getToken( 1, ';', nI1 ) == aString ) +// aString = getString( STR_IMAGE_RESOLUTION_1 ).getToken( 0, ';', nI4 ); +// else if ( getString( STR_IMAGE_RESOLUTION_2 ).getToken( 1, ';', nI2 ) == aString ) +// aString = getString( STR_IMAGE_RESOLUTION_2 ).getToken( 0, ';', nI4 ); +// else if ( getString( STR_IMAGE_RESOLUTION_3 ).getToken( 1, ';', nI3 ) == aString ) +// aString = getString( STR_IMAGE_RESOLUTION_3 ).getToken( 0, ';', nI4 ); +// +// SetConfigProperty( TK_ImageResolution, Any( aString.toInt32() ) ); +// } + + // page2 +// aAny = getControlProperty( TKGet( TK_CheckBox0Pg2 ), TKGet( TK_State ) ); +// if ( aAny >>= nInt16 ) +// SetConfigProperty( TK_OLEOptimization, Any( nInt16 != 0 ) ); + +// aAny = getControlProperty( TKGet( TK_RadioButton1Pg2 ), TKGet( TK_State ) ); +// if ( aAny >>= nInt16 ) +// SetConfigProperty( TK_OLEOptimizationType, Any( nInt16 ) ); + + // page3 +// aAny = getControlProperty( TKGet( TK_CheckBox0Pg3 ), TKGet( TK_State ) ); +// if ( aAny >>= nInt16 ) +// SetConfigProperty( TK_DeleteUnusedMasterPages, Any( nInt16 != 0 ) ); + +// aAny = getControlProperty( TKGet( TK_CheckBox1Pg3 ), TKGet( TK_State ) ); +// if ( aAny >>= nInt16 ) +// SetConfigProperty( TK_DeleteNotesPages, Any( nInt16 != 0 ) ); + +// aAny = getControlProperty( TKGet( TK_CheckBox2Pg3 ), TKGet( TK_State ) ); +// if ( aAny >>= nInt16 ) +// SetConfigProperty( TK_DeleteHiddenSlides, Any( nInt16 != 0 ) ); + + aAny = getControlProperty( TKGet( TK_CheckBox3Pg3 ), TKGet( TK_State ) ); + if ( aAny >>= nInt16 ) + { + if ( nInt16 ) + { + aAny = getControlProperty( TKGet( TK_ListBox0Pg3 ), TKGet( TK_SelectedItems ) ); + if ( aAny >>= aSelectedItems ) + { + if ( aSelectedItems.getLength() ) + { + sal_Int16 nSelectedItem = aSelectedItems[ 0 ]; + aAny = getControlProperty( TKGet( TK_ListBox0Pg3 ), TKGet( TK_StringItemList ) ); + if ( aAny >>= aStringItemList ) + { + if ( aStringItemList.getLength() > nSelectedItem ) + SetConfigProperty( TK_CustomShowName, Any( aStringItemList[ nSelectedItem ] ) ); + } + } + } + } + } + + // page4 +// aAny = getControlProperty( TKGet( TK_CheckBox0Pg4 ), TKGet( TK_State ) ); +// if ( aAny >>= nInt16 ) +// SetConfigProperty( TK_OpenNewDocument, Any( nInt16 != 0 ) ); +} + +// ----------------------------------------------------------------------------- + +OptimizerDialog::OptimizerDialog( const Reference< XComponentContext > &rxMSF, Reference< XFrame >& rxFrame, Reference< XDispatch > rxStatusDispatcher ) : + UnoDialog( rxMSF, rxFrame ), + ConfigurationAccess( rxMSF, NULL ), + mnCurrentStep( 0 ), + mnTabIndex( 0 ), + mxMSF( rxMSF ), + mxFrame( rxFrame ), + mxItemListener( new ItemListener( *this ) ), + mxActionListener( new ActionListener( *this ) ), + mxActionListenerListBox0Pg0( new ActionListenerListBox0Pg0( *this ) ), + mxTextListenerFormattedField0Pg1( new TextListenerFormattedField0Pg1( *this ) ), + mxTextListenerComboBox0Pg1( new TextListenerComboBox0Pg1( *this ) ), + mxStatusDispatcher( rxStatusDispatcher ) +{ + Reference< XStorable > xStorable( mxController->getModel(), UNO_QUERY_THROW ); + mbIsReadonly = xStorable->isReadonly(); + + InitDialog(); + InitRoadmap(); + InitNavigationBar(); + InitPage0(); + InitPage1(); + InitPage2(); + InitPage3(); + InitPage4(); + ActivatePage( 0 ); + + OptimizationStats aStats; + aStats.InitializeStatusValuesFromDocument( mxController->getModel() ); + Sequence< PropertyValue > aStatusSequence( aStats.GetStatusSequence() ); + UpdateStatus( aStatusSequence ); +} + +// ----------------------------------------------------------------------------- + +OptimizerDialog::~OptimizerDialog() +{ + // not saving configuration if the dialog has been finished via cancel or close window + if ( mbStatus ) + SaveConfiguration(); +} + +// ----------------------------------------------------------------------------- + +sal_Bool OptimizerDialog::execute() +{ + Reference< XItemEventBroadcaster > maRoadmapBroadcaster( mxRoadmapControl, UNO_QUERY_THROW ); + maRoadmapBroadcaster->addItemListener( mxItemListener ); + UnoDialog::execute(); + UpdateConfiguration(); // taking actual control settings for the configuration + maRoadmapBroadcaster->removeItemListener( mxItemListener ); + return mbStatus; +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::SwitchPage( sal_Int16 nNewStep ) +{ + if ( ( nNewStep != mnCurrentStep ) && ( nNewStep <= MAX_STEP ) || ( nNewStep >= 0 ) ) + { + sal_Int16 nOldStep = mnCurrentStep; + if ( nNewStep == 0 ) + disableControl( TKGet( TK_btnNavBack ) ); + else if ( nOldStep == 0 ) + enableControl( TKGet( TK_btnNavBack ) ); + + if ( nNewStep == MAX_STEP ) + disableControl( TKGet( TK_btnNavNext ) ); + else if ( nOldStep == MAX_STEP ) + enableControl( TKGet( TK_btnNavNext ) ); + + setControlProperty( TKGet( TK_rdmNavi ), TKGet( TK_CurrentItemID ), Any( nNewStep ) ); + + DeactivatePage( nOldStep ); + UpdateControlStates( nNewStep ); + + ActivatePage( nNewStep ); + mnCurrentStep = nNewStep; + } +} + +void OptimizerDialog::UpdateControlStates( sal_Int16 nPage ) +{ + switch( nPage ) + { + case 0 : UpdateControlStatesPage0(); break; + case 1 : UpdateControlStatesPage1(); break; + case 2 : UpdateControlStatesPage2(); break; + case 3 : UpdateControlStatesPage3(); break; + case 4 : UpdateControlStatesPage4(); break; + default: + { + UpdateControlStatesPage0(); + UpdateControlStatesPage1(); + UpdateControlStatesPage2(); + UpdateControlStatesPage3(); + UpdateControlStatesPage4(); + } + } +} + +// ----------------------------------------------------------------------------- + +rtl::OUString OptimizerDialog::GetSelectedString( const PPPOptimizerTokenEnum eToken ) +{ + OUString aSelectedItem; + Sequence< sal_Int16 > sSelectedItems; + Sequence< OUString > sItemList; + + if ( ( getControlProperty( TKGet( eToken ), TKGet( TK_SelectedItems ) ) >>= sSelectedItems ) && + ( getControlProperty( TKGet( eToken ), TKGet( TK_StringItemList ) ) >>= sItemList ) ) + { + if ( sSelectedItems.getLength() == 1 ) + { + sal_Int16 nSelectedItem = sSelectedItems[ 0 ]; + if ( nSelectedItem < sItemList.getLength() ) + aSelectedItem = sItemList[ nSelectedItem ]; + } + } + return aSelectedItem; +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::UpdateStatus( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rStatus ) +{ + if ( mxReschedule.is() ) + { + maStats.InitializeStatusValues( rStatus ); + const Any* pVal( maStats.GetStatusValue( TK_Status ) ); + if ( pVal ) + { + rtl::OUString sStatus; + if ( *pVal >>= sStatus ) + setControlProperty( TKGet( TK_FixedText1Pg4 ), TKGet( TK_Label ), Any( getString( TKGet( sStatus ) ) ) ); + } + pVal = maStats.GetStatusValue( TK_Progress ); + if ( pVal ) + { + sal_Int32 nProgress = 0; + if ( *pVal >>= nProgress ) + setControlProperty( TKGet( TK_Progress ), TKGet( TK_ProgressValue ), Any( nProgress ) ); + } + mxReschedule->reschedule(); + } +} + +// ----------------------------------------------------------------------------- + +void ItemListener::itemStateChanged( const ItemEvent& Event ) + throw ( RuntimeException ) +{ + try + { + sal_Int16 nState; + OUString aControlName; + Reference< XControl > xControl; + Any aSource( Event.Source ); + if ( aSource >>= xControl ) + { + Reference< XPropertySet > xPropertySet( xControl->getModel(), UNO_QUERY_THROW ); + xPropertySet->getPropertyValue( TKGet( TK_Name ) ) >>= aControlName; + PPPOptimizerTokenEnum eControl( TKGet( aControlName ) ); + switch( eControl ) + { + case TK_rdmNavi : + { + mrOptimizerDialog.SwitchPage( static_cast< sal_Int16 >( Event.ItemId ) ); + } + break; + case TK_CheckBox1Pg1 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + mrOptimizerDialog.SetConfigProperty( TK_RemoveCropArea, Any( nState != 0 ) ); + } + break; + case TK_CheckBox2Pg1 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + mrOptimizerDialog.SetConfigProperty( TK_EmbedLinkedGraphics, Any( nState != 0 ) ); + } + break; + case TK_CheckBox0Pg2 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + { + mrOptimizerDialog.SetConfigProperty( TK_OLEOptimization, Any( nState != 0 ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_RadioButton0Pg2 ), TKGet( TK_Enabled ), Any( nState != 0 ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_RadioButton1Pg2 ), TKGet( TK_Enabled ), Any( nState != 0 ) ); + } + } + break; + case TK_RadioButton0Pg1 : + { + sal_Int16 nInt16; + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nInt16 ) + { + nInt16 ^= 1; + mrOptimizerDialog.SetConfigProperty( TK_JPEGCompression, Any( nInt16 != 0 ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_FixedText1Pg1 ), TKGet( TK_Enabled ), Any( nInt16 != 0 ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_Enabled ), Any( nInt16 != 0 ) ); + } + } + break; + case TK_RadioButton1Pg1 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + { + mrOptimizerDialog.SetConfigProperty( TK_JPEGCompression, Any( nState != 0 ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_FixedText1Pg1 ), TKGet( TK_Enabled ), Any( nState != 0 ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_Enabled ), Any( nState != 0 ) ); + } + } + break; + case TK_RadioButton0Pg2 : + { + sal_Int16 nInt16; + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nInt16 ) + { + nInt16 ^= 1; + mrOptimizerDialog.SetConfigProperty( TK_OLEOptimizationType, Any( nInt16 ) ); + } + } + break; + case TK_RadioButton1Pg2 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + mrOptimizerDialog.SetConfigProperty( TK_OLEOptimizationType, Any( nState ) ); + } + break; + case TK_CheckBox0Pg3 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + mrOptimizerDialog.SetConfigProperty( TK_DeleteUnusedMasterPages, Any( nState != 0 ) ); + } + break; + case TK_CheckBox1Pg3 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + mrOptimizerDialog.SetConfigProperty( TK_DeleteNotesPages, Any( nState != 0 ) ); + } + break; + case TK_CheckBox2Pg3 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + mrOptimizerDialog.SetConfigProperty( TK_DeleteHiddenSlides, Any( nState != 0 ) ); + } + break; + case TK_CheckBox3Pg3 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + mrOptimizerDialog.setControlProperty( TKGet( TK_ListBox0Pg3 ), TKGet( TK_Enabled ), Any( nState != 0 ) ); + } + break; + case TK_CheckBox0Pg4 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + mrOptimizerDialog.SetConfigProperty( TK_OpenNewDocument, Any( nState != 0 ) ); + } + break; + case TK_CheckBox1Pg4 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + mrOptimizerDialog.setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_Enabled ), Any( nState != 0 ) ); + } + break; + case TK_RadioButton0Pg4 : + case TK_RadioButton1Pg4 : + { + if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) + { + mrOptimizerDialog.setControlProperty( TKGet( TK_CheckBox0Pg4 ), TKGet( TK_Enabled ), Any( eControl == TK_RadioButton1Pg4 ) ); + mrOptimizerDialog.SetConfigProperty( TK_SaveAs, Any( eControl == TK_RadioButton1Pg4 ? nState != 0 : nState == 0 ) ); + } + } + break; + default: + break; + } + } + } + catch ( Exception& ) + { + + } +} +void ItemListener::disposing( const ::com::sun::star::lang::EventObject& /* Source */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ +} + +// ----------------------------------------------------------------------------- + +void ActionListener::actionPerformed( const ActionEvent& rEvent ) + throw ( com::sun::star::uno::RuntimeException ) +{ + switch( TKGet( rEvent.ActionCommand ) ) + { + case TK_btnNavHelp : + { + try + { + static Reference< XFrame > xHelpFrame; + if ( !xHelpFrame.is() ) + { + rtl::OUString sHelpFile( mrOptimizerDialog.getPath( TK_HelpFile ) ); + Reference< XDesktop > desktop( mrOptimizerDialog.GetComponentContext()->getServiceManager()->createInstanceWithContext( + OUString::createFromAscii( "com.sun.star.frame.Desktop" ), mrOptimizerDialog.GetComponentContext() ), UNO_QUERY_THROW ); + Reference< XSimpleFileAccess > xSimpleFileAccess( mrOptimizerDialog.GetComponentContext()->getServiceManager()->createInstanceWithContext( + OUString::createFromAscii( "com.sun.star.ucb.SimpleFileAccess" ), mrOptimizerDialog.GetComponentContext() ), UNO_QUERY_THROW ); + Reference< XInputStream > xInputStream( xSimpleFileAccess->openFileRead( sHelpFile ) ); + Reference< XDesktop > xDesktop( mrOptimizerDialog.GetComponentContext()->getServiceManager()->createInstanceWithContext( + OUString::createFromAscii( "com.sun.star.frame.Desktop" ), mrOptimizerDialog.GetComponentContext() ), UNO_QUERY_THROW ); + Reference< XFrame > xDesktopFrame( xDesktop, UNO_QUERY_THROW ); + xHelpFrame = Reference< XFrame >( xDesktopFrame->findFrame( TKGet( TK__blank ), 0 ) ); + Reference< XCloseBroadcaster > xCloseBroadcaster( xHelpFrame, UNO_QUERY_THROW ); + xCloseBroadcaster->addCloseListener( new HelpCloseListener( xHelpFrame ) ); + Reference< XComponentLoader > xLoader( xHelpFrame, UNO_QUERY_THROW ); + + Sequence< PropertyValue > aLoadProps( 2 ); + aLoadProps[ 0 ].Name = TKGet( TK_ReadOnly ); + aLoadProps[ 0 ].Value <<= (sal_Bool)( sal_True ); + aLoadProps[ 1 ].Name = TKGet( TK_InputStream ); + aLoadProps[ 1 ].Value <<= xInputStream; + + Reference< XComponent >( xLoader->loadComponentFromURL( OUString::createFromAscii( "private:stream" ), + TKGet( TK__self ), 0, aLoadProps ) ); + + Reference< XPropertySet > xPropSet( xHelpFrame, UNO_QUERY_THROW ); + Reference< XLayoutManager > xLayoutManager; + if ( xPropSet->getPropertyValue( OUString::createFromAscii( "LayoutManager" ) ) >>= xLayoutManager ) + { + xLayoutManager->setVisible( sal_False ); + xLayoutManager->hideElement( OUString::createFromAscii( "private:resource/menubar/menubar" ) ); + xLayoutManager->destroyElement( OUString::createFromAscii( "private:resource/statusbar/statusbar" ) ); + } + } + } + catch( Exception& ) + { + + } + } + break; + case TK_btnNavBack : mrOptimizerDialog.SwitchPage( mrOptimizerDialog.mnCurrentStep - 1 ); break; + case TK_btnNavNext : mrOptimizerDialog.SwitchPage( mrOptimizerDialog.mnCurrentStep + 1 ); break; + case TK_btnNavFinish : + { + mrOptimizerDialog.UpdateConfiguration(); + + mrOptimizerDialog.SwitchPage( ITEM_ID_SUMMARY ); + mrOptimizerDialog.DisablePage( ITEM_ID_SUMMARY ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavHelp ), TKGet( TK_Enabled ), Any( sal_False ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavBack ), TKGet( TK_Enabled ), Any( sal_False ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavNext ), TKGet( TK_Enabled ), Any( sal_False ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavFinish ), TKGet( TK_Enabled ), Any( sal_False ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavCancel ), TKGet( TK_Enabled ), Any( sal_False ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_FixedText0Pg4 ), TKGet( TK_Enabled ), Any( sal_True ) ); + + // check if we have to open the FileDialog + sal_Bool bSuccessfullyExecuted = sal_True; + sal_Int16 nInt16 = 0; + mrOptimizerDialog.getControlProperty( TKGet( TK_RadioButton1Pg4 ), TKGet( TK_State ) ) >>= nInt16; + if ( nInt16 ) + { + rtl::OUString aSaveAsURL; + FileOpenDialog aFileOpenDialog( ((UnoDialog&)mrOptimizerDialog).mxMSF ); + +/* + // generating default file name + Reference< XStorable > xStorable( mrOptimizerDialog.mxController->getModel(), UNO_QUERY ); + if ( xStorable.is() && xStorable.hasLocation() ) + { + rtl::OUString aLocation( xStorable->getLocation() ); + sal_Int32 nIndex aLocation.lastIndexOf( '/', 0 ); + if ( nIndex >= 0 ) + { + if ( nIndex < aLocation.getLenght() - 1 ) + { + + + } + } + +// aFileOpenDialog.setDefaultName( aLocation ); + } +*/ + sal_Bool bDialogExecuted = aFileOpenDialog.execute() == dialogs::ExecutableDialogResults::OK; + if ( bDialogExecuted ) + { + aSaveAsURL = aFileOpenDialog.getURL(); + mrOptimizerDialog.SetConfigProperty( TK_SaveAsURL, Any( aSaveAsURL ) ); + mrOptimizerDialog.SetConfigProperty( TK_FilterName, Any( aFileOpenDialog.getFilterName() ) ); + } + if ( !aSaveAsURL.getLength() ) + { + // something goes wrong... + bSuccessfullyExecuted = sal_False; + } + + // waiting for 500ms + if ( mrOptimizerDialog.mxReschedule.is() ) + { + mrOptimizerDialog.mxReschedule->reschedule(); + for ( sal_uInt32 i = osl_getGlobalTimer(); ( i + 500 ) > ( osl_getGlobalTimer() ); ) + mrOptimizerDialog.mxReschedule->reschedule(); + } + } + if ( bSuccessfullyExecuted ) + { // now check if we have to store a session template + nInt16 = 0; + OUString aSettingsName; + mrOptimizerDialog.getControlProperty( TKGet( TK_CheckBox1Pg4 ), TKGet( TK_State ) ) >>= nInt16; + mrOptimizerDialog.getControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_Text ) ) >>= aSettingsName; + if ( nInt16 && aSettingsName.getLength() ) + { + std::vector< OptimizerSettings >::iterator aIter( mrOptimizerDialog.GetOptimizerSettingsByName( aSettingsName ) ); + std::vector< OptimizerSettings >& rSettings( mrOptimizerDialog.GetOptimizerSettings() ); + OptimizerSettings aNewSettings( rSettings[ 0 ] ); + aNewSettings.maName = aSettingsName; + if ( aIter == rSettings.end() ) + rSettings.push_back( aNewSettings ); + else + *aIter = aNewSettings; + } + } + if ( bSuccessfullyExecuted ) + { + Sequence< Any > aArgs( 1 ); + aArgs[ 0 ] <<= mrOptimizerDialog.GetFrame(); + + Reference < XDispatch > xDispatch( mrOptimizerDialog.GetComponentContext()->getServiceManager()->createInstanceWithArgumentsAndContext( + OUString::createFromAscii( "com.sun.star.comp.PPPOptimizer" ), aArgs, mrOptimizerDialog.GetComponentContext() ), UNO_QUERY ); + + URL aURL; + aURL.Protocol = OUString( RTL_CONSTASCII_USTRINGPARAM( "vnd.com.sun.star.comp.PPPOptimizer:" ) ); + aURL.Path = OUString( RTL_CONSTASCII_USTRINGPARAM( "optimize" ) ); + + Sequence< PropertyValue > lArguments( 3 ); + lArguments[ 0 ].Name = TKGet( TK_Settings ); + lArguments[ 0 ].Value <<= mrOptimizerDialog.GetConfigurationSequence(); + lArguments[ 1 ].Name = TKGet( TK_StatusDispatcher ); + lArguments[ 1 ].Value <<= mrOptimizerDialog.GetStatusDispatcher(); + lArguments[ 2 ].Name = TKGet( TK_InformationDialog ); + lArguments[ 2 ].Value <<= sal_True; + + if( xDispatch.is() ) + xDispatch->dispatch( aURL, lArguments ); + + mrOptimizerDialog.endExecute( bSuccessfullyExecuted ); + } + else + { + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavHelp ), TKGet( TK_Enabled ), Any( sal_True ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavBack ), TKGet( TK_Enabled ), Any( sal_True ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavNext ), TKGet( TK_Enabled ), Any( sal_True ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavFinish ), TKGet( TK_Enabled ), Any( sal_True ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavCancel ), TKGet( TK_Enabled ), Any( sal_True ) ); + mrOptimizerDialog.EnablePage( ITEM_ID_SUMMARY ); + } + } + break; + case TK_btnNavCancel : mrOptimizerDialog.endExecute( sal_False ); break; + case TK_Button0Pg0 : // delete configuration + { + OUString aSelectedItem( mrOptimizerDialog.GetSelectedString( TK_ListBox0Pg0 ) ); + if ( aSelectedItem.getLength() ) + { + std::vector< OptimizerSettings >::iterator aIter( mrOptimizerDialog.GetOptimizerSettingsByName( aSelectedItem ) ); + std::vector< OptimizerSettings >& rList( mrOptimizerDialog.GetOptimizerSettings() ); + if ( aIter != rList.end() ) + { + rList.erase( aIter ); + mrOptimizerDialog.UpdateControlStates(); + } + } + } + break; + default: break; + } +} +void ActionListener::disposing( const ::com::sun::star::lang::EventObject& /* Source */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ +} + +// ----------------------------------------------------------------------------- + +void ActionListenerListBox0Pg0::actionPerformed( const ActionEvent& rEvent ) + throw ( com::sun::star::uno::RuntimeException ) +{ + if ( rEvent.ActionCommand.getLength() ) + { + std::vector< OptimizerSettings >::iterator aIter( mrOptimizerDialog.GetOptimizerSettingsByName( rEvent.ActionCommand ) ); + std::vector< OptimizerSettings >& rList( mrOptimizerDialog.GetOptimizerSettings() ); + if ( aIter != rList.end() ) + rList[ 0 ] = *aIter; + } + mrOptimizerDialog.UpdateControlStates(); +} +void ActionListenerListBox0Pg0::disposing( const ::com::sun::star::lang::EventObject& /* Source */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ +} + +// ----------------------------------------------------------------------------- + +void TextListenerFormattedField0Pg1::textChanged( const TextEvent& /* rEvent */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ + double fDouble; + Any aAny = mrOptimizerDialog.getControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ) ); + if ( aAny >>= fDouble ) + mrOptimizerDialog.SetConfigProperty( TK_JPEGQuality, Any( (sal_Int32)fDouble ) ); +} +void TextListenerFormattedField0Pg1::disposing( const ::com::sun::star::lang::EventObject& /* Source */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ +} + +// ----------------------------------------------------------------------------- + +void TextListenerComboBox0Pg1::textChanged( const TextEvent& /* rEvent */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ + rtl::OUString aString; + Any aAny = mrOptimizerDialog.getControlProperty( TKGet( TK_ComboBox0Pg1 ), TKGet( TK_Text ) ); + if ( aAny >>= aString ) + { + sal_Int32 nI0, nI1, nI2, nI3, nI4; + nI0 = nI1 = nI2 = nI3 = nI4 = 0; + + if ( mrOptimizerDialog.getString( STR_IMAGE_RESOLUTION_0 ).getToken( 1, ';', nI0 ) == aString ) + aString = mrOptimizerDialog.getString( STR_IMAGE_RESOLUTION_0 ).getToken( 0, ';', nI4 ); + else if ( mrOptimizerDialog.getString( STR_IMAGE_RESOLUTION_1 ).getToken( 1, ';', nI1 ) == aString ) + aString = mrOptimizerDialog.getString( STR_IMAGE_RESOLUTION_1 ).getToken( 0, ';', nI4 ); + else if ( mrOptimizerDialog.getString( STR_IMAGE_RESOLUTION_2 ).getToken( 1, ';', nI2 ) == aString ) + aString = mrOptimizerDialog.getString( STR_IMAGE_RESOLUTION_2 ).getToken( 0, ';', nI4 ); + else if ( mrOptimizerDialog.getString( STR_IMAGE_RESOLUTION_3 ).getToken( 1, ';', nI3 ) == aString ) + aString = mrOptimizerDialog.getString( STR_IMAGE_RESOLUTION_3 ).getToken( 0, ';', nI4 ); + + mrOptimizerDialog.SetConfigProperty( TK_ImageResolution, Any( aString.toInt32() ) ); + } +} +void TextListenerComboBox0Pg1::disposing( const ::com::sun::star::lang::EventObject& /* Source */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ +} +void HelpCloseListener::addCloseListener( const Reference < XCloseListener >& ) throw( RuntimeException ) +{ +} +void HelpCloseListener::removeCloseListener( const Reference < XCloseListener >& ) throw( RuntimeException ) +{ +} +void HelpCloseListener::queryClosing( const EventObject&, sal_Bool /* bDeliverOwnership */ ) + throw ( RuntimeException, CloseVetoException ) +{ +} +void HelpCloseListener::notifyClosing( const EventObject& ) + throw ( RuntimeException ) +{ +} +void HelpCloseListener::disposing( const EventObject& ) throw ( RuntimeException ) +{ + mrXFrame = NULL; +} diff --git a/sdext/source/minimizer/optimizerdialog.hrc b/sdext/source/minimizer/optimizerdialog.hrc new file mode 100644 index 000000000000..cd114cb6de56 --- /dev/null +++ b/sdext/source/minimizer/optimizerdialog.hrc @@ -0,0 +1,44 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: optimizerdialog.hrc,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:57:31 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +#ifndef _OPTIMIZERDIALOG_HRC +#define _OPTIMIZERDIALOG_HRC + +#define ITEM_ID_INTRODUCTION 0 +#define ITEM_ID_SLIDES 1 +#define ITEM_ID_GRAPHIC_OPTIMIZATION 2 +#define ITEM_ID_OLE_OPTIMIZATION 3 +#define ITEM_ID_SUMMARY 4 + +#endif diff --git a/sdext/source/minimizer/optimizerdialog.hxx b/sdext/source/minimizer/optimizerdialog.hxx new file mode 100644 index 000000000000..063dd14095e5 --- /dev/null +++ b/sdext/source/minimizer/optimizerdialog.hxx @@ -0,0 +1,275 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: optimizerdialog.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:57:39 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef OPTIMIZERDIALOG_HXX +#define OPTIMIZERDIALOG_HXX +#ifndef _OPTIMIZERDIALOG_HRC +#include "optimizerdialog.hrc" +#endif +#include +#ifndef UNODIALOG_HXX +#include "unodialog.hxx" +#endif +#ifndef _PPPOPTIMIZER_TOKEN_HXX +#include "pppoptimizertoken.hxx" +#endif +#ifndef OPTIMIZATIONSTATS_HXX +#include "optimizationstats.hxx" +#endif +#ifndef _CONFIGURATION_ACCESS_HXX_ +#include "configurationaccess.hxx" +#endif +#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XITEMLISTENER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ +#include +#endif +#ifndef _COM_SUN_STAR_TEXT_XTEXTRANGE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XITEMEVENTBROADCASTER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UTIL_XCloseListener_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDESKTOP_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_PUSHBUTTONTYPE_HPP_ +#include +#endif + +#define MAX_STEP 4 +#define DIALOG_WIDTH 310 +#define DIALOG_HEIGHT 210 +#define BUTTON_WIDTH 50 +#define BUTTON_HEIGHT 14 +#define BUTTON_POS_Y DIALOG_HEIGHT - BUTTON_HEIGHT - 6 + +#define PAGE_POS_X 91 +#define PAGE_POS_Y 8 +#define PAGE_WIDTH DIALOG_WIDTH - PAGE_POS_X + +// ------------------- +// - OPTIMIZERDIALOG - +// ------------------- +class OptimizerDialog : public UnoDialog, public ConfigurationAccess +{ +public : + + OptimizerDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame, + com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > rxStatusDispatcher ); + ~OptimizerDialog(); + + sal_Bool execute(); + + sal_Int16 mnCurrentStep; + sal_Int16 mnTabIndex; + sal_Bool mbIsReadonly; + +private : + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >mxMSF; + com::sun::star::uno::Reference< com::sun::star::frame::XFrame > mxFrame; + + com::sun::star::uno::Reference< com::sun::star::uno::XInterface > mxRoadmapControl; + com::sun::star::uno::Reference< com::sun::star::uno::XInterface > mxRoadmapControlModel; + + com::sun::star::uno::Reference< com::sun::star::awt::XItemListener > mxItemListener; + com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > mxActionListener; + com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > mxActionListenerListBox0Pg0; + com::sun::star::uno::Reference< com::sun::star::awt::XTextListener > mxTextListenerFormattedField0Pg1; + com::sun::star::uno::Reference< com::sun::star::awt::XTextListener > mxTextListenerComboBox0Pg1; + com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > mxStatusDispatcher; + + std::vector< std::vector< rtl::OUString > > maControlPages; + + void InitDialog(); + void InitRoadmap(); + void InitNavigationBar(); + void InitPage0(); + void InitPage1(); + void InitPage2(); + void InitPage3(); + void InitPage4(); + void UpdateControlStatesPage0(); + void UpdateControlStatesPage1(); + void UpdateControlStatesPage2(); + void UpdateControlStatesPage3(); + void UpdateControlStatesPage4(); + + void ActivatePage( sal_Int16 nStep ); + void DeactivatePage( sal_Int16 nStep ); + void InsertRoadmapItem( const sal_Int32 nIndex, const sal_Bool bEnabled, const rtl::OUString& rLabel, const sal_Int32 nItemID ); + +public : + + OptimizationStats maStats; + + void UpdateStatus( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rStatus ); + + // the ConfigurationAccess is updated to actual control settings + void UpdateConfiguration(); + + void EnablePage( sal_Int16 nStep ); + void DisablePage( sal_Int16 nStep ); + + void SwitchPage( sal_Int16 nNewStep ); + void UpdateControlStates( sal_Int16 nStep = -1 ); + + rtl::OUString GetSelectedString( PPPOptimizerTokenEnum eListBox ); + com::sun::star::uno::Reference< com::sun::star::frame::XDispatch >& GetStatusDispatcher() { return mxStatusDispatcher; }; + com::sun::star::uno::Reference< com::sun::star::frame::XFrame>& GetFrame() { return mxFrame; }; + const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& GetComponentContext() { return mxMSF; }; +}; + +// ----------------------------------------------------------------------------- + +class ItemListener : public ::cppu::WeakImplHelper1< com::sun::star::awt::XItemListener > +{ +public: + ItemListener( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; + + virtual void SAL_CALL itemStateChanged( const ::com::sun::star::awt::ItemEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); +private: + + OptimizerDialog& mrOptimizerDialog; +}; + +// ----------------------------------------------------------------------------- + +class ActionListener : public ::cppu::WeakImplHelper1< com::sun::star::awt::XActionListener > +{ +public: + ActionListener( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; + + virtual void SAL_CALL actionPerformed( const ::com::sun::star::awt::ActionEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); +private: + + OptimizerDialog& mrOptimizerDialog; +}; + +// ----------------------------------------------------------------------------- + +class ActionListenerListBox0Pg0 : public ::cppu::WeakImplHelper1< com::sun::star::awt::XActionListener > +{ +public: + ActionListenerListBox0Pg0( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; + + virtual void SAL_CALL actionPerformed( const ::com::sun::star::awt::ActionEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); +private: + + OptimizerDialog& mrOptimizerDialog; +}; + +// ----------------------------------------------------------------------------- + +class TextListenerFormattedField0Pg1 : public ::cppu::WeakImplHelper1< com::sun::star::awt::XTextListener > +{ +public: + TextListenerFormattedField0Pg1( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; + + virtual void SAL_CALL textChanged( const ::com::sun::star::awt::TextEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); +private: + + OptimizerDialog& mrOptimizerDialog; +}; + +// ----------------------------------------------------------------------------- + +class TextListenerComboBox0Pg1 : public ::cppu::WeakImplHelper1< com::sun::star::awt::XTextListener > +{ +public: + TextListenerComboBox0Pg1( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; + + virtual void SAL_CALL textChanged( const ::com::sun::star::awt::TextEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); +private: + + OptimizerDialog& mrOptimizerDialog; +}; + +// ----------------------------------------------------------------------------- + +class HelpCloseListener : public ::cppu::WeakImplHelper1< com::sun::star::util::XCloseListener > +{ +public: + HelpCloseListener( com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rXFrame ) : mrXFrame( rXFrame ){}; + + virtual void SAL_CALL addCloseListener(const com::sun::star::uno::Reference < com::sun::star::util::XCloseListener >& ) throw( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL removeCloseListener( const com::sun::star::uno::Reference < com::sun::star::util::XCloseListener >& xListener ) throw( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL notifyClosing( const com::sun::star::lang::EventObject& aEvent ) throw (com::sun::star::uno::RuntimeException) ; + virtual void SAL_CALL queryClosing( const com::sun::star::lang::EventObject& aEvent, sal_Bool bDeliverOwnership ) throw (com::sun::star::uno::RuntimeException, com::sun::star::util::CloseVetoException) ; + virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& aEvent ) throw (com::sun::star::uno::RuntimeException) ; + +private: + + com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& mrXFrame; +}; + + +#endif // OPTIMIZERDIALOG_HXX diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx new file mode 100644 index 000000000000..74fc78d93f37 --- /dev/null +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -0,0 +1,955 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: optimizerdialogcontrols.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:57:48 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "optimizerdialog.hxx" + +// ------------------- +// - OptimizerDialog - +// ------------------- +#ifndef PPPOPTIMIZER_HXX +#include "pppoptimizer.hxx" +#endif +#ifndef GRAPHICCOLLECTOR_HXX +#include "graphiccollector.hxx" +#endif +#ifndef PAGECOLLECTOR_HXX +#include "pagecollector.hxx" +#endif +#ifndef _COM_SUN_STAR_PRESENTATION_XCUSTOMPRESENTATIONSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_FONTDESCRIPTOR_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XFONTWEIGHT_HPP_ +#include +#endif +#ifndef _RTL_USTRBUF_HXX_ +#include +#endif + +using namespace ::rtl; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::script; +using namespace ::com::sun::star::drawing; +using namespace ::com::sun::star::container; +using namespace ::com::sun::star::presentation; + +// ----------------------------------------------------------------------------- + +void SetBold( OptimizerDialog& rOptimizerDialog, const rtl::OUString& rControl ) +{ + FontDescriptor aFontDescriptor; + if ( rOptimizerDialog.getControlProperty( rControl, TKGet( TK_FontDescriptor ) ) >>= aFontDescriptor ) + { + aFontDescriptor.Weight = FontWeight::BOLD; + rOptimizerDialog.setControlProperty( rControl, TKGet( TK_FontDescriptor ), Any( aFontDescriptor ) ); + } +} + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertSeparator( OptimizerDialog& rOptimizerDialog, const OUString& rControlName, sal_Int32 nOrientation, + sal_Int32 nPosX, sal_Int32 nPosY, sal_Int32 nWidth, sal_Int32 nHeight ) +{ + OUString pNames[] = { + TKGet( TK_Height ), + TKGet( TK_Orientation ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( nHeight ), + Any( nOrientation ), + Any( nPosX ), + Any( nPosY ), + Any( sal_Int16( 0 ) ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rOptimizerDialog.insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlFixedLineModel" ) ), + rControlName, aNames, aValues ); + return rControlName; +} + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertButton( OptimizerDialog& rOptimizerDialog, const OUString& rControlName, Reference< XActionListener >& xActionListener, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int16 nTabIndex, sal_Bool bEnabled, PPPOptimizerTokenEnum nResID, sal_Int16 nPushButtonType ) +{ + OUString pNames[] = { + TKGet( TK_Enabled ), + TKGet( TK_Height ), + TKGet( TK_Label ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_PushButtonType ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( bEnabled ), + Any( nHeight ), + Any( rOptimizerDialog.getString( nResID ) ), + Any( nXPos ), + Any( nYPos ), + Any( nPushButtonType ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rOptimizerDialog.insertButton( rControlName, xActionListener, aNames, aValues ); + return rControlName; +} + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertFixedText( OptimizerDialog& rOptimizerDialog, const rtl::OUString& rControlName, const OUString& rLabel, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Bool bMultiLine, sal_Bool bBold, sal_Int16 nTabIndex ) +{ + OUString pNames[] = { + TKGet( TK_Height ), + TKGet( TK_Label ), + TKGet( TK_MultiLine ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( nHeight ), + Any( rLabel ), + Any( bMultiLine ), + Any( nXPos ), + Any( nYPos ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + rOptimizerDialog.insertFixedText( rControlName, aNames, aValues ); + if ( bBold ) + SetBold( rOptimizerDialog, rControlName ); + return rControlName; +} + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertCheckBox( OptimizerDialog& rOptimizerDialog, const OUString& rControlName, + const Reference< XItemListener > xItemListener, const OUString& rLabel, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int16 nTabIndex ) +{ + OUString pNames[] = { + TKGet( TK_Enabled ), + TKGet( TK_Height ), + TKGet( TK_Label ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_True ), + Any( nHeight ), + Any( rLabel ), + Any( nXPos ), + Any( nYPos ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + Reference< XCheckBox > xCheckBox( rOptimizerDialog.insertCheckBox( rControlName, aNames, aValues ) ); + if ( xItemListener.is() ) + xCheckBox->addItemListener( xItemListener ); + return rControlName; +} + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertFormattedField( OptimizerDialog& rOptimizerDialog, const OUString& rControlName, + const Reference< XTextListener > xTextListener, sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, + double fEffectiveMin, double fEffectiveMax, sal_Int16 nTabIndex ) +{ + OUString pNames[] = { + TKGet( TK_EffectiveMax ), + TKGet( TK_EffectiveMin ), + TKGet( TK_Enabled ), + TKGet( TK_Height ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Repeat ), + TKGet( TK_Spin ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( fEffectiveMax ), + Any( fEffectiveMin ), + Any( sal_True ), + Any( (sal_Int32)12 ), + Any( nXPos ), + Any( nYPos ), + Any( (sal_Bool)sal_True ), + Any( (sal_Bool)sal_True ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + Reference< XTextComponent > xTextComponent( rOptimizerDialog.insertFormattedField( rControlName, aNames, aValues ), UNO_QUERY_THROW ); + if ( xTextListener.is() ) + xTextComponent->addTextListener( xTextListener ); + return rControlName; +} + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertComboBox( OptimizerDialog& rOptimizerDialog, const OUString& rControlName, + const Reference< XTextListener > xTextListener, const sal_Bool bEnabled, const Sequence< OUString >& rItemList, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int16 nTabIndex ) +{ + OUString pNames[] = { + TKGet( TK_Dropdown ), + TKGet( TK_Enabled ), + TKGet( TK_Height ), + TKGet( TK_LineCount ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_StringItemList ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_True ), + Any( bEnabled ), + Any( nHeight ), + Any( (sal_Int16)8), + Any( nXPos ), + Any( nYPos ), + Any( (sal_Int16)0 ), + Any( rItemList ), + Any( nTabIndex ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + Reference< XTextComponent > xTextComponent( rOptimizerDialog.insertComboBox( rControlName, aNames, aValues ), UNO_QUERY_THROW ); + if ( xTextListener.is() ) + xTextComponent->addTextListener( xTextListener ); + return rControlName; +} + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertRadioButton( OptimizerDialog& rOptimizerDialog, const rtl::OUString& rControlName, const Reference< XItemListener > xItemListener, + const OUString& rLabel, sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Bool bMultiLine, sal_Int16 nTabIndex ) +{ + OUString pNames[] = { + TKGet( TK_Height ), + TKGet( TK_Label ), + TKGet( TK_MultiLine ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( nHeight ), + Any( rLabel ), + Any( bMultiLine ), + Any( nXPos ), + Any( nYPos ), + Any( (sal_Int16)0 ), + Any( nTabIndex ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + Reference< XRadioButton > xRadioButton( rOptimizerDialog.insertRadioButton( rControlName, aNames, aValues ) ); + if ( xItemListener.is() ) + xRadioButton->addItemListener( xItemListener ); + return rControlName; +} + +// ----------------------------------------------------------------------------- + +rtl::OUString InsertListBox( OptimizerDialog& rOptimizerDialog, const OUString& rControlName, + const Reference< XActionListener > xActionListener, const sal_Bool bEnabled, const Sequence< OUString >& rItemList, + sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Int16 nTabIndex ) +{ + OUString pNames[] = { + TKGet( TK_Dropdown ), + TKGet( TK_Enabled ), + TKGet( TK_Height ), + TKGet( TK_LineCount ), + TKGet( TK_MultiSelection ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_Step ), + TKGet( TK_StringItemList ), + TKGet( TK_TabIndex ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( sal_True ), + Any( bEnabled ), + Any( nHeight ), + Any( (sal_Int16)8), + Any( sal_False ), + Any( nXPos ), + Any( nYPos ), + Any( (sal_Int16)0 ), + Any( rItemList ), + Any( nTabIndex ), + Any( nWidth ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + Reference< XListBox > xListBox( rOptimizerDialog.insertListBox( rControlName, aNames, aValues ) ); + if ( xListBox.is() ) + xListBox->addActionListener( xActionListener ); + return rControlName; +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::InitNavigationBar() +{ + sal_Int32 nCancelPosX = DIALOG_WIDTH - BUTTON_WIDTH - 6; + sal_Int32 nFinishPosX = nCancelPosX - 6 - BUTTON_WIDTH; + sal_Int32 nNextPosX = nFinishPosX - 6 - BUTTON_WIDTH; + sal_Int32 nBackPosX = nNextPosX - 3 - BUTTON_WIDTH; + + InsertSeparator( *this, TKGet( TK_lnNavSep1 ), 0, 0, DIALOG_HEIGHT - 26, DIALOG_WIDTH, 1 ); + InsertSeparator( *this, TKGet( TK_lnNavSep2 ), 1, 85, 0, 1, BUTTON_POS_Y - 6 ); + + InsertButton( *this, TKGet( TK_btnNavHelp ), mxActionListener, 8, BUTTON_POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT, mnTabIndex++, sal_True, STR_HELP, PushButtonType_STANDARD ); + InsertButton( *this, TKGet( TK_btnNavBack ), mxActionListener, nBackPosX, BUTTON_POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT, mnTabIndex++, sal_False, STR_BACK, PushButtonType_STANDARD ); + InsertButton( *this, TKGet( TK_btnNavNext ), mxActionListener, nNextPosX, BUTTON_POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT, mnTabIndex++, sal_True, STR_NEXT, PushButtonType_STANDARD ); + InsertButton( *this, TKGet( TK_btnNavFinish ), mxActionListener, nFinishPosX, BUTTON_POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT, mnTabIndex++, sal_True, STR_FINISH, PushButtonType_STANDARD ); + InsertButton( *this, TKGet( TK_btnNavCancel ), mxActionListener, nCancelPosX, BUTTON_POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT, mnTabIndex++, sal_True, STR_CANCEL, PushButtonType_STANDARD ); + + setControlProperty( TKGet( TK_btnNavNext ), TKGet( TK_DefaultButton ), Any( sal_True ) ); +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::UpdateControlStatesPage0() +{ + sal_uInt32 i; + short nSelectedItem = -1; + Sequence< OUString > aItemList; + const std::vector< OptimizerSettings >& rList( GetOptimizerSettings() ); + if ( rList.size() > 1 ) // the first session in the list is the actual one -> skipping first one + { + aItemList.realloc( rList.size() - 1 ); + for ( i = 1; i < rList.size(); i++ ) + { + aItemList[ i - 1 ] = rList[ i ].maName; + if ( nSelectedItem < 0 ) + { + if ( rList[ i ] == rList[ 0 ] ) + nSelectedItem = static_cast< short >( i - 1 ); + } + } + } + sal_Bool bRemoveButtonEnabled = sal_False; + Sequence< short > aSelectedItems; + if ( nSelectedItem >= 0 ) + { + aSelectedItems.realloc( 1 ); + aSelectedItems[ 0 ] = nSelectedItem; + if ( nSelectedItem > 2 ) // only allowing to delete custom themes, the first can|t be deleted + bRemoveButtonEnabled = sal_True; + } + setControlProperty( TKGet( TK_ListBox0Pg0 ), TKGet( TK_StringItemList ), Any( aItemList ) ); + setControlProperty( TKGet( TK_ListBox0Pg0 ), TKGet( TK_SelectedItems ), Any( aSelectedItems ) ); + setControlProperty( TKGet( TK_Button0Pg0 ), TKGet( TK_Enabled ), Any( bRemoveButtonEnabled ) ); +} +void OptimizerDialog::InitPage0() +{ + Sequence< OUString > aItemList; + std::vector< rtl::OUString > aControlList; + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText0Pg0 ), getString( STR_INTRODUCTION ), PAGE_POS_X, PAGE_POS_Y, PAGE_WIDTH, 8, sal_False, sal_True, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg0 ), getString( STR_INTRODUCTION_T ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 100, sal_True, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator1Pg0 ), 0, PAGE_POS_X + 6, DIALOG_HEIGHT - 66, PAGE_WIDTH - 12, 1 ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg0 ), getString( STR_CHOSE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 60, PAGE_WIDTH - 12, 8, sal_True, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertListBox( *this, TKGet( TK_ListBox0Pg0 ), mxActionListenerListBox0Pg0, sal_True, aItemList, PAGE_POS_X + 6, DIALOG_HEIGHT - 48, ( DIALOG_WIDTH - 50 ) - ( PAGE_POS_X + 6 ), 12, mnTabIndex++ ) ); + aControlList.push_back( InsertButton( *this, TKGet( TK_Button0Pg0 ), mxActionListener, DIALOG_WIDTH - 46, DIALOG_HEIGHT - 48, 40, 14, mnTabIndex++, sal_True, STR_REMOVE, PushButtonType_STANDARD ) ); + maControlPages.push_back( aControlList ); + DeactivatePage( 0 ); + UpdateControlStatesPage0(); +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::UpdateControlStatesPage1() +{ + sal_Bool bDeleteUnusedMasterPages( GetConfigProperty( TK_DeleteUnusedMasterPages, sal_False ) ); + sal_Bool bDeleteHiddenSlides( GetConfigProperty( TK_DeleteHiddenSlides, sal_False ) ); + sal_Bool bDeleteNotesPages( GetConfigProperty( TK_DeleteNotesPages, sal_False ) ); + + setControlProperty( TKGet( TK_CheckBox0Pg3 ), TKGet( TK_State ), Any( (sal_Int16)bDeleteUnusedMasterPages ) ); + setControlProperty( TKGet( TK_CheckBox1Pg3 ), TKGet( TK_State ), Any( (sal_Int16)bDeleteNotesPages ) ); + setControlProperty( TKGet( TK_CheckBox2Pg3 ), TKGet( TK_State ), Any( (sal_Int16)bDeleteHiddenSlides ) ); +} +void OptimizerDialog::InitPage1() +{ + Sequence< OUString > aCustomShowList; + Reference< XModel > xModel( mxController->getModel() ); + if ( xModel.is() ) + { + Reference< XCustomPresentationSupplier > aXCPSup( xModel, UNO_QUERY_THROW ); + Reference< XNameContainer > aXCont( aXCPSup->getCustomPresentations() ); + if ( aXCont.is() ) + aCustomShowList = aXCont->getElementNames(); + } + std::vector< rtl::OUString > aControlList; + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText0Pg3 ), getString( STR_CHOOSE_SLIDES ), PAGE_POS_X, PAGE_POS_Y, PAGE_WIDTH, 8, sal_False, sal_True, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox0Pg3 ), mxItemListener, getString( STR_DELETE_MASTER_PAGES ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg3 ), getString( STR_NOTES_PAGES ), PAGE_POS_X, PAGE_POS_Y + 28, PAGE_WIDTH, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg3 ), mxItemListener, getString( STR_DELETE_NOTES_PAGES ), PAGE_POS_X + 6, PAGE_POS_Y + 42, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg3 ), getString( STR_SLIDES ), PAGE_POS_X, PAGE_POS_Y + 56, PAGE_WIDTH, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox2Pg3 ), mxItemListener, getString( STR_DELETE_HIDDEN_SLIDES ), PAGE_POS_X + 6, PAGE_POS_Y + 70, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox3Pg3 ), mxItemListener, getString( STR_CUSTOM_SHOW ), PAGE_POS_X + 6, PAGE_POS_Y + 84, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertListBox( *this, TKGet( TK_ListBox0Pg3 ), mxActionListener, sal_True, aCustomShowList, PAGE_POS_X + 14, PAGE_POS_Y + 96, 150, 12, mnTabIndex++ ) ); + maControlPages.push_back( aControlList ); + DeactivatePage( 1 ); + + setControlProperty( TKGet( TK_CheckBox3Pg3 ), TKGet( TK_State ), Any( sal_False ) ); + setControlProperty( TKGet( TK_CheckBox3Pg3 ), TKGet( TK_Enabled ), Any( aCustomShowList.getLength() != 0 ) ); + setControlProperty( TKGet( TK_ListBox0Pg3 ), TKGet( TK_Enabled ), Any( sal_False ) ); + + UpdateControlStatesPage1(); +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::UpdateControlStatesPage2() +{ + sal_Bool bJPEGCompression( GetConfigProperty( TK_JPEGCompression, sal_False ) ); + sal_Bool bRemoveCropArea( GetConfigProperty( TK_RemoveCropArea, sal_False ) ); + sal_Bool bEmbedLinkedGraphics( GetConfigProperty( TK_EmbedLinkedGraphics, sal_True ) ); + sal_Int32 nJPEGQuality( GetConfigProperty( TK_JPEGQuality, (sal_Int32)90 ) ); + + sal_Int32 nImageResolution( GetConfigProperty( TK_ImageResolution, (sal_Int32)0 ) ); + + sal_Int32 nI0, nI1, nI2, nI3; + nI0 = nI1 = nI2 = nI3 = 0; + OUString aResolutionText; + Sequence< OUString > aResolutionItemList( 4 ); + aResolutionItemList[ 0 ] = getString( STR_IMAGE_RESOLUTION_0 ).getToken( 1, ';', nI0 ); + aResolutionItemList[ 1 ] = getString( STR_IMAGE_RESOLUTION_1 ).getToken( 1, ';', nI1 ); + aResolutionItemList[ 2 ] = getString( STR_IMAGE_RESOLUTION_2 ).getToken( 1, ';', nI2 ); + aResolutionItemList[ 3 ] = getString( STR_IMAGE_RESOLUTION_3 ).getToken( 1, ';', nI3 ); + nI0 = nI1 = nI2 = nI3 = 0; + if ( getString( STR_IMAGE_RESOLUTION_0 ).getToken( 0, ';', nI0 ).toInt32() == nImageResolution ) + aResolutionText = aResolutionItemList[ 0 ]; + else if ( getString( STR_IMAGE_RESOLUTION_1 ).getToken( 0, ';', nI1 ).toInt32() == nImageResolution ) + aResolutionText = aResolutionItemList[ 1 ]; + else if ( getString( STR_IMAGE_RESOLUTION_2 ).getToken( 0, ';', nI2 ).toInt32() == nImageResolution ) + aResolutionText = aResolutionItemList[ 2 ]; + else if ( getString( STR_IMAGE_RESOLUTION_3 ).getToken( 0, ';', nI3 ).toInt32() == nImageResolution ) + aResolutionText = aResolutionItemList[ 3 ]; + if ( !aResolutionText.getLength() ) + aResolutionText = OUString::valueOf( nImageResolution ); + + setControlProperty( TKGet( TK_RadioButton0Pg1 ), TKGet( TK_State ), Any( (sal_Int16)( bJPEGCompression != sal_True ) ) ); + setControlProperty( TKGet( TK_RadioButton1Pg1 ), TKGet( TK_State ), Any( (sal_Int16)( bJPEGCompression != sal_False ) ) ); + setControlProperty( TKGet( TK_FixedText1Pg1 ), TKGet( TK_Enabled ), Any( bJPEGCompression ) ); + setControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_Enabled ), Any( bJPEGCompression ) ); + setControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ), Any( (double)nJPEGQuality ) ); + setControlProperty( TKGet( TK_CheckBox1Pg1 ), TKGet( TK_State ), Any( (sal_Int16)bRemoveCropArea ) ); + setControlProperty( TKGet( TK_ComboBox0Pg1 ), TKGet( TK_Text ), Any( aResolutionText ) ); + setControlProperty( TKGet( TK_CheckBox2Pg1 ), TKGet( TK_State ), Any( (sal_Int16)bEmbedLinkedGraphics ) ); +} +void OptimizerDialog::InitPage2() +{ + sal_Int32 nI0, nI1, nI2, nI3; + nI0 = nI1 = nI2 = nI3 = 0; + Sequence< OUString > aResolutionItemList( 4 ); + aResolutionItemList[ 0 ] = getString( STR_IMAGE_RESOLUTION_0 ).getToken( 1, ';', nI0 ); + aResolutionItemList[ 1 ] = getString( STR_IMAGE_RESOLUTION_1 ).getToken( 1, ';', nI1 ); + aResolutionItemList[ 2 ] = getString( STR_IMAGE_RESOLUTION_2 ).getToken( 1, ';', nI2 ); + aResolutionItemList[ 3 ] = getString( STR_IMAGE_RESOLUTION_3 ).getToken( 1, ';', nI3 ); + + std::vector< rtl::OUString > aControlList; + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText0Pg1 ), getString( STR_GRAPHIC_OPTIMIZATION ), PAGE_POS_X, PAGE_POS_Y, PAGE_WIDTH, 8, sal_False, sal_True, mnTabIndex++ ) ); + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg1 ), mxItemListener, getString( STR_LOSSLESS_COMPRESSION ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg1 ), mxItemListener, getString( STR_JPEG_COMPRESSION ), PAGE_POS_X + 6, PAGE_POS_Y + 28, PAGE_WIDTH - 12, 8, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg1 ), getString( STR_QUALITY ), PAGE_POS_X + 20, PAGE_POS_Y + 40, 72, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFormattedField( *this, TKGet( TK_FormattedField0Pg1 ), mxTextListenerFormattedField0Pg1, PAGE_POS_X + 106, PAGE_POS_Y + 38, 50, 0, 100, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg1 ), getString( STR_IMAGE_RESOLUTION ), PAGE_POS_X + 6, PAGE_POS_Y + 54, 94, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertComboBox( *this, TKGet( TK_ComboBox0Pg1 ), mxTextListenerComboBox0Pg1, sal_True, aResolutionItemList, PAGE_POS_X + 106, PAGE_POS_Y + 52, 100, 12, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg1 ), mxItemListener, getString( STR_REMOVE_CROP_AREA ), PAGE_POS_X + 6, PAGE_POS_Y + 68, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox2Pg1 ), mxItemListener, getString( STR_EMBED_LINKED_GRAPHICS ), PAGE_POS_X + 6, PAGE_POS_Y + 82, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + maControlPages.push_back( aControlList ); + DeactivatePage( 2 ); + UpdateControlStatesPage2(); +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::UpdateControlStatesPage3() +{ + sal_Bool bConvertOLEObjects( GetConfigProperty( TK_OLEOptimization, sal_False ) ); + sal_Int16 nOLEOptimizationType( GetConfigProperty( TK_OLEOptimizationType, (sal_Int16)0 ) ); + + setControlProperty( TKGet( TK_CheckBox0Pg2 ), TKGet( TK_State ), Any( (sal_Int16)bConvertOLEObjects ) ); + setControlProperty( TKGet( TK_RadioButton0Pg2 ), TKGet( TK_Enabled ), Any( bConvertOLEObjects ) ); + setControlProperty( TKGet( TK_RadioButton0Pg2 ), TKGet( TK_State ), Any( (sal_Int16)( nOLEOptimizationType == 0 ) ) ); + setControlProperty( TKGet( TK_RadioButton1Pg2 ), TKGet( TK_Enabled ), Any( bConvertOLEObjects ) ); + setControlProperty( TKGet( TK_RadioButton1Pg2 ), TKGet( TK_State ), Any( (sal_Int16)( nOLEOptimizationType == 1 ) ) ); +} +void OptimizerDialog::InitPage3() +{ + int nOLECount = 0; + Reference< XModel > xModel( mxController->getModel() ); + Reference< XDrawPagesSupplier > xDrawPagesSupplier( xModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + for ( sal_Int32 i = 0; i < xDrawPages->getCount(); i++ ) + { + Reference< XShapes > xShapes( xDrawPages->getByIndex( i ), UNO_QUERY_THROW ); + for ( sal_Int32 j = 0; j < xShapes->getCount(); j++ ) + { + const OUString sOLE2Shape( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.OLE2Shape" ) ); + Reference< XShape > xShape( xShapes->getByIndex( j ), UNO_QUERY_THROW ); + if ( xShape->getShapeType() == sOLE2Shape ) + nOLECount++; + } + } + + std::vector< rtl::OUString > aControlList; + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText0Pg2 ), getString( STR_OLE_OPTIMIZATION ), PAGE_POS_X, PAGE_POS_Y, PAGE_WIDTH, 8, sal_False, sal_True, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox0Pg2 ), mxItemListener, getString( STR_OLE_REPLACE ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg2 ), mxItemListener, getString( STR_ALL_OLE_OBJECTS ), PAGE_POS_X + 14, PAGE_POS_Y + 28, 100, 8, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg2 ), mxItemListener, getString( STR_ALIEN_OLE_OBJECTS_ONLY ), PAGE_POS_X + 14, PAGE_POS_Y + 40, 100, 8, sal_False, mnTabIndex++ ) ); + if ( !nOLECount ) + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg2 ), getString( STR_NO_OLE_OBJECTS ), PAGE_POS_X + 14, PAGE_POS_Y + 64, PAGE_WIDTH - 22, 8, sal_True, sal_False, mnTabIndex++ ) ); + maControlPages.push_back( aControlList ); + DeactivatePage( 3 ); + UpdateControlStatesPage3(); +} + +// ----------------------------------------------------------------------------- + +void OptimizerDialog::UpdateControlStatesPage4() +{ + sal_Bool bSaveAs( GetConfigProperty( TK_SaveAs, sal_True ) ); + sal_Bool bOpenNew( GetConfigProperty( TK_OpenNewDocument, sal_True ) ); + if ( mbIsReadonly ) + { + setControlProperty( TKGet( TK_RadioButton0Pg4 ), TKGet( TK_State ), Any( (sal_Int16)( sal_False ) ) ); + setControlProperty( TKGet( TK_RadioButton1Pg4 ), TKGet( TK_State ), Any( (sal_Int16)( sal_True ) ) ); + } + else + { + setControlProperty( TKGet( TK_RadioButton0Pg4 ), TKGet( TK_State ), Any( (sal_Int16)( bSaveAs == sal_False ) ) ); + setControlProperty( TKGet( TK_RadioButton1Pg4 ), TKGet( TK_State ), Any( (sal_Int16)( bSaveAs == sal_True ) ) ); + } + setControlProperty( TKGet( TK_CheckBox0Pg4 ), TKGet( TK_State ), Any( (sal_Int16)( bOpenNew ) ) ); + setControlProperty( TKGet( TK_CheckBox0Pg4 ), TKGet( TK_Enabled ), Any( bSaveAs ) ); + setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_Enabled ), Any( sal_False ) ); + + sal_uInt32 i; + Sequence< OUString > aItemList; + const std::vector< OptimizerSettings >& rList( GetOptimizerSettings() ); + if ( rList.size() > 1 ) // the first session in the list is the actual one -> skipping first one + { + aItemList.realloc( rList.size() - 1 ); + for ( i = 1; i < rList.size(); i++ ) + aItemList[ i - 1 ] = rList[ i ].maName; + } + setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_StringItemList ), Any( aItemList ) ); + + // now check if it is sensible to enable the combo box + sal_Bool bSaveSettingsEnabled = sal_True; + if ( rList.size() > 1 ) // the first session in the list is the actual one -> skipping first one + { + for ( i = 1; i < rList.size(); i++ ) + { + if ( rList[ i ] == rList[ 0 ] ) + { + bSaveSettingsEnabled = sal_False; + break; + } + } + } + setControlProperty( TKGet( TK_CheckBox1Pg4 ), TKGet( TK_Enabled ), Any( bSaveSettingsEnabled ) ); + setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_Enabled ), Any( bSaveSettingsEnabled && GetConfigProperty( TK_CheckBox1Pg4, sal_False ) ) ); + + std::vector< OUString > aSummaryStrings; + + // taking care of deleted slides + sal_Int16 nInt16 = 0; + sal_Int32 nDeletedSlides = 0; + rtl::OUString aCustomShowName; + if ( getControlProperty( TKGet( TK_CheckBox3Pg3 ), TKGet( TK_State ) ) >>= nInt16 ) + { + if ( nInt16 ) + { + Sequence< short > aSelectedItems; + Sequence< OUString > aStringItemList; + Any aAny = getControlProperty( TKGet( TK_ListBox0Pg3 ), TKGet( TK_SelectedItems ) ); + if ( aAny >>= aSelectedItems ) + { + if ( aSelectedItems.getLength() ) + { + sal_Int16 nSelectedItem = aSelectedItems[ 0 ]; + aAny = getControlProperty( TKGet( TK_ListBox0Pg3 ), TKGet( TK_StringItemList ) ); + if ( aAny >>= aStringItemList ) + { + if ( aStringItemList.getLength() > nSelectedItem ) + SetConfigProperty( TK_CustomShowName, Any( aStringItemList[ nSelectedItem ] ) ); + } + } + } + } + } + if ( aCustomShowName.getLength() ) + { + std::vector< Reference< XDrawPage > > vNonUsedPageList; + PageCollector::CollectNonCustomShowPages( mxController->getModel(), aCustomShowName, vNonUsedPageList ); + nDeletedSlides += vNonUsedPageList.size(); + } + if ( GetConfigProperty( TK_DeleteHiddenSlides, sal_False ) ) + { + if ( aCustomShowName.getLength() ) + { + std::vector< Reference< XDrawPage > > vUsedPageList; + PageCollector::CollectCustomShowPages( mxController->getModel(), aCustomShowName, vUsedPageList ); + std::vector< Reference< XDrawPage > >::iterator aIter( vUsedPageList.begin() ); + while( aIter != vUsedPageList.end() ) + { + Reference< XPropertySet > xPropSet( *aIter, UNO_QUERY_THROW ); + sal_Bool bVisible = sal_True; + const OUString sVisible( RTL_CONSTASCII_USTRINGPARAM( "Visible" ) ); + if ( xPropSet->getPropertyValue( sVisible ) >>= bVisible ) + { + if (!bVisible ) + nDeletedSlides++; + } + aIter++; + } + } + else + { + Reference< XDrawPagesSupplier > xDrawPagesSupplier( mxController->getModel(), UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + for( sal_Int32 i = 0; i < xDrawPages->getCount(); i++ ) + { + Reference< XDrawPage > xDrawPage( xDrawPages->getByIndex( i ), UNO_QUERY_THROW ); + Reference< XPropertySet > xPropSet( xDrawPage, UNO_QUERY_THROW ); + + sal_Bool bVisible = sal_True; + const OUString sVisible( RTL_CONSTASCII_USTRINGPARAM( "Visible" ) ); + if ( xPropSet->getPropertyValue( sVisible ) >>= bVisible ) + { + if (!bVisible ) + nDeletedSlides++; + } + } + } + } + if ( GetConfigProperty( TK_DeleteUnusedMasterPages, sal_False ) ) + { + std::vector< PageCollector::MasterPageEntity > aMasterPageList; + PageCollector::CollectMasterPages( mxController->getModel(), aMasterPageList ); + Reference< XMasterPagesSupplier > xMasterPagesSupplier( mxController->getModel(), UNO_QUERY_THROW ); + Reference< XDrawPages > xMasterPages( xMasterPagesSupplier->getMasterPages(), UNO_QUERY_THROW ); + std::vector< PageCollector::MasterPageEntity >::iterator aIter( aMasterPageList.begin() ); + while( aIter != aMasterPageList.end() ) + { + if ( !aIter->bUsed ) + nDeletedSlides++; + aIter++; + } + } + if ( nDeletedSlides > 1 ) + { + OUString aStr( getString( STR_DELETE_SLIDES ) ); + OUString aPlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%SLIDES" ) ); + sal_Int32 i = aStr.indexOf( aPlaceholder, 0 ); + if ( i >= 0 ) + aStr = aStr.replaceAt( i, aPlaceholder.getLength(), OUString::valueOf( nDeletedSlides ) ); + aSummaryStrings.push_back( aStr ); + } + +// generating graphic compression info + std::vector< GraphicCollector::GraphicEntity > aGraphicList; +// sal_Bool bJPEGCompression( GetConfigProperty( TK_JPEGCompression, sal_False ) ); + sal_Int32 nJPEGQuality( GetConfigProperty( TK_JPEGQuality, (sal_Int32)90 ) ); + sal_Int32 nImageResolution( GetConfigProperty( TK_ImageResolution, (sal_Int32)0 ) ); +// GraphicSettings aGraphicSettings( bJPEGCompression, nJPEGQuality, GetConfigProperty( TK_RemoveCropArea, sal_False ), +// nImageResolution, GetConfigProperty( TK_EmbedLinkedGraphics, sal_True ) ); +// GraphicCollector::CollectGraphics( mxMSF, mxController->getModel(), aGraphicSettings, aGraphicList ); +// if ( aGraphicList.size() > 1 ) + { + OUString aStr( getString( STR_OPTIMIZE_IMAGES ) ); + OUString aImagePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%IMAGES" ) ); + OUString aQualityPlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%QUALITY" ) ); + OUString aResolutionPlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%RESOLUTION" ) ); + sal_Int32 i = aStr.indexOf( aImagePlaceholder, 0 ); + if ( i >= 0 ) + aStr = aStr.replaceAt( i, aImagePlaceholder.getLength(), OUString::valueOf( static_cast< sal_Int32 >( aGraphicList.size() ) ) ); + + sal_Int32 j = aStr.indexOf( aQualityPlaceholder, 0 ); + if ( j >= 0 ) + aStr = aStr.replaceAt( j, aQualityPlaceholder.getLength(), OUString::valueOf( nJPEGQuality ) ); + + sal_Int32 k = aStr.indexOf( aResolutionPlaceholder, 0 ); + if ( k >= 0 ) + aStr = aStr.replaceAt( k, aResolutionPlaceholder.getLength(), OUString::valueOf( nImageResolution ) ); + + aSummaryStrings.push_back( aStr ); + } + + if ( GetConfigProperty( TK_OLEOptimization, sal_False ) ) + { + sal_Int32 nOLEReplacements = 0; + Reference< XDrawPagesSupplier > xDrawPagesSupplier( mxController->getModel(), UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + for ( sal_Int32 i = 0; i < xDrawPages->getCount(); i++ ) + { + Reference< XShapes > xShapes( xDrawPages->getByIndex( i ), UNO_QUERY_THROW ); + for ( sal_Int32 j = 0; j < xShapes->getCount(); j++ ) + { + const OUString sOLE2Shape( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.OLE2Shape" ) ); + Reference< XShape > xShape( xShapes->getByIndex( j ), UNO_QUERY_THROW ); + if ( xShape->getShapeType() == sOLE2Shape ) + nOLEReplacements++; + } + } + if ( nOLEReplacements > 1 ) + { + OUString aStr( getString( STR_CREATE_REPLACEMENT ) ); + OUString aPlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%OLE" ) ); + sal_Int32 i = aStr.indexOf( aPlaceholder, 0 ); + if ( i >= 0 ) + aStr = aStr.replaceAt( i, aPlaceholder.getLength(), OUString::valueOf( nOLEReplacements ) ); + aSummaryStrings.push_back( aStr ); + } + } + while( aSummaryStrings.size() < 3 ) + aSummaryStrings.push_back( OUString() ); + setControlProperty( TKGet( TK_FixedText4Pg4 ), TKGet( TK_Label ), Any( aSummaryStrings[ 0 ] ) ); + setControlProperty( TKGet( TK_FixedText5Pg4 ), TKGet( TK_Label ), Any( aSummaryStrings[ 1 ] ) ); + setControlProperty( TKGet( TK_FixedText6Pg4 ), TKGet( TK_Label ), Any( aSummaryStrings[ 2 ] ) ); +} + +static OUString ImpValueOfInMB( const sal_Int64& rVal ) +{ + double fVal( static_cast( rVal ) ); + fVal /= ( 1 << 20 ); + fVal += 0.05; + rtl::OUStringBuffer aVal( OUString::valueOf( fVal ) ); + sal_Int32 nX( OUString( aVal.getStr() ).indexOf( '.', 0 ) ); + if ( nX > 0 ) + aVal.setLength( nX + 2 ); + aVal.append( OUString::createFromAscii( " MB" ) ); + return aVal.makeStringAndClear(); +} + +void OptimizerDialog::InitPage4() +{ + { // creating progress bar: + OUString pNames[] = { + TKGet( TK_Height ), + TKGet( TK_Name ), + TKGet( TK_PositionX ), + TKGet( TK_PositionY ), + TKGet( TK_ProgressValue ), + TKGet( TK_ProgressValueMax ), + TKGet( TK_ProgressValueMin ), + TKGet( TK_Width ) }; + + Any pValues[] = { + Any( (sal_Int32)8 ), + Any( TKGet( STR_SAVE_AS ) ), + Any( (sal_Int32)( PAGE_POS_X + 6 ) ), + Any( (sal_Int32)( DIALOG_HEIGHT - 74 ) ), + Any( (sal_Int32)( 0 ) ), + Any( (sal_Int32)( 100 ) ), + Any( (sal_Int32)( 0 ) ), + Any( (sal_Int32)( PAGE_WIDTH - 12 ) ) }; + + sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); + + Sequence< rtl::OUString > aNames( pNames, nCount ); + Sequence< Any > aValues( pValues, nCount ); + + Reference< XMultiPropertySet > xMultiPropertySet( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlProgressBarModel" ) ), + TKGet( TK_Progress ), aNames, aValues ), UNO_QUERY ); + } + sal_Int64 nCurrentFileSize = 0; + sal_Int64 nEstimatedFileSize = 0; + Reference< XStorable > xStorable( mxController->getModel(), UNO_QUERY ); + if ( xStorable.is() && xStorable->hasLocation() ) + nCurrentFileSize = PPPOptimizer::GetFileSize( xStorable->getLocation() ); + + Reference< XTextListener > xTextListener; + Sequence< OUString > aItemList; + std::vector< rtl::OUString > aControlList; + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText0Pg4 ), getString( STR_SUMMARY_TITLE ), PAGE_POS_X, PAGE_POS_Y, PAGE_WIDTH, 8, sal_False, sal_True, mnTabIndex++ ) ); +// aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox0Pg4 ), mxItemListener, getString( STR_AUTOMATICALLY_OPEN ), PAGE_POS_X + 14, PAGE_POS_Y + 38, PAGE_WIDTH - 18, 8, mnTabIndex++ ) ); +// aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator0Pg4 ), 0, PAGE_POS_X + 6, PAGE_POS_Y + 90, PAGE_WIDTH - 12, 1 ) ); + + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText4Pg4 ), OUString(), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText5Pg4 ), OUString(), PAGE_POS_X + 6, PAGE_POS_Y + 22, PAGE_WIDTH - 12, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText6Pg4 ), OUString(), PAGE_POS_X + 6, PAGE_POS_Y + 30, PAGE_WIDTH - 12, 8, sal_False, sal_False, mnTabIndex++ ) ); + + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg4 ), getString( STR_CURRENT_FILESIZE ), PAGE_POS_X + 6, PAGE_POS_Y + 50, 58, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText7Pg4 ), ImpValueOfInMB( nCurrentFileSize ), PAGE_POS_X + 70, PAGE_POS_Y + 50, 30, 8, sal_False, sal_False, mnTabIndex++ ) ); + setControlProperty( TKGet( TK_FixedText7Pg4 ), TKGet( TK_Align ), Any( static_cast< short >( 2 ) ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText3Pg4 ), getString( STR_ESTIMATED_FILESIZE ), PAGE_POS_X + 6, PAGE_POS_Y + 58, 58, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText8Pg4 ), ImpValueOfInMB( nEstimatedFileSize ), PAGE_POS_X + 70, PAGE_POS_Y + 58, 30, 8, sal_False, sal_False, mnTabIndex++ ) ); + setControlProperty( TKGet( TK_FixedText8Pg4 ), TKGet( TK_Align ), Any( static_cast< short >( 2 ) ) ); + + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg4 ), mxItemListener, getString( STR_APPLY_TO_CURRENT ), PAGE_POS_X + 6, PAGE_POS_Y + 78, PAGE_WIDTH - 12, 8, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg4 ), mxItemListener, getString( STR_SAVE_AS ), PAGE_POS_X + 6, PAGE_POS_Y + 90, PAGE_WIDTH - 12, 8, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg4 ), OUString(), PAGE_POS_X + 6, DIALOG_HEIGHT - 86, PAGE_WIDTH - 12, 8, sal_True, sal_False, mnTabIndex++ ) ); + aControlList.push_back( TKGet( TK_Progress ) ); + aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator1Pg4 ), 0, PAGE_POS_X + 6, DIALOG_HEIGHT - 58, PAGE_WIDTH - 12, 1 ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg4 ), mxItemListener, getString( STR_SAVE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 48, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertComboBox( *this, TKGet( TK_ComboBox0Pg4 ), xTextListener, sal_True, aItemList, PAGE_POS_X + 76, DIALOG_HEIGHT - 48, 100, 12, mnTabIndex++ ) ); + maControlPages.push_back( aControlList ); + DeactivatePage( 4 ); + + // creating a default session name that hasn't been used yet + OUString aSettingsName; + OUString aDefault( getString( STR_MY_SETTINGS ) ); + sal_Int32 nSession = 1; + sal_uInt32 i; + const std::vector< OptimizerSettings >& rList( GetOptimizerSettings() ); + do + { + OUString aTemp( aDefault.concat( OUString::valueOf( nSession++ ) ) ); + for ( i = 1; i < rList.size(); i++ ) + { + if ( rList[ i ].maName == aTemp ) + break; + } + if ( i == rList.size() ) + aSettingsName = aTemp; + } + while( !aSettingsName.getLength() ); + + setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_Text ), Any( aSettingsName ) ); + setControlProperty( TKGet( TK_RadioButton0Pg4 ), TKGet( TK_Enabled ), Any( !mbIsReadonly ) ); + setControlProperty( TKGet( TK_RadioButton1Pg4 ), TKGet( TK_Enabled ), Any( !mbIsReadonly ) ); + + UpdateControlStatesPage4(); +} + +// ----------------------------------------------------------------------------- +void OptimizerDialog::EnablePage( sal_Int16 nStep ) +{ + std::vector< rtl::OUString >::iterator aBeg( maControlPages[ nStep ].begin() ); + std::vector< rtl::OUString >::iterator aEnd( maControlPages[ nStep ].end() ); + while( aBeg != aEnd ) + setControlProperty( *aBeg++, TKGet( TK_Enabled ), Any( sal_True ) ); +} +void OptimizerDialog::DisablePage( sal_Int16 nStep ) +{ + std::vector< rtl::OUString >::iterator aBeg( maControlPages[ nStep ].begin() ); + std::vector< rtl::OUString >::iterator aEnd( maControlPages[ nStep ].end() ); + while( aBeg != aEnd ) + setControlProperty( *aBeg++, TKGet( TK_Enabled ), Any( sal_False ) ); +} +void OptimizerDialog::ActivatePage( sal_Int16 nStep ) +{ + std::vector< rtl::OUString >::iterator aBeg( maControlPages[ nStep ].begin() ); + std::vector< rtl::OUString >::iterator aEnd( maControlPages[ nStep ].end() ); + while( aBeg != aEnd ) + setVisible( *aBeg++, sal_True ); +} +void OptimizerDialog::DeactivatePage( sal_Int16 nStep ) +{ + std::vector< rtl::OUString >::iterator aBeg( maControlPages[ nStep ].begin() ); + std::vector< rtl::OUString >::iterator aEnd( maControlPages[ nStep ].end() ); + while( aBeg != aEnd ) + setVisible( *aBeg++, sal_False ); +} diff --git a/sdext/source/minimizer/pagecollector.cxx b/sdext/source/minimizer/pagecollector.cxx new file mode 100644 index 000000000000..2015f16b47bd --- /dev/null +++ b/sdext/source/minimizer/pagecollector.cxx @@ -0,0 +1,205 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pagecollector.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:59:09 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef PAGECOLLECTOR_HXX +#include "pagecollector.hxx" +#endif + +#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATIONPAGE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGETARGET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_PRESENTATION_XCUSTOMPRESENTATIONSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XINDEXCONTAINER_HPP_ +#include +#endif + +using namespace ::rtl; +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::drawing; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::container; +using namespace ::com::sun::star::presentation; + +void PageCollector::CollectCustomShowPages( const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& rxModel, const rtl::OUString& rCustomShowName, std::vector< Reference< XDrawPage > >& rUsedPageList ) +{ + try + { + Reference< XCustomPresentationSupplier > aXCPSup( rxModel, UNO_QUERY_THROW ); + Reference< XNameContainer > aXCont( aXCPSup->getCustomPresentations() ); + if ( aXCont.is() ) + { + // creating a list of every page that is used within our customshow + Sequence< OUString> aNameSeq( aXCont->getElementNames() ); + const OUString* pUString = aNameSeq.getArray(); + sal_Int32 i, nCount = aNameSeq.getLength(); + for ( i = 0; i < nCount; i++ ) + { + if ( pUString[ i ] == rCustomShowName ) + { + Reference< container::XIndexContainer > aXIC( aXCont->getByName( pUString[ i ] ), UNO_QUERY_THROW ); + sal_Int32 j, nSlideCount = aXIC->getCount(); + for ( j = 0; j < nSlideCount; j++ ) + { + Reference< XDrawPage > xDrawPage( aXIC->getByIndex( j ), UNO_QUERY_THROW ); + std::vector< Reference< XDrawPage > >::iterator aIter( rUsedPageList.begin() ); + std::vector< Reference< XDrawPage > >::iterator aEnd( rUsedPageList.end() ); + while( aIter != aEnd ) + { + if ( *aIter == xDrawPage ) + break; + aIter++; + } + if ( aIter == aEnd ) + rUsedPageList.push_back( xDrawPage ); + } + } + } + } + } + catch( Exception& ) + { + + } +} + +void PageCollector::CollectNonCustomShowPages( const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& rxModel, const rtl::OUString& rCustomShowName, std::vector< Reference< XDrawPage > >& rNonUsedPageList ) +{ + try + { + std::vector< Reference< XDrawPage > > vUsedPageList; + PageCollector::CollectCustomShowPages( rxModel, rCustomShowName, vUsedPageList ); + if ( vUsedPageList.size() ) + { + Reference< XDrawPagesSupplier > xDrawPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + for ( sal_Int32 j = 0; j < xDrawPages->getCount(); j++ ) + { + Reference< XDrawPage > xDrawPage( xDrawPages->getByIndex( j ), UNO_QUERY_THROW ); + std::vector< Reference< XDrawPage > >::iterator aIter( vUsedPageList.begin() ); + std::vector< Reference< XDrawPage > >::iterator aEnd( vUsedPageList.end() ); + while( aIter != aEnd ) + { + if ( *aIter == xDrawPage ) + break; + aIter++; + } + if ( aIter == aEnd ) + { + rNonUsedPageList.push_back( xDrawPage ); + j--; + } + } + } + } + catch( Exception& ) + { + } +} + + +void PageCollector::CollectMasterPages( const Reference< XModel >& rxModel, std::vector< PageCollector::MasterPageEntity >& rMasterPageList ) +{ + typedef std::vector< MasterPageEntity > MasterPageList; + typedef MasterPageList::iterator MasterPageIter; + + try + { + // generating list of all master pages + Reference< XMasterPagesSupplier > xMasterPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xMasterPages( xMasterPagesSupplier->getMasterPages(), UNO_QUERY_THROW ); + for ( sal_Int32 i = 0; i < xMasterPages->getCount(); i++ ) + { + Reference< XDrawPage > xMasterPage( xMasterPages->getByIndex( i ), UNO_QUERY_THROW ); + MasterPageIter aIter( rMasterPageList.begin() ); + MasterPageIter aEnd ( rMasterPageList.end() ); + while( aIter != aEnd ) + { + if ( aIter->xMasterPage == xMasterPage ) + break; + aIter++; + } + if ( aIter == aEnd ) + { + MasterPageEntity aMasterPageEntity; + aMasterPageEntity.xMasterPage = xMasterPage; + aMasterPageEntity.bUsed = sal_False; + rMasterPageList.push_back( aMasterPageEntity ); + } + } + + // mark masterpages which are referenced by drawpages + Reference< XDrawPagesSupplier > xDrawPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + for ( sal_Int32 j = 0; j < xDrawPages->getCount(); j++ ) + { + Reference< XMasterPageTarget > xMasterPageTarget( xDrawPages->getByIndex( j ), UNO_QUERY_THROW ); + Reference< XDrawPage > xMasterPage( xMasterPageTarget->getMasterPage(), UNO_QUERY_THROW ); + MasterPageIter aIter( rMasterPageList.begin() ); + MasterPageIter aEnd ( rMasterPageList.end() ); + while( aIter != aEnd ) + { + if ( aIter->xMasterPage == xMasterPage ) + { + aIter->bUsed = sal_True; + break; + } + aIter++; + } + if ( aIter == aEnd ) + throw uno::RuntimeException(); + } + } + catch( Exception& ) + { + } +} + diff --git a/sdext/source/minimizer/pagecollector.hxx b/sdext/source/minimizer/pagecollector.hxx new file mode 100644 index 000000000000..9e3392555a56 --- /dev/null +++ b/sdext/source/minimizer/pagecollector.hxx @@ -0,0 +1,61 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pagecollector.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:59:19 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef PAGECOLLECTOR_HXX +#define PAGECOLLECTOR_HXX + +#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ +#include +#endif +#include + +class PageCollector +{ + public: + + struct MasterPageEntity + { + com::sun::star::uno::Reference< com::sun::star::drawing::XDrawPage > xMasterPage; + sal_Bool bUsed; + }; + static void CollectCustomShowPages( const com::sun::star::uno::Reference< com::sun::star::frame::XModel >&, const rtl::OUString& rCustomShow, std::vector< com::sun::star::uno::Reference< com::sun::star::drawing::XDrawPage > >& ); + static void CollectNonCustomShowPages( const com::sun::star::uno::Reference< com::sun::star::frame::XModel >&, const rtl::OUString& rCustomShow, std::vector< com::sun::star::uno::Reference< com::sun::star::drawing::XDrawPage > >& ); + static void CollectMasterPages( const com::sun::star::uno::Reference< com::sun::star::frame::XModel >&, std::vector< MasterPageEntity >& ); +}; + +#endif // PAGECOLLECTOR_HXX diff --git a/sdext/source/minimizer/pppoptimizer.cxx b/sdext/source/minimizer/pppoptimizer.cxx new file mode 100644 index 000000000000..683a835d1764 --- /dev/null +++ b/sdext/source/minimizer/pppoptimizer.cxx @@ -0,0 +1,214 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pppoptimizer.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:59:28 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef PPPOPTIMIZER_HXX +#include "pppoptimizer.hxx" +#endif +#include "impoptimizer.hxx" +#include + +using namespace ::rtl; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; + +#define SERVICE_NAME "com.sun.star.comp.PPPOptimizer" + +// ---------------- +// - PPPOptimizer - +// ---------------- + +PPPOptimizer::PPPOptimizer( const Reference< XComponentContext > &rxMSF ) : + mxMSF( rxMSF ) +{ +} + +// ----------------------------------------------------------------------------- + +PPPOptimizer::~PPPOptimizer() +{ +} + +// ----------------------------------------------------------------------------- +// XInitialization +// ----------------------------------------------------------------------------- + +void SAL_CALL PPPOptimizer::initialize( const Sequence< Any >& aArguments ) + throw ( Exception, RuntimeException ) +{ + if( aArguments.getLength() != 1 ) + throw IllegalArgumentException(); + + Reference< XFrame > xFrame; + aArguments[ 0 ] >>= xFrame; + if ( xFrame.is() ) + mxController = xFrame->getController(); +} + +// ----------------------------------------------------------------------------- +// XServiceInfo +// ----------------------------------------------------------------------------- + +OUString SAL_CALL PPPOptimizer::getImplementationName() + throw ( RuntimeException ) +{ + return PPPOptimizer_getImplementationName(); +} + +sal_Bool SAL_CALL PPPOptimizer::supportsService( const OUString& rServiceName ) + throw ( RuntimeException ) +{ + return rServiceName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( SERVICE_NAME ) ); +} + +Sequence< OUString > SAL_CALL PPPOptimizer::getSupportedServiceNames() + throw ( RuntimeException ) +{ + return PPPOptimizer_getSupportedServiceNames(); +} + +// ----------------------------------------------------------------------------- +// XDispatchProvider +// ----------------------------------------------------------------------------- + +Reference< com::sun::star::frame::XDispatch > SAL_CALL PPPOptimizer::queryDispatch( + const URL& aURL, const ::rtl::OUString& /* aTargetFrameName */, sal_Int32 /* nSearchFlags */ ) throw( RuntimeException ) +{ + Reference < XDispatch > xRet; + if ( aURL.Protocol.compareToAscii( "vnd.com.sun.star.comp.PPPOptimizer:" ) == 0 ) + { +// if ( aURL.Path.compareToAscii( "Function1" ) == 0 ) + xRet = this; + } + return xRet; +} + +//------------------------------------------------------------------------------ + +Sequence< Reference< com::sun::star::frame::XDispatch > > SAL_CALL PPPOptimizer::queryDispatches( + const Sequence< com::sun::star::frame::DispatchDescriptor >& aDescripts ) throw( RuntimeException ) +{ + Sequence< Reference< com::sun::star::frame::XDispatch> > aReturn( aDescripts.getLength() ); + Reference< com::sun::star::frame::XDispatch>* pReturn = aReturn.getArray(); + const com::sun::star::frame::DispatchDescriptor* pDescripts = aDescripts.getConstArray(); + for (sal_Int16 i = 0; i < aDescripts.getLength(); ++i, ++pReturn, ++pDescripts ) + { + *pReturn = queryDispatch( pDescripts->FeatureURL, pDescripts->FrameName, pDescripts->SearchFlags ); + } + return aReturn; +} + +// ----------------------------------------------------------------------------- +// XDispatch +// ----------------------------------------------------------------------------- + +void SAL_CALL PPPOptimizer::dispatch( const URL& rURL, const Sequence< PropertyValue >& lArguments ) + throw( RuntimeException ) +{ + if ( mxController.is() && ( rURL.Protocol.compareToAscii( "vnd.com.sun.star.comp.PPPOptimizer:" ) == 0 ) ) + { + if ( rURL.Path.compareToAscii( "optimize" ) == 0 ) + { + Reference< XModel > xModel( mxController->getModel() ); + if ( xModel.is() ) + { + try + { + ImpOptimizer aOptimizer( mxMSF, xModel ); + aOptimizer.Optimize( lArguments ); + } + catch( Exception& ) + { + } + } + } + } +} + +//=============================================== +void SAL_CALL PPPOptimizer::addStatusListener( const Reference< XStatusListener >&, const URL& ) + throw( RuntimeException ) +{ + // TODO + OSL_ENSURE( sal_False, "PPPOptimizer::addStatusListener()\nNot implemented yet!" ); +} + +//=============================================== +void SAL_CALL PPPOptimizer::removeStatusListener( const Reference< XStatusListener >&, const URL& ) + throw( RuntimeException ) +{ + // TODO + OSL_ENSURE( sal_False, "PPPOptimizer::removeStatusListener()\nNot implemented yet!" ); +} + +// ----------------------------------------------------------------------------- +// returning filesize, on error zero is returned +sal_Int64 PPPOptimizer::GetFileSize( const rtl::OUString& rURL ) +{ + sal_Int64 nFileSize = 0; + osl::DirectoryItem aItem; + if ( osl::DirectoryItem::get( rURL, aItem ) == osl::FileBase::E_None ) + { + osl::FileStatus aStatus( osl_FileStatus_Mask_FileSize ); + if ( aItem.getFileStatus( aStatus ) == osl::FileBase::E_None ) + { + nFileSize = aStatus.getFileSize(); + } + } + return nFileSize; +} + +// ----------------------------------------------------------------------------- + +OUString PPPOptimizer_getImplementationName() +{ + return OUString ( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.comp.PPPOptimizerImp" ) ); +} + +Sequence< OUString > PPPOptimizer_getSupportedServiceNames() +{ + Sequence < OUString > aRet(1); + OUString* pArray = aRet.getArray(); + pArray[0] = OUString ( RTL_CONSTASCII_USTRINGPARAM( SERVICE_NAME ) ); + return aRet; +} + +Reference< XInterface > PPPOptimizer_createInstance( const Reference< XComponentContext > & rSMgr ) + throw( Exception ) +{ + return (cppu::OWeakObject*) new PPPOptimizer( rSMgr ); +} diff --git a/sdext/source/minimizer/pppoptimizer.hxx b/sdext/source/minimizer/pppoptimizer.hxx new file mode 100644 index 000000000000..25290227bf97 --- /dev/null +++ b/sdext/source/minimizer/pppoptimizer.hxx @@ -0,0 +1,127 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pppoptimizer.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:59:38 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef PPPOPTIMIZER_HXX +#define PPPOPTIMIZER_HXX + +#ifndef _CPPUHELPER_IMPLBASE4_HXX_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XMULTICOMPONENTFACTORY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ +#include +#endif +#ifndef _COMPHELPER_PROPERTY_HXX_ +#include +#endif + +// ---------------- +// - PPPOptimizer - +// ---------------- + +class PPPOptimizer : public cppu::WeakImplHelper4< + com::sun::star::lang::XInitialization, + com::sun::star::lang::XServiceInfo, + com::sun::star::frame::XDispatchProvider, + com::sun::star::frame::XDispatch > +{ + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > mxMSF; + com::sun::star::uno::Reference< com::sun::star::frame::XController > mxController; + +public: + + PPPOptimizer( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF ); + virtual ~PPPOptimizer(); + + // XInitialization + void SAL_CALL initialize( const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& aArguments ) + throw( com::sun::star::uno::Exception, com::sun::star::uno::RuntimeException ); + + // XServiceInfo + virtual ::rtl::OUString SAL_CALL getImplementationName() + throw( com::sun::star::uno::RuntimeException ); + + virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& sServiceName ) + throw( com::sun::star::uno::RuntimeException ); + + virtual com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() + throw( com::sun::star::uno::RuntimeException ); + + // XDispatchProvider + virtual com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > SAL_CALL queryDispatch( + const com::sun::star::util::URL& aURL, const rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags ) + throw(com::sun::star::uno::RuntimeException); + + virtual com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > > SAL_CALL queryDispatches( + const com::sun::star::uno::Sequence< com::sun::star::frame::DispatchDescriptor >& aDescripts ) throw( com::sun::star::uno::RuntimeException ); + + // XDispatch + virtual void SAL_CALL dispatch( const com::sun::star::util::URL& aURL, + const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& lArguments ) + throw( com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL addStatusListener( const com::sun::star::uno::Reference< com::sun::star::frame::XStatusListener >& xListener, + const com::sun::star::util::URL& aURL ) + throw( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL removeStatusListener( const com::sun::star::uno::Reference< com::sun::star::frame::XStatusListener >& xListener, + const com::sun::star::util::URL& aURL ) + throw( com::sun::star::uno::RuntimeException ); + + static sal_Int64 GetFileSize( const rtl::OUString& rURL ); +}; + +rtl::OUString PPPOptimizer_getImplementationName(); +com::sun::star::uno::Sequence< rtl::OUString > PPPOptimizer_getSupportedServiceNames(); +com::sun::star::uno::Reference< com::sun::star::uno::XInterface > PPPOptimizer_createInstance( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > & rSMgr ) + throw( com::sun::star::uno::Exception ); + +#endif // PPPOPTIMIZER_HXX diff --git a/sdext/source/minimizer/pppoptimizerdialog.cxx b/sdext/source/minimizer/pppoptimizerdialog.cxx new file mode 100644 index 000000000000..04b156082779 --- /dev/null +++ b/sdext/source/minimizer/pppoptimizerdialog.cxx @@ -0,0 +1,232 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pppoptimizerdialog.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:59:48 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "pppoptimizerdialog.hxx" +#include "optimizerdialog.hxx" +#include "aboutdialog.hxx" + +using namespace ::rtl; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; + +#define SERVICE_NAME "com.sun.star.comp.SunPresentationMinimizer" +#ifndef _RTL_USTRBUF_HXX_ +#include +#endif + +// ---------------------- +// - PPPOptimizerDialog - +// ---------------------- + +PPPOptimizerDialog::PPPOptimizerDialog( const Reference< XComponentContext > &rxMSF ) : + mxMSF( rxMSF ), + mpOptimizerDialog( NULL ) +{ +} + +// ----------------------------------------------------------------------------- + +PPPOptimizerDialog::~PPPOptimizerDialog() +{ +} + +// ----------------------------------------------------------------------------- +// XInitialization +// ----------------------------------------------------------------------------- + +void SAL_CALL PPPOptimizerDialog::initialize( const Sequence< Any >& aArguments ) + throw ( Exception, RuntimeException ) +{ + if( aArguments.getLength() != 1 ) + throw IllegalArgumentException(); + + aArguments[ 0 ] >>= mxFrame; + if ( mxFrame.is() ) + mxController = mxFrame->getController(); +} + +// ----------------------------------------------------------------------------- +// XServiceInfo +// ----------------------------------------------------------------------------- + +OUString SAL_CALL PPPOptimizerDialog::getImplementationName() + throw (RuntimeException) +{ + return PPPOptimizerDialog_getImplementationName(); +} + +sal_Bool SAL_CALL PPPOptimizerDialog::supportsService( const OUString& ServiceName ) + throw ( RuntimeException ) +{ + return ServiceName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( SERVICE_NAME ) ); +} + +Sequence< OUString > SAL_CALL PPPOptimizerDialog::getSupportedServiceNames() + throw (RuntimeException) +{ + return PPPOptimizerDialog_getSupportedServiceNames(); +} + +// ----------------------------------------------------------------------------- +// XDispatchProvider +// ----------------------------------------------------------------------------- + +Reference< com::sun::star::frame::XDispatch > SAL_CALL PPPOptimizerDialog::queryDispatch( + const URL& aURL, const ::rtl::OUString& /* aTargetFrameName */, sal_Int32 /* nSearchFlags */ ) throw( RuntimeException ) +{ + Reference < XDispatch > xRet; + if ( aURL.Protocol.compareToAscii( "vnd.com.sun.star.comp.SunPresentationMinimizer:" ) == 0 ) + { +// if ( aURL.Path.compareToAscii( "Function1" ) == 0 ) + xRet = this; + } + return xRet; +} + +//------------------------------------------------------------------------------ + +Sequence< Reference< com::sun::star::frame::XDispatch > > SAL_CALL PPPOptimizerDialog::queryDispatches( + const Sequence< com::sun::star::frame::DispatchDescriptor >& aDescripts ) throw( RuntimeException ) +{ + Sequence< Reference< com::sun::star::frame::XDispatch> > aReturn( aDescripts.getLength() ); + Reference< com::sun::star::frame::XDispatch>* pReturn = aReturn.getArray(); + const com::sun::star::frame::DispatchDescriptor* pDescripts = aDescripts.getConstArray(); + for (sal_Int16 i = 0; i < aDescripts.getLength(); ++i, ++pReturn, ++pDescripts ) + { + *pReturn = queryDispatch( pDescripts->FeatureURL, pDescripts->FrameName, pDescripts->SearchFlags ); + } + return aReturn; +} + +// ----------------------------------------------------------------------------- +// XDispatch +// ----------------------------------------------------------------------------- + +void SAL_CALL PPPOptimizerDialog::dispatch( const URL& rURL, + const Sequence< PropertyValue >& rArguments ) + throw( RuntimeException ) +{ + sal_Int64 nFileSizeSource = 0; + sal_Int64 nFileSizeDest = 0; + + if ( mxController.is() && ( rURL.Protocol.compareToAscii( "vnd.com.sun.star.comp.SunPresentationMinimizer:" ) == 0 ) ) + { + if ( rURL.Path.compareToAscii( "execute" ) == 0 ) + { + sal_Bool bDialogExecuted = sal_False; + + try + { + mpOptimizerDialog = new OptimizerDialog( mxMSF, mxFrame, this ); + bDialogExecuted = mpOptimizerDialog->execute(); + + const Any* pVal( mpOptimizerDialog->maStats.GetStatusValue( TK_FileSizeSource ) ); + if ( pVal ) + *pVal >>= nFileSizeSource; + pVal = mpOptimizerDialog->maStats.GetStatusValue( TK_FileSizeDestination ); + if ( pVal ) + *pVal >>= nFileSizeDest; + + if ( nFileSizeSource && nFileSizeDest ) + { + rtl::OUStringBuffer sBuf( rtl::OUString::createFromAscii( "Your Presentation has been minimized from:" ) ); + sBuf.append( rtl::OUString::valueOf( nFileSizeSource >> 10 ) ); + sBuf.append( rtl::OUString::createFromAscii( "KB to " ) ); + sBuf.append( rtl::OUString::valueOf( nFileSizeDest >> 10 ) ); + sBuf.append( rtl::OUString::createFromAscii( "KB." ) ); + OUString sResult( sBuf.makeStringAndClear() ); +// mpOptimizerDialog->showMessageBox( sResult, sResult, sal_False ); + } + delete mpOptimizerDialog, mpOptimizerDialog = NULL; + } + catch( ... ) + { + + } + } + else if ( rURL.Path.compareToAscii( "statusupdate" ) == 0 ) + { + if ( mpOptimizerDialog ) + mpOptimizerDialog->UpdateStatus( rArguments ); + } + else if ( rURL.Path.compareToAscii( "about" ) == 0 ) + { + AboutDialog aAboutDialog( mxMSF, mxFrame ); + aAboutDialog.execute(); + } + } +} + +//=============================================== +void SAL_CALL PPPOptimizerDialog::addStatusListener( const Reference< XStatusListener >&, const URL& ) + throw( RuntimeException ) +{ + // TODO + // OSL_ENSURE( sal_False, "PPPOptimizerDialog::addStatusListener()\nNot implemented yet!" ); +} + +//=============================================== +void SAL_CALL PPPOptimizerDialog::removeStatusListener( const Reference< XStatusListener >&, const URL& ) + throw( RuntimeException ) +{ + // TODO + // OSL_ENSURE( sal_False, "PPPOptimizerDialog::removeStatusListener()\nNot implemented yet!" ); +} + +// ----------------------------------------------------------------------------- + +OUString PPPOptimizerDialog_getImplementationName() +{ + return OUString ( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.comp.SunPresentationMinimizerImp" ) ); +} + +Sequence< OUString > PPPOptimizerDialog_getSupportedServiceNames() +{ + Sequence < OUString > aRet(1); + OUString* pArray = aRet.getArray(); + pArray[0] = OUString ( RTL_CONSTASCII_USTRINGPARAM( SERVICE_NAME ) ); + return aRet; +} + +Reference< XInterface > PPPOptimizerDialog_createInstance( const Reference< XComponentContext > & rSMgr) + throw( Exception ) +{ + return (cppu::OWeakObject*) new PPPOptimizerDialog( rSMgr ); +} + +// ----------------------------------------------------------------------------- diff --git a/sdext/source/minimizer/pppoptimizerdialog.hxx b/sdext/source/minimizer/pppoptimizerdialog.hxx new file mode 100644 index 000000000000..455c07772c15 --- /dev/null +++ b/sdext/source/minimizer/pppoptimizerdialog.hxx @@ -0,0 +1,143 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pppoptimizerdialog.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 13:59:59 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef PPPOPTIMIZERDIALOG_HXX +#define PPPOPTIMIZERDIALOGOG_HXX + +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ +#include +#endif +#ifndef _COM_SUN_STAR_DOCUMENT_XEXPORTER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSETINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XMULTI_COMPONENT_FACTORY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_ +#include +#endif +#ifndef _CPPUHELPER_IMPLBASE4_HXX_ +#include +#endif + +// ---------------------- +// - PPPOptimizerDialog - +// ---------------------- + +class OptimizerDialog; +class PPPOptimizerDialog : public ::cppu::WeakImplHelper4< + com::sun::star::lang::XInitialization, + com::sun::star::lang::XServiceInfo, + com::sun::star::frame::XDispatchProvider, + com::sun::star::frame::XDispatch > +{ + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > mxMSF; + com::sun::star::uno::Reference< com::sun::star::frame::XFrame > mxFrame; + com::sun::star::uno::Reference< com::sun::star::frame::XController > mxController; + + OptimizerDialog* mpOptimizerDialog; + +public: + + PPPOptimizerDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF ); + virtual ~PPPOptimizerDialog(); + + // XInitialization + void SAL_CALL initialize( const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& aArguments ) + throw( com::sun::star::uno::Exception, com::sun::star::uno::RuntimeException ); + + // XServiceInfo + virtual ::rtl::OUString SAL_CALL getImplementationName() + throw( com::sun::star::uno::RuntimeException ); + + virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& sServiceName ) + throw( com::sun::star::uno::RuntimeException ); + + virtual com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() + throw( com::sun::star::uno::RuntimeException ); + + // XDispatchProvider + virtual com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > SAL_CALL queryDispatch( + const com::sun::star::util::URL& aURL, const rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags ) + throw(com::sun::star::uno::RuntimeException); + + virtual com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > > SAL_CALL queryDispatches( + const com::sun::star::uno::Sequence< com::sun::star::frame::DispatchDescriptor >& aDescripts ) throw( com::sun::star::uno::RuntimeException ); + + // XDispatch + virtual void SAL_CALL dispatch( const com::sun::star::util::URL& aURL, + const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& lArguments ) + throw( com::sun::star::uno::RuntimeException ); + + virtual void SAL_CALL addStatusListener( const com::sun::star::uno::Reference< com::sun::star::frame::XStatusListener >& xListener, + const com::sun::star::util::URL& aURL ) + throw( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL removeStatusListener( const com::sun::star::uno::Reference< com::sun::star::frame::XStatusListener >& xListener, + const com::sun::star::util::URL& aURL ) + throw( com::sun::star::uno::RuntimeException ); +}; + +rtl::OUString PPPOptimizerDialog_getImplementationName(); +com::sun::star::uno::Sequence< rtl::OUString > PPPOptimizerDialog_getSupportedServiceNames(); +com::sun::star::uno::Reference< com::sun::star::uno::XInterface > PPPOptimizerDialog_createInstance( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > & rSMgr ) + throw( com::sun::star::uno::Exception ); + +// ----------------------------------------------------------------------------- + +#endif // PPPOPTIMIZERDIALOG_HXX diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx new file mode 100644 index 000000000000..e3cbeae45deb --- /dev/null +++ b/sdext/source/minimizer/pppoptimizertoken.cxx @@ -0,0 +1,346 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pppoptimizertoken.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 14:00:09 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef _PPPOPTIMIZER_TOKEN_HXX +#include "pppoptimizertoken.hxx" +#endif +#ifndef _OSL_MUTEX_HXX_ +#include +#endif +#include + +struct TCheck +{ + bool operator()( const char* s1, const char* s2 ) const + { + return strcmp( s1, s2 ) == 0; + } +}; +typedef std::hash_map< const char*, PPPOptimizerTokenEnum, std::hash, TCheck> TypeNameHashMap; +static TypeNameHashMap* pHashMap = NULL; +static ::osl::Mutex& getHashMapMutex() +{ + static osl::Mutex s_aHashMapProtection; + return s_aHashMapProtection; +} + +struct TokenTable +{ + const char* pS; + PPPOptimizerTokenEnum pE; +}; + +static const TokenTable pTokenTableArray[] = +{ + { "rdmNavi", TK_rdmNavi }, + { "lnNavSep1", TK_lnNavSep1 }, + { "lnNavSep2", TK_lnNavSep2 }, + { "btnNavHelp", TK_btnNavHelp }, + { "btnNavBack", TK_btnNavBack }, + { "btnNavNext", TK_btnNavNext }, + { "btnNavFinish", TK_btnNavFinish }, + { "btnNavCancel", TK_btnNavCancel }, + + { "FixedText0Pg0", TK_FixedText0Pg0 }, + { "FixedText1Pg0", TK_FixedText1Pg0 }, + { "Separator1Pg0", TK_Separator1Pg0 }, + { "FixedText2Pg0", TK_FixedText2Pg0 }, + { "ListBox0Pg0", TK_ListBox0Pg0 }, + { "Button0Pg0", TK_Button0Pg0 }, + { "RadioButton0Pg1", TK_RadioButton0Pg1 }, + { "RadioButton1Pg1", TK_RadioButton1Pg1 }, + { "FixedText0Pg1", TK_FixedText0Pg1 }, + { "CheckBox1Pg1", TK_CheckBox1Pg1 }, + { "FixedText1Pg1", TK_FixedText1Pg1 }, + { "FixedText2Pg1", TK_FixedText2Pg1 }, + { "FormattedField0Pg1", TK_FormattedField0Pg1 }, + { "ComboBox0Pg1", TK_ComboBox0Pg1 }, + { "CheckBox2Pg1", TK_CheckBox2Pg1 }, + { "FixedText0Pg2", TK_FixedText0Pg2 }, + { "FixedText1Pg2", TK_FixedText1Pg2 }, + { "CheckBox0Pg2", TK_CheckBox0Pg2 }, + { "RadioButton0Pg2", TK_RadioButton0Pg2 }, + { "RadioButton1Pg2", TK_RadioButton1Pg2 }, + { "FixedText0Pg3", TK_FixedText0Pg3 }, + { "CheckBox0Pg3", TK_CheckBox0Pg3 }, + { "FixedText1Pg3", TK_FixedText1Pg3 }, + { "CheckBox1Pg3", TK_CheckBox1Pg3 }, + { "FixedText2Pg3", TK_FixedText2Pg3 }, + { "CheckBox2Pg3", TK_CheckBox2Pg3 }, + { "CheckBox3Pg3", TK_CheckBox3Pg3 }, + { "ListBox0Pg3", TK_ListBox0Pg3 }, + { "Separator0Pg4", TK_Separator0Pg4 }, + { "RadioButton0Pg4", TK_RadioButton0Pg4 }, + { "RadioButton1Pg4", TK_RadioButton1Pg4 }, + { "CheckBox0Pg4", TK_CheckBox0Pg4 }, + { "Separator1Pg4", TK_Separator1Pg4 }, + { "FixedText0Pg4", TK_FixedText0Pg4 }, + { "FixedText1Pg4", TK_FixedText1Pg4 }, + { "FixedText2Pg4", TK_FixedText2Pg4 }, + { "FixedText3Pg4", TK_FixedText3Pg4 }, + { "FixedText4Pg4", TK_FixedText4Pg4 }, + { "FixedText5Pg4", TK_FixedText5Pg4 }, + { "FixedText6Pg4", TK_FixedText6Pg4 }, + { "FixedText7Pg4", TK_FixedText7Pg4 }, + { "FixedText8Pg4", TK_FixedText8Pg4 }, + { "CheckBox1Pg4", TK_CheckBox1Pg4 }, + { "ComboBox0Pg4", TK_ComboBox0Pg4 }, + + { "_blank", TK__blank }, + { "_self", TK__self }, + { "Activated", TK_Activated }, + { "Align", TK_Align }, + { "Alpha", TK_Alpha }, + { "Animated", TK_Animated }, + { "Background", TK_Background }, + { "BitmapPath", TK_BitmapPath }, + { "Border", TK_Border }, + { "Closeable", TK_Closeable }, + { "ColorMode", TK_ColorMode }, + { "Complete", TK_Complete }, + { "Compression", TK_Compression }, + { "CurrentItemID", TK_CurrentItemID }, + { "DefaultButton", TK_DefaultButton }, + { "DocumentService", TK_DocumentService }, + { "Dropdown", TK_Dropdown }, + { "EffectiveValue", TK_EffectiveValue }, + { "EffectiveMin", TK_EffectiveMin }, + { "EffectiveMax", TK_EffectiveMax }, + { "Enabled", TK_Enabled }, + { "Extensions", TK_Extensions }, + { "FileSizeDestination",TK_FileSizeDestination }, + { "FileSizeSource", TK_FileSizeSource }, + { "FillBitmap", TK_FillBitmap }, + { "FillBitmapLogicalSize",TK_FillBitmapLogicalSize }, + { "FillBitmapMode", TK_FillBitmapMode }, + { "FillBitmapSizeX", TK_FillBitmapSizeX }, + { "FillBitmapSizeY", TK_FillBitmapSizeY }, + { "FillBitmapURL", TK_FillBitmapURL }, + { "FillStyle", TK_FillStyle }, + { "FilterData", TK_FilterData }, + { "FilterName", TK_FilterName }, + { "Flags", TK_Flags }, + { "FontDescriptor", TK_FontDescriptor }, + { "Graphic", TK_Graphic }, + { "GraphicCrop", TK_GraphicCrop }, + { "GraphicCropLogic", TK_GraphicCropLogic }, + { "GraphicURL", TK_GraphicURL }, + { "GraphicStreamURL", TK_GraphicStreamURL }, + { "Height", TK_Height }, + { "HelpFile", TK_HelpFile }, + { "Hidden", TK_Hidden }, + { "ID", TK_ID }, + { "ImageURL", TK_ImageURL }, + { "InformationDialog", TK_InformationDialog }, + { "InputStream", TK_InputStream }, + { "Interlaced", TK_Interlaced }, + { "IsInternal", TK_IsInternal }, + { "Label", TK_Label }, + { "LineCount", TK_LineCount }, + { "LogicalHeight", TK_LogicalHeight }, + { "LogicalWidth", TK_LogicalWidth }, + { "LogicalSize", TK_LogicalSize }, + { "MimeType", TK_MimeType }, + { "Moveable", TK_Moveable }, + { "MultiLine", TK_MultiLine }, + { "MultiSelection", TK_MultiSelection }, + { "Name", TK_Name }, + { "Orientation", TK_Orientation }, + { "OutputStream", TK_OutputStream }, + { "PixelHeight", TK_PixelHeight }, + { "PixelWidth", TK_PixelWidth }, + { "PositionX", TK_PositionX }, + { "PositionY", TK_PositionY }, + { "Progress", TK_Progress }, + { "ProgressValue", TK_ProgressValue }, + { "ProgressValueMax", TK_ProgressValueMax }, + { "ProgressValueMin", TK_ProgressValueMin }, + { "PushButtonType", TK_PushButtonType }, + { "Quality", TK_Quality }, + { "ReadOnly", TK_ReadOnly }, + { "Repeat", TK_Repeat }, + { "ScaleImage", TK_ScaleImage }, + { "SelectedItems", TK_SelectedItems }, + { "Settings", TK_Settings }, + { "Size100thMM", TK_Size100thMM }, + { "SizePixel", TK_SizePixel }, + { "Spin", TK_Spin }, + { "Step", TK_Step }, + { "State", TK_State }, + { "StatusDispatcher", TK_StatusDispatcher }, + { "StringItemList", TK_StringItemList }, + { "Strings", TK_Strings }, + { "TabIndex", TK_TabIndex }, + { "Template", TK_Template }, + { "Text", TK_Text }, + { "Title", TK_Title }, + { "Transparent", TK_Transparent }, + { "Type", TK_Type }, + { "UIName", TK_UIName }, + { "Value", TK_Value }, + { "Width", TK_Width }, + { "ZOrder", TK_ZOrder }, + + { "LastUsedSettings", TK_LastUsedSettings }, + { "Settings/Templates", TK_Settings_Templates }, + { "Settings/Templates/",TK_Settings_Templates_ }, + { "JPEGCompression", TK_JPEGCompression }, + { "JPEGQuality", TK_JPEGQuality }, + { "RemoveCropArea", TK_RemoveCropArea }, + { "ImageResolution", TK_ImageResolution }, + { "EmbedLinkedGraphics",TK_EmbedLinkedGraphics }, + { "OLEOptimization", TK_OLEOptimization }, + { "OLEOptimizationType",TK_OLEOptimizationType }, + { "DeleteUnusedMasterPages", TK_DeleteUnusedMasterPages }, + { "DeleteHiddenSlides", TK_DeleteHiddenSlides }, + { "DeleteNotesPages", TK_DeleteNotesPages }, + { "CustomShowName", TK_CustomShowName }, + { "SaveAs", TK_SaveAs }, + { "SaveAsURL", TK_SaveAsURL }, + { "OpenNewDocument", TK_OpenNewDocument }, + + { "Status", TK_Status }, + { "Pages", TK_Pages }, + { "CurrentPage", TK_CurrentPage }, + { "GraphicObjects", TK_GraphicObjects }, + { "CurrentGraphicObject",TK_CurrentGraphicObject }, + { "OLEObjects", TK_OLEObjects }, + { "CurrentOLEObject", TK_CurrentOLEObject }, + + { "STR_SUN_OPTIMIZATION_WIZARD",STR_SUN_OPTIMIZATION_WIZARD }, + { "STR_STEPS", STR_STEPS }, + { "STR_HELP", STR_HELP }, + { "STR_BACK", STR_BACK }, + { "STR_NEXT", STR_NEXT }, + { "STR_FINISH", STR_FINISH }, + { "STR_CANCEL", STR_CANCEL }, + { "STR_INTRODUCTION", STR_INTRODUCTION }, + { "STR_INTRODUCTION_T", STR_INTRODUCTION_T }, + { "STR_CHOSE_SETTINGS", STR_CHOSE_SETTINGS }, + { "STR_REMOVE", STR_REMOVE }, + { "STR_GRAPHIC_OPTIMIZATION", STR_GRAPHIC_OPTIMIZATION }, + { "STR_IMAGE_OPTIMIZATION", STR_IMAGE_OPTIMIZATION }, + { "STR_LOSSLESS_COMPRESSION", STR_LOSSLESS_COMPRESSION }, + { "STR_JPEG_COMPRESSION", STR_JPEG_COMPRESSION }, + { "STR_QUALITY", STR_QUALITY }, + { "STR_REMOVE_CROP_AREA", STR_REMOVE_CROP_AREA }, + { "STR_IMAGE_RESOLUTION", STR_IMAGE_RESOLUTION }, + { "STR_IMAGE_RESOLUTION_0", STR_IMAGE_RESOLUTION_0 }, + { "STR_IMAGE_RESOLUTION_1", STR_IMAGE_RESOLUTION_1 }, + { "STR_IMAGE_RESOLUTION_2", STR_IMAGE_RESOLUTION_2 }, + { "STR_IMAGE_RESOLUTION_3", STR_IMAGE_RESOLUTION_3 }, + { "STR_EMBED_LINKED_GRAPHICS", STR_EMBED_LINKED_GRAPHICS }, + { "STR_OLE_OBJECTS", STR_OLE_OBJECTS }, + { "STR_OLE_OPTIMIZATION", STR_OLE_OPTIMIZATION }, + { "STR_OLE_REPLACE", STR_OLE_REPLACE }, + { "STR_ALL_OLE_OBJECTS", STR_ALL_OLE_OBJECTS }, + { "STR_ALIEN_OLE_OBJECTS_ONLY", STR_ALIEN_OLE_OBJECTS_ONLY }, + { "STR_NO_OLE_OBJECTS", STR_NO_OLE_OBJECTS }, + { "STR_SLIDES", STR_SLIDES }, + { "STR_CHOOSE_SLIDES", STR_CHOOSE_SLIDES }, + { "STR_MASTER_PAGES", STR_MASTER_PAGES }, + { "STR_DELETE_MASTER_PAGES", STR_DELETE_MASTER_PAGES }, + { "STR_NOTES_PAGES", STR_NOTES_PAGES }, + { "STR_DELETE_NOTES_PAGES", STR_DELETE_NOTES_PAGES }, + { "STR_DELETE_HIDDEN_SLIDES", STR_DELETE_HIDDEN_SLIDES }, + { "STR_CUSTOM_SHOW", STR_CUSTOM_SHOW }, + { "STR_SUMMARY", STR_SUMMARY }, + { "STR_SUMMARY_TITLE", STR_SUMMARY_TITLE }, + { "STR_PROGRESS", STR_PROGRESS }, + { "STR_OBJECTS_OPTIMIZED", STR_OBJECTS_OPTIMIZED }, + { "STR_APPLY_TO_CURRENT", STR_APPLY_TO_CURRENT }, + { "STR_AUTOMATICALLY_OPEN", STR_AUTOMATICALLY_OPEN }, + { "STR_SAVE_SETTINGS", STR_SAVE_SETTINGS }, + { "STR_SAVE_AS", STR_SAVE_AS }, + { "STR_DELETE_SLIDES", STR_DELETE_SLIDES }, + { "STR_OPTIMIZE_IMAGES", STR_OPTIMIZE_IMAGES }, + { "STR_CREATE_REPLACEMENT", STR_CREATE_REPLACEMENT }, + { "STR_CURRENT_FILESIZE", STR_CURRENT_FILESIZE }, + { "STR_ESTIMATED_FILESIZE", STR_ESTIMATED_FILESIZE }, + { "STR_MB", STR_MB }, + { "MY_SETTINGS", STR_MY_SETTINGS }, + { "STR_DEFAULT_SESSION", STR_DEFAULT_SESSION }, + { "STR_MODIFY_WARNING", STR_MODIFY_WARNING }, + { "STR_YES", STR_YES }, + { "STR_ABOUT", STR_ABOUT }, + { "STR_ABOUT_VERSION", STR_ABOUT_VERSION }, + { "STR_ABOUT_PRN", STR_ABOUT_PRN }, + { "STR_OK", STR_OK }, + { "STR_INFO_1", STR_INFO_1 }, + { "STR_INFO_2", STR_INFO_2 }, + { "STR_DUPLICATING_PRESENTATION",STR_DUPLICATING_PRESENTATION }, + { "STR_DELETING_SLIDES", STR_DELETING_SLIDES }, + { "STR_OPTIMIZING_GRAPHICS", STR_OPTIMIZING_GRAPHICS }, + { "STR_CREATING_OLE_REPLACEMENTS",STR_CREATING_OLE_REPLACEMENTS }, + + { "Last", TK_Last }, + { "NotFound", TK_NotFound } +}; + +PPPOptimizerTokenEnum TKGet( const rtl::OUString& rToken ) +{ + if ( !pHashMap ) + { // init hash map + ::osl::MutexGuard aGuard( getHashMapMutex() ); + if ( !pHashMap ) + { + TypeNameHashMap* pH = new TypeNameHashMap; + const TokenTable* pPtr = pTokenTableArray; + const TokenTable* pEnd = pPtr + ( sizeof( pTokenTableArray ) / sizeof( TokenTable ) ); + for ( ; pPtr < pEnd; pPtr++ ) + (*pH)[ pPtr->pS ] = pPtr->pE; + pHashMap = pH; + } + } + PPPOptimizerTokenEnum eRetValue = TK_NotFound; + int i, nLen = rToken.getLength(); + char* pBuf = new char[ nLen + 1 ]; + for ( i = 0; i < nLen; i++ ) + pBuf[ i ] = (char)rToken[ i ]; + pBuf[ i ] = 0; + TypeNameHashMap::iterator aHashIter( pHashMap->find( pBuf ) ); + delete[] pBuf; + if ( aHashIter != pHashMap->end() ) + eRetValue = (*aHashIter).second; + return eRetValue; +} + +rtl::OUString TKGet( const PPPOptimizerTokenEnum eToken ) +{ + sal_uInt32 i = eToken >= TK_Last + ? (sal_uInt32)TK_NotFound + : (sal_uInt32)eToken; + return rtl::OUString::createFromAscii( pTokenTableArray[ i ].pS ); +} diff --git a/sdext/source/minimizer/pppoptimizertoken.hxx b/sdext/source/minimizer/pppoptimizertoken.hxx new file mode 100644 index 000000000000..7274389db790 --- /dev/null +++ b/sdext/source/minimizer/pppoptimizertoken.hxx @@ -0,0 +1,291 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pppoptimizertoken.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 14:00:23 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef _PPPOPTIMIZER_TOKEN_HXX +#define _PPPOPTIMIZER_TOKEN_HXX + +#include + +enum PPPOptimizerTokenEnum +{ + TK_rdmNavi, + TK_lnNavSep1, + TK_lnNavSep2, + TK_btnNavHelp, + TK_btnNavBack, + TK_btnNavNext, + TK_btnNavFinish, + TK_btnNavCancel, + + TK_FixedText0Pg0, + TK_FixedText1Pg0, + TK_Separator1Pg0, + TK_FixedText2Pg0, + TK_ListBox0Pg0, + TK_Button0Pg0, + TK_RadioButton0Pg1, + TK_RadioButton1Pg1, + TK_FixedText0Pg1, + TK_CheckBox1Pg1, + TK_FixedText1Pg1, + TK_FixedText2Pg1, + TK_FormattedField0Pg1, + TK_ComboBox0Pg1, + TK_CheckBox2Pg1, + TK_FixedText0Pg2, + TK_FixedText1Pg2, + TK_CheckBox0Pg2, + TK_RadioButton0Pg2, + TK_RadioButton1Pg2, + TK_FixedText0Pg3, + TK_CheckBox0Pg3, + TK_FixedText1Pg3, + TK_CheckBox1Pg3, + TK_FixedText2Pg3, + TK_CheckBox2Pg3, + TK_CheckBox3Pg3, + TK_ListBox0Pg3, + TK_Separator0Pg4, + TK_RadioButton0Pg4, + TK_RadioButton1Pg4, + TK_CheckBox0Pg4, + TK_Separator1Pg4, + TK_FixedText0Pg4, + TK_FixedText1Pg4, + TK_FixedText2Pg4, + TK_FixedText3Pg4, + TK_FixedText4Pg4, + TK_FixedText5Pg4, + TK_FixedText6Pg4, + TK_FixedText7Pg4, + TK_FixedText8Pg4, + TK_CheckBox1Pg4, + TK_ComboBox0Pg4, + + TK__blank, + TK__self, + TK_Activated, + TK_Align, + TK_Alpha, + TK_Animated, + TK_Background, + TK_BitmapPath, + TK_Border, + TK_Closeable, + TK_ColorMode, + TK_Complete, + TK_Compression, + TK_CurrentItemID, + TK_DefaultButton, + TK_DocumentService, + TK_Dropdown, + TK_EffectiveValue, + TK_EffectiveMin, + TK_EffectiveMax, + TK_Enabled, + TK_Extensions, + TK_FileSizeDestination, + TK_FileSizeSource, + TK_FillBitmap, + TK_FillBitmapLogicalSize, + TK_FillBitmapMode, + TK_FillBitmapSizeX, + TK_FillBitmapSizeY, + TK_FillBitmapURL, + TK_FillStyle, + TK_FilterData, + TK_FilterName, + TK_Flags, + TK_FontDescriptor, + TK_Graphic, + TK_GraphicCrop, + TK_GraphicCropLogic, + TK_GraphicURL, + TK_GraphicStreamURL, + TK_Height, + TK_HelpFile, + TK_Hidden, + TK_ID, + TK_ImageURL, + TK_InformationDialog, + TK_InputStream, + TK_Interlaced, + TK_IsInternal, + TK_Label, + TK_LineCount, + TK_LogicalHeight, + TK_LogicalWidth, + TK_LogicalSize, + TK_MimeType, + TK_Moveable, + TK_MultiLine, + TK_MultiSelection, + TK_Name, + TK_Orientation, + TK_OutputStream, + TK_PixelHeight, + TK_PixelWidth, + TK_PositionX, + TK_PositionY, + TK_Progress, + TK_ProgressValue, + TK_ProgressValueMax, + TK_ProgressValueMin, + TK_PushButtonType, + TK_Quality, + TK_ReadOnly, + TK_Repeat, + TK_ScaleImage, + TK_SelectedItems, + TK_Settings, + TK_Size100thMM, + TK_SizePixel, + TK_Spin, + TK_Step, + TK_State, + TK_StatusDispatcher, + TK_StringItemList, + TK_Strings, + TK_TabIndex, + TK_Template, + TK_Text, + TK_Title, + TK_Transparent, + TK_Type, + TK_UIName, + TK_Value, + TK_Width, + TK_ZOrder, + + TK_LastUsedSettings, + TK_Settings_Templates, + TK_Settings_Templates_, + TK_JPEGCompression, + TK_JPEGQuality, + TK_RemoveCropArea, + TK_ImageResolution, + TK_EmbedLinkedGraphics, + TK_OLEOptimization, + TK_OLEOptimizationType, + TK_DeleteUnusedMasterPages, + TK_DeleteHiddenSlides, + TK_DeleteNotesPages, + TK_CustomShowName, + TK_SaveAs, + TK_SaveAsURL, + TK_OpenNewDocument, + + TK_Status, + TK_Pages, + TK_CurrentPage, + TK_GraphicObjects, + TK_CurrentGraphicObject, + TK_OLEObjects, + TK_CurrentOLEObject, + + STR_SUN_OPTIMIZATION_WIZARD, + STR_STEPS, + STR_HELP, + STR_BACK, + STR_NEXT, + STR_FINISH, + STR_CANCEL, + STR_INTRODUCTION, + STR_INTRODUCTION_T, + STR_CHOSE_SETTINGS, + STR_REMOVE, + STR_GRAPHIC_OPTIMIZATION, + STR_IMAGE_OPTIMIZATION, + STR_LOSSLESS_COMPRESSION, + STR_JPEG_COMPRESSION, + STR_QUALITY, + STR_REMOVE_CROP_AREA, + STR_IMAGE_RESOLUTION, + STR_IMAGE_RESOLUTION_0, + STR_IMAGE_RESOLUTION_1, + STR_IMAGE_RESOLUTION_2, + STR_IMAGE_RESOLUTION_3, + STR_EMBED_LINKED_GRAPHICS, + STR_OLE_OBJECTS, + STR_OLE_OPTIMIZATION, + STR_OLE_REPLACE, + STR_ALL_OLE_OBJECTS, + STR_ALIEN_OLE_OBJECTS_ONLY, + STR_NO_OLE_OBJECTS, + STR_SLIDES, + STR_CHOOSE_SLIDES, + STR_MASTER_PAGES, + STR_DELETE_MASTER_PAGES, + STR_NOTES_PAGES, + STR_DELETE_NOTES_PAGES, + STR_DELETE_HIDDEN_SLIDES, + STR_CUSTOM_SHOW, + STR_SUMMARY, + STR_SUMMARY_TITLE, + STR_PROGRESS, + STR_OBJECTS_OPTIMIZED, + STR_APPLY_TO_CURRENT, + STR_AUTOMATICALLY_OPEN, + STR_SAVE_SETTINGS, + STR_SAVE_AS, + STR_DELETE_SLIDES, + STR_OPTIMIZE_IMAGES, + STR_CREATE_REPLACEMENT, + STR_CURRENT_FILESIZE, + STR_ESTIMATED_FILESIZE, + STR_MB, + STR_MY_SETTINGS, + STR_DEFAULT_SESSION, + STR_MODIFY_WARNING, + STR_YES, + STR_ABOUT, + STR_ABOUT_VERSION, + STR_ABOUT_PRN, + STR_OK, + STR_INFO_1, + STR_INFO_2, + STR_DUPLICATING_PRESENTATION, + STR_DELETING_SLIDES, + STR_OPTIMIZING_GRAPHICS, + STR_CREATING_OLE_REPLACEMENTS, + + TK_Last, + TK_NotFound +}; + +PPPOptimizerTokenEnum TKGet( const rtl::OUString& ); +rtl::OUString TKGet( const PPPOptimizerTokenEnum ); + +#endif diff --git a/sdext/source/minimizer/pppoptimizeruno.cxx b/sdext/source/minimizer/pppoptimizeruno.cxx new file mode 100644 index 000000000000..b594fbd46a3d --- /dev/null +++ b/sdext/source/minimizer/pppoptimizeruno.cxx @@ -0,0 +1,125 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pppoptimizeruno.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 14:00:33 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include +#include +#include +#include +#include +#include + +using namespace ::rtl; +using namespace ::cppu; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::registry; + +extern "C" +{ + void SAL_CALL component_getImplementationEnvironment( + const sal_Char ** ppEnvTypeName, uno_Environment ** ) + { + *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; + } + + // ------------------------------------------------------------------------- + + sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey ) + { + if (pRegistryKey) + { + try + { + Reference< XRegistryKey > xNewKey; + sal_Int32 nPos; + + xNewKey = reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey( PPPOptimizer_getImplementationName() ); + xNewKey = xNewKey->createKey( OUString::createFromAscii( "/UNO/SERVICES" ) ); + const Sequence< OUString > & rSNL1 = PPPOptimizer_getSupportedServiceNames(); + const OUString * pArray1 = rSNL1.getConstArray(); + for ( nPos = rSNL1.getLength(); nPos--; ) + xNewKey->createKey( pArray1[nPos] ); + + xNewKey = reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey( PPPOptimizerDialog_getImplementationName() ); + xNewKey = xNewKey->createKey( OUString::createFromAscii( "/UNO/SERVICES" ) ); + const Sequence< OUString > & rSNL2 = PPPOptimizerDialog_getSupportedServiceNames(); + const OUString * pArray2 = rSNL2.getConstArray(); + for ( nPos = rSNL2.getLength(); nPos--; ) + xNewKey->createKey( pArray2[nPos] ); + + return sal_True; + } + catch (InvalidRegistryException &) + { + OSL_ENSURE( sal_False, "### InvalidRegistryException!" ); + } + } + return sal_False; + } + + // ------------------------------------------------------------------------- + + void* SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ ) + { + OUString aImplName( OUString::createFromAscii( pImplName ) ); + void* pRet = 0; + + if( pServiceManager ) + { + Reference< XSingleComponentFactory > xFactory; + if( aImplName.equals( PPPOptimizer_getImplementationName() ) ) + { + xFactory = createSingleComponentFactory( + PPPOptimizer_createInstance, + OUString::createFromAscii( pImplName ), + PPPOptimizer_getSupportedServiceNames() ); + + } + else if( aImplName.equals( PPPOptimizerDialog_getImplementationName() ) ) + { + xFactory = createSingleComponentFactory( + PPPOptimizerDialog_createInstance, + OUString::createFromAscii( pImplName ), + PPPOptimizerDialog_getSupportedServiceNames() ); + } + if( xFactory.is() ) + { + xFactory->acquire(); + pRet = xFactory.get(); + } + } + return pRet; + } +} diff --git a/sdext/source/minimizer/unodialog.cxx b/sdext/source/minimizer/unodialog.cxx new file mode 100644 index 000000000000..166858d55443 --- /dev/null +++ b/sdext/source/minimizer/unodialog.cxx @@ -0,0 +1,448 @@ + /************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: unodialog.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 14:01:14 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "unodialog.hxx" +#ifndef _COM_SUN_STAR_TEXT_XTEXTRANGE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_VIEW_XCONTROLACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XMESSAGEBOXFACTORY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_MESSAGEBOXBUTTONS_HPP_ +#include +#endif + +// ------------- +// - UnoDialog - +// ------------- + +using namespace ::rtl; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::view; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::script; + +UnoDialog::UnoDialog( const Reference< XComponentContext > &rxMSF, Reference< XFrame >& rxFrame ) : + mxMSF( rxMSF ), + mxController( rxFrame->getController() ), + mxDialogModel( mxMSF->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM( + "com.sun.star.awt.UnoControlDialogModel" ) ), mxMSF ), UNO_QUERY_THROW ), + mxDialogModelMultiPropertySet( mxDialogModel, UNO_QUERY_THROW ), + mxDialogModelPropertySet( mxDialogModel, UNO_QUERY_THROW ), + mxDialogModelMSF( mxDialogModel, UNO_QUERY_THROW ), + mxDialogModelNameContainer( mxDialogModel, UNO_QUERY_THROW ), + mxDialogModelNameAccess( mxDialogModel, UNO_QUERY_THROW ), + mxControlModel( mxDialogModel, UNO_QUERY_THROW ), + mxDialog( mxMSF->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM( + "com.sun.star.awt.UnoControlDialog" ) ), mxMSF ), UNO_QUERY_THROW ), + mxControl( mxDialog, UNO_QUERY_THROW ), + mbStatus( sal_False ) +{ + mxControl->setModel( mxControlModel ); + mxDialogControlContainer = Reference< XControlContainer >( mxDialog, UNO_QUERY_THROW ); + mxDialogComponent = Reference< XComponent >( mxDialog, UNO_QUERY_THROW ); + mxDialogWindow = Reference< XWindow >( mxDialog, UNO_QUERY_THROW ); + + Reference< XFrame > xFrame( mxController->getFrame() ); + Reference< XWindow > xContainerWindow( xFrame->getContainerWindow() ); + mxWindowPeer = Reference< XWindowPeer >( xContainerWindow, UNO_QUERY_THROW ); + createWindowPeer( mxWindowPeer ); +} + +// ----------------------------------------------------------------------------- + +UnoDialog::~UnoDialog() +{ + +} + +// ----------------------------------------------------------------------------- + +void UnoDialog::execute() +{ + mxDialogWindow->setEnable( sal_True ); + mxDialogWindow->setVisible( sal_True ); + mxDialog->execute(); +} + +void UnoDialog::endExecute( sal_Bool bStatus ) +{ + mbStatus = bStatus; + mxDialog->endExecute(); +} + +// ----------------------------------------------------------------------------- + +Reference< XWindowPeer > UnoDialog::createWindowPeer( Reference< XWindowPeer > xParentPeer ) + throw ( Exception ) +{ + mxDialogWindow->setVisible( sal_False ); + Reference< XToolkit > xToolkit( mxMSF->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.Toolkit" ) ), mxMSF ), UNO_QUERY_THROW ); + if ( !xParentPeer.is() ) + xParentPeer = xToolkit->getDesktopWindow(); + mxReschedule = Reference< XReschedule >( xToolkit, UNO_QUERY ); + mxControl->createPeer( xToolkit, xParentPeer ); +// xWindowPeer = xControl.getPeer(); + return mxControl->getPeer(); +} + +// ----------------------------------------------------------------------------- + +Reference< XInterface > UnoDialog::insertControlModel( const OUString& rServiceName, const OUString& rName, + const Sequence< OUString >& rPropertyNames, const Sequence< Any >& rPropertyValues ) +{ + Reference< XInterface > xControlModel; + try + { + xControlModel = mxDialogModelMSF->createInstance( rServiceName ); + Reference< XMultiPropertySet > xMultiPropSet( xControlModel, UNO_QUERY_THROW ); + xMultiPropSet->setPropertyValues( rPropertyNames, rPropertyValues ); + mxDialogModelNameContainer->insertByName( rName, Any( xControlModel ) ); + } + catch( Exception& ) + { + } + return xControlModel; +} + +// ----------------------------------------------------------------------------- + +void UnoDialog::setVisible( const OUString& rName, sal_Bool bVisible ) +{ + try + { + Reference< XInterface > xControl( mxDialogControlContainer->getControl( rName ), UNO_QUERY_THROW ); + Reference< XWindow > xWindow( xControl, UNO_QUERY_THROW ); + xWindow->setVisible( bVisible ); + } + catch ( Exception& ) + { + } +} + +// ----------------------------------------------------------------------------- + +sal_Bool UnoDialog::isHighContrast() +{ + sal_Bool bHighContrast = sal_False; + try + { + sal_Int32 nBackgroundColor; + if ( mxDialogModelPropertySet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "BackgroundColor" ) ) ) >>= nBackgroundColor ) + { + sal_uInt8 nLum( static_cast< sal_uInt8 >( ( static_cast< sal_uInt8 >( nBackgroundColor >> 16 ) * 28 + + static_cast< sal_uInt8 >( nBackgroundColor >> 8 ) * 151 + + static_cast< sal_uInt8 >( nBackgroundColor ) * 77 ) >> 8 ) ); + bHighContrast = nLum <= 38; + } + } + catch( Exception& ) + { + } + return bHighContrast; +} + +// ----------------------------------------------------------------------------- + +Reference< XButton > UnoDialog::insertButton( const OUString& rName, Reference< XActionListener > xActionListener, + const Sequence< OUString >& rPropertyNames, const Sequence< Any >& rPropertyValues ) +{ + Reference< XButton > xButton; + try + { + Reference< XInterface > xButtonModel( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlButtonModel" ) ), + rName, rPropertyNames, rPropertyValues ) ); + Reference< XPropertySet > xPropertySet( xButtonModel, UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Name" ) ), Any( rName ) ); + xButton = Reference< XButton >( mxDialogControlContainer->getControl( rName ), UNO_QUERY_THROW ); + + if ( xActionListener.is() ) + { + xButton->addActionListener( xActionListener ); + xButton->setActionCommand( rName ); + } + return xButton; + } + catch( Exception& ) + { + } + return xButton; +} + +// ----------------------------------------------------------------------------- + +Reference< XFixedText > UnoDialog::insertFixedText( const OUString& rName, const Sequence< OUString > rPropertyNames, const Sequence< Any > rPropertyValues ) +{ + Reference< XFixedText > xFixedText; + try + { + Reference< XPropertySet > xPropertySet( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlFixedTextModel" ) ), + rName, rPropertyNames, rPropertyValues ), UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Name" ) ), Any( rName ) ); + xFixedText = Reference< XFixedText >( mxDialogControlContainer->getControl( rName ), UNO_QUERY_THROW ); + } + catch ( Exception& ) + { + } + return xFixedText; +} + +// ----------------------------------------------------------------------------- + +Reference< XCheckBox > UnoDialog::insertCheckBox( const OUString& rName, const Sequence< OUString > rPropertyNames, const Sequence< Any > rPropertyValues ) +{ + Reference< XCheckBox > xCheckBox; + try + { + Reference< XPropertySet > xPropertySet( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlCheckBoxModel" ) ), + rName, rPropertyNames, rPropertyValues ), UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Name" ) ), Any( rName ) ); + xCheckBox = Reference< XCheckBox >( mxDialogControlContainer->getControl( rName ), UNO_QUERY_THROW ); + } + catch ( Exception& ) + { + } + return xCheckBox; +} + +// ----------------------------------------------------------------------------- + +Reference< XControl > UnoDialog::insertFormattedField( const OUString& rName, const Sequence< OUString > rPropertyNames, const Sequence< Any > rPropertyValues ) +{ + Reference< XControl > xControl; + try + { + Reference< XPropertySet > xPropertySet( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlFormattedFieldModel" ) ), + rName, rPropertyNames, rPropertyValues ), UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Name" ) ), Any( rName ) ); + xControl = Reference< XControl >( mxDialogControlContainer->getControl( rName ), UNO_QUERY_THROW ); + } + catch ( Exception& ) + { + } + return xControl; +} + +// ----------------------------------------------------------------------------- + +Reference< XComboBox > UnoDialog::insertComboBox( const OUString& rName, const Sequence< OUString > rPropertyNames, const Sequence< Any > rPropertyValues ) +{ + Reference< XComboBox > xControl; + try + { + Reference< XPropertySet > xPropertySet( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlComboBoxModel" ) ), + rName, rPropertyNames, rPropertyValues ), UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Name" ) ), Any( rName ) ); + xControl = Reference< XComboBox >( mxDialogControlContainer->getControl( rName ), UNO_QUERY_THROW ); + } + catch ( Exception& ) + { + } + return xControl; +} + +// ----------------------------------------------------------------------------- + +Reference< XRadioButton > UnoDialog::insertRadioButton( const OUString& rName, const Sequence< OUString > rPropertyNames, const Sequence< Any > rPropertyValues ) +{ + Reference< XRadioButton > xControl; + try + { + Reference< XPropertySet > xPropertySet( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlRadioButtonModel" ) ), + rName, rPropertyNames, rPropertyValues ), UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Name" ) ), Any( rName ) ); + xControl = Reference< XRadioButton >( mxDialogControlContainer->getControl( rName ), UNO_QUERY_THROW ); + } + catch ( Exception& ) + { + } + return xControl; +} + +// ----------------------------------------------------------------------------- + +Reference< XListBox > UnoDialog::insertListBox( const OUString& rName, const Sequence< OUString > rPropertyNames, const Sequence< Any > rPropertyValues ) +{ + Reference< XListBox > xControl; + try + { + Reference< XPropertySet > xPropertySet( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlListBoxModel" ) ), + rName, rPropertyNames, rPropertyValues ), UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Name" ) ), Any( rName ) ); + xControl = Reference< XListBox >( mxDialogControlContainer->getControl( rName ), UNO_QUERY_THROW ); + } + catch ( Exception& ) + { + } + return xControl; +} + +// ----------------------------------------------------------------------------- + +Reference< XControl > UnoDialog::insertImage( const OUString& rName, const Sequence< OUString > rPropertyNames, const Sequence< Any > rPropertyValues ) +{ + Reference< XControl > xControl; + try + { + Reference< XPropertySet > xPropertySet( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlImageControlModel" ) ), + rName, rPropertyNames, rPropertyValues ), UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Name" ) ), Any( rName ) ); + xControl = Reference< XControl >( mxDialogControlContainer->getControl( rName ), UNO_QUERY_THROW ); + } + catch ( Exception& ) + { + } + return xControl; +} + +// ----------------------------------------------------------------------------- + +void UnoDialog::setControlProperty( const OUString& rControlName, const OUString& rPropertyName, const Any& rPropertyValue ) +{ + try + { + if ( mxDialogModelNameAccess->hasByName( rControlName ) ) + { + Reference< XPropertySet > xPropertySet( mxDialogModelNameAccess->getByName( rControlName ), UNO_QUERY_THROW ); + xPropertySet->setPropertyValue( rPropertyName, rPropertyValue ); + } + } + catch ( Exception& ) + { + } +} + +// ----------------------------------------------------------------------------- + +void UnoDialog::showMessageBox( const OUString& rTitle, const OUString& rMessage, sal_Bool bErrorBox ) const +{ + try + { + Reference< XMessageBoxFactory > xMessageBoxFactory( mxMSF->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.Toolkit" ) ), mxMSF ), UNO_QUERY_THROW ); + if ( xMessageBoxFactory.is() ) + { + Rectangle aRectangle( 0, 0, 0, 0 ); + Reference< XMessageBox > xMessageBox( xMessageBoxFactory->createMessageBox( mxWindowPeer, aRectangle, + bErrorBox ? OUString( RTL_CONSTASCII_USTRINGPARAM( "errorbox" ) ) : OUString( RTL_CONSTASCII_USTRINGPARAM( "querybox" ) ), MessageBoxButtons::BUTTONS_OK, rTitle, rMessage ) ); + Reference< XComponent > xComponent( xMessageBox, UNO_QUERY_THROW ); + /* sal_Int16 nResult = */ xMessageBox->execute(); + xComponent->dispose(); + } + } + catch ( Exception& ) + { + } + +/* +public void showErrorMessageBox(XWindowPeer _xParentWindowPeer, String _sTitle, String _sMessage){ +XComponent xComponent = null; +try { + Object oToolkit = m_xMCF.createInstanceWithContext("com.sun.star.awt.Toolkit", m_xContext); + XMessageBoxFactory xMessageBoxFactory = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, oToolkit); + // rectangle may be empty if position is in the center of the parent peer + + Rectangle aRectangle = new Rectangle(); + XMessageBox xMessageBox = xMessageBoxFactory.createMessageBox(_xParentWindowPeer, aRectangle, "errorbox", com.sun.star.awt.MessageBoxButtons.BUTTONS_OK, _sTitle, _sMessage); + xComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class, xMessageBox); + if (xMessageBox != null){ + short nResult = xMessageBox.execute(); + } +} catch (com.sun.star.uno.Exception ex) { + ex.printStackTrace(System.out); +} +finally{ + //make sure always to dispose the component and free the memory! + if (xComponent != null){ + xComponent.dispose(); + } +}} +*/ +} + +// ----------------------------------------------------------------------------- + +Any UnoDialog::getControlProperty( const OUString& rControlName, const OUString& rPropertyName ) +{ + Any aRet; + try + { + if ( mxDialogModelNameAccess->hasByName( rControlName ) ) + { + Reference< XPropertySet > xPropertySet( mxDialogModelNameAccess->getByName( rControlName ), UNO_QUERY_THROW ); + aRet = xPropertySet->getPropertyValue( rPropertyName ); + } + } + catch ( Exception& ) + { + } + return aRet; +} + +// ----------------------------------------------------------------------------- + +void UnoDialog::enableControl( const OUString& rControlName ) +{ + const OUString sEnabled( RTL_CONSTASCII_USTRINGPARAM( "Enabled" ) ); + setControlProperty( rControlName, sEnabled, Any( sal_True ) ); +} + +// ----------------------------------------------------------------------------- + +void UnoDialog::disableControl( const OUString& rControlName ) +{ + const OUString sEnabled( RTL_CONSTASCII_USTRINGPARAM( "Enabled" ) ); + setControlProperty( rControlName, sEnabled, Any( sal_False ) ); +} + +// ----------------------------------------------------------------------------- diff --git a/sdext/source/minimizer/unodialog.hxx b/sdext/source/minimizer/unodialog.hxx new file mode 100644 index 000000000000..ee56406f2056 --- /dev/null +++ b/sdext/source/minimizer/unodialog.hxx @@ -0,0 +1,213 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: unodialog.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2007-05-11 14:01:25 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef UNODIALOG_HXX +#define UNODIALOG_HXX + +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_LANG_XMULTI_COMPONENT_FACTORY_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XINDEXCONTAINER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_FRAME_XFRAME_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_SCRIPT_XINVOCATION_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_BEANS_XMULTIPROPERTYSET_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XCONTROL_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XCONTROLMODEL_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XACTIONLISTENER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XTEXTLISTENER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XBUTTON_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XCHECKBOX_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XCOMBOBOX_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XTEXTCOMPONENT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XRADIOBUTTON_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XLISTBOX_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XFIXEDTEXT_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XCONTROLCONTAINER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XRESCHEDULE_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XDIALOG_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ +#include +#endif +#ifndef _CPPUHELPER_IMPLBASE1_HXX_ +#include +#endif +#ifndef _CPPUHELPER_IMPLBASE2_HXX_ +#include +#endif +#ifndef _CPPUHELPER_IMPLBASE3_HXX_ +#include +#endif + +// ------------- +// - UnoDialog - +// ------------- + +//////////////////////////////////////////////////////////////////////// + +class UnoDialog +{ +public : + + UnoDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame ); + ~UnoDialog(); + + void execute(); + void endExecute( sal_Bool bStatus ); + + com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > createWindowPeer( com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > xParentPeer ) + throw ( com::sun::star::uno::Exception ); + + com::sun::star::uno::Reference< com::sun::star::uno::XInterface > insertControlModel( const rtl::OUString& rServiceName, const rtl::OUString& rName, + const com::sun::star::uno::Sequence< rtl::OUString >& rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& rPropertyValues ); + + void setVisible( const rtl::OUString& rName, sal_Bool bVisible ); + + sal_Bool isHighContrast(); + + com::sun::star::uno::Reference< com::sun::star::awt::XButton > insertButton( const rtl::OUString& rName, + com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > xActionListener, const com::sun::star::uno::Sequence< rtl::OUString >& rPropertyNames, + const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& rPropertyValues ); + + com::sun::star::uno::Reference< com::sun::star::awt::XFixedText > insertFixedText( const rtl::OUString& rName, + const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); + + com::sun::star::uno::Reference< com::sun::star::awt::XCheckBox > insertCheckBox( const rtl::OUString& rName, + const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); + + com::sun::star::uno::Reference< com::sun::star::awt::XControl > insertFormattedField( const rtl::OUString& rName, + const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); + + com::sun::star::uno::Reference< com::sun::star::awt::XComboBox > insertComboBox( const rtl::OUString& rName, + const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); + + com::sun::star::uno::Reference< com::sun::star::awt::XRadioButton > insertRadioButton( const rtl::OUString& rName, + const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); + + com::sun::star::uno::Reference< com::sun::star::awt::XListBox > insertListBox( const rtl::OUString& rName, + const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); + + com::sun::star::uno::Reference< com::sun::star::awt::XControl > insertImage( const rtl::OUString& rName, + const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); + + void setControlProperty( const rtl::OUString& rControlName, const rtl::OUString& rPropertyName, const com::sun::star::uno::Any& rPropertyValue ); + com::sun::star::uno::Any getControlProperty( const rtl::OUString& rControlName, const rtl::OUString& rPropertyName ); + + void showMessageBox( const rtl::OUString& rTitle, const rtl::OUString& rMessage, sal_Bool bErrorBox ) const; + + void enableControl( const rtl::OUString& rControlName ); + void disableControl( const rtl::OUString& rControlName ); + + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > mxMSF; + com::sun::star::uno::Reference< com::sun::star::frame::XController > mxController; + com::sun::star::uno::Reference< com::sun::star::awt::XReschedule > mxReschedule; + + com::sun::star::uno::Reference< com::sun::star::uno::XInterface > mxDialogModel; + com::sun::star::uno::Reference< com::sun::star::beans::XMultiPropertySet > mxDialogModelMultiPropertySet; + com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > mxDialogModelPropertySet; + com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > mxDialogModelMSF; + com::sun::star::uno::Reference< com::sun::star::container::XNameContainer > mxDialogModelNameContainer; + com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > mxDialogModelNameAccess; + + com::sun::star::uno::Reference< com::sun::star::awt::XControlModel > mxControlModel; + + com::sun::star::uno::Reference< com::sun::star::awt::XDialog > mxDialog; + com::sun::star::uno::Reference< com::sun::star::awt::XControl > mxControl; + com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > mxWindowPeer; + + com::sun::star::uno::Reference< com::sun::star::awt::XControlContainer > mxDialogControlContainer; + com::sun::star::uno::Reference< com::sun::star::lang::XComponent > mxDialogComponent; + com::sun::star::uno::Reference< com::sun::star::awt::XWindow > mxDialogWindow; + + sal_Bool mbStatus; +}; + +#endif // UNODIALOG_HXX -- cgit From 266de9c8475cd0921e5e540efbebdacd617dc878 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 11 May 2007 13:40:34 +0000 Subject: fixed build list --- sdext/prj/build.lst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdext/prj/build.lst b/sdext/prj/build.lst index 430029283a60..d62f28a06ee4 100644 --- a/sdext/prj/build.lst +++ b/sdext/prj/build.lst @@ -1,5 +1,5 @@ dx sdext : NULL dx sdext usr1 - all sdext_mkout NULL -dx sdext\inc nmake - all sdext_inc NULL dx sdext\prj get - all sdext_prj NULL -dx sdext\util nmake - all sdext_util NULL +dx sdext\source\minimizer nmake - all sdext_minimizer NULL +dx sdext\util nmake - all sdext_util sdext_minimizer NULL -- cgit From e9667a4784b88e5a1ff6b2546c00549db943b694 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 11 May 2007 13:49:48 +0000 Subject: initial version --- sdext/source/minimizer/makefile.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk index 42568a533b1b..8c781fa35d10 100644 --- a/sdext/source/minimizer/makefile.mk +++ b/sdext/source/minimizer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: sj $ $Date: 2007-05-11 13:56:50 $ +# last change: $Author: sj $ $Date: 2007-05-11 14:49:48 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -33,8 +33,8 @@ # #************************************************************************* -PRJ=..$/..$/.. -PRJNAME=customres +PRJ=..$/.. +PRJNAME=sdext TARGET=SunPresentationMinimizer GEN_HID=FALSE -- cgit From 7a737dcf7dd5a8e038ff622c448390330643ae9b Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 16 May 2007 14:05:28 +0000 Subject: initial version --- .../registry/data/org/openoffice/Office/Addons.xcu | 77 ++++ .../data/org/openoffice/Office/ProtocolHandler.xcu | 10 + .../openoffice/Office/UI/ImpressWindowState.xcu | 28 ++ .../data/org/openoffice/Office/UI/makefile.mk | 82 ++++ .../Office/extension/SunPresentationMinimizer.xcu | 463 +++++++++++++++++++++ .../org/openoffice/Office/extension/makefile.mk | 85 ++++ .../data/org/openoffice/Office/makefile.mk | 83 ++++ .../Office/extension/SunPresentationMinimizer.xcs | 325 +++++++++++++++ 8 files changed, 1153 insertions(+) create mode 100644 sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu create mode 100644 sdext/source/minimizer/registry/data/org/openoffice/Office/ProtocolHandler.xcu create mode 100644 sdext/source/minimizer/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu create mode 100644 sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk create mode 100644 sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu create mode 100644 sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk create mode 100644 sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk create mode 100644 sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu new file mode 100644 index 000000000000..e60ceebc9081 --- /dev/null +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu @@ -0,0 +1,77 @@ + + + + + + + + vnd.com.sun.star.comp.SunPresentationMinimizer:execute + + + Minimize Presentation + Präsentation minimieren + + + _self + + + com.sun.star.presentation.PresentationDocument + + + + + + + + vnd.com.sun.star.comp.SunPresentationMinimizer:execute + + + + %origin%/../../../../../bitmaps/opt_16.png + + + %origin%/../../../../../bitmaps/opt_26.png + + + %origin%/../../../../../bitmaps/opt_16_h.png + + + %origin%/../../../../../bitmaps/opt_26_h.png + + + + + + + + vnd.com.sun.star.comp.SunPresentationMinimizer:execute + + + ~Minimize Presentation... + ~Präsentation minimieren... + + + _self + + + com.sun.star.presentation.PresentationDocument + + + + + vnd.com.sun.star.comp.SunPresentationMinimizer:about + + + ~Info über Sun Presentation Minimizer + About Sun Presentation Minimizer + + + _self + + + com.sun.star.presentation.PresentationDocument + + + + + diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/ProtocolHandler.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/ProtocolHandler.xcu new file mode 100644 index 000000000000..9baea2c363df --- /dev/null +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/ProtocolHandler.xcu @@ -0,0 +1,10 @@ + + + + + + vnd.com.sun.star.comp.SunPresentationMinimizer:* + + + + diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu new file mode 100644 index 000000000000..c1e033d99ab6 --- /dev/null +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu @@ -0,0 +1,28 @@ + + + + + + + false + + + Minimizer + Minimierer + + + true + + + false + + + 2 + + + + + \ No newline at end of file diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk new file mode 100644 index 000000000000..d8132767d20a --- /dev/null +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk @@ -0,0 +1,82 @@ +#************************************************************************* +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: sj $ $Date: 2007-05-16 15:03:06 $ +# +# The Contents of this file are made available subject to the terms of +# either of the following licenses +# +# - GNU Lesser General Public License Version 2.1 +# - Sun Industry Standards Source License Version 1.1 +# +# Sun Microsystems Inc., October, 2000 +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2000 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# +# Sun Industry Standards Source License Version 1.1 +# ================================================= +# The contents of this file are subject to the Sun Industry Standards +# Source License Version 1.1 (the "License"); You may not use this file +# except in compliance with the License. You may obtain a copy of the +# License at http://www.openoffice.org/license.html. +# +# Software provided under this License is provided on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +# See the License for the specific provisions governing your rights and +# obligations concerning the Software. +# +# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# +# Copyright: 2000 by Sun Microsystems, Inc. +# +# All Rights Reserved. +# +# Contributor(s): _______________________________________ +# +# +# +#************************************************************************* +PRJ=..$/..$/..$/..$/..$/..$/..$/.. + +PRJNAME=sdext +TARGET=data_ooOUI +PACKAGE=org.openoffice.Office.UI +EXTNAME=minimi + +.INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# --- Targets ------------------------------------------------------ + +XCUFILES= \ + ImpressWindowState.xcu + +MODULEFILES= + +LOCALIZEDFILES= \ + ImpressWindowState.xcu + +.INCLUDE : target.mk diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu new file mode 100644 index 000000000000..172caa198f38 --- /dev/null +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu @@ -0,0 +1,463 @@ + + + +]> + + + + %origin%/../../../../../../bitmaps + + + + %origin%/../../../../../../help/help_en-us.odt + %origin%/../../../../../../help/help_de.odt + + + + + Steps + Schritte + + + ~Help + ~Hilfe + + + ~Back + ~Zurück + + + ~Next + ~Weiter + + + ~Finish + ~Fertigstellen + + + Cancel + Abbrechen + + + Introduction + Einleitung + + + The Presentation Minimizer is used to reduce the file size of the current presentation. Images will be compressed and data, that is no longer needed, will be removed. + +At the last step of the wizard you can choose to apply the changes to the current presentation or to create an optimized new version of the presentation. + Mit dem Sun Presentation Minimizer können Sie die Dateigröße des aktuellen Dokumentes verkleinern. Dazu werden die Bilder komprimiert und nicht mehr benötigte Daten entfernt. + +Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Dokument durchgeführt werden sollen oder ob ein neues optimiertes Dokument angelegt werden soll. + + + ~Choose settings for the Presentation Minimization Wizard + ~Wählen Sie die Einstellungen für den Web-Assistenten Präsentations-Minimierungsassistenten aus + + + ~Delete + ~Entfernen + + + Choose settings for optimizing pictures and graphics + Wählen Sie die Einstellungen, um Bilder und Grafiken zu optimieren + + + Graphics + Grafiken + + + ~Lossless compression + ~Verlustfreie Komprimierung + + + ~JPEG compression + ~JPEG-Komprimierung + + + ~Quality + ~Qualität + + + ~Delete cropped graphic areas + Abgeschnittene Grafikbereiche ~entfernen + + + Reduce ~image resolution + Graphik~auflösung verringern + + + 0;<no change> + 0;<keine Änderung>> + + + 90;90 DPI (screen resolution) + 90;90 DPI (Bildschirmauflösung) + + + 150;150 DPI (projector resolution) + 150;150 DPI (Präsentationsauflösung) + + + 300;300 DPI (print resolution) + 300;300 DPI (Druckauflösung + + + ~Break links to external graphics + ~Verknüpfungen zu externen Graphiken lösen + + + OLE Objects + OLE-Objekte + + + Choose settings for replacing OLE objects + Wählen Sie die Einstellungen, um OLE-Objekte zu ersetzen + + + Create static replacement graphics for OLE objects + ~Erzeuge statische Ersatzdarstellungen für OLE-Objekte + + + For ~all OLE objects + Für -alle OLE-Objekte + + + ~For OLE objects not based on OpenDocument format + Fü~r OLE-Objekte, die nicht auf dem OpenDocument Format basieren + + + The current presentation contains no OLE objects. + Die aktuelle Präsentation enthält keine OLE-Objekte. + + + Slides + Folien + + + Choose which slides to delete + Wählen Sie die Folien, die gelöscht werden sollen + + + Master Pages + Folienmaster + + + Delete unused ~master pages + Nicht verwendete ~Masterseiten löschen + + + Notes pages + Notizseiten + + + Delete ~notes + ~Notizen löschen + + + Delete hidden ~slides + ~Ausgeblendete Folien löschen + + + Delete slides that are not used for the ~custom slide show + Folien löschen, die nicht zur ~individuellen Bildschirmpräsentation gehören + + + Summary + Zusammenfassung + + + Choose where to apply the following changes + Wählen Sie, wo die aufgeführten Änderungen angewendet werden sollen + + + Progress + Fortschritt + + + Objects optimized + Objekte optimiert + + + ~Apply changes to current presentation + Änderungen auf ~aktuelles Dokument anwenden + + + ~Open newly created presentation + N~eu erzeugtes Dokument öffnen + + + ~Save settings as + ~Einstellungen speichern unter + + + Duplicate presentation before applying changes + Dokument duplizieren bevor die Änderungen angewendet werden + + + Delete %SLIDES slides + %SLIDES Folien löschen. + + + Optimize %IMAGES graphics to %QUALITY% JPEG quality at %RESOLUTION DPI. + %IMAGES Bilder auf %QUALITY% JPEG Qualität bei %RESOLUTION DPI optimieren. + + + Create replacement graphics for %OLE objects. + Ersatzdarstellung für %OLE Objekte erzeugen. + + + Current file size: + Aktuelle Dateigröße: + + + Estimated new file size: + Geschätzte neue Dateigröße: + + + %1 MB + %1 MB + + + My Settings + Meine Einstellungen + + + default session + Grundeinstellung + + + The optimization will modify the current document. Do you want to continue? + Die Optimierung wird das aktuelle Dokument ändern. Wollen Sie fortfahren? + + + ~Yes + ~Ja + + + About &ProductName; + Info über &ProductName; + + + &ProductName; &ProductVersion; + &ProductName; &ProductVersion; + + + Copyright © 2006 Sun Microsystems, Inc. All rights reserved. + +U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. + +Use is subject to license terms. + +This distribution may include materials developed by third parties. Sun, Sun Microsystems, the Sun logo, Java and StarOffice are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. + Copyright © 2006 Sun Microsystems, Inc. Tous droits réservés. + +L'utilisation est soumise aux termes du contrat de licence. + +Cette distribution peut comprendre des composants développés par des tierces parties. + +Sun, Sun Microsystems, le logo Sun, Java et StarOffice sont des marques de fabrique ou des marques déposées de Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays. + + + OK + OK + + + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to approximated %NEWFILESIZE MB. + Das Dokument '%TITLE' wurde erfolgreich vom %EXTENSIONNAME überarbeitet. Die Dateigröße wurde dabei von %OLDFILESIZE MB auf in etwa %NEWFILESIZE MB geändert. + + + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed to approximated %NEWFILESIZE MB. + Das Dokument '%TITLE' wurde erfolgreich vom %EXTENSIONNAME überarbeitet. Die neue Dateigröße beträgt in etwa %NEWFILESIZE MB. + + + Duplicating presentation... + Dokument duplizieren... + + + Deleting slides... + Folien löschen... + + + Optimizing graphics... + Grafiken optimieren... + + + Creating replacement graphics for OLE objects... + Ersatzdarstellungen für OLE-Objekte erzeugen... + + + + + Projector optimized + Optimiert für Präsentation + + + true + + + 50 + + + true + + + 150 + + + true + + + true + + + 0 + + + true + + + true + + + false + + + true + + + true + + + + + + + Screen optimized (smallest file size) + Optimiert für Bildschirm (kleinste Dateigröße) + + + true + + + 25 + + + true + + + 90 + + + true + + + true + + + 0 + + + true + + + true + + + false + + + true + + + true + + + + + Projector optimized + Optimiert für Präsentation + + + true + + + 50 + + + true + + + 150 + + + true + + + true + + + 0 + + + true + + + true + + + false + + + true + + + true + + + + + Print optimized + Optimiert für Druck + + + true + + + 75 + + + true + + + 300 + + + true + + + true + + + 0 + + + true + + + true + + + false + + + true + + + true + + + + + diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk new file mode 100644 index 000000000000..a33cb189ca6c --- /dev/null +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk @@ -0,0 +1,85 @@ +#************************************************************************* +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: sj $ $Date: 2007-05-16 15:02:16 $ +# +# The Contents of this file are made available subject to the terms of +# either of the following licenses +# +# - GNU Lesser General Public License Version 2.1 +# - Sun Industry Standards Source License Version 1.1 +# +# Sun Microsystems Inc., October, 2000 +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2000 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# +# Sun Industry Standards Source License Version 1.1 +# ================================================= +# The contents of this file are subject to the Sun Industry Standards +# Source License Version 1.1 (the "License"); You may not use this file +# except in compliance with the License. You may obtain a copy of the +# License at http://www.openoffice.org/license.html. +# +# Software provided under this License is provided on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +# See the License for the specific provisions governing your rights and +# obligations concerning the Software. +# +# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# +# Copyright: 2000 by Sun Microsystems, Inc. +# +# All Rights Reserved. +# +# Contributor(s): _______________________________________ +# +# +# +#************************************************************************* +PRJ=..$/..$/..$/..$/..$/..$/..$/.. + +PRJNAME=sdext +TARGET=data_ooOfficeext +PACKAGE=org.openoffice.Office.extension +EXTNAME=minimi + +.INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +XCSROOT=$(PRJ)$/source$/minimizer +ABSXCSROOT=$(PRJ)$/source$/minimizer + +# --- Targets ------------------------------------------------------ + +XCUFILES= \ + SunPresentationMinimizer.xcu + +MODULEFILES= + +LOCALIZEDFILES= \ + SunPresentationMinimizer.xcu + +.INCLUDE : target.mk diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk new file mode 100644 index 000000000000..2ce39ec32fba --- /dev/null +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk @@ -0,0 +1,83 @@ +#************************************************************************* +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: sj $ $Date: 2007-05-16 15:01:34 $ +# +# The Contents of this file are made available subject to the terms of +# either of the following licenses +# +# - GNU Lesser General Public License Version 2.1 +# - Sun Industry Standards Source License Version 1.1 +# +# Sun Microsystems Inc., October, 2000 +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2000 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# +# Sun Industry Standards Source License Version 1.1 +# ================================================= +# The contents of this file are subject to the Sun Industry Standards +# Source License Version 1.1 (the "License"); You may not use this file +# except in compliance with the License. You may obtain a copy of the +# License at http://www.openoffice.org/license.html. +# +# Software provided under this License is provided on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +# See the License for the specific provisions governing your rights and +# obligations concerning the Software. +# +# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# +# Copyright: 2000 by Sun Microsystems, Inc. +# +# All Rights Reserved. +# +# Contributor(s): _______________________________________ +# +# +# +#************************************************************************* +PRJ=..$/..$/..$/..$/..$/..$/.. + +PRJNAME=sdext +TARGET=data_ooOffice +PACKAGE=org.openoffice.Office +EXTNAME=minimi + +.INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# --- Targets ------------------------------------------------------ + +XCUFILES= \ + Addons.xcu \ + ProtocolHandler.xcu + +MODULEFILES= + +LOCALIZEDFILES= \ + Addons.xcu + +.INCLUDE : target.mk diff --git a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs new file mode 100644 index 000000000000..98ec2216044c --- /dev/null +++ b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs @@ -0,0 +1,325 @@ + + + + + + Describes the Presentation Optimization Wizard settings of one session + + + + Specifies the name settings name + + Default + + + + Specifies if JPEG compression is being used + + true + + + + Specifies quality of the JPG export. A higher value results in higher quality and file size. + + + + + Represents lowest value that can be used. The lower the value, the less good is the compression quality and the bigger is be the file size. + + + + + Represents highest value that can be used. The higher the value, the better is the compression quality and the smaller is the file size. + + + + 45 + + + + Specifies if the crop area of a picture has to be removed + + true + + + + Specifies the Image Resolution that should be used in dpi. A value of zero determines that the image resolution should not be changed. + + 150 + + + + Specifies if linked graphics are to be embedded + + true + + + + Specifies if OLE Objects are converted to Graphic objects at all + + true + + + + Specifies the compression type that is being used,. + + + Each + Alien + + 0 + + + + Specifies if unused Master Pages are being deleted + + true + + + + Specifies if hidden Slides are being deleted + + true + + + + Specifies if Notes Pages are being deleted + + false + + + + Specifies if the optimization is done on a new document. + + true + + + + Specifies if the newly created document is opened automatically. + + true + + + + + + + + + Sun Presentation Minimizer + + + Steps + + + ~Help + + + ~Back + + + ~Next + + + ~Finish + + + Cancel + + + Introduction + + + The Presentation Minimizer is used to reduce the file size of the current presentation. Images will be compressed and data, that is no longer needed, will be removed. + +At the last step of the wizard you can choose to apply the changes to the current presentation or to create an optimized new version of the presentation. + + + ~Choose settings for the Presentation Minimization Wizard + + + ~Delete + + + Choose settings for optimizing pictures and graphics + + + Graphics + + + ~Lossless compression + + + ~JPEG compression + + + ~Quality + + + ~Delete cropped graphic areas + + + ~Image Resolution + + + 0;<no change> + + + 90;90 DPI (screen resolution) + + + 150;150 DPI (projector resolution) + + + 300;300 DPI (print resolution) + + + ~Break links to external graphics + + + OLE Objects + + + Choose settings for replacing OLE objects + + + Create static replacement graphics for OLE objects + + + For ~all OLE objects + + + ~For OLE objects not based on OpenDocument format + + + The current presentation contains no OLE objects. + + + Slides + + + Choose which slides to delete + + + Master Pages + + + Delete unused ~master pages + + + Notes pages + + + Delete ~notes + + + Delete hidden ~slides + + + Delete slides that are not used for the ~custom slide show + + + Summary + + + Choose where to apply the following changes + + + Progress + + + Objects optimized + + + ~Apply changes to current presentation + + + ~Open newly created presentation + + + ~Save settings as + + + Duplicate presentation before applying changes + + + Delete %SLIDES slides + + + Optimize %IMAGES graphics to %QUALITY% JPEG quality at %RESOLUTION DPI. + + + Create replacement graphics for %OLE objects. + + + Current file size: + + + Estimated new file size: + + + %1 MB + + + My Settings + + + default session + + + The optimization will modify the current document. Do you want to continue? + + + ~Yes + + + About + + + Sun Presentation Minimizer + + + Copyright © 2006 Sun Microsystems, Inc. All rights reserved. + +U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. + +Use is subject to license terms. + +This distribution may include materials developed by third parties. Sun, Sun Microsystems, the Sun logo, Java and StarOffice are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. + + + OK + + + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to approximated %NEWFILESIZE MB. + + + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed to approximated %NEWFILESIZE MB. + + + Duplicating presentation... + + + Deleting slides... + + + Optimizing graphics... + + + Creating replacement graphics for OLE objects... + + + + + describes the name of the last used settings + + + + + + List of the saved Presentation Optimization Wizard settings + + + + + \ No newline at end of file -- cgit From cf3a30062c650b14585eca649e73e99e0cd15490 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 16 May 2007 14:07:46 +0000 Subject: minor changes --- sdext/source/minimizer/configurationaccess.cxx | 6 +- sdext/source/minimizer/description.xml | 4 +- sdext/source/minimizer/graphiccollector.cxx | 110 ++++++++++++++++++++- sdext/source/minimizer/graphiccollector.hxx | 10 +- sdext/source/minimizer/makefile.mk | 79 ++++++++++----- sdext/source/minimizer/manifest.xml | 10 +- sdext/source/minimizer/optimizerdialogcontrols.cxx | 25 ++--- 7 files changed, 190 insertions(+), 54 deletions(-) diff --git a/sdext/source/minimizer/configurationaccess.cxx b/sdext/source/minimizer/configurationaccess.cxx index 3f8ebc2ccadb..8426fc868520 100644 --- a/sdext/source/minimizer/configurationaccess.cxx +++ b/sdext/source/minimizer/configurationaccess.cxx @@ -4,9 +4,9 @@ * * $RCSfile: configurationaccess.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:49:41 $ + * last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -71,7 +71,7 @@ static const OUString& GetConfigurationProviderServiceName (void) static const OUString& GetPathToConfigurationRoot (void) { static const OUString sPathToConfigurationRoot ( - RTL_CONSTASCII_USTRINGPARAM("org.openoffice.Office.SunPresentationMinimizer")); + RTL_CONSTASCII_USTRINGPARAM("org.openoffice.Office.extension.SunPresentationMinimizer")); return sPathToConfigurationRoot; } diff --git a/sdext/source/minimizer/description.xml b/sdext/source/minimizer/description.xml index 2b217c8852d7..f7b18df50a83 100644 --- a/sdext/source/minimizer/description.xml +++ b/sdext/source/minimizer/description.xml @@ -3,9 +3,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink"> - - + - diff --git a/sdext/source/minimizer/graphiccollector.cxx b/sdext/source/minimizer/graphiccollector.cxx index a351e04dbde5..14d533d3c4d3 100644 --- a/sdext/source/minimizer/graphiccollector.cxx +++ b/sdext/source/minimizer/graphiccollector.cxx @@ -4,9 +4,9 @@ * * $RCSfile: graphiccollector.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:50:36 $ + * last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -374,3 +374,109 @@ void GraphicCollector::CollectGraphics( const Reference< XComponentContext >& rx } } +void ImpCountGraphicObjects( const Reference< XComponentContext >& rxMSF, const Reference< XShapes >& rxShapes, const GraphicSettings& rGraphicSettings, sal_Int32& rnGraphics ) +{ + for ( sal_Int32 i = 0; i < rxShapes->getCount(); i++ ) + { + try + { + const OUString sGraphicObjectShape( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.GraphicObjectShape" ) ); + const OUString sGroupShape( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.GroupShape" ) ); + Reference< XShape > xShape( rxShapes->getByIndex( i ), UNO_QUERY_THROW ); + const OUString sShapeType( xShape->getShapeType() ); + if ( sShapeType == sGroupShape ) + { + Reference< XShapes > xShapes( xShape, UNO_QUERY_THROW ); + ImpCountGraphicObjects( rxMSF, xShapes, rGraphicSettings, rnGraphics ); + continue; + } + + if ( sShapeType == sGraphicObjectShape ) + { + rnGraphics++; + } + + // now check for a fillstyle + Reference< XPropertySet > xEmptyPagePropSet; + Reference< XPropertySet > xShapePropertySet( xShape, UNO_QUERY_THROW ); + awt::Size aLogicalSize( xShape->getSize() ); + + FillStyle eFillStyle; + if ( xShapePropertySet->getPropertyValue( TKGet( TK_FillStyle ) ) >>= eFillStyle ) + { + if ( eFillStyle == FillStyle_BITMAP ) + { + rnGraphics++; + } + } + } + catch( Exception& ) + { + } + } +} + +void ImpCountBackgroundGraphic( const Reference< XComponentContext >& /* rxMSF */, const Reference< XDrawPage >& rxDrawPage, + const GraphicSettings& /* rGraphicSettings */, sal_Int32& rnGraphics ) +{ + try + { + awt::Size aLogicalSize( 28000, 21000 ); + Reference< XPropertySet > xPropertySet( rxDrawPage, UNO_QUERY_THROW ); + xPropertySet->getPropertyValue( TKGet( TK_Width ) ) >>= aLogicalSize.Width; + xPropertySet->getPropertyValue( TKGet( TK_Height ) ) >>= aLogicalSize.Height; + + Reference< XPropertySet > xBackgroundPropSet; + if ( xPropertySet->getPropertyValue( TKGet( TK_Background ) ) >>= xBackgroundPropSet ) + { + FillStyle eFillStyle; + if ( xBackgroundPropSet->getPropertyValue( TKGet( TK_FillStyle ) ) >>= eFillStyle ) + { + if ( eFillStyle == FillStyle_BITMAP ) + { + rnGraphics++; + } + } + } + } + catch( Exception& ) + { + } +} + +void GraphicCollector::CountGraphics( const Reference< XComponentContext >& rxMSF, const Reference< XModel >& rxModel, + const GraphicSettings& rGraphicSettings, sal_Int32& rnGraphics ) +{ + try + { + sal_Int32 i; + Reference< XDrawPagesSupplier > xDrawPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); + for ( i = 0; i < xDrawPages->getCount(); i++ ) + { + Reference< XDrawPage > xDrawPage( xDrawPages->getByIndex( i ), UNO_QUERY_THROW ); + ImpCountBackgroundGraphic( rxMSF, xDrawPage, rGraphicSettings, rnGraphics ); + Reference< XShapes > xDrawShapes( xDrawPage, UNO_QUERY_THROW ); + ImpCountGraphicObjects( rxMSF, xDrawShapes, rGraphicSettings, rnGraphics ); + + Reference< XPresentationPage > xPresentationPage( xDrawPage, UNO_QUERY_THROW ); + Reference< XDrawPage > xNotesPage( xPresentationPage->getNotesPage() ); + ImpCountBackgroundGraphic( rxMSF, xNotesPage, rGraphicSettings, rnGraphics ); + Reference< XShapes > xNotesShapes( xNotesPage, UNO_QUERY_THROW ); + ImpCountGraphicObjects( rxMSF, xNotesShapes, rGraphicSettings, rnGraphics ); + } + Reference< XMasterPagesSupplier > xMasterPagesSupplier( rxModel, UNO_QUERY_THROW ); + Reference< XDrawPages > xMasterPages( xMasterPagesSupplier->getMasterPages(), UNO_QUERY_THROW ); + for ( i = 0; i < xMasterPages->getCount(); i++ ) + { + Reference< XDrawPage > xMasterPage( xMasterPages->getByIndex( i ), UNO_QUERY_THROW ); + ImpCountBackgroundGraphic( rxMSF, xMasterPage, rGraphicSettings, rnGraphics ); + Reference< XShapes > xMasterPageShapes( xMasterPage, UNO_QUERY_THROW ); + ImpCountGraphicObjects( rxMSF, xMasterPageShapes, rGraphicSettings, rnGraphics ); + } + } + catch ( Exception& ) + { + } +} + diff --git a/sdext/source/minimizer/graphiccollector.hxx b/sdext/source/minimizer/graphiccollector.hxx index 9ad183051248..a85013b208ca 100644 --- a/sdext/source/minimizer/graphiccollector.hxx +++ b/sdext/source/minimizer/graphiccollector.hxx @@ -4,9 +4,9 @@ * * $RCSfile: graphiccollector.hxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:50:44 $ + * last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -113,9 +113,13 @@ class GraphicCollector static const com::sun::star::awt::DeviceInfo& GetDeviceInfo( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxFact ); static com::sun::star::awt::Size GetOriginalSize( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, const com::sun::star::uno::Reference< com::sun::star::graphic::XGraphic >& rxGraphic ); + + // collecting graphic instances, the downside of this method is that every graphic is swapped in static void CollectGraphics( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& rxModel, const GraphicSettings& rGraphicSettings, std::vector< GraphicEntity >& io_rGraphicList ); - + // counting graphics without swapping in graphics + static void CountGraphics( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& rxModel, + const GraphicSettings& rGraphicSettings, sal_Int32& rGraphics ); }; // -------------------- diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk index 8c781fa35d10..3d190e0adc7d 100644 --- a/sdext/source/minimizer/makefile.mk +++ b/sdext/source/minimizer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: sj $ $Date: 2007-05-11 14:49:48 $ +# last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,12 +37,19 @@ PRJ=..$/.. PRJNAME=sdext TARGET=SunPresentationMinimizer GEN_HID=FALSE +EXTNAME=minimi ENABLE_EXCEPTIONS=TRUE # --- Settings ---------------------------------- .INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +DESCRIPTION:=$(MISC)$/SunPresentationMinimizer$/description.xml + +PACKLICS:=$(foreach,i,$(alllangiso) $(MISC)$/SunPresentationMinimizer$/registry$/LICENSE_$i) + DLLPRE= common_build_zip= @@ -79,22 +86,23 @@ SHL1DEF= $(MISC)$/$(SHL1TARGET).def SHL1VERSIONMAP= exports.map DEF1NAME= $(SHL1TARGET) +COMPONENT_MERGED_XCU= \ + $(MISC)$/SunPresentationMinimizer$/registry$/data$/org$/openoffice$/Office$/Addons.xcu \ + $(MISC)$/SunPresentationMinimizer$/registry$/data$/org$/openoffice$/Office$/extension$/SunPresentationMinimizer.xcu \ + $(MISC)$/SunPresentationMinimizer$/registry$/data$/org$/openoffice$/Office$/UI$/ImpressWindowState.xcu \ + COMPONENT_FILES= \ - $(MISC)$/SunPresentationMinimizer$/registration$/license_en-US.txt \ - $(MISC)$/SunPresentationMinimizer$/registration$/license_de-DE.txt \ - $(MISC)$/SunPresentationMinimizer$/configuration$/SunPresentationMinimizer.xcs \ - $(MISC)$/SunPresentationMinimizer$/configuration$/SunPresentationMinimizer.xcu \ - $(MISC)$/SunPresentationMinimizer$/configuration$/Addons.xcu \ - $(MISC)$/SunPresentationMinimizer$/configuration$/ImpressWindowState.xcu \ - $(MISC)$/SunPresentationMinimizer$/configuration$/ProtocolHandler.xcu \ - $(MISC)$/SunPresentationMinimizer$/description.xml + $(MISC)$/SunPresentationMinimizer$/registry$/schema$/org$/openoffice$/Office$/extension$/SunPresentationMinimizer.xcs \ + $(MISC)$/SunPresentationMinimizer$/registry$/data$/org$/openoffice$/Office$/ProtocolHandler.xcu COMPONENT_BITMAPS= \ $(MISC)$/SunPresentationMinimizer$/bitmaps$/aboutlogo.png \ $(MISC)$/SunPresentationMinimizer$/bitmaps$/opt_16.png \ $(MISC)$/SunPresentationMinimizer$/bitmaps$/opt_26.png \ $(MISC)$/SunPresentationMinimizer$/bitmaps$/opt_16_h.png \ - $(MISC)$/SunPresentationMinimizer$/bitmaps$/opt_26_h.png + $(MISC)$/SunPresentationMinimizer$/bitmaps$/opt_26_h.png \ + $(MISC)$/SunPresentationMinimizer$/bitmaps$/minimizepresi_80.png \ + $(MISC)$/SunPresentationMinimizer$/bitmaps$/minimizepresi_80_h.png COMPONENT_HELP= \ $(MISC)$/SunPresentationMinimizer$/help$/help_de.odt \ @@ -106,7 +114,7 @@ COMPONENT_MANIFEST= \ COMPONENT_LIBRARY= \ $(MISC)$/SunPresentationMinimizer$/SunPresentationMinimizer.uno$(DLLPOST) -ZIP1DEPN= $(COMPONENT_MANIFEST) $(COMPONENT_FILES) $(COMPONENT_BITMAPS) $(COMPONENT_HELP) $(COMPONENT_LIBRARY) +ZIP1DEPS= $(PACKLICS) $(DESCRIPTION) $(COMPONENT_MANIFEST) $(COMPONENT_FILES) $(COMPONENT_BITMAPS) $(COMPONENT_HELP) $(COMPONENT_LIBRARY) $(COMPONENT_MERGED_XCU) ZIP1TARGET= sun-presentation-minimizer ZIP1DIR= $(MISC)$/SunPresentationMinimizer ZIP1EXT= .oxt @@ -118,24 +126,43 @@ ZIP1LIST= * .INCLUDE : target.mk $(COMPONENT_MANIFEST) : $$(@:f) - @-$(MKDIRHIER) $(@:d) - +$(TYPE) $< | $(SED) "s/SHARED_EXTENSION/$(DLLPOST)/" > $@ - -$(COMPONENT_FILES) : $$(@:f) - @-$(MKDIRHIER) $(@:d) - +$(COPY) $< $@ + @@-$(MKDIRHIER) $(@:d) + $(TYPE) $< | $(SED) "s/SHARED_EXTENSION/$(DLLPOST)/" > $@ $(COMPONENT_BITMAPS) : bitmaps$/$$(@:f) - @-$(MKDIRHIER) $(@:d) - +$(COPY) $< $@ + @@-$(MKDIRHIER) $(@:d) + $(COPY) $< $@ $(COMPONENT_HELP) : help$/$$(@:f) - @-$(MKDIRHIER) $(@:d) - +$(COPY) $< $@ + @@-$(MKDIRHIER) $(@:d) + $(COPY) $< $@ $(COMPONENT_LIBRARY) : $(DLLDEST)$/$$(@:f) - @-$(MKDIRHIER) $(@:d) - +$(COPY) $< $@ + @@-$(MKDIRHIER) $(@:d) + $(COPY) $< $@ + +$(PACKLICS) : $(SOLARBINDIR)$/oxt_templatepack01$/LICENSE$$(@:b:s/_/./:e:s/./_/)$$(@:e) + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ + +$(MISC)$/SunPresentationMinimizer$/registry$/data$/%.xcu : $(MISC)$/$(EXTNAME)$/merge$/%.xcu + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ + +$(MISC)$/SunPresentationMinimizer$/%.xcu : %.xcu + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ + +$(MISC)$/SunPresentationMinimizer$/%.xcs : %.xcs + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ + +.INCLUDE .IGNORE : $(MISC)$/$(TARGET)_lang_track.mk +.IF "$(LAST_WITH_LANG)"!="$(WITH_LANG)" +PHONYDESC=.PHONY +.ENDIF # "$(LAST_WITH_LANG)"!="$(WITH_LANG)" +$(DESCRIPTION) $(PHONYDESC) : $$(@:f) + @@-$(MKDIRHIER) $(@:d) + $(PERL) $(SOLARENV)$/bin$/licinserter.pl description.xml registry/LICENSE_xxx $@ + @echo LAST_WITH_LANG=$(WITH_LANG) > $(MISC)$/$(TARGET)_lang_track.mk -# remove this once ZIPnDEPN exists -$(ZIP1TARGETN) : $(COMPONENT_MANIFEST) $(COMPONENT_FILES) $(COMPONENT_BITMAPS) $(COMPONENT_HELP) $(COMPONENT_LIBRARY) diff --git a/sdext/source/minimizer/manifest.xml b/sdext/source/minimizer/manifest.xml index 52fd36356cf3..537a80a7ff7c 100644 --- a/sdext/source/minimizer/manifest.xml +++ b/sdext/source/minimizer/manifest.xml @@ -4,13 +4,13 @@ + manifest:full-path="registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs"/> + manifest:full-path="registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu"/> + manifest:full-path="registry/data/org/openoffice/Office/Addons.xcu"/> + manifest:full-path="registry/data/org/openoffice/Office/ProtocolHandler.xcu"/> + manifest:full-path="registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu"/> diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index 74fc78d93f37..1344da4a1825 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:57:48 $ + * last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -658,13 +658,14 @@ void OptimizerDialog::UpdateControlStatesPage4() } } } + sal_Int16 nInt16 = 0; + getControlProperty( TKGet( TK_CheckBox1Pg4 ), TKGet( TK_State ) ) >>= nInt16; setControlProperty( TKGet( TK_CheckBox1Pg4 ), TKGet( TK_Enabled ), Any( bSaveSettingsEnabled ) ); - setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_Enabled ), Any( bSaveSettingsEnabled && GetConfigProperty( TK_CheckBox1Pg4, sal_False ) ) ); + setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_Enabled ), Any( bSaveSettingsEnabled && nInt16 ) ); std::vector< OUString > aSummaryStrings; // taking care of deleted slides - sal_Int16 nInt16 = 0; sal_Int32 nDeletedSlides = 0; rtl::OUString aCustomShowName; if ( getControlProperty( TKGet( TK_CheckBox3Pg3 ), TKGet( TK_State ) ) >>= nInt16 ) @@ -759,14 +760,14 @@ void OptimizerDialog::UpdateControlStatesPage4() } // generating graphic compression info - std::vector< GraphicCollector::GraphicEntity > aGraphicList; -// sal_Bool bJPEGCompression( GetConfigProperty( TK_JPEGCompression, sal_False ) ); + sal_Int32 nGraphics = 0; + sal_Bool bJPEGCompression( GetConfigProperty( TK_JPEGCompression, sal_False ) ); sal_Int32 nJPEGQuality( GetConfigProperty( TK_JPEGQuality, (sal_Int32)90 ) ); sal_Int32 nImageResolution( GetConfigProperty( TK_ImageResolution, (sal_Int32)0 ) ); -// GraphicSettings aGraphicSettings( bJPEGCompression, nJPEGQuality, GetConfigProperty( TK_RemoveCropArea, sal_False ), -// nImageResolution, GetConfigProperty( TK_EmbedLinkedGraphics, sal_True ) ); -// GraphicCollector::CollectGraphics( mxMSF, mxController->getModel(), aGraphicSettings, aGraphicList ); -// if ( aGraphicList.size() > 1 ) + GraphicSettings aGraphicSettings( bJPEGCompression, nJPEGQuality, GetConfigProperty( TK_RemoveCropArea, sal_False ), + nImageResolution, GetConfigProperty( TK_EmbedLinkedGraphics, sal_True ) ); + GraphicCollector::CountGraphics( mxMSF, mxController->getModel(), aGraphicSettings, nGraphics ); + if ( nGraphics > 1 ) { OUString aStr( getString( STR_OPTIMIZE_IMAGES ) ); OUString aImagePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%IMAGES" ) ); @@ -774,7 +775,7 @@ void OptimizerDialog::UpdateControlStatesPage4() OUString aResolutionPlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%RESOLUTION" ) ); sal_Int32 i = aStr.indexOf( aImagePlaceholder, 0 ); if ( i >= 0 ) - aStr = aStr.replaceAt( i, aImagePlaceholder.getLength(), OUString::valueOf( static_cast< sal_Int32 >( aGraphicList.size() ) ) ); + aStr = aStr.replaceAt( i, aImagePlaceholder.getLength(), OUString::valueOf( nGraphics ) ); sal_Int32 j = aStr.indexOf( aQualityPlaceholder, 0 ); if ( j >= 0 ) @@ -893,7 +894,7 @@ void OptimizerDialog::InitPage4() aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg4 ), OUString(), PAGE_POS_X + 6, DIALOG_HEIGHT - 86, PAGE_WIDTH - 12, 8, sal_True, sal_False, mnTabIndex++ ) ); aControlList.push_back( TKGet( TK_Progress ) ); aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator1Pg4 ), 0, PAGE_POS_X + 6, DIALOG_HEIGHT - 58, PAGE_WIDTH - 12, 1 ) ); - aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg4 ), mxItemListener, getString( STR_SAVE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 48, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg4 ), mxItemListener, getString( STR_SAVE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 48, 70, 8, mnTabIndex++ ) ); aControlList.push_back( InsertComboBox( *this, TKGet( TK_ComboBox0Pg4 ), xTextListener, sal_True, aItemList, PAGE_POS_X + 76, DIALOG_HEIGHT - 48, 100, 12, mnTabIndex++ ) ); maControlPages.push_back( aControlList ); DeactivatePage( 4 ); -- cgit From 14d369907b9bbaa1d35fc624ecda333e7ef37abe Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 16 May 2007 14:15:45 +0000 Subject: initial version --- sdext/util/makefile.pmk | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 sdext/util/makefile.pmk diff --git a/sdext/util/makefile.pmk b/sdext/util/makefile.pmk new file mode 100644 index 000000000000..ffa5b42c5d6f --- /dev/null +++ b/sdext/util/makefile.pmk @@ -0,0 +1,72 @@ +#************************************************************************* +# +# $RCSfile: makefile.pmk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: sj $ $Date: 2007-05-16 15:15:45 $ +# +# The Contents of this file are made available subject to the terms of +# either of the following licenses +# +# - GNU Lesser General Public License Version 2.1 +# - Sun Industry Standards Source License Version 1.1 +# +# Sun Microsystems Inc., October, 2000 +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2000 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# +# Sun Industry Standards Source License Version 1.1 +# ================================================= +# The contents of this file are subject to the Sun Industry Standards +# Source License Version 1.1 (the "License"); You may not use this file +# except in compliance with the License. You may obtain a copy of the +# License at http://www.openoffice.org/license.html. +# +# Software provided under this License is provided on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +# See the License for the specific provisions governing your rights and +# obligations concerning the Software. +# +# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# +# Copyright: 2000 by Sun Microsystems, Inc. +# +# All Rights Reserved. +# +# Contributor(s): _______________________________________ +# +# +# +#************************************************************************* + +XSLDIR=$(SOLARXMLDIR)$/processing +XCSROOT=$(SOLARXMLDIR) +ABSXCSROOT=$(SOLARXMLDIR) +DTDDIR=$(SOLARXMLDIR) +PROCESSOUT=$(MISC)$/$(EXTNAME) +PROCESSORDIR=$(SOLARBINDIR) + +# no validation by inspector class +NO_INSPECTION=TRUE + -- cgit From e3230e3ce59dbd74580c55ca67c830ae1119fe1e Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 16 May 2007 14:19:53 +0000 Subject: minor changes --- sdext/source/minimizer/informationdialog.hxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdext/source/minimizer/informationdialog.hxx b/sdext/source/minimizer/informationdialog.hxx index 9d2febfba022..0e343f8d62eb 100644 --- a/sdext/source/minimizer/informationdialog.hxx +++ b/sdext/source/minimizer/informationdialog.hxx @@ -4,9 +4,9 @@ * * $RCSfile: informationdialog.hxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:56:41 $ + * last change: $Author: sj $ $Date: 2007-05-16 15:19:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -132,4 +132,4 @@ private: InformationDialog& mrInformationDialog; }; -#endif INFORMATIONDIALOG_HXX +#endif -- cgit From 029d84961355d8f1a66c2ac17a2ac8766a9c977e Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 16 May 2007 14:29:31 +0000 Subject: removed warnings --- sdext/source/minimizer/optimizerdialogcontrols.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index 1344da4a1825..85da320283a1 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ + * last change: $Author: sj $ $Date: 2007-05-16 15:29:31 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -634,14 +634,14 @@ void OptimizerDialog::UpdateControlStatesPage4() setControlProperty( TKGet( TK_CheckBox0Pg4 ), TKGet( TK_Enabled ), Any( bSaveAs ) ); setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_Enabled ), Any( sal_False ) ); - sal_uInt32 i; + sal_uInt32 w; Sequence< OUString > aItemList; const std::vector< OptimizerSettings >& rList( GetOptimizerSettings() ); if ( rList.size() > 1 ) // the first session in the list is the actual one -> skipping first one { aItemList.realloc( rList.size() - 1 ); - for ( i = 1; i < rList.size(); i++ ) - aItemList[ i - 1 ] = rList[ i ].maName; + for ( w = 1; w < rList.size(); w++ ) + aItemList[ w - 1 ] = rList[ w ].maName; } setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_StringItemList ), Any( aItemList ) ); @@ -649,9 +649,9 @@ void OptimizerDialog::UpdateControlStatesPage4() sal_Bool bSaveSettingsEnabled = sal_True; if ( rList.size() > 1 ) // the first session in the list is the actual one -> skipping first one { - for ( i = 1; i < rList.size(); i++ ) + for ( w = 1; w < rList.size(); w++ ) { - if ( rList[ i ] == rList[ 0 ] ) + if ( rList[ w ] == rList[ 0 ] ) { bSaveSettingsEnabled = sal_False; break; -- cgit From fc2e443ab7d48de7d8c0be892b8a17db8c9bf3bd Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Tue, 22 May 2007 15:53:24 +0000 Subject: minor changes, added access to standard control icons, some string changes --- sdext/source/minimizer/impoptimizer.cxx | 7 +- sdext/source/minimizer/informationdialog.cxx | 82 ++++++++++++++++++---- sdext/source/minimizer/informationdialog.hxx | 12 +++- sdext/source/minimizer/pppoptimizertoken.cxx | 6 +- sdext/source/minimizer/pppoptimizertoken.hxx | 6 +- .../Office/extension/SunPresentationMinimizer.xcu | 14 +++- .../Office/extension/SunPresentationMinimizer.xcs | 10 ++- 7 files changed, 111 insertions(+), 26 deletions(-) diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index e6b40082ec08..6d6f646946ac 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:50:53 $ + * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -766,7 +766,8 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) sal_Bool bInformationDialog = sal_True; if ( bInformationDialog ) { - InformationDialog aInformationDialog( mxMSF, xSelf, mbOpenNewDocument, nSourceSize, nDestSize ); + sal_Int64 nApproxSize = nDestSize; + InformationDialog aInformationDialog( mxMSF, xSelf, mbOpenNewDocument, nSourceSize, nDestSize, nApproxSize ); aInformationDialog.execute(); } if ( mbOpenNewDocument && xSelf.is() ) diff --git a/sdext/source/minimizer/informationdialog.cxx b/sdext/source/minimizer/informationdialog.cxx index 6daa26fdab53..f54edbda7ea0 100644 --- a/sdext/source/minimizer/informationdialog.cxx +++ b/sdext/source/minimizer/informationdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: informationdialog.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:56:24 $ + * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -42,6 +42,12 @@ #ifndef _COM_SUN_STAR_UI_DIALOGS_EXECUTABLEDIALOGRESULTS_HPP_ #include #endif +#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHICPROVIDER_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHIC_HPP_ +#include +#endif #ifndef _RTL_USTRBUF_HXX_ #include #endif @@ -57,6 +63,8 @@ // --------------------- using namespace ::rtl; +using namespace ::com::sun::star; +using namespace ::com::sun::star::io; using namespace ::com::sun::star::ui; using namespace ::com::sun::star::awt; using namespace ::com::sun::star::uno; @@ -116,7 +124,7 @@ rtl::OUString InsertImage( InformationDialog& rInformationDialog, const OUString TKGet( TK_Width ) }; Any pValues[] = { - Any( sal_Int16( 1 ) ), + Any( sal_Int16( 0 ) ), Any( nHeight ), Any( rURL ), Any( nPosX ), @@ -241,26 +249,73 @@ void InformationDialog::InitDialog() Sequence< rtl::OUString > aNames( pNames, nCount ); Sequence< Any > aValues( pValues, nCount ); - rtl::OUString sBitmapPath( getPath( TK_BitmapPath ) ); - rtl::OUString sBitmap( rtl::OUString::createFromAscii( "/aboutlogo.png" ) ); - rtl::OUString sURL( sBitmapPath += sBitmap ); + rtl::OUString sURL( rtl::OUString::createFromAscii( "private:standardimage/query" ) ); + mxTempFile = Reference< XStream >( mxMSF->getServiceManager()->createInstanceWithContext( OUString::createFromAscii( "com.sun.star.io.TempFile" ), mxMSF ), UNO_QUERY_THROW ); + Reference< XPropertySet > xPropSet( mxTempFile, UNO_QUERY ); + Reference< XOutputStream > xOutputStream( mxTempFile->getOutputStream() ); + if ( xOutputStream.is() && xPropSet.is() ) + { + Reference< graphic::XGraphicProvider > xGraphicProvider( mxMSF->getServiceManager()->createInstanceWithContext( + OUString::createFromAscii( "com.sun.star.graphic.GraphicProvider" ), mxMSF ), UNO_QUERY_THROW ); + Sequence< PropertyValue > aArgs( 1 ); + aArgs[ 0 ].Name = OUString::createFromAscii( "URL" ); + aArgs[ 0 ].Value <<= sURL; + Reference< graphic::XGraphic > xGraphic( xGraphicProvider->queryGraphic( aArgs ) ); + if ( xGraphic.is() ) + { + OUString aDestMimeType( RTL_CONSTASCII_USTRINGPARAM( "image/png" ) ); + Sequence< PropertyValue > aArgs2( 2 ); + aArgs2[ 0 ].Name = TKGet( TK_MimeType ); // the GraphicProvider is using "MimeType", the GraphicExporter "MediaType"... + aArgs2[ 0 ].Value <<= aDestMimeType; + aArgs2[ 1 ].Name = TKGet( TK_OutputStream ); + aArgs2[ 1 ].Value <<= xOutputStream; + xGraphicProvider->storeGraphic( xGraphic, aArgs2 ); + } + xPropSet->getPropertyValue( OUString::createFromAscii( "Uri" ) ) >>= sURL; + } sal_Bool bOpenNewDocument = mrbOpenNewDocument; setControlProperty( TKGet( TK_OpenNewDocument ), TKGet( TK_State ), Any( (sal_Int16)bOpenNewDocument ) ); mxDialogModelMultiPropertySet->setPropertyValues( aNames, aValues ); + sal_Int64 nSource = mnSourceSize; + sal_Int64 nDest = mnDestSize; + + PPPOptimizerTokenEnum eInfoString( STR_INFO_1 ); + if ( mnSourceSize ) + { + if ( mnDestSize ) + eInfoString = STR_INFO_1; + else + eInfoString = STR_INFO_2; + } + else if ( mnDestSize ) + eInfoString = STR_INFO_3; + else + eInfoString = STR_INFO_4; - OUString aInfoString( getString( STR_INFO_1 ) ); + OUString aInfoString( getString( eInfoString ) ); const OUString aOldSizePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%OLDFILESIZE" ) ); const OUString aNewSizePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%NEWFILESIZE" ) ); + const OUString aTitlePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%TITLE" ) ); + const OUString aExtensionPlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%EXTENSIONNAME" ) ); + sal_Int32 i = aInfoString.indexOf( aOldSizePlaceholder, 0 ); if ( i >= 0 ) - aInfoString = aInfoString.replaceAt( i, aOldSizePlaceholder.getLength(), ImpValueOfInMB( mnSourceSize ) ); + aInfoString = aInfoString.replaceAt( i, aOldSizePlaceholder.getLength(), ImpValueOfInMB( nSource ) ); sal_Int32 j = aInfoString.indexOf( aNewSizePlaceholder, 0 ); if ( j >= 0 ) - aInfoString = aInfoString.replaceAt( j, aNewSizePlaceholder.getLength(), ImpValueOfInMB( mnDestSize ) ); + aInfoString = aInfoString.replaceAt( j, aNewSizePlaceholder.getLength(), ImpValueOfInMB( nDest ) ); + + sal_Int32 k = aInfoString.indexOf( aTitlePlaceholder, 0 ); + if ( k >= 0 ) + aInfoString = aInfoString.replaceAt( k, aTitlePlaceholder.getLength(), rtl::OUString() ); + + sal_Int32 l = aInfoString.indexOf( aExtensionPlaceholder, 0 ); + if ( l >= 0 ) + aInfoString = aInfoString.replaceAt( l, aExtensionPlaceholder.getLength(), getString( STR_SUN_OPTIMIZATION_WIZARD ) ); com::sun::star::uno::Reference< com::sun::star::awt::XItemListener > xItemListener; InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), sURL, 5, 5, 25, 25 ); @@ -271,15 +326,16 @@ void InformationDialog::InitDialog() // ----------------------------------------------------------------------------- -InformationDialog::InformationDialog( const Reference< XComponentContext > &rxMSF, Reference< XFrame >& rxFrame, sal_Bool& bOpenNewDocument, sal_Int64 nSourceSize, sal_Int64 nDestSize ) : +InformationDialog::InformationDialog( const Reference< XComponentContext > &rxMSF, Reference< XFrame >& rxFrame, sal_Bool& rbOpenNewDocument, const sal_Int64& rSourceSize, const sal_Int64& rDestSize, const sal_Int64& rApproxSize ) : UnoDialog( rxMSF, rxFrame ), ConfigurationAccess( rxMSF, NULL ), mxMSF( rxMSF ), mxFrame( rxFrame ), mxActionListener( new OKActionListener( *this ) ), - mnSourceSize( nSourceSize ), - mnDestSize( nDestSize ), - mrbOpenNewDocument( bOpenNewDocument ) + mnSourceSize( rSourceSize ), + mnDestSize( rDestSize ), + mnApproxSize( rApproxSize ), + mrbOpenNewDocument( rbOpenNewDocument ) { Reference< XFrame > xFrame( mxController->getFrame() ); Reference< XWindow > xContainerWindow( xFrame->getContainerWindow() ); diff --git a/sdext/source/minimizer/informationdialog.hxx b/sdext/source/minimizer/informationdialog.hxx index 0e343f8d62eb..52ed4ead463e 100644 --- a/sdext/source/minimizer/informationdialog.hxx +++ b/sdext/source/minimizer/informationdialog.hxx @@ -4,9 +4,9 @@ * * $RCSfile: informationdialog.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-16 15:19:53 $ + * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -87,6 +87,9 @@ #ifndef _COM_SUN_STAR_AWT_PUSHBUTTONTYPE_HPP_ #include #endif +#ifndef _COM_SUN_STAR_IO_XSTREAM_HPP_ +#include +#endif // --------------------- // - InformationDialog - @@ -97,14 +100,16 @@ public : InformationDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame, - sal_Bool& bOpenNewDocument, sal_Int64 nSourceSize, sal_Int64 nDestSize ); + sal_Bool& bOpenNewDocument, const sal_Int64& nSourceSize, const sal_Int64& nDestSize, const sal_Int64& nApproxDest ); ~InformationDialog(); sal_Bool execute(); private : + com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >mxMSF; com::sun::star::uno::Reference< com::sun::star::frame::XFrame > mxFrame; + com::sun::star::uno::Reference< com::sun::star::io::XStream > mxTempFile; com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > mxActionListener; @@ -112,6 +117,7 @@ private : sal_Int64 mnSourceSize; sal_Int64 mnDestSize; + sal_Int64 mnApproxSize; sal_Bool& mrbOpenNewDocument; public : diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx index e3cbeae45deb..45fb9898afed 100644 --- a/sdext/source/minimizer/pppoptimizertoken.cxx +++ b/sdext/source/minimizer/pppoptimizertoken.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 14:00:09 $ + * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -300,6 +300,8 @@ static const TokenTable pTokenTableArray[] = { "STR_OK", STR_OK }, { "STR_INFO_1", STR_INFO_1 }, { "STR_INFO_2", STR_INFO_2 }, + { "STR_INFO_3", STR_INFO_3 }, + { "STR_INFO_4", STR_INFO_4 }, { "STR_DUPLICATING_PRESENTATION",STR_DUPLICATING_PRESENTATION }, { "STR_DELETING_SLIDES", STR_DELETING_SLIDES }, { "STR_OPTIMIZING_GRAPHICS", STR_OPTIMIZING_GRAPHICS }, diff --git a/sdext/source/minimizer/pppoptimizertoken.hxx b/sdext/source/minimizer/pppoptimizertoken.hxx index 7274389db790..ff69c2197c3a 100644 --- a/sdext/source/minimizer/pppoptimizertoken.hxx +++ b/sdext/source/minimizer/pppoptimizertoken.hxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.hxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 14:00:23 $ + * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -276,6 +276,8 @@ enum PPPOptimizerTokenEnum STR_OK, STR_INFO_1, STR_INFO_2, + STR_INFO_3, + STR_INFO_4, STR_DUPLICATING_PRESENTATION, STR_DELETING_SLIDES, STR_OPTIMIZING_GRAPHICS, diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu index 172caa198f38..87cdb0459d80 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu @@ -15,6 +15,10 @@ + + &ProductName; + &ProductName; + Steps Schritte @@ -264,10 +268,18 @@ Sun, Sun Microsystems, le logo Sun, Java et StarOffice sont des marques de fabri OK + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to %NEWFILESIZE MB. + Das Dokument '%TITLE' wurde erfolgreich vom %EXTENSIONNAME überarbeitet. Die Dateigröße wurde dabei von %OLDFILESIZE MB auf %NEWFILESIZE MB geändert. + + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to approximated %NEWFILESIZE MB. Das Dokument '%TITLE' wurde erfolgreich vom %EXTENSIONNAME überarbeitet. Die Dateigröße wurde dabei von %OLDFILESIZE MB auf in etwa %NEWFILESIZE MB geändert. - + + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed to %NEWFILESIZE MB. + Das Dokument '%TITLE' wurde erfolgreich vom %EXTENSIONNAME überarbeitet. Die neue Dateigröße beträgt %NEWFILESIZE MB. + + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed to approximated %NEWFILESIZE MB. Das Dokument '%TITLE' wurde erfolgreich vom %EXTENSIONNAME überarbeitet. Die neue Dateigröße beträgt in etwa %NEWFILESIZE MB. diff --git a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs index 98ec2216044c..9f35c1c81cd0 100644 --- a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs +++ b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs @@ -105,7 +105,7 @@ - + Sun Presentation Minimizer @@ -291,9 +291,15 @@ This distribution may include materials developed by third parties. Sun, Sun Mic OK - The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to approximated %NEWFILESIZE MB. + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to %NEWFILESIZE MB. + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to approximated %NEWFILESIZE MB. + + + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed to %NEWFILESIZE MB. + + The %EXTENSIONNAME has successfully updated the presentation '%TITLE'. The file size has changed to approximated %NEWFILESIZE MB. -- cgit From 7c3d3785d1c6b14a0d94a084ae4524a42c211df9 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Thu, 24 May 2007 09:08:36 +0000 Subject: some minor changes --- sdext/source/minimizer/configurationaccess.cxx | 10 +- sdext/source/minimizer/configurationaccess.hxx | 8 +- sdext/source/minimizer/impoptimizer.cxx | 28 +++-- sdext/source/minimizer/impoptimizer.hxx | 7 +- sdext/source/minimizer/informationdialog.cxx | 127 ++++++++++++++------- sdext/source/minimizer/informationdialog.hxx | 10 +- sdext/source/minimizer/optimizerdialog.cxx | 8 +- sdext/source/minimizer/optimizerdialog.hxx | 8 +- sdext/source/minimizer/optimizerdialogcontrols.cxx | 80 ++++++++----- sdext/source/minimizer/pppoptimizertoken.cxx | 5 +- sdext/source/minimizer/pppoptimizertoken.hxx | 5 +- 11 files changed, 186 insertions(+), 110 deletions(-) diff --git a/sdext/source/minimizer/configurationaccess.cxx b/sdext/source/minimizer/configurationaccess.cxx index 8426fc868520..599c59a8cd85 100644 --- a/sdext/source/minimizer/configurationaccess.cxx +++ b/sdext/source/minimizer/configurationaccess.cxx @@ -4,9 +4,9 @@ * * $RCSfile: configurationaccess.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -438,6 +438,7 @@ com::sun::star::uno::Any ConfigurationAccess::GetConfigProperty( const PPPOptimi case TK_SaveAsURL : aRetValue <<= rSettings.maSaveAsURL; break; case TK_FilterName : aRetValue <<= rSettings.maFilterName; break; case TK_OpenNewDocument : aRetValue <<= rSettings.mbOpenNewDocument; break; + case TK_EstimatedFileSize : aRetValue <<= rSettings.mnEstimatedFileSize; break; default: break; } @@ -471,6 +472,7 @@ void ConfigurationAccess::SetConfigProperty( const PPPOptimizerTokenEnum eProper case TK_SaveAsURL : rValue >>= rSettings.maSaveAsURL; break; case TK_FilterName : rValue >>= rSettings.maFilterName; break; case TK_OpenNewDocument : rValue >>= rSettings.mbOpenNewDocument; break; + case TK_EstimatedFileSize : rValue >>= rSettings.mnEstimatedFileSize; break; default: break; } @@ -506,7 +508,7 @@ sal_Int32 ConfigurationAccess::GetConfigProperty( const PPPOptimizerTokenEnum eP Sequence< PropertyValue > ConfigurationAccess::GetConfigurationSequence() { - Sequence< PropertyValue > aRet( 14 ); + Sequence< PropertyValue > aRet( 15 ); OptimizerSettings& rSettings( maSettings.front() ); aRet[ 0 ].Name = TKGet( TK_JPEGCompression ); aRet[ 0 ].Value= Any( rSettings.mbJPEGCompression ); @@ -536,6 +538,8 @@ Sequence< PropertyValue > ConfigurationAccess::GetConfigurationSequence() aRet[ 12].Value= Any( rSettings.maFilterName ); aRet[ 13].Name = TKGet( TK_OpenNewDocument ); aRet[ 13].Value= Any( rSettings.mbOpenNewDocument ); + aRet[ 14].Name = TKGet( TK_EstimatedFileSize ); + aRet[ 14].Value= Any( rSettings.mnEstimatedFileSize ); return aRet; } diff --git a/sdext/source/minimizer/configurationaccess.hxx b/sdext/source/minimizer/configurationaccess.hxx index 8b674edcba78..72c8b7be60f6 100644 --- a/sdext/source/minimizer/configurationaccess.hxx +++ b/sdext/source/minimizer/configurationaccess.hxx @@ -4,9 +4,9 @@ * * $RCSfile: configurationaccess.hxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:49:50 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -90,6 +90,7 @@ struct OptimizerSettings rtl::OUString maSaveAsURL; rtl::OUString maFilterName; sal_Bool mbOpenNewDocument; + sal_Int64 mnEstimatedFileSize; OptimizerSettings() : mbJPEGCompression( sal_False ), @@ -103,7 +104,8 @@ struct OptimizerSettings mbDeleteHiddenSlides( sal_False ), mbDeleteNotesPages( sal_False ), mbSaveAs( sal_True ), - mbOpenNewDocument( sal_True ){}; + mbOpenNewDocument( sal_True ), + mnEstimatedFileSize( 0 ){}; ~OptimizerSettings(){}; void LoadSettingsFromConfiguration( const com::sun::star::uno::Reference< com::sun::star::container::XNameAccess >& rSettings ); diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index 6d6f646946ac..9e4816c26acb 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -578,8 +578,7 @@ ImpOptimizer::ImpOptimizer( const Reference< XComponentContext >& rxMSF, const R mbDeleteUnusedMasterPages ( sal_False ), mbDeleteHiddenSlides ( sal_False ), mbDeleteNotesPages ( sal_False ), - mbOpenNewDocument ( sal_False ), - mbInformationDialog ( sal_False ) + mbOpenNewDocument ( sal_False ) { } @@ -665,6 +664,7 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) if ( mxModel.is() ) { + sal_Int64 nEstimatedFileSize = 0; SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 0 ) ) ); DispatchStatus(); @@ -674,7 +674,7 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) switch( TKGet( rArguments[ i ].Name ) ) { case TK_StatusDispatcher : rArguments[ i ].Value >>= mxStatusDispatcher; break; - case TK_InformationDialog: rArguments[ i ].Value >>= mbInformationDialog; break; + case TK_InformationDialog: rArguments[ i ].Value >>= mxInformationDialog; break; case TK_Settings : { com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aSettings; @@ -698,6 +698,7 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) case TK_SaveAsURL : aSettings[ j ].Value >>= maSaveAsURL; break; case TK_FilterName : aSettings[ j ].Value >>= maFilterName; break; case TK_OpenNewDocument : aSettings[ j ].Value >>= mbOpenNewDocument; break; + case TK_EstimatedFileSize : aSettings[ j ].Value >>= nEstimatedFileSize; break; default: break; } } @@ -763,13 +764,16 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) xStorable->store(); nDestSize = PPPOptimizer::GetFileSize( maSaveAsURL ); } - sal_Bool bInformationDialog = sal_True; - if ( bInformationDialog ) - { - sal_Int64 nApproxSize = nDestSize; - InformationDialog aInformationDialog( mxMSF, xSelf, mbOpenNewDocument, nSourceSize, nDestSize, nApproxSize ); - aInformationDialog.execute(); - } + } + + if ( mxInformationDialog.is() ) + { + InformationDialog aInformationDialog( mxMSF, mxInformationDialog, maSaveAsURL, mbOpenNewDocument, nSourceSize, nDestSize, nEstimatedFileSize ); + aInformationDialog.execute(); + } + + if ( maSaveAsURL.getLength() ) + { if ( mbOpenNewDocument && xSelf.is() ) { Reference< awt::XWindow > xContainerWindow( xSelf->getContainerWindow() ); diff --git a/sdext/source/minimizer/impoptimizer.hxx b/sdext/source/minimizer/impoptimizer.hxx index 3e61dd90a239..9c2140dd50f9 100644 --- a/sdext/source/minimizer/impoptimizer.hxx +++ b/sdext/source/minimizer/impoptimizer.hxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.hxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:51:02 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -93,7 +93,8 @@ private: rtl::OUString maSaveAsURL; rtl::OUString maFilterName; sal_Bool mbOpenNewDocument; - sal_Bool mbInformationDialog; + + com::sun::star::uno::Reference< com::sun::star::frame::XFrame > mxInformationDialog; sal_Bool Optimize(); diff --git a/sdext/source/minimizer/informationdialog.cxx b/sdext/source/minimizer/informationdialog.cxx index f54edbda7ea0..b7a3ff3cbaf5 100644 --- a/sdext/source/minimizer/informationdialog.cxx +++ b/sdext/source/minimizer/informationdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: informationdialog.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -51,9 +51,11 @@ #ifndef _RTL_USTRBUF_HXX_ #include #endif +#include "com/sun/star/util/URL.hpp" +#include "com/sun/star/util/XURLTransformer.hpp" #define DIALOG_WIDTH 240 -#define DIALOG_HEIGHT 84 +#define DIALOG_HEIGHT 80 #define PAGE_POS_X 35 #define PAGE_WIDTH ( DIALOG_WIDTH - PAGE_POS_X ) - 6 @@ -223,8 +225,47 @@ static OUString ImpValueOfInMB( const sal_Int64& rVal ) return aVal.makeStringAndClear(); } +OUString InformationDialog::ImpGetStandardImage( const OUString& sPrivateURL ) +{ + rtl::OUString sURL; + try + { + mxTempFile = Reference< XStream >( mxMSF->getServiceManager()->createInstanceWithContext( OUString::createFromAscii( "com.sun.star.io.TempFile" ), mxMSF ), UNO_QUERY_THROW ); + Reference< XPropertySet > xPropSet( mxTempFile, UNO_QUERY ); + Reference< XOutputStream > xOutputStream( mxTempFile->getOutputStream() ); + if ( xOutputStream.is() && xPropSet.is() ) + { + Reference< graphic::XGraphicProvider > xGraphicProvider( mxMSF->getServiceManager()->createInstanceWithContext( + OUString::createFromAscii( "com.sun.star.graphic.GraphicProvider" ), mxMSF ), UNO_QUERY_THROW ); + Sequence< PropertyValue > aArgs( 1 ); + aArgs[ 0 ].Name = OUString::createFromAscii( "URL" ); + aArgs[ 0 ].Value <<= sPrivateURL; + Reference< graphic::XGraphic > xGraphic( xGraphicProvider->queryGraphic( aArgs ) ); + if ( xGraphic.is() ) + { + OUString aDestMimeType( RTL_CONSTASCII_USTRINGPARAM( "image/png" ) ); + Sequence< PropertyValue > aArgs2( 2 ); + aArgs2[ 0 ].Name = TKGet( TK_MimeType ); // the GraphicProvider is using "MimeType", the GraphicExporter "MediaType"... + aArgs2[ 0 ].Value <<= aDestMimeType; + aArgs2[ 1 ].Name = TKGet( TK_OutputStream ); + aArgs2[ 1 ].Value <<= xOutputStream; + xGraphicProvider->storeGraphic( xGraphic, aArgs2 ); + } + xPropSet->getPropertyValue( OUString::createFromAscii( "Uri" ) ) >>= sURL; + } + } + catch( Exception& ) + { + } + return sURL; +} + void InformationDialog::InitDialog() { + sal_Int32 nDialogHeight = DIALOG_HEIGHT; + if ( !maSaveAsURL.getLength() ) + nDialogHeight -= 22; + // setting the dialog properties OUString pNames[] = { TKGet( TK_Closeable ), @@ -237,10 +278,10 @@ void InformationDialog::InitDialog() Any pValues[] = { Any( sal_True ), - Any( sal_Int32( DIALOG_HEIGHT ) ), + Any( nDialogHeight ), Any( sal_True ), - Any( sal_Int32( 113 ) ), - Any( sal_Int32( 42 ) ), + Any( sal_Int32( 245 ) ), + Any( sal_Int32( 115 ) ), Any( getString( STR_ABOUT ) ), Any( sal_Int32( DIALOG_WIDTH ) ) }; @@ -249,31 +290,6 @@ void InformationDialog::InitDialog() Sequence< rtl::OUString > aNames( pNames, nCount ); Sequence< Any > aValues( pValues, nCount ); - - rtl::OUString sURL( rtl::OUString::createFromAscii( "private:standardimage/query" ) ); - mxTempFile = Reference< XStream >( mxMSF->getServiceManager()->createInstanceWithContext( OUString::createFromAscii( "com.sun.star.io.TempFile" ), mxMSF ), UNO_QUERY_THROW ); - Reference< XPropertySet > xPropSet( mxTempFile, UNO_QUERY ); - Reference< XOutputStream > xOutputStream( mxTempFile->getOutputStream() ); - if ( xOutputStream.is() && xPropSet.is() ) - { - Reference< graphic::XGraphicProvider > xGraphicProvider( mxMSF->getServiceManager()->createInstanceWithContext( - OUString::createFromAscii( "com.sun.star.graphic.GraphicProvider" ), mxMSF ), UNO_QUERY_THROW ); - Sequence< PropertyValue > aArgs( 1 ); - aArgs[ 0 ].Name = OUString::createFromAscii( "URL" ); - aArgs[ 0 ].Value <<= sURL; - Reference< graphic::XGraphic > xGraphic( xGraphicProvider->queryGraphic( aArgs ) ); - if ( xGraphic.is() ) - { - OUString aDestMimeType( RTL_CONSTASCII_USTRINGPARAM( "image/png" ) ); - Sequence< PropertyValue > aArgs2( 2 ); - aArgs2[ 0 ].Name = TKGet( TK_MimeType ); // the GraphicProvider is using "MimeType", the GraphicExporter "MediaType"... - aArgs2[ 0 ].Value <<= aDestMimeType; - aArgs2[ 1 ].Name = TKGet( TK_OutputStream ); - aArgs2[ 1 ].Value <<= xOutputStream; - xGraphicProvider->storeGraphic( xGraphic, aArgs2 ); - } - xPropSet->getPropertyValue( OUString::createFromAscii( "Uri" ) ) >>= sURL; - } sal_Bool bOpenNewDocument = mrbOpenNewDocument; setControlProperty( TKGet( TK_OpenNewDocument ), TKGet( TK_State ), Any( (sal_Int16)bOpenNewDocument ) ); @@ -288,17 +304,37 @@ void InformationDialog::InitDialog() if ( mnDestSize ) eInfoString = STR_INFO_1; else + { eInfoString = STR_INFO_2; + nDest = mnApproxSize; + } } else if ( mnDestSize ) eInfoString = STR_INFO_3; else + { eInfoString = STR_INFO_4; + nDest = mnApproxSize; + } + + rtl::OUString aTitle; + if ( maSaveAsURL.getLength() ) + { + Reference< XURLTransformer > xURLTransformer( mxMSF->getServiceManager()->createInstanceWithContext( + OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ) ), mxMSF ), UNO_QUERY ); + if ( xURLTransformer.is() ) + { + util::URL aURL; + aURL.Complete = maSaveAsURL; + xURLTransformer->parseSmart( aURL, rtl::OUString() ); + aTitle = aURL.Name; + } + } OUString aInfoString( getString( eInfoString ) ); const OUString aOldSizePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%OLDFILESIZE" ) ); const OUString aNewSizePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%NEWFILESIZE" ) ); - const OUString aTitlePlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%TITLE" ) ); + const OUString aTitlePlaceholder( aTitle.getLength() ? OUString::createFromAscii( "%TITLE" ) : OUString::createFromAscii( "'%TITLE'" ) ); const OUString aExtensionPlaceholder( RTL_CONSTASCII_USTRINGPARAM( "%EXTENSIONNAME" ) ); sal_Int32 i = aInfoString.indexOf( aOldSizePlaceholder, 0 ); @@ -311,22 +347,23 @@ void InformationDialog::InitDialog() sal_Int32 k = aInfoString.indexOf( aTitlePlaceholder, 0 ); if ( k >= 0 ) - aInfoString = aInfoString.replaceAt( k, aTitlePlaceholder.getLength(), rtl::OUString() ); + aInfoString = aInfoString.replaceAt( k, aTitlePlaceholder.getLength(), aTitle ); sal_Int32 l = aInfoString.indexOf( aExtensionPlaceholder, 0 ); if ( l >= 0 ) aInfoString = aInfoString.replaceAt( l, aExtensionPlaceholder.getLength(), getString( STR_SUN_OPTIMIZATION_WIZARD ) ); com::sun::star::uno::Reference< com::sun::star::awt::XItemListener > xItemListener; - InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), sURL, 5, 5, 25, 25 ); + InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), ImpGetStandardImage( rtl::OUString::createFromAscii( "private:standardimage/query" ) ), 5, 5, 25, 25 ); InsertFixedText( *this, rtl::OUString( rtl::OUString::createFromAscii( "fixedtext" ) ), aInfoString, PAGE_POS_X, 6, PAGE_WIDTH, 24, sal_True, 0 ); - InsertCheckBox( *this, TKGet( TK_OpenNewDocument ), xItemListener, getString( STR_AUTOMATICALLY_OPEN ), PAGE_POS_X, 42, PAGE_WIDTH, 8, 1 ); - InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, DIALOG_WIDTH / 2 - 25, DIALOG_HEIGHT - 20, 50, 14, 2, STR_OK ); + if ( maSaveAsURL.getLength() ) + InsertCheckBox( *this, TKGet( TK_OpenNewDocument ), xItemListener, getString( STR_AUTOMATICALLY_OPEN ), PAGE_POS_X, 42, PAGE_WIDTH, 8, 1 ); + InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, DIALOG_WIDTH / 2 - 25, nDialogHeight - 20, 50, 14, 2, STR_OK ); } // ----------------------------------------------------------------------------- -InformationDialog::InformationDialog( const Reference< XComponentContext > &rxMSF, Reference< XFrame >& rxFrame, sal_Bool& rbOpenNewDocument, const sal_Int64& rSourceSize, const sal_Int64& rDestSize, const sal_Int64& rApproxSize ) : +InformationDialog::InformationDialog( const Reference< XComponentContext > &rxMSF, Reference< XFrame >& rxFrame, const rtl::OUString& rSaveAsURL, sal_Bool& rbOpenNewDocument, const sal_Int64& rSourceSize, const sal_Int64& rDestSize, const sal_Int64& rApproxSize ) : UnoDialog( rxMSF, rxFrame ), ConfigurationAccess( rxMSF, NULL ), mxMSF( rxMSF ), @@ -335,7 +372,8 @@ InformationDialog::InformationDialog( const Reference< XComponentContext > &rxMS mnSourceSize( rSourceSize ), mnDestSize( rDestSize ), mnApproxSize( rApproxSize ), - mrbOpenNewDocument( rbOpenNewDocument ) + mrbOpenNewDocument( rbOpenNewDocument ), + maSaveAsURL( rSaveAsURL ) { Reference< XFrame > xFrame( mxController->getFrame() ); Reference< XWindow > xContainerWindow( xFrame->getContainerWindow() ); @@ -357,12 +395,15 @@ sal_Bool InformationDialog::execute() { UnoDialog::execute(); - sal_Int16 nInt16; - Any aAny( getControlProperty( TKGet( TK_OpenNewDocument ), TKGet( TK_State ) ) ); - if ( aAny >>= nInt16 ) + if ( maSaveAsURL.getLength() ) { - sal_Bool bOpenNewDocument = static_cast< sal_Bool >( nInt16 ); - mrbOpenNewDocument = bOpenNewDocument; + sal_Int16 nInt16; + Any aAny( getControlProperty( TKGet( TK_OpenNewDocument ), TKGet( TK_State ) ) ); + if ( aAny >>= nInt16 ) + { + sal_Bool bOpenNewDocument = static_cast< sal_Bool >( nInt16 ); + mrbOpenNewDocument = bOpenNewDocument; + } } return mbStatus; } diff --git a/sdext/source/minimizer/informationdialog.hxx b/sdext/source/minimizer/informationdialog.hxx index 52ed4ead463e..ff5849f4bbd1 100644 --- a/sdext/source/minimizer/informationdialog.hxx +++ b/sdext/source/minimizer/informationdialog.hxx @@ -4,9 +4,9 @@ * * $RCSfile: informationdialog.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -99,8 +99,8 @@ class InformationDialog : public UnoDialog, public ConfigurationAccess public : InformationDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, - com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame, - sal_Bool& bOpenNewDocument, const sal_Int64& nSourceSize, const sal_Int64& nDestSize, const sal_Int64& nApproxDest ); + com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame, const rtl::OUString& rSaveAsURL, + sal_Bool& bOpenNewDocument, const sal_Int64& nSourceSize, const sal_Int64& nDestSize, const sal_Int64& nApproxDest ); ~InformationDialog(); sal_Bool execute(); @@ -113,12 +113,14 @@ private : com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > mxActionListener; + rtl::OUString ImpGetStandardImage( const rtl::OUString& rPrivateURL ); void InitDialog(); sal_Int64 mnSourceSize; sal_Int64 mnDestSize; sal_Int64 mnApproxSize; sal_Bool& mrbOpenNewDocument; + const rtl::OUString& maSaveAsURL; public : diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx index facf83c6f945..ac0d9c06bf18 100644 --- a/sdext/source/minimizer/optimizerdialog.cxx +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialog.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:57:22 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -100,7 +100,7 @@ void OptimizerDialog::InitDialog() Any( sal_Int32( 200 ) ), Any( sal_Int32( 52 ) ), Any( getString( STR_SUN_OPTIMIZATION_WIZARD ) ), - Any( sal_Int32( DIALOG_WIDTH ) ) }; + Any( sal_Int32( OD_DIALOG_WIDTH ) ) }; sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); @@ -740,7 +740,7 @@ void ActionListener::actionPerformed( const ActionEvent& rEvent ) lArguments[ 1 ].Name = TKGet( TK_StatusDispatcher ); lArguments[ 1 ].Value <<= mrOptimizerDialog.GetStatusDispatcher(); lArguments[ 2 ].Name = TKGet( TK_InformationDialog ); - lArguments[ 2 ].Value <<= sal_True; + lArguments[ 2 ].Value <<= mrOptimizerDialog.GetFrame(); if( xDispatch.is() ) xDispatch->dispatch( aURL, lArguments ); diff --git a/sdext/source/minimizer/optimizerdialog.hxx b/sdext/source/minimizer/optimizerdialog.hxx index 063dd14095e5..6a23cee54543 100644 --- a/sdext/source/minimizer/optimizerdialog.hxx +++ b/sdext/source/minimizer/optimizerdialog.hxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialog.hxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:57:39 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -101,7 +101,7 @@ #endif #define MAX_STEP 4 -#define DIALOG_WIDTH 310 +#define OD_DIALOG_WIDTH 330 #define DIALOG_HEIGHT 210 #define BUTTON_WIDTH 50 #define BUTTON_HEIGHT 14 @@ -109,7 +109,7 @@ #define PAGE_POS_X 91 #define PAGE_POS_Y 8 -#define PAGE_WIDTH DIALOG_WIDTH - PAGE_POS_X +#define PAGE_WIDTH OD_DIALOG_WIDTH - PAGE_POS_X // ------------------- // - OPTIMIZERDIALOG - diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index 85da320283a1..75c343d94263 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: sj $ $Date: 2007-05-16 15:29:31 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -398,12 +398,12 @@ rtl::OUString InsertListBox( OptimizerDialog& rOptimizerDialog, const OUString& void OptimizerDialog::InitNavigationBar() { - sal_Int32 nCancelPosX = DIALOG_WIDTH - BUTTON_WIDTH - 6; + sal_Int32 nCancelPosX = OD_DIALOG_WIDTH - BUTTON_WIDTH - 6; sal_Int32 nFinishPosX = nCancelPosX - 6 - BUTTON_WIDTH; sal_Int32 nNextPosX = nFinishPosX - 6 - BUTTON_WIDTH; sal_Int32 nBackPosX = nNextPosX - 3 - BUTTON_WIDTH; - InsertSeparator( *this, TKGet( TK_lnNavSep1 ), 0, 0, DIALOG_HEIGHT - 26, DIALOG_WIDTH, 1 ); + InsertSeparator( *this, TKGet( TK_lnNavSep1 ), 0, 0, DIALOG_HEIGHT - 26, OD_DIALOG_WIDTH, 1 ); InsertSeparator( *this, TKGet( TK_lnNavSep2 ), 1, 85, 0, 1, BUTTON_POS_Y - 6 ); InsertButton( *this, TKGet( TK_btnNavHelp ), mxActionListener, 8, BUTTON_POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT, mnTabIndex++, sal_True, STR_HELP, PushButtonType_STANDARD ); @@ -457,8 +457,8 @@ void OptimizerDialog::InitPage0() aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg0 ), getString( STR_INTRODUCTION_T ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 100, sal_True, sal_False, mnTabIndex++ ) ); aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator1Pg0 ), 0, PAGE_POS_X + 6, DIALOG_HEIGHT - 66, PAGE_WIDTH - 12, 1 ) ); aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg0 ), getString( STR_CHOSE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 60, PAGE_WIDTH - 12, 8, sal_True, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertListBox( *this, TKGet( TK_ListBox0Pg0 ), mxActionListenerListBox0Pg0, sal_True, aItemList, PAGE_POS_X + 6, DIALOG_HEIGHT - 48, ( DIALOG_WIDTH - 50 ) - ( PAGE_POS_X + 6 ), 12, mnTabIndex++ ) ); - aControlList.push_back( InsertButton( *this, TKGet( TK_Button0Pg0 ), mxActionListener, DIALOG_WIDTH - 46, DIALOG_HEIGHT - 48, 40, 14, mnTabIndex++, sal_True, STR_REMOVE, PushButtonType_STANDARD ) ); + aControlList.push_back( InsertListBox( *this, TKGet( TK_ListBox0Pg0 ), mxActionListenerListBox0Pg0, sal_True, aItemList, PAGE_POS_X + 6, DIALOG_HEIGHT - 48, ( OD_DIALOG_WIDTH - 50 ) - ( PAGE_POS_X + 6 ), 12, mnTabIndex++ ) ); + aControlList.push_back( InsertButton( *this, TKGet( TK_Button0Pg0 ), mxActionListener, OD_DIALOG_WIDTH - 46, DIALOG_HEIGHT - 48, 40, 14, mnTabIndex++, sal_True, STR_REMOVE, PushButtonType_STANDARD ) ); maControlPages.push_back( aControlList ); DeactivatePage( 0 ); UpdateControlStatesPage0(); @@ -616,6 +616,19 @@ void OptimizerDialog::InitPage3() // ----------------------------------------------------------------------------- +static OUString ImpValueOfInMB( const sal_Int64& rVal ) +{ + double fVal( static_cast( rVal ) ); + fVal /= ( 1 << 20 ); + fVal += 0.05; + rtl::OUStringBuffer aVal( OUString::valueOf( fVal ) ); + sal_Int32 nX( OUString( aVal.getStr() ).indexOf( '.', 0 ) ); + if ( nX > 0 ) + aVal.setLength( nX + 2 ); + aVal.append( OUString::createFromAscii( " MB" ) ); + return aVal.makeStringAndClear(); +} + void OptimizerDialog::UpdateControlStatesPage4() { sal_Bool bSaveAs( GetConfigProperty( TK_SaveAs, sal_True ) ); @@ -819,19 +832,32 @@ void OptimizerDialog::UpdateControlStatesPage4() setControlProperty( TKGet( TK_FixedText4Pg4 ), TKGet( TK_Label ), Any( aSummaryStrings[ 0 ] ) ); setControlProperty( TKGet( TK_FixedText5Pg4 ), TKGet( TK_Label ), Any( aSummaryStrings[ 1 ] ) ); setControlProperty( TKGet( TK_FixedText6Pg4 ), TKGet( TK_Label ), Any( aSummaryStrings[ 2 ] ) ); -} -static OUString ImpValueOfInMB( const sal_Int64& rVal ) -{ - double fVal( static_cast( rVal ) ); - fVal /= ( 1 << 20 ); - fVal += 0.05; - rtl::OUStringBuffer aVal( OUString::valueOf( fVal ) ); - sal_Int32 nX( OUString( aVal.getStr() ).indexOf( '.', 0 ) ); - if ( nX > 0 ) - aVal.setLength( nX + 2 ); - aVal.append( OUString::createFromAscii( " MB" ) ); - return aVal.makeStringAndClear(); + sal_Int64 nCurrentFileSize = 0; + sal_Int64 nEstimatedFileSize = 0; + Reference< XStorable > xStorable( mxController->getModel(), UNO_QUERY ); + if ( xStorable.is() && xStorable->hasLocation() ) + nCurrentFileSize = PPPOptimizer::GetFileSize( xStorable->getLocation() ); + + if ( nCurrentFileSize ) + { + double fE = static_cast< double >( nCurrentFileSize ); + if ( nImageResolution ) + { + double v = ( static_cast< double >( nImageResolution ) + 75.0 ) / 300.0; + if ( v < 1.0 ) + fE *= v; + } + if ( bJPEGCompression ) + { + double v = 0.75 - ( ( 100.0 - static_cast< double >( nJPEGQuality ) ) / 400.0 ) ; + fE *= v; + } + nEstimatedFileSize = static_cast< sal_Int64 >( fE ); + } + setControlProperty( TKGet( TK_FixedText7Pg4 ), TKGet( TK_Label ), Any( ImpValueOfInMB( nCurrentFileSize ) ) ); + setControlProperty( TKGet( TK_FixedText8Pg4 ), TKGet( TK_Label ), Any( ImpValueOfInMB( nEstimatedFileSize ) ) ); + SetConfigProperty( TK_EstimatedFileSize, Any( nEstimatedFileSize ) ); } void OptimizerDialog::InitPage4() @@ -865,12 +891,6 @@ void OptimizerDialog::InitPage4() Reference< XMultiPropertySet > xMultiPropertySet( insertControlModel( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlProgressBarModel" ) ), TKGet( TK_Progress ), aNames, aValues ), UNO_QUERY ); } - sal_Int64 nCurrentFileSize = 0; - sal_Int64 nEstimatedFileSize = 0; - Reference< XStorable > xStorable( mxController->getModel(), UNO_QUERY ); - if ( xStorable.is() && xStorable->hasLocation() ) - nCurrentFileSize = PPPOptimizer::GetFileSize( xStorable->getLocation() ); - Reference< XTextListener > xTextListener; Sequence< OUString > aItemList; std::vector< rtl::OUString > aControlList; @@ -882,11 +902,11 @@ void OptimizerDialog::InitPage4() aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText5Pg4 ), OUString(), PAGE_POS_X + 6, PAGE_POS_Y + 22, PAGE_WIDTH - 12, 8, sal_False, sal_False, mnTabIndex++ ) ); aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText6Pg4 ), OUString(), PAGE_POS_X + 6, PAGE_POS_Y + 30, PAGE_WIDTH - 12, 8, sal_False, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg4 ), getString( STR_CURRENT_FILESIZE ), PAGE_POS_X + 6, PAGE_POS_Y + 50, 58, 8, sal_False, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText7Pg4 ), ImpValueOfInMB( nCurrentFileSize ), PAGE_POS_X + 70, PAGE_POS_Y + 50, 30, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg4 ), getString( STR_CURRENT_FILESIZE ), PAGE_POS_X + 6, PAGE_POS_Y + 50, 88, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText7Pg4 ), OUString(), PAGE_POS_X + 100, PAGE_POS_Y + 50, 30, 8, sal_False, sal_False, mnTabIndex++ ) ); setControlProperty( TKGet( TK_FixedText7Pg4 ), TKGet( TK_Align ), Any( static_cast< short >( 2 ) ) ); - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText3Pg4 ), getString( STR_ESTIMATED_FILESIZE ), PAGE_POS_X + 6, PAGE_POS_Y + 58, 58, 8, sal_False, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText8Pg4 ), ImpValueOfInMB( nEstimatedFileSize ), PAGE_POS_X + 70, PAGE_POS_Y + 58, 30, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText3Pg4 ), getString( STR_ESTIMATED_FILESIZE ), PAGE_POS_X + 6, PAGE_POS_Y + 58, 88, 8, sal_False, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText8Pg4 ), OUString(), PAGE_POS_X + 100, PAGE_POS_Y + 58, 30, 8, sal_False, sal_False, mnTabIndex++ ) ); setControlProperty( TKGet( TK_FixedText8Pg4 ), TKGet( TK_Align ), Any( static_cast< short >( 2 ) ) ); aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg4 ), mxItemListener, getString( STR_APPLY_TO_CURRENT ), PAGE_POS_X + 6, PAGE_POS_Y + 78, PAGE_WIDTH - 12, 8, sal_False, mnTabIndex++ ) ); @@ -894,8 +914,8 @@ void OptimizerDialog::InitPage4() aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg4 ), OUString(), PAGE_POS_X + 6, DIALOG_HEIGHT - 86, PAGE_WIDTH - 12, 8, sal_True, sal_False, mnTabIndex++ ) ); aControlList.push_back( TKGet( TK_Progress ) ); aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator1Pg4 ), 0, PAGE_POS_X + 6, DIALOG_HEIGHT - 58, PAGE_WIDTH - 12, 1 ) ); - aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg4 ), mxItemListener, getString( STR_SAVE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 48, 70, 8, mnTabIndex++ ) ); - aControlList.push_back( InsertComboBox( *this, TKGet( TK_ComboBox0Pg4 ), xTextListener, sal_True, aItemList, PAGE_POS_X + 76, DIALOG_HEIGHT - 48, 100, 12, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg4 ), mxItemListener, getString( STR_SAVE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 48, 100, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertComboBox( *this, TKGet( TK_ComboBox0Pg4 ), xTextListener, sal_True, aItemList, PAGE_POS_X + 106, DIALOG_HEIGHT - 48, 100, 12, mnTabIndex++ ) ); maControlPages.push_back( aControlList ); DeactivatePage( 4 ); diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx index 45fb9898afed..276e84dfc3b8 100644 --- a/sdext/source/minimizer/pppoptimizertoken.cxx +++ b/sdext/source/minimizer/pppoptimizertoken.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -230,6 +230,7 @@ static const TokenTable pTokenTableArray[] = { "SaveAs", TK_SaveAs }, { "SaveAsURL", TK_SaveAsURL }, { "OpenNewDocument", TK_OpenNewDocument }, + { "EstimatedFileSize", TK_EstimatedFileSize }, { "Status", TK_Status }, { "Pages", TK_Pages }, diff --git a/sdext/source/minimizer/pppoptimizertoken.hxx b/sdext/source/minimizer/pppoptimizertoken.hxx index ff69c2197c3a..4959e443df85 100644 --- a/sdext/source/minimizer/pppoptimizertoken.hxx +++ b/sdext/source/minimizer/pppoptimizertoken.hxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-22 16:53:24 $ + * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -206,6 +206,7 @@ enum PPPOptimizerTokenEnum TK_SaveAs, TK_SaveAsURL, TK_OpenNewDocument, + TK_EstimatedFileSize, TK_Status, TK_Pages, -- cgit From bae2876fd3296fd0f40b56c1896bc6b481b2f35c Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 13 Jun 2007 08:07:51 +0000 Subject: #i78171# fixed crash when clicking next after canceling the file open dialog --- sdext/source/minimizer/optimizerdialog.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx index ac0d9c06bf18..48e60a99aaf8 100644 --- a/sdext/source/minimizer/optimizerdialog.cxx +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialog.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ + * last change: $Author: sj $ $Date: 2007-06-13 09:07:51 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -751,7 +751,7 @@ void ActionListener::actionPerformed( const ActionEvent& rEvent ) { mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavHelp ), TKGet( TK_Enabled ), Any( sal_True ) ); mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavBack ), TKGet( TK_Enabled ), Any( sal_True ) ); - mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavNext ), TKGet( TK_Enabled ), Any( sal_True ) ); + mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavNext ), TKGet( TK_Enabled ), Any( sal_False ) ); mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavFinish ), TKGet( TK_Enabled ), Any( sal_True ) ); mrOptimizerDialog.setControlProperty( TKGet( TK_btnNavCancel ), TKGet( TK_Enabled ), Any( sal_True ) ); mrOptimizerDialog.EnablePage( ITEM_ID_SUMMARY ); -- cgit From e0d7971191ad08a19f21218843750ce09f6da5c4 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 6 Jul 2007 15:02:25 +0000 Subject: Bring module to HEAD. --- jfreereport/download/jcommon-serializer.zip | Bin 0 -> 349102 bytes jfreereport/download/libfonts.zip | Bin 0 -> 1921743 bytes jfreereport/download/liblayout.zip | Bin 0 -> 4616481 bytes jfreereport/download/libloader.zip | Bin 0 -> 970803 bytes jfreereport/download/librepository.zip | Bin 0 -> 364560 bytes jfreereport/download/libxml.zip | Bin 0 -> 451053 bytes jfreereport/java/flute/makefile.mk | 77 ++++++++++++++++++++ jfreereport/java/jcommon-serializer/makefile.mk | 78 +++++++++++++++++++++ jfreereport/java/jfreereport/makefile.mk | 77 ++++++++++++++++++++ jfreereport/java/libfonts/makefile.mk | 77 ++++++++++++++++++++ jfreereport/java/libformula/makefile.mk | 77 ++++++++++++++++++++ jfreereport/java/liblayout/makefile.mk | 77 ++++++++++++++++++++ jfreereport/java/libloader/makefile.mk | 77 ++++++++++++++++++++ jfreereport/java/librepository/makefile.mk | 77 ++++++++++++++++++++ jfreereport/java/libxml/makefile.mk | 77 ++++++++++++++++++++ jfreereport/nbprojects/flute/nbproject/project.xml | 42 +++++++++++ .../jcommon-serializer/nbproject/project.xml | 42 +++++++++++ .../nbprojects/jfreereport/nbproject/project.xml | 42 +++++++++++ .../nbprojects/libfonts/nbproject/project.xml | 42 +++++++++++ .../nbprojects/libformula/nbproject/project.xml | 42 +++++++++++ .../nbprojects/liblayout/nbproject/project.xml | 42 +++++++++++ .../nbprojects/libloader/nbproject/project.xml | 42 +++++++++++ .../nbprojects/librepository/nbproject/project.xml | 42 +++++++++++ .../nbprojects/libxml/nbproject/project.xml | 42 +++++++++++ jfreereport/prj/build.lst | 11 +++ jfreereport/prj/d.lst | 11 +++ 26 files changed, 1094 insertions(+) create mode 100644 jfreereport/download/jcommon-serializer.zip create mode 100644 jfreereport/download/libfonts.zip create mode 100644 jfreereport/download/liblayout.zip create mode 100644 jfreereport/download/libloader.zip create mode 100644 jfreereport/download/librepository.zip create mode 100644 jfreereport/download/libxml.zip create mode 100644 jfreereport/java/flute/makefile.mk create mode 100644 jfreereport/java/jcommon-serializer/makefile.mk create mode 100644 jfreereport/java/jfreereport/makefile.mk create mode 100644 jfreereport/java/libfonts/makefile.mk create mode 100644 jfreereport/java/libformula/makefile.mk create mode 100644 jfreereport/java/liblayout/makefile.mk create mode 100644 jfreereport/java/libloader/makefile.mk create mode 100644 jfreereport/java/librepository/makefile.mk create mode 100644 jfreereport/java/libxml/makefile.mk create mode 100644 jfreereport/nbprojects/flute/nbproject/project.xml create mode 100644 jfreereport/nbprojects/jcommon-serializer/nbproject/project.xml create mode 100644 jfreereport/nbprojects/jfreereport/nbproject/project.xml create mode 100644 jfreereport/nbprojects/libfonts/nbproject/project.xml create mode 100644 jfreereport/nbprojects/libformula/nbproject/project.xml create mode 100644 jfreereport/nbprojects/liblayout/nbproject/project.xml create mode 100644 jfreereport/nbprojects/libloader/nbproject/project.xml create mode 100644 jfreereport/nbprojects/librepository/nbproject/project.xml create mode 100644 jfreereport/nbprojects/libxml/nbproject/project.xml create mode 100644 jfreereport/prj/build.lst create mode 100644 jfreereport/prj/d.lst diff --git a/jfreereport/download/jcommon-serializer.zip b/jfreereport/download/jcommon-serializer.zip new file mode 100644 index 000000000000..ffbcf9443b89 Binary files /dev/null and b/jfreereport/download/jcommon-serializer.zip differ diff --git a/jfreereport/download/libfonts.zip b/jfreereport/download/libfonts.zip new file mode 100644 index 000000000000..fe380988b0f2 Binary files /dev/null and b/jfreereport/download/libfonts.zip differ diff --git a/jfreereport/download/liblayout.zip b/jfreereport/download/liblayout.zip new file mode 100644 index 000000000000..9c926e8d81f8 Binary files /dev/null and b/jfreereport/download/liblayout.zip differ diff --git a/jfreereport/download/libloader.zip b/jfreereport/download/libloader.zip new file mode 100644 index 000000000000..800674fafbfb Binary files /dev/null and b/jfreereport/download/libloader.zip differ diff --git a/jfreereport/download/librepository.zip b/jfreereport/download/librepository.zip new file mode 100644 index 000000000000..c5ff0810cae5 Binary files /dev/null and b/jfreereport/download/librepository.zip differ diff --git a/jfreereport/download/libxml.zip b/jfreereport/download/libxml.zip new file mode 100644 index 000000000000..321b9f2151fc Binary files /dev/null and b/jfreereport/download/libxml.zip differ diff --git a/jfreereport/java/flute/makefile.mk b/jfreereport/java/flute/makefile.mk new file mode 100644 index 000000000000..bbddd1eebe0b --- /dev/null +++ b/jfreereport/java/flute/makefile.mk @@ -0,0 +1,77 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: rt $ $Date: 2007-07-06 16:02:21 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=flute + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +CONVERTFILES=ant$/build.xml\ + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/jfreereport/java/jcommon-serializer/makefile.mk b/jfreereport/java/jcommon-serializer/makefile.mk new file mode 100644 index 000000000000..ce6e035be91d --- /dev/null +++ b/jfreereport/java/jcommon-serializer/makefile.mk @@ -0,0 +1,78 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: rt $ $Date: 2007-07-06 16:02:21 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=jcommon-serializer + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +CONVERTFILES=ant$/build.xml\ + + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/jfreereport/java/jfreereport/makefile.mk b/jfreereport/java/jfreereport/makefile.mk new file mode 100644 index 000000000000..d869550fdc74 --- /dev/null +++ b/jfreereport/java/jfreereport/makefile.mk @@ -0,0 +1,77 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: rt $ $Date: 2007-07-06 16:02:21 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=jfreereport + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +CONVERTFILES=ant$/build.xml\ + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/jfreereport/java/libfonts/makefile.mk b/jfreereport/java/libfonts/makefile.mk new file mode 100644 index 000000000000..7afa6ce405fd --- /dev/null +++ b/jfreereport/java/libfonts/makefile.mk @@ -0,0 +1,77 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=libfonts + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +CONVERTFILES=ant$/build.xml\ + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/jfreereport/java/libformula/makefile.mk b/jfreereport/java/libformula/makefile.mk new file mode 100644 index 000000000000..c2e19175bfc7 --- /dev/null +++ b/jfreereport/java/libformula/makefile.mk @@ -0,0 +1,77 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=libformula + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +CONVERTFILES=ant$/build.xml\ + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/jfreereport/java/liblayout/makefile.mk b/jfreereport/java/liblayout/makefile.mk new file mode 100644 index 000000000000..b232e4810c42 --- /dev/null +++ b/jfreereport/java/liblayout/makefile.mk @@ -0,0 +1,77 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=liblayout + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +CONVERTFILES=ant$/build.xml\ + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/jfreereport/java/libloader/makefile.mk b/jfreereport/java/libloader/makefile.mk new file mode 100644 index 000000000000..8c5d365450d6 --- /dev/null +++ b/jfreereport/java/libloader/makefile.mk @@ -0,0 +1,77 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=libloader + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +CONVERTFILES=ant$/build.xml\ + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/jfreereport/java/librepository/makefile.mk b/jfreereport/java/librepository/makefile.mk new file mode 100644 index 000000000000..5e142a183132 --- /dev/null +++ b/jfreereport/java/librepository/makefile.mk @@ -0,0 +1,77 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=librepository + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +CONVERTFILES=ant$/build.xml\ + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/jfreereport/java/libxml/makefile.mk b/jfreereport/java/libxml/makefile.mk new file mode 100644 index 000000000000..a0d283805368 --- /dev/null +++ b/jfreereport/java/libxml/makefile.mk @@ -0,0 +1,77 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: rt $ $Date: 2007-07-06 16:02:23 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=libxml + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +CONVERTFILES=ant$/build.xml\ + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/jfreereport/nbprojects/flute/nbproject/project.xml b/jfreereport/nbprojects/flute/nbproject/project.xml new file mode 100644 index 000000000000..4280b91022ab --- /dev/null +++ b/jfreereport/nbprojects/flute/nbproject/project.xml @@ -0,0 +1,42 @@ + + + org.netbeans.modules.ant.freeform + + + + flute-13a + + ../../wntmsci10/misc/build/flute + ${project.dir}/ant/build.xml + + + + + ${project.dir} + + + + + + all + + + + javadoc + + + + + + ${ant.script} + + + + + + + + + + + diff --git a/jfreereport/nbprojects/jcommon-serializer/nbproject/project.xml b/jfreereport/nbprojects/jcommon-serializer/nbproject/project.xml new file mode 100644 index 000000000000..f7a14ae8712f --- /dev/null +++ b/jfreereport/nbprojects/jcommon-serializer/nbproject/project.xml @@ -0,0 +1,42 @@ + + + org.netbeans.modules.ant.freeform + + + + jcommon-serializer + + ../../wntmsci10/misc/build/jcommon-serializer + ${project.dir}/ant/build.xml + + + + + ${project.dir} + + + + + + all + + + + javadoc + + + + + + ${ant.script} + + + + + + + + + + + diff --git a/jfreereport/nbprojects/jfreereport/nbproject/project.xml b/jfreereport/nbprojects/jfreereport/nbproject/project.xml new file mode 100644 index 000000000000..8f6074cfb8d8 --- /dev/null +++ b/jfreereport/nbprojects/jfreereport/nbproject/project.xml @@ -0,0 +1,42 @@ + + + org.netbeans.modules.ant.freeform + + + + jfreereport + + ../../wntmsci10/misc/build/jfreereport + ${project.dir}/ant/build.xml + + + + + ${project.dir} + + + + + + all + + + + javadoc + + + + + + ${ant.script} + + + + + + + + + + + diff --git a/jfreereport/nbprojects/libfonts/nbproject/project.xml b/jfreereport/nbprojects/libfonts/nbproject/project.xml new file mode 100644 index 000000000000..d84bfb7f832b --- /dev/null +++ b/jfreereport/nbprojects/libfonts/nbproject/project.xml @@ -0,0 +1,42 @@ + + + org.netbeans.modules.ant.freeform + + + + libfonts + + ../../wntmsci10/misc/build/libfonts + ${project.dir}/ant/build.xml + + + + + ${project.dir} + + + + + + all + + + + javadoc + + + + + + ${ant.script} + + + + + + + + + + + diff --git a/jfreereport/nbprojects/libformula/nbproject/project.xml b/jfreereport/nbprojects/libformula/nbproject/project.xml new file mode 100644 index 000000000000..e056200ee16e --- /dev/null +++ b/jfreereport/nbprojects/libformula/nbproject/project.xml @@ -0,0 +1,42 @@ + + + org.netbeans.modules.ant.freeform + + + + libformula + + ../../wntmsci10/misc/build/libformula + ${project.dir}/ant/build.xml + + + + + ${project.dir} + + + + + + all + + + + javadoc + + + + + + ${ant.script} + + + + + + + + + + + diff --git a/jfreereport/nbprojects/liblayout/nbproject/project.xml b/jfreereport/nbprojects/liblayout/nbproject/project.xml new file mode 100644 index 000000000000..63ad9ef3f420 --- /dev/null +++ b/jfreereport/nbprojects/liblayout/nbproject/project.xml @@ -0,0 +1,42 @@ + + + org.netbeans.modules.ant.freeform + + + + liblayout + + ../../wntmsci10/misc/build/liblayout + ${project.dir}/ant/build.xml + + + + + ${project.dir} + + + + + + all + + + + javadoc + + + + + + ${ant.script} + + + + + + + + + + + diff --git a/jfreereport/nbprojects/libloader/nbproject/project.xml b/jfreereport/nbprojects/libloader/nbproject/project.xml new file mode 100644 index 000000000000..6b06d5686759 --- /dev/null +++ b/jfreereport/nbprojects/libloader/nbproject/project.xml @@ -0,0 +1,42 @@ + + + org.netbeans.modules.ant.freeform + + + + libloader + + ../../wntmsci10/misc/build/libloader + ${project.dir}/ant/build.xml + + + + + ${project.dir} + + + + + + all + + + + javadoc + + + + + + ${ant.script} + + + + + + + + + + + diff --git a/jfreereport/nbprojects/librepository/nbproject/project.xml b/jfreereport/nbprojects/librepository/nbproject/project.xml new file mode 100644 index 000000000000..c1b92593de3f --- /dev/null +++ b/jfreereport/nbprojects/librepository/nbproject/project.xml @@ -0,0 +1,42 @@ + + + org.netbeans.modules.ant.freeform + + + + librepository + + ../../wntmsci10/misc/build/librepository + ${project.dir}/ant/build.xml + + + + + ${project.dir} + + + + + + all + + + + javadoc + + + + + + ${ant.script} + + + + + + + + + + + diff --git a/jfreereport/nbprojects/libxml/nbproject/project.xml b/jfreereport/nbprojects/libxml/nbproject/project.xml new file mode 100644 index 000000000000..6b966c904cd3 --- /dev/null +++ b/jfreereport/nbprojects/libxml/nbproject/project.xml @@ -0,0 +1,42 @@ + + + org.netbeans.modules.ant.freeform + + + + libxml + + ../../wntmsci10/misc/build/libxml + ${project.dir}/ant/build.xml + + + + + ${project.dir} + + + + + + all + + + + javadoc + + + + + + ${ant.script} + + + + + + + + + + + diff --git a/jfreereport/prj/build.lst b/jfreereport/prj/build.lst new file mode 100644 index 000000000000..0e1e707ab764 --- /dev/null +++ b/jfreereport/prj/build.lst @@ -0,0 +1,11 @@ +jf jfreereport : solenv NULL +jf jfreereport usr1 - all jf_mkout NULL +jf reportdesign\java\flute nmake - all jf_flute NULL +jf reportdesign\java\libxml nmake - all jf_libxml NULL +jf reportdesign\java\libloader nmake - all jf_libloader NULL +jf reportdesign\java\libfonts nmake - all jf_libfonts NULL +jf reportdesign\java\libformula nmake - all jf_libformula NULL +jf reportdesign\java\librepository nmake - all jf_librepository NULL +jf reportdesign\java\jcommon-serializer nmake - all jf_jcommon-serializer NULL +jf reportdesign\java\jfreereport nmake - all jf_jfreereport NULL +jf reportdesign\java\liblayout nmake - all jf_liblayout NULL diff --git a/jfreereport/prj/d.lst b/jfreereport/prj/d.lst new file mode 100644 index 000000000000..9c02526dd2f0 --- /dev/null +++ b/jfreereport/prj/d.lst @@ -0,0 +1,11 @@ +..\%__SRC%\misc\build\flute\flute-1.3-jfree-20061107.jar %_DEST%\bin%_EXT%\flute-1.3-jfree-20061107.jar +..\%__SRC%\misc\build\libxml\libxml-0.9.5.jar %_DEST%\bin%_EXT%\libxml-0.9.5.jar +..\%__SRC%\misc\build\libloader\libloader-0.3.4.jar %_DEST%\bin%_EXT%\libloader-0.3.4.jar +..\%__SRC%\misc\build\libfonts\libfonts-0.2.6.jar %_DEST%\bin%_EXT%\libfonts-0.2.6.jar +..\%__SRC%\misc\build\libformula\libformula-0.1.8.jar %_DEST%\bin%_EXT%\libformula-0.1.8.jar +..\%__SRC%\misc\build\librepository\librepository-0.1.1.jar %_DEST%\bin%_EXT%\librepository-0.1.1.jar +..\%__SRC%\misc\build\librepository\lib\jcommon-1.0.10.jar %_DEST%\bin%_EXT%\jcommon-1.0.10.jar +..\%__SRC%\misc\build\jcommon-serializer\jcommon-serializer-0.1.0.jar %_DEST%\bin%_EXT%\jcommon-serializer-0.1.0.jar +..\%__SRC%\misc\build\jfreereport\jfreereport-0.9.0-05.jar %_DEST%\bin%_EXT%\jfreereport-0.9.0-05.jar +..\%__SRC%\misc\build\jfreereport\lib\sac.jar %_DEST%\bin%_EXT%\sac.jar +..\%__SRC%\misc\build\liblayout\liblayout-0.2.6.jar %_DEST%\bin%_EXT%\liblayout-0.2.6.jar -- cgit From 782b91b46162add900776213d848d962fcabe48c Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Mon, 9 Jul 2007 11:46:22 +0000 Subject: #i10000# This is 'jfreereport', not 'reportdesign'. --- jfreereport/prj/build.lst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/jfreereport/prj/build.lst b/jfreereport/prj/build.lst index 0e1e707ab764..466ff0eb853b 100644 --- a/jfreereport/prj/build.lst +++ b/jfreereport/prj/build.lst @@ -1,11 +1,11 @@ jf jfreereport : solenv NULL jf jfreereport usr1 - all jf_mkout NULL -jf reportdesign\java\flute nmake - all jf_flute NULL -jf reportdesign\java\libxml nmake - all jf_libxml NULL -jf reportdesign\java\libloader nmake - all jf_libloader NULL -jf reportdesign\java\libfonts nmake - all jf_libfonts NULL -jf reportdesign\java\libformula nmake - all jf_libformula NULL -jf reportdesign\java\librepository nmake - all jf_librepository NULL -jf reportdesign\java\jcommon-serializer nmake - all jf_jcommon-serializer NULL -jf reportdesign\java\jfreereport nmake - all jf_jfreereport NULL -jf reportdesign\java\liblayout nmake - all jf_liblayout NULL +jf jfreereport\java\flute nmake - all jf_flute NULL +jf jfreereport\java\libxml nmake - all jf_libxml NULL +jf jfreereport\java\libloader nmake - all jf_libloader NULL +jf jfreereport\java\libfonts nmake - all jf_libfonts NULL +jf jfreereport\java\libformula nmake - all jf_libformula NULL +jf jfreereport\java\librepository nmake - all jf_librepository NULL +jf jfreereport\java\jcommon-serializer nmake - all jf_jcommon-serializer NULL +jf jfreereport\java\jfreereport nmake - all jf_jfreereport NULL +jf jfreereport\java\liblayout nmake - all jf_liblayout NULL -- cgit From 4940b550d378f482da68860dd51aabf0453d84fc Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Tue, 10 Jul 2007 15:16:26 +0000 Subject: some minor bugfixes --- sdext/source/minimizer/aboutdialog.cxx | 25 ++++++++++++-------- sdext/source/minimizer/optimizerdialogcontrols.cxx | 10 ++++---- .../Office/extension/SunPresentationMinimizer.xcu | 18 +++++++-------- .../Office/extension/SunPresentationMinimizer.xcs | 10 ++++---- sdext/source/minimizer/unodialog.cxx | 27 ++++++++++++++++++++-- sdext/source/minimizer/unodialog.hxx | 6 +++-- 6 files changed, 64 insertions(+), 32 deletions(-) diff --git a/sdext/source/minimizer/aboutdialog.cxx b/sdext/source/minimizer/aboutdialog.cxx index f429e09b8a94..5c474cf7b23e 100644 --- a/sdext/source/minimizer/aboutdialog.cxx +++ b/sdext/source/minimizer/aboutdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: aboutdialog.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:49:08 $ + * last change: $Author: sj $ $Date: 2007-07-10 16:16:25 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -61,9 +61,12 @@ using namespace ::com::sun::star::beans; using namespace ::com::sun::star::script; using namespace ::com::sun::star::container; +#define ABOUT_DIALOG_WIDTH 220 +#define ABOUT_DIALOG_HEIGHT 221 // ----------------------------------------------------------------------------- + rtl::OUString InsertFixedText( AboutDialog& rAboutDialog, const rtl::OUString& rControlName, const OUString& rLabel, sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, sal_Bool bMultiLine, sal_Int16 nTabIndex ) { @@ -203,12 +206,12 @@ void AboutDialog::InitDialog() Any pValues[] = { Any( sal_True ), - Any( sal_Int32( 221 ) ), + Any( sal_Int32( ABOUT_DIALOG_HEIGHT ) ), Any( sal_True ), Any( sal_Int32( 113 ) ), Any( sal_Int32( 42 ) ), - Any( getString( STR_ABOUT ) ), - Any( sal_Int32( 178 ) ) }; + Any( getString( STR_ABOUT_VERSION ) ), + Any( sal_Int32( ABOUT_DIALOG_WIDTH ) ) }; sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); @@ -220,10 +223,14 @@ void AboutDialog::InitDialog() rtl::OUString sURL( sBitmapPath += sBitmap ); mxDialogModelMultiPropertySet->setPropertyValues( aNames, aValues ); - InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), sURL, 0, 0, 178, 44 ); - InsertFixedText( *this, rtl::OUString( rtl::OUString::createFromAscii( "fixedtext" ) ), getString( STR_ABOUT_PRN ), 9, 66, 160, 127, sal_True, 0 ); - InsertSeparator( *this, rtl::OUString( rtl::OUString::createFromAscii( "separator" ) ), 0, 0, 196, 178, 8 ); - InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, 125, 204, 50, 14, 1, STR_OK ); + + int nWidth = (int) getMapsFromPixels( 387 ); +// int nHeight = (int) getMapsFromPixels( 95 ); + + InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), sURL, 0, 0, ABOUT_DIALOG_WIDTH, 60 ); + InsertFixedText( *this, rtl::OUString( rtl::OUString::createFromAscii( "fixedtext" ) ), getString( STR_ABOUT_PRN ), 9, 66, ABOUT_DIALOG_WIDTH - 18, 127, sal_True, 0 ); + InsertSeparator( *this, rtl::OUString( rtl::OUString::createFromAscii( "separator" ) ), 0, 0, 196, ABOUT_DIALOG_WIDTH, 8 ); + InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, ( nWidth / 2 ) - 25, 204, 50, 14, 1, STR_OK ); } // ----------------------------------------------------------------------------- diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index 75c343d94263..2a661e7ab2bb 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ + * last change: $Author: sj $ $Date: 2007-07-10 16:16:25 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -605,10 +605,10 @@ void OptimizerDialog::InitPage3() std::vector< rtl::OUString > aControlList; aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText0Pg2 ), getString( STR_OLE_OPTIMIZATION ), PAGE_POS_X, PAGE_POS_Y, PAGE_WIDTH, 8, sal_False, sal_True, mnTabIndex++ ) ); aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox0Pg2 ), mxItemListener, getString( STR_OLE_REPLACE ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); - aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg2 ), mxItemListener, getString( STR_ALL_OLE_OBJECTS ), PAGE_POS_X + 14, PAGE_POS_Y + 28, 100, 8, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg2 ), mxItemListener, getString( STR_ALIEN_OLE_OBJECTS_ONLY ), PAGE_POS_X + 14, PAGE_POS_Y + 40, 100, 8, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg2 ), mxItemListener, getString( STR_ALL_OLE_OBJECTS ), PAGE_POS_X + 14, PAGE_POS_Y + 28, ( PAGE_WIDTH - PAGE_POS_X ) - 22, 8, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg2 ), mxItemListener, getString( STR_ALIEN_OLE_OBJECTS_ONLY ), PAGE_POS_X + 14, PAGE_POS_Y + 40, ( PAGE_WIDTH - PAGE_POS_X ) - 22, 8, sal_False, mnTabIndex++ ) ); if ( !nOLECount ) - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg2 ), getString( STR_NO_OLE_OBJECTS ), PAGE_POS_X + 14, PAGE_POS_Y + 64, PAGE_WIDTH - 22, 8, sal_True, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg2 ), getString( STR_NO_OLE_OBJECTS ), PAGE_POS_X + 6, PAGE_POS_Y + 64, PAGE_WIDTH - 22, 8, sal_True, sal_False, mnTabIndex++ ) ); maControlPages.push_back( aControlList ); DeactivatePage( 3 ); UpdateControlStatesPage3(); diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu index 87cdb0459d80..a350cde41855 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu @@ -28,12 +28,12 @@ ~Hilfe - ~Back - ~Zurück + < ~Back + < ~Zurück - ~Next - ~Weiter + ~Next > + ~Weiter > ~Finish @@ -48,7 +48,7 @@ Einleitung - The Presentation Minimizer is used to reduce the file size of the current presentation. Images will be compressed and data, that is no longer needed, will be removed. + The Sun Presentation Minimizer is used to reduce the file size of the current presentation. Images will be compressed and data, that is no longer needed, will be removed. At the last step of the wizard you can choose to apply the changes to the current presentation or to create an optimized new version of the presentation. Mit dem Sun Presentation Minimizer können Sie die Dateigröße des aktuellen Dokumentes verkleinern. Dazu werden die Bilder komprimiert und nicht mehr benötigte Daten entfernt. @@ -196,8 +196,8 @@ Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Doku ~Einstellungen speichern unter - Duplicate presentation before applying changes - Dokument duplizieren bevor die Änderungen angewendet werden + ~Duplicate presentation before applying changes + ~Dokument duplizieren bevor die Änderungen angewendet werden Delete %SLIDES slides @@ -248,14 +248,14 @@ Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Doku &ProductName; &ProductVersion; - Copyright © 2006 Sun Microsystems, Inc. All rights reserved. + Copyright © 2007 Sun Microsystems, Inc. All rights reserved. U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. Use is subject to license terms. This distribution may include materials developed by third parties. Sun, Sun Microsystems, the Sun logo, Java and StarOffice are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. - Copyright © 2006 Sun Microsystems, Inc. Tous droits réservés. + Copyright © 2007 Sun Microsystems, Inc. Tous droits réservés. L'utilisation est soumise aux termes du contrat de licence. diff --git a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs index 9f35c1c81cd0..9f4ec4b009bf 100644 --- a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs +++ b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs @@ -115,10 +115,10 @@ ~Help - ~Back + < ~Back - ~Next + ~Next > ~Finish @@ -130,7 +130,7 @@ Introduction - The Presentation Minimizer is used to reduce the file size of the current presentation. Images will be compressed and data, that is no longer needed, will be removed. + The Sun Presentation Minimizer is used to reduce the file size of the current presentation. Images will be compressed and data, that is no longer needed, will be removed. At the last step of the wizard you can choose to apply the changes to the current presentation or to create an optimized new version of the presentation. @@ -240,7 +240,7 @@ At the last step of the wizard you can choose to apply the changes to the curren ~Save settings as - Duplicate presentation before applying changes + ~Duplicate presentation before applying changes Delete %SLIDES slides @@ -279,7 +279,7 @@ At the last step of the wizard you can choose to apply the changes to the curren Sun Presentation Minimizer - Copyright © 2006 Sun Microsystems, Inc. All rights reserved. + Copyright © 2007 Sun Microsystems, Inc. All rights reserved. U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. diff --git a/sdext/source/minimizer/unodialog.cxx b/sdext/source/minimizer/unodialog.cxx index 166858d55443..9edd60c9a46e 100644 --- a/sdext/source/minimizer/unodialog.cxx +++ b/sdext/source/minimizer/unodialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: unodialog.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 14:01:14 $ + * last change: $Author: sj $ $Date: 2007-07-10 16:16:25 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -412,6 +412,29 @@ finally{ // ----------------------------------------------------------------------------- +sal_Int32 UnoDialog::getMapsFromPixels( sal_Int32 nPixels ) const +{ + double dMaps = 0; + try + { + sal_Int32 nMapWidth = 0; + const OUString sWidth( RTL_CONSTASCII_USTRINGPARAM( "Width" ) ); + if ( mxDialogModelPropertySet->getPropertyValue( sWidth ) >>= nMapWidth ) + { + Reference< XWindow > xWindow( mxDialog, UNO_QUERY_THROW ); + double pxWidth = xWindow->getPosSize().Width; + double mapRatio = ( pxWidth / nMapWidth ); + dMaps = nPixels / mapRatio; + } + } + catch ( Exception& ) + { + } + return static_cast< sal_Int32 >( dMaps ); +} + +// ----------------------------------------------------------------------------- + Any UnoDialog::getControlProperty( const OUString& rControlName, const OUString& rPropertyName ) { Any aRet; diff --git a/sdext/source/minimizer/unodialog.hxx b/sdext/source/minimizer/unodialog.hxx index ee56406f2056..9bf0f03e12ef 100644 --- a/sdext/source/minimizer/unodialog.hxx +++ b/sdext/source/minimizer/unodialog.hxx @@ -4,9 +4,9 @@ * * $RCSfile: unodialog.hxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 14:01:25 $ + * last change: $Author: sj $ $Date: 2007-07-10 16:16:25 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -153,6 +153,8 @@ public : sal_Bool isHighContrast(); + sal_Int32 getMapsFromPixels( sal_Int32 nPixels ) const; + com::sun::star::uno::Reference< com::sun::star::awt::XButton > insertButton( const rtl::OUString& rName, com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > xActionListener, const com::sun::star::uno::Sequence< rtl::OUString >& rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& rPropertyValues ); -- cgit From 58c731c9ea73665a668c4773e6ef51f267573ce7 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Tue, 24 Jul 2007 14:16:34 +0000 Subject: finished menu integration --- .../registry/data/org/openoffice/Office/Addons.xcu | 99 +++++++++++++++------- 1 file changed, 69 insertions(+), 30 deletions(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu index e60ceebc9081..eb742a5cf3ba 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu @@ -41,36 +41,75 @@ - - - - vnd.com.sun.star.comp.SunPresentationMinimizer:execute - - - ~Minimize Presentation... - ~Präsentation minimieren... - - - _self - - - com.sun.star.presentation.PresentationDocument - - - - - vnd.com.sun.star.comp.SunPresentationMinimizer:about - - - ~Info über Sun Presentation Minimizer - About Sun Presentation Minimizer - - - _self - - - com.sun.star.presentation.PresentationDocument - + + + + + .uno:ToolsMenu\.uno:AVMediaPlayer + + + AddAfter + + + AddPath + + + com.sun.star.presentation.PresentationDocument + + + + + private:separator + + + + + vnd.com.sun.star.comp.SunPresentationMinimizer:execute + + + ~Minimize Presentation... + ~Präsentation minimieren... + + + _self + + + com.sun.star.presentation.PresentationDocument + + + + + + + .uno:HelpMenu\.uno:About + + + AddBefore + + + AddPath + + + com.sun.star.presentation.PresentationDocument + + + + + vnd.com.sun.star.comp.SunPresentationMinimizer:about + + + ~Info über Sun Presentation Minimizer + About Sun Presentation Minimizer + + + _self + + + com.sun.star.presentation.PresentationDocument + + + + -- cgit From 30a225683f68e4e2643519358c581ad933fdd7a0 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 2 Aug 2007 13:12:23 +0000 Subject: INTEGRATION: CWS rpt23fix01 (1.2.2); FILE MERGED 2007/07/19 07:32:32 oj 1.2.2.4: #i79528# remove patch for this cws 2007/07/13 06:01:28 oj 1.2.2.3: #i79528# create new patch, the old one contains rev flags which were correct via cvs 2007/07/13 05:39:23 oj 1.2.2.2: #i79528# iml patch for flute 2007/07/12 14:00:10 oj 1.2.2.1: #i79528# iml patch for flute --- jfreereport/java/flute/makefile.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jfreereport/java/flute/makefile.mk b/jfreereport/java/flute/makefile.mk index bbddd1eebe0b..6a4f397418c3 100644 --- a/jfreereport/java/flute/makefile.mk +++ b/jfreereport/java/flute/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rt $ $Date: 2007-07-06 16:02:21 $ +# last change: $Author: hr $ $Date: 2007-08-02 14:12:23 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,7 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -CONVERTFILES=ant$/build.xml\ +CONVERTFILES=ant$/build.xml .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= -- cgit From ff225209b2b7a9fa955b8cebc5792e44ac0334f9 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:06:27 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/25 06:54:41 oj 1.2.4.1: new fixes --- jfreereport/download/jcommon-serializer.zip | Bin 349102 -> 349278 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/jfreereport/download/jcommon-serializer.zip b/jfreereport/download/jcommon-serializer.zip index ffbcf9443b89..ed8552987109 100644 Binary files a/jfreereport/download/jcommon-serializer.zip and b/jfreereport/download/jcommon-serializer.zip differ -- cgit From 319c0f31efe1040229426faf8934ea5ce8b7051c Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:08:27 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/25 06:54:46 oj 1.2.4.1: new fixes --- jfreereport/download/libfonts.zip | Bin 1921743 -> 1922689 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/jfreereport/download/libfonts.zip b/jfreereport/download/libfonts.zip index fe380988b0f2..8469248ceeea 100644 Binary files a/jfreereport/download/libfonts.zip and b/jfreereport/download/libfonts.zip differ -- cgit From ea52a7c3841bbff6bf86ae4e5c499f035cf328be Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:09:55 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/25 06:54:48 oj 1.2.4.1: new fixes --- jfreereport/download/liblayout.zip | Bin 4616481 -> 4619385 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/jfreereport/download/liblayout.zip b/jfreereport/download/liblayout.zip index 9c926e8d81f8..c03519015f61 100644 Binary files a/jfreereport/download/liblayout.zip and b/jfreereport/download/liblayout.zip differ -- cgit From ce50baf647fc93b21f2cf70ad60ab18fc54adc8d Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:10:45 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/25 06:54:51 oj 1.2.4.1: new fixes --- jfreereport/download/libloader.zip | Bin 970803 -> 971441 bytes jfreereport/download/librepository.zip | Bin 364560 -> 364802 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/jfreereport/download/libloader.zip b/jfreereport/download/libloader.zip index 800674fafbfb..251ecfdd78a9 100644 Binary files a/jfreereport/download/libloader.zip and b/jfreereport/download/libloader.zip differ diff --git a/jfreereport/download/librepository.zip b/jfreereport/download/librepository.zip index c5ff0810cae5..99dddd82ad1e 100644 Binary files a/jfreereport/download/librepository.zip and b/jfreereport/download/librepository.zip differ -- cgit From a70422bbb4084346ae049eeb685ef82d30022291 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:11:04 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/25 06:54:52 oj 1.2.4.1: new fixes --- jfreereport/download/libxml.zip | Bin 451053 -> 451273 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/jfreereport/download/libxml.zip b/jfreereport/download/libxml.zip index 321b9f2151fc..10482eb7df09 100644 Binary files a/jfreereport/download/libxml.zip and b/jfreereport/download/libxml.zip differ -- cgit From 943711c04528d744755e85b292dee054bf1dbf86 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:11:24 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/27 08:13:04 oj 1.2.4.1: #i79504# patch file for java 1.3 --- jfreereport/java/jcommon-serializer/makefile.mk | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jfreereport/java/jcommon-serializer/makefile.mk b/jfreereport/java/jcommon-serializer/makefile.mk index ce6e035be91d..447c507ba399 100644 --- a/jfreereport/java/jcommon-serializer/makefile.mk +++ b/jfreereport/java/jcommon-serializer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rt $ $Date: 2007-07-06 16:02:21 $ +# last change: $Author: hr $ $Date: 2007-08-03 10:11:24 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,10 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) +PATCH_FILE_NAME=patches/$(TARGET).patch + CONVERTFILES=ant$/build.xml\ + ant$/build.properties .IF "$(JAVACISGCJ)"=="yes" -- cgit From cceea237fa24e41254034e32c4f38e9871d4fe97 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:12:27 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/27 08:13:05 oj 1.2.4.1: #i79504# patch file for java 1.3 --- jfreereport/java/jfreereport/makefile.mk | 7 +++++-- jfreereport/java/libfonts/makefile.mk | 7 +++++-- jfreereport/java/libformula/makefile.mk | 7 +++++-- jfreereport/java/liblayout/makefile.mk | 7 +++++-- jfreereport/java/libloader/makefile.mk | 7 +++++-- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/jfreereport/java/jfreereport/makefile.mk b/jfreereport/java/jfreereport/makefile.mk index d869550fdc74..02cd899705b5 100644 --- a/jfreereport/java/jfreereport/makefile.mk +++ b/jfreereport/java/jfreereport/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rt $ $Date: 2007-07-06 16:02:21 $ +# last change: $Author: hr $ $Date: 2007-08-03 10:11:35 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,10 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) +PATCH_FILE_NAME=patches/$(TARGET).patch + CONVERTFILES=ant$/build.xml\ + ant$/build.properties .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= diff --git a/jfreereport/java/libfonts/makefile.mk b/jfreereport/java/libfonts/makefile.mk index 7afa6ce405fd..2a3d2cad0629 100644 --- a/jfreereport/java/libfonts/makefile.mk +++ b/jfreereport/java/libfonts/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# last change: $Author: hr $ $Date: 2007-08-03 10:11:49 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,10 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) +PATCH_FILE_NAME=patches/$(TARGET).patch + CONVERTFILES=ant$/build.xml\ + ant$/build.properties .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= diff --git a/jfreereport/java/libformula/makefile.mk b/jfreereport/java/libformula/makefile.mk index c2e19175bfc7..b7a7490eea42 100644 --- a/jfreereport/java/libformula/makefile.mk +++ b/jfreereport/java/libformula/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# last change: $Author: hr $ $Date: 2007-08-03 10:12:02 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,10 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) +PATCH_FILE_NAME=patches/$(TARGET).patch + CONVERTFILES=ant$/build.xml\ + ant$/build.properties .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= diff --git a/jfreereport/java/liblayout/makefile.mk b/jfreereport/java/liblayout/makefile.mk index b232e4810c42..d09cbd312c98 100644 --- a/jfreereport/java/liblayout/makefile.mk +++ b/jfreereport/java/liblayout/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# last change: $Author: hr $ $Date: 2007-08-03 10:12:15 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,10 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) +PATCH_FILE_NAME=patches/$(TARGET).patch + CONVERTFILES=ant$/build.xml\ + ant$/build.properties .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= diff --git a/jfreereport/java/libloader/makefile.mk b/jfreereport/java/libloader/makefile.mk index 8c5d365450d6..cee8b2d98432 100644 --- a/jfreereport/java/libloader/makefile.mk +++ b/jfreereport/java/libloader/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# last change: $Author: hr $ $Date: 2007-08-03 10:12:27 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,10 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) +PATCH_FILE_NAME=patches/$(TARGET).patch + CONVERTFILES=ant$/build.xml\ + ant$/build.properties .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= -- cgit From 44e88d8c1cc1ea7bbf564384a46fa59b3dcd4ec1 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:12:50 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/27 08:13:06 oj 1.2.4.1: #i79504# patch file for java 1.3 --- jfreereport/java/librepository/makefile.mk | 7 +++++-- jfreereport/java/libxml/makefile.mk | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/jfreereport/java/librepository/makefile.mk b/jfreereport/java/librepository/makefile.mk index 5e142a183132..8179ae7697c1 100644 --- a/jfreereport/java/librepository/makefile.mk +++ b/jfreereport/java/librepository/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rt $ $Date: 2007-07-06 16:02:22 $ +# last change: $Author: hr $ $Date: 2007-08-03 10:12:38 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,10 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) +PATCH_FILE_NAME=patches/$(TARGET).patch + CONVERTFILES=ant$/build.xml\ + ant$/build.properties .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= diff --git a/jfreereport/java/libxml/makefile.mk b/jfreereport/java/libxml/makefile.mk index a0d283805368..c69a3f8e92c0 100644 --- a/jfreereport/java/libxml/makefile.mk +++ b/jfreereport/java/libxml/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rt $ $Date: 2007-07-06 16:02:23 $ +# last change: $Author: hr $ $Date: 2007-08-03 10:12:50 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,10 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) +PATCH_FILE_NAME=patches/$(TARGET).patch + CONVERTFILES=ant$/build.xml\ + ant$/build.properties .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= -- cgit From 85bd5a33f03a5557cd9736961d7fb0c61c5b277a Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:13:01 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.1.2); FILE ADDED 2007/07/27 08:11:35 oj 1.1.2.1: #i79504# patch for java 1.3 --- jfreereport/patches/flute.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 jfreereport/patches/flute.patch diff --git a/jfreereport/patches/flute.patch b/jfreereport/patches/flute.patch new file mode 100644 index 000000000000..9599e9175da4 --- /dev/null +++ b/jfreereport/patches/flute.patch @@ -0,0 +1,21 @@ +*** misc/flute/ant/build.properties Sun Dec 3 18:56:06 2006 +--- misc/build/flute/ant/build.properties Fri Jul 27 09:07:03 2007 +*************** +*** 14,21 **** + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + + # + # All path settings are relative to the project root directory +--- 14,21 ---- + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + + # + # All path settings are relative to the project root directory -- cgit From 22d98366dbd37c81710e752a44027a7c4a8692c6 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:13:10 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.1.2); FILE ADDED 2007/07/27 08:11:43 oj 1.1.2.1: #i79504# patch for java 1.3 --- jfreereport/patches/jcommon-serializer.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 jfreereport/patches/jcommon-serializer.patch diff --git a/jfreereport/patches/jcommon-serializer.patch b/jfreereport/patches/jcommon-serializer.patch new file mode 100644 index 000000000000..6a451af2ee8b --- /dev/null +++ b/jfreereport/patches/jcommon-serializer.patch @@ -0,0 +1,21 @@ +*** misc/jcommon-serializer/ant/build.properties Mon Dec 11 13:40:27 2006 +--- misc/build/jcommon-serializer/ant/build.properties Fri Jul 27 09:04:38 2007 +*************** +*** 13,20 **** + + ## + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + + # + # All path settings are relative to the project root directory +--- 13,20 ---- + + ## + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + + # + # All path settings are relative to the project root directory -- cgit From 48466567b76092217098032b10aee01d8d0d876a Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:13:30 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.1.2); FILE ADDED 2007/07/27 08:12:02 oj 1.1.2.1: #i79504# patch for java 1.3 --- jfreereport/patches/libfonts.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 jfreereport/patches/libfonts.patch diff --git a/jfreereport/patches/libfonts.patch b/jfreereport/patches/libfonts.patch new file mode 100644 index 000000000000..a1fe7994ab31 --- /dev/null +++ b/jfreereport/patches/libfonts.patch @@ -0,0 +1,21 @@ +*** misc/libfonts/ant/build.properties Sun May 27 19:19:06 2007 +--- misc/build/libfonts/ant/build.properties Fri Jul 27 09:05:17 2007 +*************** +*** 14,21 **** + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + + # + # All path settings are relative to the project root directory +--- 14,21 ---- + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + + # + # All path settings are relative to the project root directory -- cgit From fac3837b39aadacef7acc2e4731dabde5c76b809 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:13:39 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.1.2); FILE ADDED 2007/07/27 08:12:11 oj 1.1.2.1: #i79504# patch for java 1.3 --- jfreereport/patches/libformula.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 jfreereport/patches/libformula.patch diff --git a/jfreereport/patches/libformula.patch b/jfreereport/patches/libformula.patch new file mode 100644 index 000000000000..4ed09016cc8c --- /dev/null +++ b/jfreereport/patches/libformula.patch @@ -0,0 +1,21 @@ +*** misc/libformula/ant/build.properties Mon May 21 19:44:21 2007 +--- misc/build/libformula/ant/build.properties Fri Jul 27 09:05:29 2007 +*************** +*** 18,25 **** + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + + # + # All path settings are relative to the project root directory +--- 18,25 ---- + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + + # + # All path settings are relative to the project root directory -- cgit From 99b61488d94c82182dc8e6394d5c1c8a64e0442f Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:13:48 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.1.2); FILE ADDED 2007/07/27 08:12:19 oj 1.1.2.1: #i79504# patch for java 1.3 --- jfreereport/patches/liblayout.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 jfreereport/patches/liblayout.patch diff --git a/jfreereport/patches/liblayout.patch b/jfreereport/patches/liblayout.patch new file mode 100644 index 000000000000..d3ffc7ba8f90 --- /dev/null +++ b/jfreereport/patches/liblayout.patch @@ -0,0 +1,21 @@ +*** misc/liblayout/ant/build.properties Wed May 30 19:06:41 2007 +--- misc/build/liblayout/ant/build.properties Fri Jul 27 09:05:42 2007 +*************** +*** 14,21 **** + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + + # + # All path settings are relative to the project root directory +--- 14,21 ---- + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + + # + # All path settings are relative to the project root directory -- cgit From 50cf4bc7b1f3a1de3b094d40562999b218c5a3ea Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:13:57 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.1.2); FILE ADDED 2007/07/27 08:12:50 oj 1.1.2.1: #i79504# patch for java 1.3 --- jfreereport/patches/libloader.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 jfreereport/patches/libloader.patch diff --git a/jfreereport/patches/libloader.patch b/jfreereport/patches/libloader.patch new file mode 100644 index 000000000000..155c0c732549 --- /dev/null +++ b/jfreereport/patches/libloader.patch @@ -0,0 +1,21 @@ +*** misc/libloader/ant/build.properties Mon May 21 19:29:36 2007 +--- misc/build/libloader/ant/build.properties Fri Jul 27 09:05:56 2007 +*************** +*** 14,21 **** + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + + # + # All path settings are relative to the project root directory +--- 14,21 ---- + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + + # + # All path settings are relative to the project root directory -- cgit From d86f9db750a999d27b5cef32b7cac2ecb5771743 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:14:07 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.1.2); FILE ADDED 2007/07/27 08:12:29 oj 1.1.2.1: #i79504# patch for java 1.3 --- jfreereport/patches/librepository.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 jfreereport/patches/librepository.patch diff --git a/jfreereport/patches/librepository.patch b/jfreereport/patches/librepository.patch new file mode 100644 index 000000000000..6a4f7bf8bcc2 --- /dev/null +++ b/jfreereport/patches/librepository.patch @@ -0,0 +1,21 @@ +*** misc/librepository/ant/build.properties Sun May 27 19:23:24 2007 +--- misc/build/librepository/ant/build.properties Fri Jul 27 09:06:11 2007 +*************** +*** 18,25 **** + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + + # + # All path settings are relative to the project root directory +--- 18,25 ---- + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + + # + # All path settings are relative to the project root directory -- cgit From 56efe4fa19e8b20aad49cc7caaf2074d855daee9 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 09:14:16 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.1.2); FILE ADDED 2007/07/27 08:12:39 oj 1.1.2.1: #i79504# patch for java 1.3 --- jfreereport/patches/libxml.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 jfreereport/patches/libxml.patch diff --git a/jfreereport/patches/libxml.patch b/jfreereport/patches/libxml.patch new file mode 100644 index 000000000000..2e8dec0f1a31 --- /dev/null +++ b/jfreereport/patches/libxml.patch @@ -0,0 +1,21 @@ +*** misc/libxml/ant/build.properties Sun May 27 20:44:28 2007 +--- misc/build/libxml/ant/build.properties Fri Jul 27 09:06:22 2007 +*************** +*** 14,21 **** + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + + # + # All path settings are relative to the project root directory +--- 14,21 ---- + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + + # + # All path settings are relative to the project root directory -- cgit From 72be5a9399a76b4582ae0be4a660327fe035e204 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 3 Aug 2007 11:46:45 +0000 Subject: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/27 08:13:04 oj 1.2.4.1: #i79504# patch file for java 1.3 --- jfreereport/java/flute/makefile.mk | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/jfreereport/java/flute/makefile.mk b/jfreereport/java/flute/makefile.mk index 6a4f397418c3..43fd9b14fb00 100644 --- a/jfreereport/java/flute/makefile.mk +++ b/jfreereport/java/flute/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hr $ $Date: 2007-08-02 14:12:23 $ +# last change: $Author: hr $ $Date: 2007-08-03 12:46:45 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -54,7 +54,10 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -CONVERTFILES=ant$/build.xml +PATCH_FILE_NAME=patches/$(TARGET).patch + +CONVERTFILES=ant$/build.xml\ + ant$/build.properties .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= -- cgit From 2938d9c81bc9fffad25cea42360bbf7337eed541 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 15 Aug 2007 08:53:46 +0000 Subject: added version number and the minimal openoffice version that is required --- sdext/source/minimizer/description.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sdext/source/minimizer/description.xml b/sdext/source/minimizer/description.xml index f7b18df50a83..976b55501dea 100644 --- a/sdext/source/minimizer/description.xml +++ b/sdext/source/minimizer/description.xml @@ -1,6 +1,10 @@ + + + + -- cgit From 63b39863161a87e8831c14a27ec74f972f6310b3 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 15 Aug 2007 11:03:13 +0000 Subject: changed some control positions --- sdext/source/minimizer/optimizerdialogcontrols.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index 2a661e7ab2bb..d140afc773de 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: sj $ $Date: 2007-07-10 16:16:25 $ + * last change: $Author: sj $ $Date: 2007-08-15 12:03:13 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -458,7 +458,7 @@ void OptimizerDialog::InitPage0() aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator1Pg0 ), 0, PAGE_POS_X + 6, DIALOG_HEIGHT - 66, PAGE_WIDTH - 12, 1 ) ); aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg0 ), getString( STR_CHOSE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 60, PAGE_WIDTH - 12, 8, sal_True, sal_False, mnTabIndex++ ) ); aControlList.push_back( InsertListBox( *this, TKGet( TK_ListBox0Pg0 ), mxActionListenerListBox0Pg0, sal_True, aItemList, PAGE_POS_X + 6, DIALOG_HEIGHT - 48, ( OD_DIALOG_WIDTH - 50 ) - ( PAGE_POS_X + 6 ), 12, mnTabIndex++ ) ); - aControlList.push_back( InsertButton( *this, TKGet( TK_Button0Pg0 ), mxActionListener, OD_DIALOG_WIDTH - 46, DIALOG_HEIGHT - 48, 40, 14, mnTabIndex++, sal_True, STR_REMOVE, PushButtonType_STANDARD ) ); + aControlList.push_back( InsertButton( *this, TKGet( TK_Button0Pg0 ), mxActionListener, OD_DIALOG_WIDTH - 46, DIALOG_HEIGHT - 49, 40, 14, mnTabIndex++, sal_True, STR_REMOVE, PushButtonType_STANDARD ) ); maControlPages.push_back( aControlList ); DeactivatePage( 0 ); UpdateControlStatesPage0(); @@ -914,7 +914,7 @@ void OptimizerDialog::InitPage4() aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg4 ), OUString(), PAGE_POS_X + 6, DIALOG_HEIGHT - 86, PAGE_WIDTH - 12, 8, sal_True, sal_False, mnTabIndex++ ) ); aControlList.push_back( TKGet( TK_Progress ) ); aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator1Pg4 ), 0, PAGE_POS_X + 6, DIALOG_HEIGHT - 58, PAGE_WIDTH - 12, 1 ) ); - aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg4 ), mxItemListener, getString( STR_SAVE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 48, 100, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg4 ), mxItemListener, getString( STR_SAVE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 47, 100, 8, mnTabIndex++ ) ); aControlList.push_back( InsertComboBox( *this, TKGet( TK_ComboBox0Pg4 ), xTextListener, sal_True, aItemList, PAGE_POS_X + 106, DIALOG_HEIGHT - 48, 100, 12, mnTabIndex++ ) ); maControlPages.push_back( aControlList ); DeactivatePage( 4 ); -- cgit From dc40a8e4a7258532e6b9124ae4947157e4ba2c28 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 15 Aug 2007 15:38:45 +0000 Subject: minor changes --- sdext/source/minimizer/optimizerdialog.cxx | 7 +++-- sdext/source/minimizer/optimizerdialogcontrols.cxx | 26 +++++++++---------- sdext/source/minimizer/pppoptimizertoken.cxx | 7 +++-- sdext/source/minimizer/pppoptimizertoken.hxx | 5 ++-- .../Office/extension/SunPresentationMinimizer.xcu | 30 +++++++++++----------- .../Office/extension/SunPresentationMinimizer.xcs | 5 +--- 6 files changed, 38 insertions(+), 42 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx index 48e60a99aaf8..31995146de2e 100644 --- a/sdext/source/minimizer/optimizerdialog.cxx +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialog.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: sj $ $Date: 2007-06-13 09:07:51 $ + * last change: $Author: sj $ $Date: 2007-08-15 16:38:45 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -430,7 +430,10 @@ void OptimizerDialog::UpdateStatus( const com::sun::star::uno::Sequence< com::su { rtl::OUString sStatus; if ( *pVal >>= sStatus ) + { + setControlProperty( TKGet( TK_FixedText1Pg4 ), TKGet( TK_Enabled ), Any( sal_True ) ); setControlProperty( TKGet( TK_FixedText1Pg4 ), TKGet( TK_Label ), Any( getString( TKGet( sStatus ) ) ) ); + } } pVal = maStats.GetStatusValue( TK_Progress ); if ( pVal ) diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index d140afc773de..48c0acb0cab2 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: sj $ $Date: 2007-08-15 12:03:13 $ + * last change: $Author: sj $ $Date: 2007-08-15 16:38:45 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -490,12 +490,10 @@ void OptimizerDialog::InitPage1() std::vector< rtl::OUString > aControlList; aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText0Pg3 ), getString( STR_CHOOSE_SLIDES ), PAGE_POS_X, PAGE_POS_Y, PAGE_WIDTH, 8, sal_False, sal_True, mnTabIndex++ ) ); aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox0Pg3 ), mxItemListener, getString( STR_DELETE_MASTER_PAGES ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg3 ), getString( STR_NOTES_PAGES ), PAGE_POS_X, PAGE_POS_Y + 28, PAGE_WIDTH, 8, sal_False, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg3 ), mxItemListener, getString( STR_DELETE_NOTES_PAGES ), PAGE_POS_X + 6, PAGE_POS_Y + 42, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg3 ), getString( STR_SLIDES ), PAGE_POS_X, PAGE_POS_Y + 56, PAGE_WIDTH, 8, sal_False, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox2Pg3 ), mxItemListener, getString( STR_DELETE_HIDDEN_SLIDES ), PAGE_POS_X + 6, PAGE_POS_Y + 70, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); - aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox3Pg3 ), mxItemListener, getString( STR_CUSTOM_SHOW ), PAGE_POS_X + 6, PAGE_POS_Y + 84, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); - aControlList.push_back( InsertListBox( *this, TKGet( TK_ListBox0Pg3 ), mxActionListener, sal_True, aCustomShowList, PAGE_POS_X + 14, PAGE_POS_Y + 96, 150, 12, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox2Pg3 ), mxItemListener, getString( STR_DELETE_HIDDEN_SLIDES ), PAGE_POS_X + 6, PAGE_POS_Y + 28, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox3Pg3 ), mxItemListener, getString( STR_CUSTOM_SHOW ), PAGE_POS_X + 6, PAGE_POS_Y + 42, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); + aControlList.push_back( InsertListBox( *this, TKGet( TK_ListBox0Pg3 ), mxActionListener, sal_True, aCustomShowList, PAGE_POS_X + 14, PAGE_POS_Y + 54, 150, 12, mnTabIndex++ ) ); + aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg3 ), mxItemListener, getString( STR_DELETE_NOTES_PAGES ), PAGE_POS_X + 6, PAGE_POS_Y + 70, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); maControlPages.push_back( aControlList ); DeactivatePage( 1 ); @@ -605,10 +603,10 @@ void OptimizerDialog::InitPage3() std::vector< rtl::OUString > aControlList; aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText0Pg2 ), getString( STR_OLE_OPTIMIZATION ), PAGE_POS_X, PAGE_POS_Y, PAGE_WIDTH, 8, sal_False, sal_True, mnTabIndex++ ) ); aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox0Pg2 ), mxItemListener, getString( STR_OLE_REPLACE ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); - aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg2 ), mxItemListener, getString( STR_ALL_OLE_OBJECTS ), PAGE_POS_X + 14, PAGE_POS_Y + 28, ( PAGE_WIDTH - PAGE_POS_X ) - 22, 8, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg2 ), mxItemListener, getString( STR_ALIEN_OLE_OBJECTS_ONLY ), PAGE_POS_X + 14, PAGE_POS_Y + 40, ( PAGE_WIDTH - PAGE_POS_X ) - 22, 8, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg2 ), mxItemListener, getString( STR_ALL_OLE_OBJECTS ), PAGE_POS_X + 14, PAGE_POS_Y + 28, PAGE_WIDTH - 22, 8, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg2 ), mxItemListener, getString( STR_ALIEN_OLE_OBJECTS_ONLY ), PAGE_POS_X + 14, PAGE_POS_Y + 40, PAGE_WIDTH - 22, 8, sal_False, mnTabIndex++ ) ); if ( !nOLECount ) - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg2 ), getString( STR_NO_OLE_OBJECTS ), PAGE_POS_X + 6, PAGE_POS_Y + 64, PAGE_WIDTH - 22, 8, sal_True, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg2 ), getString( STR_NO_OLE_OBJECTS ), PAGE_POS_X + 6, PAGE_POS_Y + 64, PAGE_WIDTH - 22, 50, sal_True, sal_False, mnTabIndex++ ) ); maControlPages.push_back( aControlList ); DeactivatePage( 3 ); UpdateControlStatesPage3(); @@ -874,10 +872,10 @@ void OptimizerDialog::InitPage4() TKGet( TK_Width ) }; Any pValues[] = { - Any( (sal_Int32)8 ), + Any( (sal_Int32)12 ), Any( TKGet( STR_SAVE_AS ) ), Any( (sal_Int32)( PAGE_POS_X + 6 ) ), - Any( (sal_Int32)( DIALOG_HEIGHT - 74 ) ), + Any( (sal_Int32)( DIALOG_HEIGHT - 75 ) ), Any( (sal_Int32)( 0 ) ), Any( (sal_Int32)( 100 ) ), Any( (sal_Int32)( 0 ) ), @@ -911,7 +909,7 @@ void OptimizerDialog::InitPage4() aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg4 ), mxItemListener, getString( STR_APPLY_TO_CURRENT ), PAGE_POS_X + 6, PAGE_POS_Y + 78, PAGE_WIDTH - 12, 8, sal_False, mnTabIndex++ ) ); aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg4 ), mxItemListener, getString( STR_SAVE_AS ), PAGE_POS_X + 6, PAGE_POS_Y + 90, PAGE_WIDTH - 12, 8, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg4 ), OUString(), PAGE_POS_X + 6, DIALOG_HEIGHT - 86, PAGE_WIDTH - 12, 8, sal_True, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg4 ), OUString(), PAGE_POS_X + 6, DIALOG_HEIGHT - 87, PAGE_WIDTH - 12, 8, sal_True, sal_False, mnTabIndex++ ) ); aControlList.push_back( TKGet( TK_Progress ) ); aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator1Pg4 ), 0, PAGE_POS_X + 6, DIALOG_HEIGHT - 58, PAGE_WIDTH - 12, 1 ) ); aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg4 ), mxItemListener, getString( STR_SAVE_SETTINGS ), PAGE_POS_X + 6, DIALOG_HEIGHT - 47, 100, 8, mnTabIndex++ ) ); diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx index 276e84dfc3b8..0bf84ddb7ac0 100644 --- a/sdext/source/minimizer/pppoptimizertoken.cxx +++ b/sdext/source/minimizer/pppoptimizertoken.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ + * last change: $Author: sj $ $Date: 2007-08-15 16:38:45 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -273,7 +273,6 @@ static const TokenTable pTokenTableArray[] = { "STR_CHOOSE_SLIDES", STR_CHOOSE_SLIDES }, { "STR_MASTER_PAGES", STR_MASTER_PAGES }, { "STR_DELETE_MASTER_PAGES", STR_DELETE_MASTER_PAGES }, - { "STR_NOTES_PAGES", STR_NOTES_PAGES }, { "STR_DELETE_NOTES_PAGES", STR_DELETE_NOTES_PAGES }, { "STR_DELETE_HIDDEN_SLIDES", STR_DELETE_HIDDEN_SLIDES }, { "STR_CUSTOM_SHOW", STR_CUSTOM_SHOW }, @@ -291,7 +290,7 @@ static const TokenTable pTokenTableArray[] = { "STR_CURRENT_FILESIZE", STR_CURRENT_FILESIZE }, { "STR_ESTIMATED_FILESIZE", STR_ESTIMATED_FILESIZE }, { "STR_MB", STR_MB }, - { "MY_SETTINGS", STR_MY_SETTINGS }, + { "MY_SETTINGS", STR_MY_SETTINGS }, { "STR_DEFAULT_SESSION", STR_DEFAULT_SESSION }, { "STR_MODIFY_WARNING", STR_MODIFY_WARNING }, { "STR_YES", STR_YES }, diff --git a/sdext/source/minimizer/pppoptimizertoken.hxx b/sdext/source/minimizer/pppoptimizertoken.hxx index 4959e443df85..3d29e60dc551 100644 --- a/sdext/source/minimizer/pppoptimizertoken.hxx +++ b/sdext/source/minimizer/pppoptimizertoken.hxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ + * last change: $Author: sj $ $Date: 2007-08-15 16:38:45 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -249,7 +249,6 @@ enum PPPOptimizerTokenEnum STR_CHOOSE_SLIDES, STR_MASTER_PAGES, STR_DELETE_MASTER_PAGES, - STR_NOTES_PAGES, STR_DELETE_NOTES_PAGES, STR_DELETE_HIDDEN_SLIDES, STR_CUSTOM_SHOW, diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu index a350cde41855..80c5346b53ab 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu @@ -56,8 +56,8 @@ At the last step of the wizard you can choose to apply the changes to the curren Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Dokument durchgeführt werden sollen oder ob ein neues optimiertes Dokument angelegt werden soll. - ~Choose settings for the Presentation Minimization Wizard - ~Wählen Sie die Einstellungen für den Web-Assistenten Präsentations-Minimierungsassistenten aus + ~Choose settings for Sun Presentation Minimizer + ~Wählen Sie die Einstellungen für den Sun Presentation Minimizer ~Delete @@ -80,8 +80,8 @@ Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Doku ~JPEG-Komprimierung - ~Quality - ~Qualität + ~Quality in % + ~Qualität in % ~Delete cropped graphic areas @@ -132,8 +132,12 @@ Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Doku Fü~r OLE-Objekte, die nicht auf dem OpenDocument Format basieren - The current presentation contains no OLE objects. - Die aktuelle Präsentation enthält keine OLE-Objekte. + Object Linking and Embedding (OLE) is a technology that allows embedding and linking to documents and other objects. + +The current presentation contains OLE objects. + Object Linking and Embedding (OLE) ist eine Methode zum Einbettern oder Verknüpfen von Dokumenten und Objekten in andere Dokumente. + +Die aktuelle Präsentation enthält OLE-Objekte. Slides @@ -151,13 +155,9 @@ Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Doku Delete unused ~master pages Nicht verwendete ~Masterseiten löschen - - Notes pages - Notizseiten - - Delete ~notes - ~Notizen löschen + ~Clear notes + ~Notizen entfernen Delete hidden ~slides @@ -200,7 +200,7 @@ Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Doku ~Dokument duplizieren bevor die Änderungen angewendet werden - Delete %SLIDES slides + Delete %SLIDES slides. %SLIDES Folien löschen. @@ -224,8 +224,8 @@ Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Doku %1 MB - My Settings - Meine Einstellungen + My Settings + Meine Einstellungen default session diff --git a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs index 9f4ec4b009bf..8af140158551 100644 --- a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs +++ b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs @@ -206,11 +206,8 @@ At the last step of the wizard you can choose to apply the changes to the curren Delete unused ~master pages - - Notes pages - - Delete ~notes + ~Clear notes Delete hidden ~slides -- cgit From 4dc2d365bc17a7a8b2e33c6260e7866645f5a80f Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Thu, 16 Aug 2007 13:33:00 +0000 Subject: added spinfield for jpeg quality control to allow steps of 10 --- sdext/source/minimizer/optimizerdialog.cxx | 55 +++++++++++++++++++++- sdext/source/minimizer/optimizerdialog.hxx | 28 ++++++++++- sdext/source/minimizer/optimizerdialogcontrols.cxx | 13 +++-- 3 files changed, 88 insertions(+), 8 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx index 31995146de2e..1e4070ffc27b 100644 --- a/sdext/source/minimizer/optimizerdialog.cxx +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialog.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: sj $ $Date: 2007-08-15 16:38:45 $ + * last change: $Author: sj $ $Date: 2007-08-16 14:33:00 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -308,6 +308,7 @@ OptimizerDialog::OptimizerDialog( const Reference< XComponentContext > &rxMSF, R mxActionListenerListBox0Pg0( new ActionListenerListBox0Pg0( *this ) ), mxTextListenerFormattedField0Pg1( new TextListenerFormattedField0Pg1( *this ) ), mxTextListenerComboBox0Pg1( new TextListenerComboBox0Pg1( *this ) ), + mxSpinListenerFormattedField0Pg1( new SpinListenerFormattedField0Pg1( *this ) ), mxStatusDispatcher( rxStatusDispatcher ) { Reference< XStorable > xStorable( mxController->getModel(), UNO_QUERY_THROW ); @@ -847,6 +848,56 @@ void TextListenerComboBox0Pg1::disposing( const ::com::sun::star::lang::EventObj throw ( com::sun::star::uno::RuntimeException ) { } + +// ----------------------------------------------------------------------------- + +void SpinListenerFormattedField0Pg1::up( const SpinEvent& /* rEvent */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ + double fDouble; + Any aAny = mrOptimizerDialog.getControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ) ); + if ( aAny >>= fDouble ) + { + fDouble += 9; + if ( fDouble > 100 ) + fDouble = 100; + mrOptimizerDialog.setControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ), Any( fDouble ) ); + mrOptimizerDialog.SetConfigProperty( TK_JPEGQuality, Any( (sal_Int32)fDouble ) ); + } +} +void SpinListenerFormattedField0Pg1::down( const SpinEvent& /* rEvent */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ + double fDouble; + Any aAny = mrOptimizerDialog.getControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ) ); + if ( aAny >>= fDouble ) + { + fDouble -= 9; + if ( fDouble < 0 ) + fDouble = 0; + mrOptimizerDialog.setControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ), Any( fDouble ) ); + mrOptimizerDialog.SetConfigProperty( TK_JPEGQuality, Any( (sal_Int32)fDouble ) ); + } +} +void SpinListenerFormattedField0Pg1::first( const SpinEvent& /* rEvent */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ + mrOptimizerDialog.setControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ), Any( static_cast< double >( 0 ) ) ); + mrOptimizerDialog.SetConfigProperty( TK_JPEGQuality, Any( (sal_Int32)0 ) ); +} +void SpinListenerFormattedField0Pg1::last( const SpinEvent& /* rEvent */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ + mrOptimizerDialog.setControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ), Any( static_cast< double >( 100 ) ) ); + mrOptimizerDialog.SetConfigProperty( TK_JPEGQuality, Any( (sal_Int32)100 ) ); +} +void SpinListenerFormattedField0Pg1::disposing( const ::com::sun::star::lang::EventObject& /* Source */ ) + throw ( com::sun::star::uno::RuntimeException ) +{ +} + +// ----------------------------------------------------------------------------- + void HelpCloseListener::addCloseListener( const Reference < XCloseListener >& ) throw( RuntimeException ) { } diff --git a/sdext/source/minimizer/optimizerdialog.hxx b/sdext/source/minimizer/optimizerdialog.hxx index 6a23cee54543..7497ad5bb141 100644 --- a/sdext/source/minimizer/optimizerdialog.hxx +++ b/sdext/source/minimizer/optimizerdialog.hxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialog.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ + * last change: $Author: sj $ $Date: 2007-08-16 14:33:00 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -57,6 +57,12 @@ #ifndef _COM_SUN_STAR_AWT_XITEMLISTENER_HPP_ #include #endif +#ifndef _COM_SUN_STAR_AWT_XSPINFIELD_HPP_ +#include +#endif +#ifndef _COM_SUN_STAR_AWT_XSPINLISTENER_HPP_ +#include +#endif #ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include #endif @@ -140,6 +146,7 @@ private : com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > mxActionListenerListBox0Pg0; com::sun::star::uno::Reference< com::sun::star::awt::XTextListener > mxTextListenerFormattedField0Pg1; com::sun::star::uno::Reference< com::sun::star::awt::XTextListener > mxTextListenerComboBox0Pg1; + com::sun::star::uno::Reference< com::sun::star::awt::XSpinListener > mxSpinListenerFormattedField0Pg1; com::sun::star::uno::Reference< com::sun::star::frame::XDispatch > mxStatusDispatcher; std::vector< std::vector< rtl::OUString > > maControlPages; @@ -255,6 +262,23 @@ private: // ----------------------------------------------------------------------------- +class SpinListenerFormattedField0Pg1 : public ::cppu::WeakImplHelper1< com::sun::star::awt::XSpinListener > +{ +public: + SpinListenerFormattedField0Pg1( OptimizerDialog& rOptimizerDialog ) : mrOptimizerDialog( rOptimizerDialog ){}; + + virtual void SAL_CALL up( const ::com::sun::star::awt::SpinEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL down( const ::com::sun::star::awt::SpinEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL first( const ::com::sun::star::awt::SpinEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL last( const ::com::sun::star::awt::SpinEvent& Event ) throw ( com::sun::star::uno::RuntimeException ); + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( com::sun::star::uno::RuntimeException); +private: + + OptimizerDialog& mrOptimizerDialog; +}; + +// ----------------------------------------------------------------------------- + class HelpCloseListener : public ::cppu::WeakImplHelper1< com::sun::star::util::XCloseListener > { public: diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index 48c0acb0cab2..5faa179617cb 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: sj $ $Date: 2007-08-15 16:38:45 $ + * last change: $Author: sj $ $Date: 2007-08-16 14:33:00 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -234,7 +234,7 @@ rtl::OUString InsertCheckBox( OptimizerDialog& rOptimizerDialog, const OUString& // ----------------------------------------------------------------------------- rtl::OUString InsertFormattedField( OptimizerDialog& rOptimizerDialog, const OUString& rControlName, - const Reference< XTextListener > xTextListener, sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, + const Reference< XTextListener > xTextListener, const Reference< XSpinListener > xSpinListener, sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, double fEffectiveMin, double fEffectiveMax, sal_Int16 nTabIndex ) { OUString pNames[] = { @@ -271,6 +271,11 @@ rtl::OUString InsertFormattedField( OptimizerDialog& rOptimizerDialog, const OUS Reference< XTextComponent > xTextComponent( rOptimizerDialog.insertFormattedField( rControlName, aNames, aValues ), UNO_QUERY_THROW ); if ( xTextListener.is() ) xTextComponent->addTextListener( xTextListener ); + if ( xSpinListener.is() ) + { + Reference< XSpinField > xSpinField( xTextComponent, UNO_QUERY_THROW ); + xSpinField->addSpinListener( xSpinListener ); + } return rControlName; } @@ -559,7 +564,7 @@ void OptimizerDialog::InitPage2() aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg1 ), mxItemListener, getString( STR_LOSSLESS_COMPRESSION ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, sal_False, mnTabIndex++ ) ); aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg1 ), mxItemListener, getString( STR_JPEG_COMPRESSION ), PAGE_POS_X + 6, PAGE_POS_Y + 28, PAGE_WIDTH - 12, 8, sal_False, mnTabIndex++ ) ); aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg1 ), getString( STR_QUALITY ), PAGE_POS_X + 20, PAGE_POS_Y + 40, 72, 8, sal_False, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertFormattedField( *this, TKGet( TK_FormattedField0Pg1 ), mxTextListenerFormattedField0Pg1, PAGE_POS_X + 106, PAGE_POS_Y + 38, 50, 0, 100, mnTabIndex++ ) ); + aControlList.push_back( InsertFormattedField( *this, TKGet( TK_FormattedField0Pg1 ), mxTextListenerFormattedField0Pg1, mxSpinListenerFormattedField0Pg1, PAGE_POS_X + 106, PAGE_POS_Y + 38, 50, 0, 100, mnTabIndex++ ) ); aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText2Pg1 ), getString( STR_IMAGE_RESOLUTION ), PAGE_POS_X + 6, PAGE_POS_Y + 54, 94, 8, sal_False, sal_False, mnTabIndex++ ) ); aControlList.push_back( InsertComboBox( *this, TKGet( TK_ComboBox0Pg1 ), mxTextListenerComboBox0Pg1, sal_True, aResolutionItemList, PAGE_POS_X + 106, PAGE_POS_Y + 52, 100, 12, mnTabIndex++ ) ); aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox1Pg1 ), mxItemListener, getString( STR_REMOVE_CROP_AREA ), PAGE_POS_X + 6, PAGE_POS_Y + 68, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); -- cgit From cb14cc6c1631d0679a544f428919e938623471ab Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Thu, 16 Aug 2007 15:08:05 +0000 Subject: using localized file size separator --- sdext/source/minimizer/configurationaccess.cxx | 8 ++++---- sdext/source/minimizer/impoptimizer.cxx | 6 +++--- sdext/source/minimizer/optimizerdialogcontrols.cxx | 19 +++++++++++++------ sdext/source/minimizer/pppoptimizertoken.cxx | 5 +++-- sdext/source/minimizer/pppoptimizertoken.hxx | 5 +++-- .../Office/extension/SunPresentationMinimizer.xcu | 4 ++++ .../Office/extension/SunPresentationMinimizer.xcs | 3 +++ 7 files changed, 33 insertions(+), 17 deletions(-) diff --git a/sdext/source/minimizer/configurationaccess.cxx b/sdext/source/minimizer/configurationaccess.cxx index 599c59a8cd85..cc9795c9843e 100644 --- a/sdext/source/minimizer/configurationaccess.cxx +++ b/sdext/source/minimizer/configurationaccess.cxx @@ -4,9 +4,9 @@ * * $RCSfile: configurationaccess.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ + * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -177,8 +177,8 @@ sal_Bool OptimizerSettings::operator==( const OptimizerSettings& rOptimizerSetti && ( rOptimizerSettings.mnOLEOptimizationType == mnOLEOptimizationType ) && ( rOptimizerSettings.mbDeleteUnusedMasterPages == mbDeleteUnusedMasterPages ) && ( rOptimizerSettings.mbDeleteHiddenSlides == mbDeleteHiddenSlides ) - && ( rOptimizerSettings.mbDeleteNotesPages == mbDeleteNotesPages ) - && ( rOptimizerSettings.mbOpenNewDocument == mbOpenNewDocument ); + && ( rOptimizerSettings.mbDeleteNotesPages == mbDeleteNotesPages ); +// && ( rOptimizerSettings.mbOpenNewDocument == mbOpenNewDocument ); } diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index 9e4816c26acb..587f581d1c5a 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ + * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -578,7 +578,7 @@ ImpOptimizer::ImpOptimizer( const Reference< XComponentContext >& rxMSF, const R mbDeleteUnusedMasterPages ( sal_False ), mbDeleteHiddenSlides ( sal_False ), mbDeleteNotesPages ( sal_False ), - mbOpenNewDocument ( sal_False ) + mbOpenNewDocument ( sal_True ) { } diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index 5faa179617cb..d1eeed8d86f7 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: sj $ $Date: 2007-08-16 14:33:00 $ + * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -619,15 +619,18 @@ void OptimizerDialog::InitPage3() // ----------------------------------------------------------------------------- -static OUString ImpValueOfInMB( const sal_Int64& rVal ) +static OUString ImpValueOfInMB( const sal_Int64& rVal, sal_Unicode nSeparator = '.' ) { double fVal( static_cast( rVal ) ); fVal /= ( 1 << 20 ); fVal += 0.05; rtl::OUStringBuffer aVal( OUString::valueOf( fVal ) ); sal_Int32 nX( OUString( aVal.getStr() ).indexOf( '.', 0 ) ); - if ( nX > 0 ) + if ( nX >= 0 ) + { aVal.setLength( nX + 2 ); + aVal.setCharAt( nX, nSeparator ); + } aVal.append( OUString::createFromAscii( " MB" ) ); return aVal.makeStringAndClear(); } @@ -858,8 +861,12 @@ void OptimizerDialog::UpdateControlStatesPage4() } nEstimatedFileSize = static_cast< sal_Int64 >( fE ); } - setControlProperty( TKGet( TK_FixedText7Pg4 ), TKGet( TK_Label ), Any( ImpValueOfInMB( nCurrentFileSize ) ) ); - setControlProperty( TKGet( TK_FixedText8Pg4 ), TKGet( TK_Label ), Any( ImpValueOfInMB( nEstimatedFileSize ) ) ); + sal_Unicode nSeparator = '.'; + OUString aStr( getString( STR_FILESIZESEPARATOR ) ); + if ( aStr.getLength() ) + nSeparator = aStr[ 0 ]; + setControlProperty( TKGet( TK_FixedText7Pg4 ), TKGet( TK_Label ), Any( ImpValueOfInMB( nCurrentFileSize, nSeparator ) ) ); + setControlProperty( TKGet( TK_FixedText8Pg4 ), TKGet( TK_Label ), Any( ImpValueOfInMB( nEstimatedFileSize, nSeparator ) ) ); SetConfigProperty( TK_EstimatedFileSize, Any( nEstimatedFileSize ) ); } diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx index 0bf84ddb7ac0..4385c8384b69 100644 --- a/sdext/source/minimizer/pppoptimizertoken.cxx +++ b/sdext/source/minimizer/pppoptimizertoken.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: sj $ $Date: 2007-08-15 16:38:45 $ + * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -306,6 +306,7 @@ static const TokenTable pTokenTableArray[] = { "STR_DELETING_SLIDES", STR_DELETING_SLIDES }, { "STR_OPTIMIZING_GRAPHICS", STR_OPTIMIZING_GRAPHICS }, { "STR_CREATING_OLE_REPLACEMENTS",STR_CREATING_OLE_REPLACEMENTS }, + { "STR_FileSizeSeparator", STR_FILESIZESEPARATOR }, { "Last", TK_Last }, { "NotFound", TK_NotFound } diff --git a/sdext/source/minimizer/pppoptimizertoken.hxx b/sdext/source/minimizer/pppoptimizertoken.hxx index 3d29e60dc551..a182f0afc620 100644 --- a/sdext/source/minimizer/pppoptimizertoken.hxx +++ b/sdext/source/minimizer/pppoptimizertoken.hxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.hxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: sj $ $Date: 2007-08-15 16:38:45 $ + * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -282,6 +282,7 @@ enum PPPOptimizerTokenEnum STR_DELETING_SLIDES, STR_OPTIMIZING_GRAPHICS, STR_CREATING_OLE_REPLACEMENTS, + STR_FILESIZESEPARATOR, TK_Last, TK_NotFound diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu index 80c5346b53ab..6da7aa124f38 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu @@ -299,6 +299,10 @@ Sun, Sun Microsystems, le logo Sun, Java et StarOffice sont des marques de fabri Creating replacement graphics for OLE objects... Ersatzdarstellungen für OLE-Objekte erzeugen... + + . + , + diff --git a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs index 8af140158551..68f45c7fc567 100644 --- a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs +++ b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs @@ -311,6 +311,9 @@ This distribution may include materials developed by third parties. Sun, Sun Mic Creating replacement graphics for OLE objects... + + . + -- cgit From 70ba36b0f5a31ecbd6f65d7da1a9560f85030756 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Thu, 16 Aug 2007 16:12:26 +0000 Subject: storing setting if newly created document should be opened to configuration --- sdext/source/minimizer/configurationaccess.cxx | 4 ++-- sdext/source/minimizer/impoptimizer.cxx | 6 ++++-- sdext/source/minimizer/informationdialog.cxx | 10 +++++----- sdext/source/minimizer/optimizerdialog.cxx | 22 ++++++---------------- sdext/source/minimizer/optimizerdialogcontrols.cxx | 8 ++------ sdext/source/minimizer/pppoptimizertoken.cxx | 5 ++--- sdext/source/minimizer/pppoptimizertoken.hxx | 5 ++--- 7 files changed, 23 insertions(+), 37 deletions(-) diff --git a/sdext/source/minimizer/configurationaccess.cxx b/sdext/source/minimizer/configurationaccess.cxx index cc9795c9843e..490f2c241178 100644 --- a/sdext/source/minimizer/configurationaccess.cxx +++ b/sdext/source/minimizer/configurationaccess.cxx @@ -4,9 +4,9 @@ * * $RCSfile: configurationaccess.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ + * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index 587f581d1c5a..f7919db3f4c9 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ + * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -770,6 +770,8 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) { InformationDialog aInformationDialog( mxMSF, mxInformationDialog, maSaveAsURL, mbOpenNewDocument, nSourceSize, nDestSize, nEstimatedFileSize ); aInformationDialog.execute(); + SetStatusValue( TK_OpenNewDocument, Any( mbOpenNewDocument ) ); + DispatchStatus(); } if ( maSaveAsURL.getLength() ) diff --git a/sdext/source/minimizer/informationdialog.cxx b/sdext/source/minimizer/informationdialog.cxx index b7a3ff3cbaf5..10a214da8cf3 100644 --- a/sdext/source/minimizer/informationdialog.cxx +++ b/sdext/source/minimizer/informationdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: informationdialog.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ + * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -290,9 +290,6 @@ void InformationDialog::InitDialog() Sequence< rtl::OUString > aNames( pNames, nCount ); Sequence< Any > aValues( pValues, nCount ); - sal_Bool bOpenNewDocument = mrbOpenNewDocument; - setControlProperty( TKGet( TK_OpenNewDocument ), TKGet( TK_State ), Any( (sal_Int16)bOpenNewDocument ) ); - mxDialogModelMultiPropertySet->setPropertyValues( aNames, aValues ); sal_Int64 nSource = mnSourceSize; @@ -359,6 +356,9 @@ void InformationDialog::InitDialog() if ( maSaveAsURL.getLength() ) InsertCheckBox( *this, TKGet( TK_OpenNewDocument ), xItemListener, getString( STR_AUTOMATICALLY_OPEN ), PAGE_POS_X, 42, PAGE_WIDTH, 8, 1 ); InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, DIALOG_WIDTH / 2 - 25, nDialogHeight - 20, 50, 14, 2, STR_OK ); + + sal_Bool bOpenNewDocument = mrbOpenNewDocument; + setControlProperty( TKGet( TK_OpenNewDocument ), TKGet( TK_State ), Any( (sal_Int16)bOpenNewDocument ) ); } // ----------------------------------------------------------------------------- diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx index 1e4070ffc27b..7586cfec6dbf 100644 --- a/sdext/source/minimizer/optimizerdialog.cxx +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialog.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: sj $ $Date: 2007-08-16 14:33:00 $ + * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -287,11 +287,6 @@ void OptimizerDialog::UpdateConfiguration() } } } - - // page4 -// aAny = getControlProperty( TKGet( TK_CheckBox0Pg4 ), TKGet( TK_State ) ); -// if ( aAny >>= nInt16 ) -// SetConfigProperty( TK_OpenNewDocument, Any( nInt16 != 0 ) ); } // ----------------------------------------------------------------------------- @@ -443,6 +438,10 @@ void OptimizerDialog::UpdateStatus( const com::sun::star::uno::Sequence< com::su if ( *pVal >>= nProgress ) setControlProperty( TKGet( TK_Progress ), TKGet( TK_ProgressValue ), Any( nProgress ) ); } + pVal = maStats.GetStatusValue( TK_OpenNewDocument ); + if ( pVal ) + SetConfigProperty( TK_OpenNewDocument, *pVal ); + mxReschedule->reschedule(); } } @@ -554,12 +553,6 @@ void ItemListener::itemStateChanged( const ItemEvent& Event ) mrOptimizerDialog.setControlProperty( TKGet( TK_ListBox0Pg3 ), TKGet( TK_Enabled ), Any( nState != 0 ) ); } break; - case TK_CheckBox0Pg4 : - { - if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) - mrOptimizerDialog.SetConfigProperty( TK_OpenNewDocument, Any( nState != 0 ) ); - } - break; case TK_CheckBox1Pg4 : { if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) @@ -570,10 +563,7 @@ void ItemListener::itemStateChanged( const ItemEvent& Event ) case TK_RadioButton1Pg4 : { if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nState ) - { - mrOptimizerDialog.setControlProperty( TKGet( TK_CheckBox0Pg4 ), TKGet( TK_Enabled ), Any( eControl == TK_RadioButton1Pg4 ) ); mrOptimizerDialog.SetConfigProperty( TK_SaveAs, Any( eControl == TK_RadioButton1Pg4 ? nState != 0 : nState == 0 ) ); - } } break; default: diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index d1eeed8d86f7..38ce7831c20a 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ + * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -638,7 +638,6 @@ static OUString ImpValueOfInMB( const sal_Int64& rVal, sal_Unicode nSeparator = void OptimizerDialog::UpdateControlStatesPage4() { sal_Bool bSaveAs( GetConfigProperty( TK_SaveAs, sal_True ) ); - sal_Bool bOpenNew( GetConfigProperty( TK_OpenNewDocument, sal_True ) ); if ( mbIsReadonly ) { setControlProperty( TKGet( TK_RadioButton0Pg4 ), TKGet( TK_State ), Any( (sal_Int16)( sal_False ) ) ); @@ -649,8 +648,6 @@ void OptimizerDialog::UpdateControlStatesPage4() setControlProperty( TKGet( TK_RadioButton0Pg4 ), TKGet( TK_State ), Any( (sal_Int16)( bSaveAs == sal_False ) ) ); setControlProperty( TKGet( TK_RadioButton1Pg4 ), TKGet( TK_State ), Any( (sal_Int16)( bSaveAs == sal_True ) ) ); } - setControlProperty( TKGet( TK_CheckBox0Pg4 ), TKGet( TK_State ), Any( (sal_Int16)( bOpenNew ) ) ); - setControlProperty( TKGet( TK_CheckBox0Pg4 ), TKGet( TK_Enabled ), Any( bSaveAs ) ); setControlProperty( TKGet( TK_ComboBox0Pg4 ), TKGet( TK_Enabled ), Any( sal_False ) ); sal_uInt32 w; @@ -905,7 +902,6 @@ void OptimizerDialog::InitPage4() Sequence< OUString > aItemList; std::vector< rtl::OUString > aControlList; aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText0Pg4 ), getString( STR_SUMMARY_TITLE ), PAGE_POS_X, PAGE_POS_Y, PAGE_WIDTH, 8, sal_False, sal_True, mnTabIndex++ ) ); -// aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox0Pg4 ), mxItemListener, getString( STR_AUTOMATICALLY_OPEN ), PAGE_POS_X + 14, PAGE_POS_Y + 38, PAGE_WIDTH - 18, 8, mnTabIndex++ ) ); // aControlList.push_back( InsertSeparator( *this, TKGet( TK_Separator0Pg4 ), 0, PAGE_POS_X + 6, PAGE_POS_Y + 90, PAGE_WIDTH - 12, 1 ) ); aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText4Pg4 ), OUString(), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, sal_False, sal_False, mnTabIndex++ ) ); diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx index 4385c8384b69..5b597ec9199c 100644 --- a/sdext/source/minimizer/pppoptimizertoken.cxx +++ b/sdext/source/minimizer/pppoptimizertoken.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ + * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -104,7 +104,6 @@ static const TokenTable pTokenTableArray[] = { "Separator0Pg4", TK_Separator0Pg4 }, { "RadioButton0Pg4", TK_RadioButton0Pg4 }, { "RadioButton1Pg4", TK_RadioButton1Pg4 }, - { "CheckBox0Pg4", TK_CheckBox0Pg4 }, { "Separator1Pg4", TK_Separator1Pg4 }, { "FixedText0Pg4", TK_FixedText0Pg4 }, { "FixedText1Pg4", TK_FixedText1Pg4 }, diff --git a/sdext/source/minimizer/pppoptimizertoken.hxx b/sdext/source/minimizer/pppoptimizertoken.hxx index a182f0afc620..488676439192 100644 --- a/sdext/source/minimizer/pppoptimizertoken.hxx +++ b/sdext/source/minimizer/pppoptimizertoken.hxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.hxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: sj $ $Date: 2007-08-16 16:08:04 $ + * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -80,7 +80,6 @@ enum PPPOptimizerTokenEnum TK_Separator0Pg4, TK_RadioButton0Pg4, TK_RadioButton1Pg4, - TK_CheckBox0Pg4, TK_Separator1Pg4, TK_FixedText0Pg4, TK_FixedText1Pg4, -- cgit From b52011fee4673107cbea86a07f740e467049001c Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 17 Aug 2007 08:38:07 +0000 Subject: added default file name --- sdext/source/minimizer/optimizerdialog.cxx | 78 +++++----------------- sdext/source/minimizer/optimizerdialogcontrols.cxx | 7 +- sdext/source/minimizer/pppoptimizerdialog.cxx | 8 +-- sdext/source/minimizer/pppoptimizertoken.cxx | 7 +- sdext/source/minimizer/pppoptimizertoken.hxx | 7 +- .../Office/extension/SunPresentationMinimizer.xcu | 10 ++- .../Office/extension/SunPresentationMinimizer.xcs | 11 ++- 7 files changed, 47 insertions(+), 81 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx index 7586cfec6dbf..34c7b1811f77 100644 --- a/sdext/source/minimizer/optimizerdialog.cxx +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialog.cxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ + * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -213,59 +213,6 @@ void OptimizerDialog::UpdateConfiguration() } } - // page1 -// aAny = getControlProperty( TKGet( TK_CheckBox0Pg1 ), TKGet( TK_State ) ); -// if ( aAny >>= nInt16 ) -// SetConfigProperty( TK_JPEGCompression, Any( nInt16 != 0 ) ); - -// aAny = getControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ) ); -// if ( aAny >>= fDouble ) -// SetConfigProperty( TK_JPEGQuality, Any( (sal_Int32)fDouble ) ); - -// aAny = getControlProperty( TKGet( TK_CheckBox1Pg1 ), TKGet( TK_State ) ); -// if ( aAny >>= nInt16 ) -// SetConfigProperty( TK_RemoveCropArea, Any( nInt16 != 0 ) ); - -// aAny = getControlProperty( TKGet( TK_ComboBox0Pg1 ), TKGet( TK_Text ) ); -// if ( aAny >>= aString ) -// { -// sal_Int32 nI0, nI1, nI2, nI3, nI4; -// nI0 = nI1 = nI2 = nI3 = nI4 = 0; -// -// if ( getString( STR_IMAGE_RESOLUTION_0 ).getToken( 1, ';', nI0 ) == aString ) -// aString = getString( STR_IMAGE_RESOLUTION_0 ).getToken( 0, ';', nI4 ); -// else if ( getString( STR_IMAGE_RESOLUTION_1 ).getToken( 1, ';', nI1 ) == aString ) -// aString = getString( STR_IMAGE_RESOLUTION_1 ).getToken( 0, ';', nI4 ); -// else if ( getString( STR_IMAGE_RESOLUTION_2 ).getToken( 1, ';', nI2 ) == aString ) -// aString = getString( STR_IMAGE_RESOLUTION_2 ).getToken( 0, ';', nI4 ); -// else if ( getString( STR_IMAGE_RESOLUTION_3 ).getToken( 1, ';', nI3 ) == aString ) -// aString = getString( STR_IMAGE_RESOLUTION_3 ).getToken( 0, ';', nI4 ); -// -// SetConfigProperty( TK_ImageResolution, Any( aString.toInt32() ) ); -// } - - // page2 -// aAny = getControlProperty( TKGet( TK_CheckBox0Pg2 ), TKGet( TK_State ) ); -// if ( aAny >>= nInt16 ) -// SetConfigProperty( TK_OLEOptimization, Any( nInt16 != 0 ) ); - -// aAny = getControlProperty( TKGet( TK_RadioButton1Pg2 ), TKGet( TK_State ) ); -// if ( aAny >>= nInt16 ) -// SetConfigProperty( TK_OLEOptimizationType, Any( nInt16 ) ); - - // page3 -// aAny = getControlProperty( TKGet( TK_CheckBox0Pg3 ), TKGet( TK_State ) ); -// if ( aAny >>= nInt16 ) -// SetConfigProperty( TK_DeleteUnusedMasterPages, Any( nInt16 != 0 ) ); - -// aAny = getControlProperty( TKGet( TK_CheckBox1Pg3 ), TKGet( TK_State ) ); -// if ( aAny >>= nInt16 ) -// SetConfigProperty( TK_DeleteNotesPages, Any( nInt16 != 0 ) ); - -// aAny = getControlProperty( TKGet( TK_CheckBox2Pg3 ), TKGet( TK_State ) ); -// if ( aAny >>= nInt16 ) -// SetConfigProperty( TK_DeleteHiddenSlides, Any( nInt16 != 0 ) ); - aAny = getControlProperty( TKGet( TK_CheckBox3Pg3 ), TKGet( TK_State ) ); if ( aAny >>= nInt16 ) { @@ -658,25 +605,30 @@ void ActionListener::actionPerformed( const ActionEvent& rEvent ) rtl::OUString aSaveAsURL; FileOpenDialog aFileOpenDialog( ((UnoDialog&)mrOptimizerDialog).mxMSF ); -/* // generating default file name Reference< XStorable > xStorable( mrOptimizerDialog.mxController->getModel(), UNO_QUERY ); - if ( xStorable.is() && xStorable.hasLocation() ) + if ( xStorable.is() && xStorable->hasLocation() ) { rtl::OUString aLocation( xStorable->getLocation() ); - sal_Int32 nIndex aLocation.lastIndexOf( '/', 0 ); - if ( nIndex >= 0 ) + if ( aLocation.getLength() ) { - if ( nIndex < aLocation.getLenght() - 1 ) + sal_Int32 nIndex = aLocation.lastIndexOf( '/', aLocation.getLength() - 1 ); + if ( nIndex >= 0 ) { + if ( nIndex < aLocation.getLength() - 1 ) + aLocation = aLocation.copy( nIndex + 1 ); + // remove extension + nIndex = aLocation.lastIndexOf( '.', aLocation.getLength() - 1 ); + if ( nIndex >= 0 ) + aLocation = aLocation.copy( 0, nIndex ); + // adding .mini + aLocation = aLocation.concat( OUString::createFromAscii( ".mini" ) ); + aFileOpenDialog.setDefaultName( aLocation ); } } - -// aFileOpenDialog.setDefaultName( aLocation ); } -*/ sal_Bool bDialogExecuted = aFileOpenDialog.execute() == dialogs::ExecutableDialogResults::OK; if ( bDialogExecuted ) { diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index 38ce7831c20a..e77778aced79 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ + * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -610,8 +610,7 @@ void OptimizerDialog::InitPage3() aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox0Pg2 ), mxItemListener, getString( STR_OLE_REPLACE ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg2 ), mxItemListener, getString( STR_ALL_OLE_OBJECTS ), PAGE_POS_X + 14, PAGE_POS_Y + 28, PAGE_WIDTH - 22, 8, sal_False, mnTabIndex++ ) ); aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg2 ), mxItemListener, getString( STR_ALIEN_OLE_OBJECTS_ONLY ), PAGE_POS_X + 14, PAGE_POS_Y + 40, PAGE_WIDTH - 22, 8, sal_False, mnTabIndex++ ) ); - if ( !nOLECount ) - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg2 ), getString( STR_NO_OLE_OBJECTS ), PAGE_POS_X + 6, PAGE_POS_Y + 64, PAGE_WIDTH - 22, 50, sal_True, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg2 ), nOLECount ? getString( STR_NO_OLE_OBJECTS_DESC ) : getString( STR_NO_OLE_OBJECTS_DESC ), PAGE_POS_X + 6, PAGE_POS_Y + 64, PAGE_WIDTH - 22, 50, sal_True, sal_False, mnTabIndex++ ) ); maControlPages.push_back( aControlList ); DeactivatePage( 3 ); UpdateControlStatesPage3(); diff --git a/sdext/source/minimizer/pppoptimizerdialog.cxx b/sdext/source/minimizer/pppoptimizerdialog.cxx index 04b156082779..72d9161d3a10 100644 --- a/sdext/source/minimizer/pppoptimizerdialog.cxx +++ b/sdext/source/minimizer/pppoptimizerdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizerdialog.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:59:48 $ + * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -111,10 +111,8 @@ Reference< com::sun::star::frame::XDispatch > SAL_CALL PPPOptimizerDialog::query { Reference < XDispatch > xRet; if ( aURL.Protocol.compareToAscii( "vnd.com.sun.star.comp.SunPresentationMinimizer:" ) == 0 ) - { -// if ( aURL.Path.compareToAscii( "Function1" ) == 0 ) xRet = this; - } + return xRet; } diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx index 5b597ec9199c..9eddfe4b6cd3 100644 --- a/sdext/source/minimizer/pppoptimizertoken.cxx +++ b/sdext/source/minimizer/pppoptimizertoken.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.cxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ + * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -267,7 +267,8 @@ static const TokenTable pTokenTableArray[] = { "STR_OLE_REPLACE", STR_OLE_REPLACE }, { "STR_ALL_OLE_OBJECTS", STR_ALL_OLE_OBJECTS }, { "STR_ALIEN_OLE_OBJECTS_ONLY", STR_ALIEN_OLE_OBJECTS_ONLY }, - { "STR_NO_OLE_OBJECTS", STR_NO_OLE_OBJECTS }, + { "STR__OLE_OBJECTS_DESC", STR_OLE_OBJECTS_DESC }, + { "STR_NO_OLE_OBJECTS_DESC", STR_NO_OLE_OBJECTS_DESC }, { "STR_SLIDES", STR_SLIDES }, { "STR_CHOOSE_SLIDES", STR_CHOOSE_SLIDES }, { "STR_MASTER_PAGES", STR_MASTER_PAGES }, diff --git a/sdext/source/minimizer/pppoptimizertoken.hxx b/sdext/source/minimizer/pppoptimizertoken.hxx index 488676439192..6089484a6bcc 100644 --- a/sdext/source/minimizer/pppoptimizertoken.hxx +++ b/sdext/source/minimizer/pppoptimizertoken.hxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.hxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ + * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -243,7 +243,8 @@ enum PPPOptimizerTokenEnum STR_OLE_REPLACE, STR_ALL_OLE_OBJECTS, STR_ALIEN_OLE_OBJECTS_ONLY, - STR_NO_OLE_OBJECTS, + STR_OLE_OBJECTS_DESC, + STR_NO_OLE_OBJECTS_DESC, STR_SLIDES, STR_CHOOSE_SLIDES, STR_MASTER_PAGES, diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu index 6da7aa124f38..9fad7c4c2d7f 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu @@ -131,13 +131,21 @@ Im letzten Schritt können Sie entscheiden, ob die Änderungen am aktuellen Doku ~For OLE objects not based on OpenDocument format Fü~r OLE-Objekte, die nicht auf dem OpenDocument Format basieren - + Object Linking and Embedding (OLE) is a technology that allows embedding and linking to documents and other objects. The current presentation contains OLE objects. Object Linking and Embedding (OLE) ist eine Methode zum Einbettern oder Verknüpfen von Dokumenten und Objekten in andere Dokumente. Die aktuelle Präsentation enthält OLE-Objekte. + + + Object Linking and Embedding (OLE) is a technology that allows embedding and linking to documents and other objects. + +The current presentation contains no OLE objects. + Object Linking and Embedding (OLE) ist eine Methode zum Einbettern oder Verknüpfen von Dokumenten und Objekten in andere Dokumente. + +Die aktuelle Präsentation enthält keine OLE-Objekte. Slides diff --git a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs index 68f45c7fc567..e88f34a7714a 100644 --- a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs +++ b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs @@ -191,8 +191,15 @@ At the last step of the wizard you can choose to apply the changes to the curren ~For OLE objects not based on OpenDocument format - - The current presentation contains no OLE objects. + + Object Linking and Embedding (OLE) is a technology that allows embedding and linking to documents and other objects. + +The current presentation contains no OLE objects. + + + Object Linking and Embedding (OLE) is a technology that allows embedding and linking to documents and other objects. + +The current presentation contains no OLE objects. Slides -- cgit From 74c686abda6fe7b4f9ece9f6b98ee5e4f8892024 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 17 Aug 2007 09:33:17 +0000 Subject: using correct source filesize --- sdext/source/minimizer/impoptimizer.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index f7919db3f4c9..e9d20fee6250 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ + * last change: $Author: sj $ $Date: 2007-08-17 10:33:17 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -722,6 +722,9 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) Reference< XStorable >xStorable( mxModel, UNO_QUERY ); if ( xStorable.is() ) { + if ( xStorable->hasLocation() ) + nSourceSize = PPPOptimizer::GetFileSize( xStorable->getLocation() ); + Sequence< PropertyValue > aArguments; if ( maFilterName.getLength() ) { @@ -731,8 +734,8 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) aArguments[ nLength ].Value <<= maFilterName; } xStorable->storeToURL( maSaveAsURL, aArguments ); - - nSourceSize = PPPOptimizer::GetFileSize( maSaveAsURL ); + if ( !nSourceSize ) + nSourceSize = PPPOptimizer::GetFileSize( maSaveAsURL ); SetStatusValue( TK_Progress, Any( static_cast< sal_Int32 >( 30 ) ) ); SetStatusValue( TK_Status, Any( TKGet( STR_DUPLICATING_PRESENTATION ) ) ); -- cgit From 2f1dd4f071011ebde45d9b4d3c3d2f6188cd1c21 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 17 Aug 2007 12:37:01 +0000 Subject: fixed english/german menu localization --- sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu index eb742a5cf3ba..f9a4eb1e52f6 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu @@ -98,8 +98,8 @@ vnd.com.sun.star.comp.SunPresentationMinimizer:about - ~Info über Sun Presentation Minimizer - About Sun Presentation Minimizer + About Sun Presentation Minimizer + Info über Sun Presentation Minimizer _self -- cgit From 8382003722546875af72f934e1b5c0dbe01a3740 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 17 Aug 2007 14:10:57 +0000 Subject: fixed about image scaling --- sdext/source/minimizer/aboutdialog.cxx | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/sdext/source/minimizer/aboutdialog.cxx b/sdext/source/minimizer/aboutdialog.cxx index 5c474cf7b23e..200d47325f77 100644 --- a/sdext/source/minimizer/aboutdialog.cxx +++ b/sdext/source/minimizer/aboutdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: aboutdialog.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-07-10 16:16:25 $ + * last change: $Author: sj $ $Date: 2007-08-17 15:10:57 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -61,7 +61,7 @@ using namespace ::com::sun::star::beans; using namespace ::com::sun::star::script; using namespace ::com::sun::star::container; -#define ABOUT_DIALOG_WIDTH 220 +#define ABOUT_DIALOG_WIDTH 200 #define ABOUT_DIALOG_HEIGHT 221 // ----------------------------------------------------------------------------- @@ -146,7 +146,7 @@ rtl::OUString InsertImage( AboutDialog& rAboutDialog, const OUString& rControlNa Any( rURL ), Any( nPosX ), Any( nPosY ), - Any( sal_True ), + Any( sal_False ), Any( nWidth ) }; sal_Int32 nCount = sizeof( pNames ) / sizeof( OUString ); @@ -223,13 +223,17 @@ void AboutDialog::InitDialog() rtl::OUString sURL( sBitmapPath += sBitmap ); mxDialogModelMultiPropertySet->setPropertyValues( aNames, aValues ); + sal_Int32 nWidth = getMapsFromPixels( 387 ); + if ( nWidth ) + mxDialogModelPropertySet->setPropertyValue( TKGet( TK_Width ), Any( nWidth ) ); + else + nWidth = ABOUT_DIALOG_WIDTH; - int nWidth = (int) getMapsFromPixels( 387 ); // int nHeight = (int) getMapsFromPixels( 95 ); - InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), sURL, 0, 0, ABOUT_DIALOG_WIDTH, 60 ); - InsertFixedText( *this, rtl::OUString( rtl::OUString::createFromAscii( "fixedtext" ) ), getString( STR_ABOUT_PRN ), 9, 66, ABOUT_DIALOG_WIDTH - 18, 127, sal_True, 0 ); - InsertSeparator( *this, rtl::OUString( rtl::OUString::createFromAscii( "separator" ) ), 0, 0, 196, ABOUT_DIALOG_WIDTH, 8 ); + InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), sURL, 0, 0, nWidth, 60 ); + InsertFixedText( *this, rtl::OUString( rtl::OUString::createFromAscii( "fixedtext" ) ), getString( STR_ABOUT_PRN ), 9, 66, nWidth - 18, 127, sal_True, 0 ); + InsertSeparator( *this, rtl::OUString( rtl::OUString::createFromAscii( "separator" ) ), 0, 0, 196, nWidth, 8 ); InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, ( nWidth / 2 ) - 25, 204, 50, 14, 1, STR_OK ); } -- cgit From 171c0a61b08e0df73e09670aa0b62c71e4729e42 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Thu, 6 Sep 2007 07:57:05 +0000 Subject: added delzip for ZIPnTargets --- sdext/source/minimizer/delzip | 1 + 1 file changed, 1 insertion(+) create mode 100644 sdext/source/minimizer/delzip diff --git a/sdext/source/minimizer/delzip b/sdext/source/minimizer/delzip new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/sdext/source/minimizer/delzip @@ -0,0 +1 @@ + -- cgit From e667d6fcdee2cb7406f8986def7977abe00b00ae Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Wed, 26 Sep 2007 12:00:23 +0000 Subject: #81958# fixed loop when deleting custom slides --- sdext/source/minimizer/impoptimizer.cxx | 6 +++--- sdext/source/minimizer/pagecollector.cxx | 7 ++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index e9d20fee6250..01b98a23b001 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: sj $ $Date: 2007-08-17 10:33:17 $ + * last change: $Author: sj $ $Date: 2007-09-26 13:00:23 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -184,7 +184,7 @@ void ImpExtractCustomShow( const Reference< XModel >& rxModel, const OUString& r Reference< XDrawPages > xDrawPages( xDrawPagesSupplier->getDrawPages(), UNO_QUERY_THROW ); vector< Reference< XDrawPage > >::iterator aIter( vNonUsedPageList.begin() ); while( aIter != vNonUsedPageList.end() ) - xDrawPages->remove( *aIter ); + xDrawPages->remove( *aIter++ ); } catch( Exception& ) { diff --git a/sdext/source/minimizer/pagecollector.cxx b/sdext/source/minimizer/pagecollector.cxx index 2015f16b47bd..4705aa07ace5 100644 --- a/sdext/source/minimizer/pagecollector.cxx +++ b/sdext/source/minimizer/pagecollector.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pagecollector.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: sj $ $Date: 2007-05-11 13:59:09 $ + * last change: $Author: sj $ $Date: 2007-09-26 13:00:23 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -133,10 +133,7 @@ void PageCollector::CollectNonCustomShowPages( const com::sun::star::uno::Refere aIter++; } if ( aIter == aEnd ) - { rNonUsedPageList.push_back( xDrawPage ); - j--; - } } } } -- cgit From b774cf544759ce74ee6e059179acb59b1c9f9979 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 28 Sep 2007 07:48:06 +0000 Subject: fixed title of the information dialog --- .../org/openoffice/Office/extension/SunPresentationMinimizer.xcu | 8 ++++---- .../org/openoffice/Office/extension/SunPresentationMinimizer.xcs | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu index 9fad7c4c2d7f..8d735ade0e68 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu @@ -248,12 +248,12 @@ Die aktuelle Präsentation enthält keine OLE-Objekte. ~Ja - About &ProductName; - Info über &ProductName; + &ProductName; + &ProductName; - &ProductName; &ProductVersion; - &ProductName; &ProductVersion; + About &ProductName; &ProductVersion; + Info über &ProductName; &ProductVersion; Copyright © 2007 Sun Microsystems, Inc. All rights reserved. diff --git a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs index e88f34a7714a..dfdae21fd07a 100644 --- a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs +++ b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs @@ -277,10 +277,10 @@ The current presentation contains no OLE objects. ~Yes - About + Sun Presentation Minimizer - Sun Presentation Minimizer + About Sun Presentation Minimizer Copyright © 2007 Sun Microsystems, Inc. All rights reserved. -- cgit From dab89dcb5cf9480af1122ea525bb04539c8e0726 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 28 Sep 2007 13:54:03 +0000 Subject: now clearing undo stack after optimizing --- sdext/source/minimizer/impoptimizer.cxx | 37 +++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index 01b98a23b001..c0fedcbba9c2 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: sj $ $Date: 2007-09-26 13:00:23 $ + * last change: $Author: sj $ $Date: 2007-09-28 14:54:03 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -53,6 +53,8 @@ #include #include #include +#include "com/sun/star/util/URL.hpp" +#include "com/sun/star/util/XURLTransformer.hpp" #ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include @@ -656,6 +658,25 @@ sal_Bool ImpOptimizer::Optimize() return sal_True; } +static void DispatchURL( Reference< XComponentContext > xMSF, OUString sURL, Reference< XFrame > xFrame ) +{ + try + { + Reference< XURLTransformer > xURLTransformer( xMSF->getServiceManager()->createInstanceWithContext( + OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ) ), xMSF ), UNO_QUERY_THROW ); + util::URL aUrl; + aUrl.Complete = sURL; + xURLTransformer->parseStrict( aUrl ); + Sequence< PropertyValue > aArgs; + Reference< XDispatchProvider > xDispatchProvider( xFrame, UNO_QUERY_THROW ); + Reference< XDispatch > xDispatch = xDispatchProvider->queryDispatch( aUrl, OUString(), 0 ); // "_self" + xDispatch->dispatch( aUrl, aArgs ); + } + catch( Exception& ) + { + } +} + // ----------------------------------------------------------------------------- sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) @@ -758,7 +779,19 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments ) // check if the document is ReadOnly -> error Reference< XStorable > xStorable( mxModel, UNO_QUERY ); if ( xStorable.is() && !xStorable->isReadonly() ) + { + mxModel->lockControllers(); bRet = Optimize(); + mxModel->unlockControllers(); + + // clearing undo stack: + Reference< XFrame > xFrame( xSelf.is() ? xSelf : mxInformationDialog ); + if ( xFrame.is() ) + { + const OUString sSlot( RTL_CONSTASCII_USTRINGPARAM( "slot:27115" ) ); + DispatchURL( mxMSF, sSlot, xFrame ); + } + } if ( maSaveAsURL.getLength() ) { -- cgit From faf8bc07ca5ad87a4915ffb673a785d757300e44 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Fri, 28 Sep 2007 14:49:57 +0000 Subject: now using displaying filename in a human readable form --- sdext/source/minimizer/informationdialog.cxx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sdext/source/minimizer/informationdialog.cxx b/sdext/source/minimizer/informationdialog.cxx index 10a214da8cf3..e4fdf23b2bfb 100644 --- a/sdext/source/minimizer/informationdialog.cxx +++ b/sdext/source/minimizer/informationdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: informationdialog.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ + * last change: $Author: sj $ $Date: 2007-09-28 15:49:57 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -321,10 +321,16 @@ void InformationDialog::InitDialog() OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ) ), mxMSF ), UNO_QUERY ); if ( xURLTransformer.is() ) { - util::URL aURL; + util::URL aURL, aPresentationURL; aURL.Complete = maSaveAsURL; xURLTransformer->parseSmart( aURL, rtl::OUString() ); - aTitle = aURL.Name; + + const OUString sFileProtocol( RTL_CONSTASCII_USTRINGPARAM( "file:///" ) ); + aPresentationURL.Complete = sFileProtocol.concat( aURL.Name ); + aTitle = xURLTransformer->getPresentation( aPresentationURL, sal_False ); + + if ( aTitle.match( sFileProtocol, 0 ) ) + aTitle = aTitle.replaceAt( 0, sFileProtocol.getLength(), rtl::OUString() ); } } -- cgit From 5a48258d187d7249330dd7695d3b072339d40193 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Mon, 8 Oct 2007 15:17:34 +0000 Subject: #i82388# fixed crash when dispatching unsupported slot --- sdext/source/minimizer/impoptimizer.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index c0fedcbba9c2..0ec2b59a2cc9 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: sj $ $Date: 2007-09-28 14:54:03 $ + * last change: $Author: sj $ $Date: 2007-10-08 16:17:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -670,7 +670,8 @@ static void DispatchURL( Reference< XComponentContext > xMSF, OUString sURL, Ref Sequence< PropertyValue > aArgs; Reference< XDispatchProvider > xDispatchProvider( xFrame, UNO_QUERY_THROW ); Reference< XDispatch > xDispatch = xDispatchProvider->queryDispatch( aUrl, OUString(), 0 ); // "_self" - xDispatch->dispatch( aUrl, aArgs ); + if ( xDispatch.is() ) + xDispatch->dispatch( aUrl, aArgs ); } catch( Exception& ) { -- cgit From 71e57be8e2025d69f086c7fafe19969d7f98db27 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Mon, 8 Oct 2007 15:45:35 +0000 Subject: #i82403# fixed typo --- sdext/source/minimizer/optimizerdialogcontrols.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index e77778aced79..58d248d936c4 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialogcontrols.cxx,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ + * last change: $Author: sj $ $Date: 2007-10-08 16:45:35 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -610,7 +610,7 @@ void OptimizerDialog::InitPage3() aControlList.push_back( InsertCheckBox( *this, TKGet( TK_CheckBox0Pg2 ), mxItemListener, getString( STR_OLE_REPLACE ), PAGE_POS_X + 6, PAGE_POS_Y + 14, PAGE_WIDTH - 12, 8, mnTabIndex++ ) ); aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton0Pg2 ), mxItemListener, getString( STR_ALL_OLE_OBJECTS ), PAGE_POS_X + 14, PAGE_POS_Y + 28, PAGE_WIDTH - 22, 8, sal_False, mnTabIndex++ ) ); aControlList.push_back( InsertRadioButton( *this, TKGet( TK_RadioButton1Pg2 ), mxItemListener, getString( STR_ALIEN_OLE_OBJECTS_ONLY ), PAGE_POS_X + 14, PAGE_POS_Y + 40, PAGE_WIDTH - 22, 8, sal_False, mnTabIndex++ ) ); - aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg2 ), nOLECount ? getString( STR_NO_OLE_OBJECTS_DESC ) : getString( STR_NO_OLE_OBJECTS_DESC ), PAGE_POS_X + 6, PAGE_POS_Y + 64, PAGE_WIDTH - 22, 50, sal_True, sal_False, mnTabIndex++ ) ); + aControlList.push_back( InsertFixedText( *this, TKGet( TK_FixedText1Pg2 ), nOLECount ? getString( STR_OLE_OBJECTS_DESC ) : getString( STR_NO_OLE_OBJECTS_DESC ), PAGE_POS_X + 6, PAGE_POS_Y + 64, PAGE_WIDTH - 22, 50, sal_True, sal_False, mnTabIndex++ ) ); maControlPages.push_back( aControlList ); DeactivatePage( 3 ); UpdateControlStatesPage3(); -- cgit From 03ec70bc11dd3c2a3cef416c945903d99f3dbe84 Mon Sep 17 00:00:00 2001 From: Sven Jacobi Date: Thu, 11 Oct 2007 11:10:27 +0000 Subject: delivering minimizer binaries --- sdext/prj/d.lst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sdext/prj/d.lst b/sdext/prj/d.lst index 8b137891791f..b921e88e1117 100644 --- a/sdext/prj/d.lst +++ b/sdext/prj/d.lst @@ -1 +1,3 @@ +mkdir: %_DEST%\bin%_EXT%\minimizer +..\%__SRC%\bin\sun-presentation-minimizer.oxt %_DEST%\bin%_EXT%\minimizer\sun-presentation-minimizer.oxt -- cgit From 8fe51dd854fd4967d5a4acdd3ba96ba8fdb1d70e Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 11 Oct 2007 13:14:35 +0000 Subject: #i10000# missing dependency to offuh --- sdext/prj/build.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdext/prj/build.lst b/sdext/prj/build.lst index d62f28a06ee4..f0dd141d31c0 100644 --- a/sdext/prj/build.lst +++ b/sdext/prj/build.lst @@ -1,4 +1,4 @@ -dx sdext : NULL +dx sdext : offuh NULL dx sdext usr1 - all sdext_mkout NULL dx sdext\prj get - all sdext_prj NULL dx sdext\source\minimizer nmake - all sdext_minimizer NULL -- cgit From 4ffc484e068f352d77924d8663a6a798ef5e412d Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Thu, 11 Oct 2007 13:41:08 +0000 Subject: #i10000# remove not needed header --- sdext/source/minimizer/impoptimizer.cxx | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index 0ec2b59a2cc9..528b88e567c5 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: sj $ $Date: 2007-10-08 16:17:34 $ + * last change: $Author: vg $ $Date: 2007-10-11 14:41:08 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -46,12 +46,8 @@ #endif #include "informationdialog.hxx" -#include #include #include -#include -#include -#include #include #include "com/sun/star/util/URL.hpp" #include "com/sun/star/util/XURLTransformer.hpp" @@ -161,7 +157,6 @@ using namespace ::std; using namespace ::rtl; -using namespace ::vcl; using namespace ::com::sun::star; using namespace ::com::sun::star::io; using namespace ::com::sun::star::awt; -- cgit From 4ea95e88f6ae288b4b65389f9bf90c8e7904fe2f Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 11 Oct 2007 14:44:20 +0000 Subject: #i10000# remove wrong license --- sdext/source/minimizer/makefile.mk | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk index 3d190e0adc7d..09ebfd48224a 100644 --- a/sdext/source/minimizer/makefile.mk +++ b/sdext/source/minimizer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ +# last change: $Author: kz $ $Date: 2007-10-11 15:44:20 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -48,9 +48,6 @@ ENABLE_EXCEPTIONS=TRUE DESCRIPTION:=$(MISC)$/SunPresentationMinimizer$/description.xml -PACKLICS:=$(foreach,i,$(alllangiso) $(MISC)$/SunPresentationMinimizer$/registry$/LICENSE_$i) - - DLLPRE= common_build_zip= @@ -114,7 +111,7 @@ COMPONENT_MANIFEST= \ COMPONENT_LIBRARY= \ $(MISC)$/SunPresentationMinimizer$/SunPresentationMinimizer.uno$(DLLPOST) -ZIP1DEPS= $(PACKLICS) $(DESCRIPTION) $(COMPONENT_MANIFEST) $(COMPONENT_FILES) $(COMPONENT_BITMAPS) $(COMPONENT_HELP) $(COMPONENT_LIBRARY) $(COMPONENT_MERGED_XCU) +ZIP1DEPS= $(DESCRIPTION) $(COMPONENT_MANIFEST) $(COMPONENT_FILES) $(COMPONENT_BITMAPS) $(COMPONENT_HELP) $(COMPONENT_LIBRARY) $(COMPONENT_MERGED_XCU) ZIP1TARGET= sun-presentation-minimizer ZIP1DIR= $(MISC)$/SunPresentationMinimizer ZIP1EXT= .oxt @@ -141,10 +138,6 @@ $(COMPONENT_LIBRARY) : $(DLLDEST)$/$$(@:f) @@-$(MKDIRHIER) $(@:d) $(COPY) $< $@ -$(PACKLICS) : $(SOLARBINDIR)$/oxt_templatepack01$/LICENSE$$(@:b:s/_/./:e:s/./_/)$$(@:e) - @@-$(MKDIRHIER) $(@:d) - $(GNUCOPY) $< $@ - $(MISC)$/SunPresentationMinimizer$/registry$/data$/%.xcu : $(MISC)$/$(EXTNAME)$/merge$/%.xcu @@-$(MKDIRHIER) $(@:d) $(GNUCOPY) $< $@ -- cgit From 6dabb6467e470792e6e73712d5dcd2439114c13b Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Wed, 17 Oct 2007 11:13:59 +0000 Subject: #i10000# #i82570# taking care of different spelling on solaris/windows --- sdext/source/minimizer/makefile.mk | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk index 09ebfd48224a..c1d35fbf42a3 100644 --- a/sdext/source/minimizer/makefile.mk +++ b/sdext/source/minimizer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.4 $ +# $Revision: 1.5 $ # -# last change: $Author: kz $ $Date: 2007-10-11 15:44:20 $ +# last change: $Author: vg $ $Date: 2007-10-17 12:13:59 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -48,6 +48,12 @@ ENABLE_EXCEPTIONS=TRUE DESCRIPTION:=$(MISC)$/SunPresentationMinimizer$/description.xml +.IF "$(GUI)" == "WIN" || "$(GUI)" == "WNT" +PACKLICS:=$(foreach,i,$(alllangiso) $(MISC)$/SunPresentationMinimizer$/registry$/license_$i) +.ELSE +PACKLICS:=$(foreach,i,$(alllangiso) $(MISC)$/SunPresentationMinimizer$/registry$/LICENSE_$i) +.ENDIF + DLLPRE= common_build_zip= @@ -111,7 +117,7 @@ COMPONENT_MANIFEST= \ COMPONENT_LIBRARY= \ $(MISC)$/SunPresentationMinimizer$/SunPresentationMinimizer.uno$(DLLPOST) -ZIP1DEPS= $(DESCRIPTION) $(COMPONENT_MANIFEST) $(COMPONENT_FILES) $(COMPONENT_BITMAPS) $(COMPONENT_HELP) $(COMPONENT_LIBRARY) $(COMPONENT_MERGED_XCU) +ZIP1DEPS= $(PACKLICS) $(DESCRIPTION) $(COMPONENT_MANIFEST) $(COMPONENT_FILES) $(COMPONENT_BITMAPS) $(COMPONENT_HELP) $(COMPONENT_LIBRARY) $(COMPONENT_MERGED_XCU) ZIP1TARGET= sun-presentation-minimizer ZIP1DIR= $(MISC)$/SunPresentationMinimizer ZIP1EXT= .oxt @@ -133,11 +139,21 @@ $(COMPONENT_BITMAPS) : bitmaps$/$$(@:f) $(COMPONENT_HELP) : help$/$$(@:f) @@-$(MKDIRHIER) $(@:d) $(COPY) $< $@ - + $(COMPONENT_LIBRARY) : $(DLLDEST)$/$$(@:f) @@-$(MKDIRHIER) $(@:d) $(COPY) $< $@ - + +.IF "$(GUI)" == "WIN" || "$(GUI)" == "WNT" +$(PACKLICS) : $(SOLARBINDIR)$/osl$/license$$(@:b:s/_/./:e:s/./_/)$$(@:e).txt + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ +.ELSE +$(PACKLICS) : $(SOLARBINDIR)$/osl$/LICENSE$$(@:b:s/_/./:e:s/./_/)$$(@:e) + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ +.ENDIF + $(MISC)$/SunPresentationMinimizer$/registry$/data$/%.xcu : $(MISC)$/$(EXTNAME)$/merge$/%.xcu @@-$(MKDIRHIER) $(@:d) $(GNUCOPY) $< $@ -- cgit From ca76e4137e03a305bacf29e44b889fc6b0e4fc5b Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Wed, 17 Oct 2007 12:09:50 +0000 Subject: #i10000# dependency fix --- sdext/prj/build.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdext/prj/build.lst b/sdext/prj/build.lst index f0dd141d31c0..c903bb773134 100644 --- a/sdext/prj/build.lst +++ b/sdext/prj/build.lst @@ -1,4 +1,4 @@ -dx sdext : offuh NULL +dx sdext : offuh comphelper NULL dx sdext usr1 - all sdext_mkout NULL dx sdext\prj get - all sdext_prj NULL dx sdext\source\minimizer nmake - all sdext_minimizer NULL -- cgit From dcb5a1e5d78cd97489b2d567b80a3f4e07054fdb Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 18 Oct 2007 09:22:15 +0000 Subject: #i10000# source/minimizer/impoptimizer.cxx includes header from module 'unotools' - dependency added. --- sdext/prj/build.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdext/prj/build.lst b/sdext/prj/build.lst index c903bb773134..1d1e53268b0f 100644 --- a/sdext/prj/build.lst +++ b/sdext/prj/build.lst @@ -1,4 +1,4 @@ -dx sdext : offuh comphelper NULL +dx sdext : offuh comphelper unotools NULL dx sdext usr1 - all sdext_mkout NULL dx sdext\prj get - all sdext_prj NULL dx sdext\source\minimizer nmake - all sdext_minimizer NULL -- cgit From 7db1e72900486772532086d6859f5e25df9ae470 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Thu, 18 Oct 2007 12:38:13 +0000 Subject: #i10000# masterfix --- .../Office/extension/SunPresentationMinimizer.xcu | 21 ++++++++------------- .../Office/extension/SunPresentationMinimizer.xcs | 13 +++++++------ 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu index 8d735ade0e68..7214fa944d75 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu @@ -10,6 +10,10 @@ + + Specifies the filename of the help document after installation, + the help can be found in sdext/source/minimizer/help + %origin%/../../../../../../help/help_en-us.odt %origin%/../../../../../../help/help_de.odt @@ -256,20 +260,11 @@ Die aktuelle Präsentation enthält keine OLE-Objekte. Info über &ProductName; &ProductVersion; - Copyright © 2007 Sun Microsystems, Inc. All rights reserved. + Copyright 2000-2007 Sun Microsystems, Inc. -U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. - -Use is subject to license terms. - -This distribution may include materials developed by third parties. Sun, Sun Microsystems, the Sun logo, Java and StarOffice are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. - Copyright © 2007 Sun Microsystems, Inc. Tous droits réservés. - -L'utilisation est soumise aux termes du contrat de licence. - -Cette distribution peut comprendre des composants développés par des tierces parties. - -Sun, Sun Microsystems, le logo Sun, Java et StarOffice sont des marques de fabrique ou des marques déposées de Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays. +This product has been created by Sun Microsystems, Inc. based on OpenOffice.org. +OpenOffice.org acknowledges all community members, especially those +mentioned on http://www.openoffice.org/welcome/credits.html OK diff --git a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs index dfdae21fd07a..74d9bf220fdf 100644 --- a/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs +++ b/sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs @@ -250,6 +250,9 @@ The current presentation contains no OLE objects. Delete %SLIDES slides + + The following string is only used in plural. + Optimize %IMAGES graphics to %QUALITY% JPEG quality at %RESOLUTION DPI. @@ -283,13 +286,11 @@ The current presentation contains no OLE objects. About Sun Presentation Minimizer - Copyright © 2007 Sun Microsystems, Inc. All rights reserved. - -U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. - -Use is subject to license terms. + Copyright 2000-2007 Sun Microsystems, Inc. -This distribution may include materials developed by third parties. Sun, Sun Microsystems, the Sun logo, Java and StarOffice are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. +This product has been created by Sun Microsystems, Inc. based on OpenOffice.org. +OpenOffice.org acknowledges all community members, especially those +mentioned on http://www.openoffice.org/welcome/credits.html OK -- cgit From 61b3d417f058d6f56292eb438b4ae81107c5fc5d Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Mon, 29 Oct 2007 11:30:01 +0000 Subject: #100000# initialize variables --- sdext/source/minimizer/graphiccollector.cxx | 6 +++--- sdext/source/minimizer/informationdialog.cxx | 6 +++--- sdext/source/minimizer/optimizerdialog.cxx | 10 +++++----- sdext/source/minimizer/unodialog.cxx | 6 +++--- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/sdext/source/minimizer/graphiccollector.cxx b/sdext/source/minimizer/graphiccollector.cxx index 14d533d3c4d3..3f240052e9bf 100644 --- a/sdext/source/minimizer/graphiccollector.cxx +++ b/sdext/source/minimizer/graphiccollector.cxx @@ -4,9 +4,9 @@ * * $RCSfile: graphiccollector.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ + * last change: $Author: vg $ $Date: 2007-10-29 12:29:40 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -187,7 +187,7 @@ void ImpAddFillBitmapEntity( const Reference< XComponentContext >& rxMSF, const { if ( ( eBitmapMode == BitmapMode_REPEAT ) || ( eBitmapMode == BitmapMode_NO_REPEAT ) ) { - sal_Bool bLogicalSize; + sal_Bool bLogicalSize = sal_False; awt::Size aSize( 0, 0 ); if ( ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapLogicalSize ) ) >>= bLogicalSize ) && ( rxPropertySet->getPropertyValue( TKGet( TK_FillBitmapSizeX ) ) >>= aSize.Width ) diff --git a/sdext/source/minimizer/informationdialog.cxx b/sdext/source/minimizer/informationdialog.cxx index e4fdf23b2bfb..125a8ce7a4cc 100644 --- a/sdext/source/minimizer/informationdialog.cxx +++ b/sdext/source/minimizer/informationdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: informationdialog.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: sj $ $Date: 2007-09-28 15:49:57 $ + * last change: $Author: vg $ $Date: 2007-10-29 12:29:27 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -403,7 +403,7 @@ sal_Bool InformationDialog::execute() if ( maSaveAsURL.getLength() ) { - sal_Int16 nInt16; + sal_Int16 nInt16 = 0; Any aAny( getControlProperty( TKGet( TK_OpenNewDocument ), TKGet( TK_State ) ) ); if ( aAny >>= nInt16 ) { diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx index 34c7b1811f77..ac23ff1013fb 100644 --- a/sdext/source/minimizer/optimizerdialog.cxx +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: optimizerdialog.cxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ + * last change: $Author: vg $ $Date: 2007-10-29 12:30:01 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -190,7 +190,7 @@ void OptimizerDialog::InsertRoadmapItem( const sal_Int32 nIndex, const sal_Bool void OptimizerDialog::UpdateConfiguration() { - sal_Int16 nInt16; + sal_Int16 nInt16 = 0; OUString aString; Any aAny; @@ -440,7 +440,7 @@ void ItemListener::itemStateChanged( const ItemEvent& Event ) break; case TK_RadioButton0Pg1 : { - sal_Int16 nInt16; + sal_Int16 nInt16 = 0; if ( xPropertySet->getPropertyValue( TKGet( TK_State ) ) >>= nInt16 ) { nInt16 ^= 1; @@ -752,7 +752,7 @@ void ActionListenerListBox0Pg0::disposing( const ::com::sun::star::lang::EventOb void TextListenerFormattedField0Pg1::textChanged( const TextEvent& /* rEvent */ ) throw ( com::sun::star::uno::RuntimeException ) { - double fDouble; + double fDouble = 0; Any aAny = mrOptimizerDialog.getControlProperty( TKGet( TK_FormattedField0Pg1 ), TKGet( TK_EffectiveValue ) ); if ( aAny >>= fDouble ) mrOptimizerDialog.SetConfigProperty( TK_JPEGQuality, Any( (sal_Int32)fDouble ) ); diff --git a/sdext/source/minimizer/unodialog.cxx b/sdext/source/minimizer/unodialog.cxx index 9edd60c9a46e..64740345945f 100644 --- a/sdext/source/minimizer/unodialog.cxx +++ b/sdext/source/minimizer/unodialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: unodialog.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: sj $ $Date: 2007-07-10 16:16:25 $ + * last change: $Author: vg $ $Date: 2007-10-29 12:29:48 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -178,7 +178,7 @@ sal_Bool UnoDialog::isHighContrast() sal_Bool bHighContrast = sal_False; try { - sal_Int32 nBackgroundColor; + sal_Int32 nBackgroundColor = sal_False; if ( mxDialogModelPropertySet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "BackgroundColor" ) ) ) >>= nBackgroundColor ) { sal_uInt8 nLum( static_cast< sal_uInt8 >( ( static_cast< sal_uInt8 >( nBackgroundColor >> 16 ) * 28 + -- cgit From abf2012cd723224e728dc59421dc6edc04ec3494 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Mon, 29 Oct 2007 15:05:37 +0000 Subject: #100000# 0 as initial value --- sdext/source/minimizer/unodialog.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdext/source/minimizer/unodialog.cxx b/sdext/source/minimizer/unodialog.cxx index 64740345945f..f7086a0f63f5 100644 --- a/sdext/source/minimizer/unodialog.cxx +++ b/sdext/source/minimizer/unodialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: unodialog.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: vg $ $Date: 2007-10-29 12:29:48 $ + * last change: $Author: vg $ $Date: 2007-10-29 16:05:37 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -178,7 +178,7 @@ sal_Bool UnoDialog::isHighContrast() sal_Bool bHighContrast = sal_False; try { - sal_Int32 nBackgroundColor = sal_False; + sal_Int32 nBackgroundColor = 0; if ( mxDialogModelPropertySet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "BackgroundColor" ) ) ) >>= nBackgroundColor ) { sal_uInt8 nLum( static_cast< sal_uInt8 >( ( static_cast< sal_uInt8 >( nBackgroundColor >> 16 ) * 28 + -- cgit From 401d3f8162fa71c113ce2b5ff193dda9f96a6311 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:10:07 +0000 Subject: INTEGRATION: CWS pppopt03 (1.3.2); FILE MERGED 2007/10/18 11:51:03 sj 1.3.2.2: #i82570# fixed strings 2007/10/16 07:54:09 sj 1.3.2.1: #i82570# fixed strings --- sdext/source/minimizer/aboutdialog.cxx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sdext/source/minimizer/aboutdialog.cxx b/sdext/source/minimizer/aboutdialog.cxx index 200d47325f77..2f45481bcd99 100644 --- a/sdext/source/minimizer/aboutdialog.cxx +++ b/sdext/source/minimizer/aboutdialog.cxx @@ -4,9 +4,9 @@ * * $RCSfile: aboutdialog.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: sj $ $Date: 2007-08-17 15:10:57 $ + * last change: $Author: hr $ $Date: 2007-11-01 14:10:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -62,7 +62,7 @@ using namespace ::com::sun::star::script; using namespace ::com::sun::star::container; #define ABOUT_DIALOG_WIDTH 200 -#define ABOUT_DIALOG_HEIGHT 221 +#define ABOUT_DIALOG_HEIGHT 145 // ----------------------------------------------------------------------------- @@ -196,6 +196,7 @@ void AboutDialog::InitDialog() { // setting the dialog properties OUString pNames[] = { + rtl::OUString::createFromAscii( "BackgroundColor" ) , TKGet( TK_Closeable ), TKGet( TK_Height ), TKGet( TK_Moveable ), @@ -205,6 +206,7 @@ void AboutDialog::InitDialog() TKGet( TK_Width ) }; Any pValues[] = { + Any( sal_Int32( 0xffffff ) ), Any( sal_True ), Any( sal_Int32( ABOUT_DIALOG_HEIGHT ) ), Any( sal_True ), @@ -232,9 +234,9 @@ void AboutDialog::InitDialog() // int nHeight = (int) getMapsFromPixels( 95 ); InsertImage( *this, rtl::OUString( rtl::OUString::createFromAscii( "aboutimage" ) ), sURL, 0, 0, nWidth, 60 ); - InsertFixedText( *this, rtl::OUString( rtl::OUString::createFromAscii( "fixedtext" ) ), getString( STR_ABOUT_PRN ), 9, 66, nWidth - 18, 127, sal_True, 0 ); - InsertSeparator( *this, rtl::OUString( rtl::OUString::createFromAscii( "separator" ) ), 0, 0, 196, nWidth, 8 ); - InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, ( nWidth / 2 ) - 25, 204, 50, 14, 1, STR_OK ); + InsertFixedText( *this, rtl::OUString( rtl::OUString::createFromAscii( "fixedtext" ) ), getString( STR_ABOUT_PRN ), 9, 66, nWidth - 18, ABOUT_DIALOG_HEIGHT - 94, sal_True, 0 ); +// InsertSeparator( *this, rtl::OUString( rtl::OUString::createFromAscii( "separator" ) ), 0, 0, ABOUT_DIALOG_HEIGHT - 25, nWidth, 8 ); + InsertButton( *this, rtl::OUString( rtl::OUString::createFromAscii( "button" ) ), mxActionListener, ( nWidth / 2 ) - 25, ABOUT_DIALOG_HEIGHT - 17, 50, 14, 1, STR_OK ); } // ----------------------------------------------------------------------------- -- cgit From c3fd616c8c0946bf23ed1011f8547cfcd794cb4f Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:10:24 +0000 Subject: INTEGRATION: CWS pppopt03 (1.3.2); FILE MERGED 2007/10/15 13:46:49 sj 1.3.2.1: #i82551# fixed description xml --- sdext/source/minimizer/description.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sdext/source/minimizer/description.xml b/sdext/source/minimizer/description.xml index 976b55501dea..602afb28000c 100644 --- a/sdext/source/minimizer/description.xml +++ b/sdext/source/minimizer/description.xml @@ -1,12 +1,13 @@ - + - + -- cgit From 3b0e4789331f1c480ec42516ec9b2f8d3b0138a3 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:10:57 +0000 Subject: INTEGRATION: CWS pppopt03 (1.4.2); FILE MERGED 2007/10/25 09:47:51 sj 1.4.2.6: fixed typo 2007/10/24 17:44:54 sj 1.4.2.5: graphics moved to default_images 2007/10/24 14:10:08 sj 1.4.2.4: graphics moved to default_images 2007/10/16 13:29:54 sj 1.4.2.3: #i82570# taking care of different spelling on solaris/windows 2007/10/16 08:16:31 sj 1.4.2.2: #i82570# fixed strings 2007/10/15 15:44:55 sj 1.4.2.1: #i82570# fixed strings --- sdext/source/minimizer/makefile.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk index c1d35fbf42a3..a29fb27b6559 100644 --- a/sdext/source/minimizer/makefile.mk +++ b/sdext/source/minimizer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.5 $ +# $Revision: 1.6 $ # -# last change: $Author: vg $ $Date: 2007-10-17 12:13:59 $ +# last change: $Author: hr $ $Date: 2007-11-01 14:10:57 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -109,7 +109,7 @@ COMPONENT_BITMAPS= \ COMPONENT_HELP= \ $(MISC)$/SunPresentationMinimizer$/help$/help_de.odt \ - $(MISC)$/SunPresentationMinimizer$/help$/help_en-us.odt + $(MISC)$/SunPresentationMinimizer$/help$/help_en-US.odt COMPONENT_MANIFEST= \ $(MISC)$/SunPresentationMinimizer$/META-INF$/manifest.xml @@ -132,7 +132,7 @@ $(COMPONENT_MANIFEST) : $$(@:f) @@-$(MKDIRHIER) $(@:d) $(TYPE) $< | $(SED) "s/SHARED_EXTENSION/$(DLLPOST)/" > $@ -$(COMPONENT_BITMAPS) : bitmaps$/$$(@:f) +$(COMPONENT_BITMAPS) : $(SOLARSRC)$/$(RSCDEFIMG)$/minimizer$/$$(@:f) @@-$(MKDIRHIER) $(@:d) $(COPY) $< $@ -- cgit From 9ae17fbb6786fc66b2c29762072b01c8b08b2b2a Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:13:08 +0000 Subject: INTEGRATION: CWS pppopt03 (1.2.2); FILE MERGED 2007/10/18 11:51:03 sj 1.2.2.2: #i82570# fixed strings 2007/10/15 15:44:55 sj 1.2.2.1: #i82570# fixed strings --- sdext/source/minimizer/help/help_de.odt | Bin 0 -> 8987 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sdext/source/minimizer/help/help_de.odt diff --git a/sdext/source/minimizer/help/help_de.odt b/sdext/source/minimizer/help/help_de.odt new file mode 100644 index 000000000000..bb9bc0395c0f Binary files /dev/null and b/sdext/source/minimizer/help/help_de.odt differ -- cgit From b315b2460bc9373c2ffcaae6cf45938d0d328cb5 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:13:18 +0000 Subject: INTEGRATION: CWS pppopt03 (1.1.2); FILE ADDED 2007/10/25 09:46:17 sj 1.1.2.1: initial version --- sdext/source/minimizer/help/help_en-US.odt | Bin 0 -> 8987 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sdext/source/minimizer/help/help_en-US.odt diff --git a/sdext/source/minimizer/help/help_en-US.odt b/sdext/source/minimizer/help/help_en-US.odt new file mode 100644 index 000000000000..bb9bc0395c0f Binary files /dev/null and b/sdext/source/minimizer/help/help_en-US.odt differ -- cgit From 43648b5b88db1dfb245bd5b3dc53b36c64bfe31e Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:13:50 +0000 Subject: INTEGRATION: CWS pppopt03 (1.1.2); FILE MERGED 2007/10/15 13:18:38 sj 1.1.2.2: #i82552# fixed licenses 2007/10/15 10:09:27 sj 1.1.2.1: #82552# fixed licenses --- .../data/org/openoffice/Office/makefile.mk | 69 +++++++--------------- 1 file changed, 21 insertions(+), 48 deletions(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk index 2ce39ec32fba..08109eb92a4b 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk @@ -1,62 +1,35 @@ #************************************************************************* # -# $RCSfile: makefile.mk,v $ -# -# $Revision: 1.1 $ -# -# last change: $Author: sj $ $Date: 2007-05-16 15:01:34 $ -# -# The Contents of this file are made available subject to the terms of -# either of the following licenses -# -# - GNU Lesser General Public License Version 2.1 -# - Sun Industry Standards Source License Version 1.1 -# -# Sun Microsystems Inc., October, 2000 -# -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2000 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA -# -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# OpenOffice.org - a multi-platform office productivity suite # +# $RCSfile: makefile.mk,v $ # -# Sun Industry Standards Source License Version 1.1 -# ================================================= -# The contents of this file are subject to the Sun Industry Standards -# Source License Version 1.1 (the "License"); You may not use this file -# except in compliance with the License. You may obtain a copy of the -# License at http://www.openoffice.org/license.html. +# $Revision: 1.2 $ # -# Software provided under this License is provided on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, -# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. -# See the License for the specific provisions governing your rights and -# obligations concerning the Software. +# last change: $Author: hr $ $Date: 2007-11-01 14:13:50 $ # -# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. # -# Copyright: 2000 by Sun Microsystems, Inc. # -# All Rights Reserved. +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA # -# Contributor(s): _______________________________________ +# This library 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. # +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. # +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA # #************************************************************************* PRJ=..$/..$/..$/..$/..$/..$/.. -- cgit From b2f30f5f44c943acc7f31871145a0095b31091c4 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:14:04 +0000 Subject: INTEGRATION: CWS pppopt03 (1.1.2); FILE MERGED 2007/10/15 13:19:00 sj 1.1.2.2: #i82552# fixed licenses 2007/10/15 10:09:28 sj 1.1.2.1: #82552# fixed licenses --- .../data/org/openoffice/Office/UI/makefile.mk | 69 +++++++--------------- 1 file changed, 21 insertions(+), 48 deletions(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk index d8132767d20a..73d4ef726e5e 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk @@ -1,62 +1,35 @@ #************************************************************************* # -# $RCSfile: makefile.mk,v $ -# -# $Revision: 1.1 $ -# -# last change: $Author: sj $ $Date: 2007-05-16 15:03:06 $ -# -# The Contents of this file are made available subject to the terms of -# either of the following licenses -# -# - GNU Lesser General Public License Version 2.1 -# - Sun Industry Standards Source License Version 1.1 -# -# Sun Microsystems Inc., October, 2000 -# -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2000 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA -# -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# OpenOffice.org - a multi-platform office productivity suite # +# $RCSfile: makefile.mk,v $ # -# Sun Industry Standards Source License Version 1.1 -# ================================================= -# The contents of this file are subject to the Sun Industry Standards -# Source License Version 1.1 (the "License"); You may not use this file -# except in compliance with the License. You may obtain a copy of the -# License at http://www.openoffice.org/license.html. +# $Revision: 1.2 $ # -# Software provided under this License is provided on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, -# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. -# See the License for the specific provisions governing your rights and -# obligations concerning the Software. +# last change: $Author: hr $ $Date: 2007-11-01 14:14:04 $ # -# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. # -# Copyright: 2000 by Sun Microsystems, Inc. # -# All Rights Reserved. +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA # -# Contributor(s): _______________________________________ +# This library 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. # +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. # +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA # #************************************************************************* PRJ=..$/..$/..$/..$/..$/..$/..$/.. -- cgit From 8bda18fcfbd3a6b983fde30e637983848f1b2dfa Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:14:27 +0000 Subject: INTEGRATION: CWS pppopt03 (1.1.2); FILE MERGED 2007/10/15 13:18:48 sj 1.1.2.2: #i82552# fixed licenses 2007/10/15 10:09:28 sj 1.1.2.1: #82552# fixed licenses --- .../org/openoffice/Office/extension/makefile.mk | 69 +++++++--------------- 1 file changed, 21 insertions(+), 48 deletions(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk index a33cb189ca6c..f36cb80e2618 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk @@ -1,62 +1,35 @@ #************************************************************************* # -# $RCSfile: makefile.mk,v $ -# -# $Revision: 1.1 $ -# -# last change: $Author: sj $ $Date: 2007-05-16 15:02:16 $ -# -# The Contents of this file are made available subject to the terms of -# either of the following licenses -# -# - GNU Lesser General Public License Version 2.1 -# - Sun Industry Standards Source License Version 1.1 -# -# Sun Microsystems Inc., October, 2000 -# -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2000 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA -# -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# OpenOffice.org - a multi-platform office productivity suite # +# $RCSfile: makefile.mk,v $ # -# Sun Industry Standards Source License Version 1.1 -# ================================================= -# The contents of this file are subject to the Sun Industry Standards -# Source License Version 1.1 (the "License"); You may not use this file -# except in compliance with the License. You may obtain a copy of the -# License at http://www.openoffice.org/license.html. +# $Revision: 1.2 $ # -# Software provided under this License is provided on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, -# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. -# See the License for the specific provisions governing your rights and -# obligations concerning the Software. +# last change: $Author: hr $ $Date: 2007-11-01 14:14:27 $ # -# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. # -# Copyright: 2000 by Sun Microsystems, Inc. # -# All Rights Reserved. +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA # -# Contributor(s): _______________________________________ +# This library 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. # +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. # +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA # #************************************************************************* PRJ=..$/..$/..$/..$/..$/..$/..$/.. -- cgit From 00f89b36d074cebb875eb6b339ebbfd65f2ec752 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:15:00 +0000 Subject: INTEGRATION: CWS pppopt03 (1.1.2); FILE MERGED 2007/10/15 13:18:03 sj 1.1.2.2: #i82552# fixed licenses 2007/10/15 10:09:28 sj 1.1.2.1: #82552# fixed licenses --- sdext/util/makefile.pmk | 69 +++++++++++++++---------------------------------- 1 file changed, 21 insertions(+), 48 deletions(-) diff --git a/sdext/util/makefile.pmk b/sdext/util/makefile.pmk index ffa5b42c5d6f..707370588b73 100644 --- a/sdext/util/makefile.pmk +++ b/sdext/util/makefile.pmk @@ -1,62 +1,35 @@ #************************************************************************* # -# $RCSfile: makefile.pmk,v $ -# -# $Revision: 1.1 $ -# -# last change: $Author: sj $ $Date: 2007-05-16 15:15:45 $ -# -# The Contents of this file are made available subject to the terms of -# either of the following licenses -# -# - GNU Lesser General Public License Version 2.1 -# - Sun Industry Standards Source License Version 1.1 -# -# Sun Microsystems Inc., October, 2000 -# -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2000 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA -# -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# OpenOffice.org - a multi-platform office productivity suite # +# $RCSfile: makefile.pmk,v $ # -# Sun Industry Standards Source License Version 1.1 -# ================================================= -# The contents of this file are subject to the Sun Industry Standards -# Source License Version 1.1 (the "License"); You may not use this file -# except in compliance with the License. You may obtain a copy of the -# License at http://www.openoffice.org/license.html. +# $Revision: 1.2 $ # -# Software provided under this License is provided on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, -# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. -# See the License for the specific provisions governing your rights and -# obligations concerning the Software. +# last change: $Author: hr $ $Date: 2007-11-01 14:15:00 $ # -# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. # -# Copyright: 2000 by Sun Microsystems, Inc. # -# All Rights Reserved. +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA # -# Contributor(s): _______________________________________ +# This library 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. # +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. # +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA # #************************************************************************* -- cgit From 3f4a893b28005cb710c8cc752e4e161e18a03596 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 1 Nov 2007 13:19:06 +0000 Subject: INTEGRATION: CWS pppopt03 (1.7.2); FILE MERGED 2007/10/25 09:43:43 sj 1.7.2.3: fixed typo 2007/10/18 11:51:03 sj 1.7.2.2: #i82570# fixed strings 2007/10/15 15:44:55 sj 1.7.2.1: #i82570# fixed strings --- .../data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu index 7214fa944d75..35626c6cb77d 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu @@ -14,7 +14,7 @@ Specifies the filename of the help document after installation, the help can be found in sdext/source/minimizer/help - %origin%/../../../../../../help/help_en-us.odt + %origin%/../../../../../../help/help_en-US.odt %origin%/../../../../../../help/help_de.odt -- cgit From 4f0b81fd036971dba11db70a3c1472442172e6c9 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Tue, 13 Nov 2007 15:37:57 +0000 Subject: #i10000# Depends on module readlicense_oo. --- sdext/prj/build.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdext/prj/build.lst b/sdext/prj/build.lst index 1d1e53268b0f..5f1324848acb 100644 --- a/sdext/prj/build.lst +++ b/sdext/prj/build.lst @@ -1,4 +1,4 @@ -dx sdext : offuh comphelper unotools NULL +dx sdext : offuh comphelper unotools readlicense_oo NULL dx sdext usr1 - all sdext_mkout NULL dx sdext\prj get - all sdext_prj NULL dx sdext\source\minimizer nmake - all sdext_minimizer NULL -- cgit From 10474a45aeafc1f45b57baffa1ee91d1e9bdd35e Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Wed, 21 Nov 2007 17:04:39 +0000 Subject: INTEGRATION: CWS pppopt04 (1.4.4); FILE MERGED 2007/11/15 16:24:05 sj 1.4.4.1: #i82551# fixed problem with default language-id --- sdext/source/minimizer/description.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdext/source/minimizer/description.xml b/sdext/source/minimizer/description.xml index 602afb28000c..7c9d832b3707 100644 --- a/sdext/source/minimizer/description.xml +++ b/sdext/source/minimizer/description.xml @@ -7,8 +7,8 @@ - - + + -- cgit From 6b2c5f871d743cca4e7fb20c4ca6404da8cd2140 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Wed, 21 Nov 2007 17:04:53 +0000 Subject: INTEGRATION: CWS pppopt04 (1.3.10); FILE MERGED 2007/11/16 13:03:22 sj 1.3.10.1: #i82571# shortening strings --- .../minimizer/registry/data/org/openoffice/Office/Addons.xcu | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu index f9a4eb1e52f6..7107ebd5a180 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu @@ -42,8 +42,8 @@ - - + + .uno:ToolsMenu\.uno:AVMediaPlayer @@ -57,12 +57,12 @@ com.sun.star.presentation.PresentationDocument - + private:separator - + vnd.com.sun.star.comp.SunPresentationMinimizer:execute @@ -79,7 +79,7 @@ - + .uno:HelpMenu\.uno:About @@ -93,7 +93,7 @@ com.sun.star.presentation.PresentationDocument - + vnd.com.sun.star.comp.SunPresentationMinimizer:about -- cgit From 6f9fe80e8616125e6a817584281040078585ad6a Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 28 Nov 2007 09:53:00 +0000 Subject: initial commit --- swext/mediawiki/build.xml | 168 ++++++++++++++++++++++++++++ swext/mediawiki/dialogs/EditSetting.xdl | 26 +++++ swext/mediawiki/dialogs/Module1.xba | 41 +++++++ swext/mediawiki/dialogs/SendToMediaWiki.xdl | 31 +++++ swext/mediawiki/dialogs/Settings.xdl | 18 +++ swext/mediawiki/dialogs/dialog.xlb | 45 ++++++++ swext/mediawiki/dialogs/script.xlb | 39 +++++++ swext/mediawiki/makefile.mk | 41 +++++++ swext/prj/build.lst | 4 + swext/prj/d.lst | 3 + 10 files changed, 416 insertions(+) create mode 100644 swext/mediawiki/build.xml create mode 100644 swext/mediawiki/dialogs/EditSetting.xdl create mode 100644 swext/mediawiki/dialogs/Module1.xba create mode 100644 swext/mediawiki/dialogs/SendToMediaWiki.xdl create mode 100644 swext/mediawiki/dialogs/Settings.xdl create mode 100644 swext/mediawiki/dialogs/dialog.xlb create mode 100644 swext/mediawiki/dialogs/script.xlb create mode 100644 swext/mediawiki/makefile.mk create mode 100644 swext/prj/build.lst create mode 100644 swext/prj/d.lst diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml new file mode 100644 index 000000000000..02def1d65131 --- /dev/null +++ b/swext/mediawiki/build.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This target can only run inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl new file mode 100644 index 000000000000..aefe989e972d --- /dev/null +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/swext/mediawiki/dialogs/Module1.xba b/swext/mediawiki/dialogs/Module1.xba new file mode 100644 index 000000000000..9e6524fa3898 --- /dev/null +++ b/swext/mediawiki/dialogs/Module1.xba @@ -0,0 +1,41 @@ + + + +REM ***** BASIC ***** + +Sub Main + +End Sub diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl new file mode 100644 index 000000000000..2ac90e6fb8cb --- /dev/null +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/swext/mediawiki/dialogs/Settings.xdl b/swext/mediawiki/dialogs/Settings.xdl new file mode 100644 index 000000000000..3a283dbf04ac --- /dev/null +++ b/swext/mediawiki/dialogs/Settings.xdl @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/swext/mediawiki/dialogs/dialog.xlb b/swext/mediawiki/dialogs/dialog.xlb new file mode 100644 index 000000000000..08672ae6fe9c --- /dev/null +++ b/swext/mediawiki/dialogs/dialog.xlb @@ -0,0 +1,45 @@ + + + + + + + + + + + + diff --git a/swext/mediawiki/dialogs/script.xlb b/swext/mediawiki/dialogs/script.xlb new file mode 100644 index 000000000000..7c9bfa1a0545 --- /dev/null +++ b/swext/mediawiki/dialogs/script.xlb @@ -0,0 +1,39 @@ + + + + + + diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk new file mode 100644 index 000000000000..0f19e29b223c --- /dev/null +++ b/swext/mediawiki/makefile.mk @@ -0,0 +1,41 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: mav $ $Date: 2007-11-28 10:45:46 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=.. +PRJNAME=swext +TARGET=mediawiki + +.INCLUDE : ant.mk +ALLTAR: ANTBUILD diff --git a/swext/prj/build.lst b/swext/prj/build.lst new file mode 100644 index 000000000000..d7e3fe045f6a --- /dev/null +++ b/swext/prj/build.lst @@ -0,0 +1,4 @@ +swext swext : xalan jut javaunohelper ridljar unoil jurt NULL +swext swext usr1 - all swext_mkout NULL +swext swext\mediawiki nmake - all swext_wiki NULL + diff --git a/swext/prj/d.lst b/swext/prj/d.lst new file mode 100644 index 000000000000..1e1b302bc4fa --- /dev/null +++ b/swext/prj/d.lst @@ -0,0 +1,3 @@ +mkdir: %_DEST%\bin%_EXT%\swext +..\%__SRC%\bin\mediawiki.oxt %_DEST%\bin%_EXT%\swext\mediawiki.oxt + -- cgit From eb0b59c122e30dbfd31435a0f59c3d6d0c8727a3 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 28 Nov 2007 09:57:45 +0000 Subject: add license --- swext/mediawiki/dialogs/EditSetting.xdl | 36 +++++++++++++++++++++++++++- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 37 ++++++++++++++++++++++++++++- swext/mediawiki/dialogs/Settings.xdl | 35 +++++++++++++++++++++++++++ 3 files changed, 106 insertions(+), 2 deletions(-) diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl index aefe989e972d..0ce26b4b404a 100644 --- a/swext/mediawiki/dialogs/EditSetting.xdl +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -1,4 +1,38 @@ + @@ -23,4 +57,4 @@ - \ No newline at end of file + diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 2ac90e6fb8cb..8889a8826d27 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -1,4 +1,39 @@ + + @@ -28,4 +63,4 @@ - \ No newline at end of file + diff --git a/swext/mediawiki/dialogs/Settings.xdl b/swext/mediawiki/dialogs/Settings.xdl index 3a283dbf04ac..5a8b5f950bfd 100644 --- a/swext/mediawiki/dialogs/Settings.xdl +++ b/swext/mediawiki/dialogs/Settings.xdl @@ -1,4 +1,39 @@ + + -- cgit From 34e59cafbaa112cd4e8be1f99e0f881da354582c Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 28 Nov 2007 10:15:42 +0000 Subject: initial commit --- .../src/com/sun/star/wiki/EditPageParser.java | 166 ++++++ swext/mediawiki/src/com/sun/star/wiki/Helper.java | 611 +++++++++++++++++++++ .../sun/star/wiki/MainThreadDialogExecutor.java | 136 +++++ .../mediawiki/src/com/sun/star/wiki/Settings.java | 399 ++++++++++++++ .../src/com/sun/star/wiki/WikiArticle.java | 297 ++++++++++ .../src/com/sun/star/wiki/WikiCancelException.java | 41 ++ .../src/com/sun/star/wiki/WikiDialog.java | 126 +++++ .../com/sun/star/wiki/WikiEditSettingDialog.java | 206 +++++++ .../src/com/sun/star/wiki/WikiEditorImpl.java | 527 ++++++++++++++++++ .../sun/star/wiki/WikiOptionsEventHandlerImpl.java | 290 ++++++++++ .../src/com/sun/star/wiki/WikiPropDialog.java | 399 ++++++++++++++ .../sun/star/wiki/WikiProtocolSocketFactory.java | 176 ++++++ swext/mediawiki/src/description.xml | 8 + swext/mediawiki/src/uno-extension-manifest.xml | 51 ++ 14 files changed, 3433 insertions(+) create mode 100644 swext/mediawiki/src/com/sun/star/wiki/EditPageParser.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/Helper.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/Settings.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/WikiCancelException.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java create mode 100644 swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java create mode 100644 swext/mediawiki/src/description.xml create mode 100644 swext/mediawiki/src/uno-extension-manifest.xml diff --git a/swext/mediawiki/src/com/sun/star/wiki/EditPageParser.java b/swext/mediawiki/src/com/sun/star/wiki/EditPageParser.java new file mode 100644 index 000000000000..7e7c2edec80b --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/EditPageParser.java @@ -0,0 +1,166 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: EditPageParser.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:13:17 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +import javax.swing.text.html.*; +import javax.swing.text.MutableAttributeSet; + +public class EditPageParser extends HTMLEditorKit.ParserCallback +{ + + protected String m_sEditTime = ""; + protected String m_sEditToken = ""; + private int m_nWikiArticleHash = 0; + private boolean m_bHTMLStartFound = false; + protected int m_nWikiArticleStart = -1; + protected int m_nWikiArticleEnd = -1; + protected int m_nHTMLArticleStart = -1; + protected int m_nHTMLArticleEnd = -1; + protected int m_nNoArticleInd = -1; + protected int m_nErrorInd = -1; + + /** Creates a new instance of WikiHTMLParser */ + public EditPageParser() + { + } + + public void handleComment(char[] data,int pos) + { + // insert code to handle comments + } + + public void handleEndTag(HTML.Tag t,int pos) + { + if (t == HTML.Tag.TEXTAREA) + { + m_nWikiArticleEnd = pos; + } + if (t == HTML.Tag.DIV) + { + if (m_bHTMLStartFound) + { + m_nHTMLArticleStart = pos+6; + m_bHTMLStartFound = false; + } + } + } + + public void handleError(String errorMsg,int pos) + { + //System.out.println(errorMsg); + } + + public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a,int pos) + { + // insert code to handle simple tags + + if (t == HTML.Tag.INPUT) + { + String sName = (String) a.getAttribute(HTML.Attribute.NAME); + if (sName != null) + { + if (sName.equalsIgnoreCase("wpEdittime")) + { + this.m_sEditTime = (String) a.getAttribute(HTML.Attribute.VALUE); + } + if (sName.equalsIgnoreCase("wpEditToken")) + { + this.m_sEditToken = (String) a.getAttribute(HTML.Attribute.VALUE); + } + } + + } + + } + + public void handleStartTag(HTML.Tag t, MutableAttributeSet a,int pos) + { + // insert code to handle starting tags + String sName = ""; + String sId = ""; + String sClass = ""; + + if (t == HTML.Tag.TEXTAREA) + { + sName = (String) a.getAttribute(HTML.Attribute.NAME); + if (sName != null) + { + if (sName.equalsIgnoreCase("wpTextbox1")) + { + m_nWikiArticleHash = t.hashCode(); + m_nWikiArticleStart = pos; + } + } + } + else if (t == HTML.Tag.DIV) + { + sId = (String) a.getAttribute(HTML.Attribute.ID); + sClass = (String) a.getAttribute(HTML.Attribute.CLASS); + if (sId != null) + { + if (sId.equalsIgnoreCase("contentSub")) + { + m_bHTMLStartFound = true; + } + } + if (sClass != null) + { + if (sClass.equalsIgnoreCase("printfooter")) + { + m_nHTMLArticleEnd = pos; + } + else if ( sClass.equalsIgnoreCase( "noarticletext" ) ) + { + m_nNoArticleInd = pos; + } + else if ( sClass.equalsIgnoreCase( "errorbox" ) ) + { + m_nErrorInd = pos; + } + } + } + else if ( t == HTML.Tag.P ) + { + sClass = (String) a.getAttribute(HTML.Attribute.CLASS); + if ( sClass != null && sClass.equalsIgnoreCase( "error" ) ) + { + m_nErrorInd = pos; + } + } + } + + +} diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java new file mode 100644 index 000000000000..1a907dd8a572 --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -0,0 +1,611 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Helper.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:13:38 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +import com.sun.star.awt.XDialog; +import com.sun.star.beans.NamedValue; +import com.sun.star.beans.PropertyValue; +import com.sun.star.beans.XPropertySet; +import com.sun.star.container.XContainerQuery; +import com.sun.star.container.XEnumeration; +import com.sun.star.container.XNameAccess; +import com.sun.star.document.XDocumentInfoSupplier; +import com.sun.star.frame.XModel; +import com.sun.star.frame.XModuleManager; +import com.sun.star.io.XInputStream; +import com.sun.star.io.XOutputStream; +import com.sun.star.io.XSeekable; +import com.sun.star.io.XStream; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.system.SystemShellExecuteFlags; +import com.sun.star.system.XSystemShellExecute; +import com.sun.star.uno.AnyConverter; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import java.net.*; +import java.io.*; +import java.util.Hashtable; +import java.util.Random; +import javax.net.ssl.SSLException; +import javax.swing.text.html.HTMLEditorKit; + +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.HostConfiguration; +import org.apache.commons.httpclient.HttpMethodBase; +import org.apache.commons.httpclient.cookie.CookiePolicy; +import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; +import org.apache.commons.httpclient.protocol.Protocol; +import org.apache.commons.httpclient.URI; +import org.apache.commons.httpclient.methods.GetMethod; +import org.apache.commons.httpclient.methods.PostMethod; + +public class Helper +{ + + private static final String sHTMLHeader = ""; + private static final String sHTMLFooter = ""; + + private static Random m_aRandom; + private static MultiThreadedHttpConnectionManager m_aConnectionManager; + private static HttpClient m_aClient; + private static boolean m_bAllowConnection = true; + private static Hashtable m_aAcceptedUnknownCerts; + + synchronized protected static HttpClient GetHttpClient() + throws WikiCancelException + { + if ( !m_bAllowConnection ) + throw new WikiCancelException(); + + if ( m_aConnectionManager == null ) + m_aConnectionManager = new MultiThreadedHttpConnectionManager(); + + if ( m_aClient == null ) + { + m_aClient = new HttpClient( m_aConnectionManager ); + m_aClient.getParams().setParameter( "http.protocol.cookie-policy", CookiePolicy.BROWSER_COMPATIBILITY ); + m_aClient.getParams().setParameter( "http.protocol.single-cookie-header", Boolean.TRUE ); + m_aClient.getParams().setParameter( "http.protocol.content-charset", "UTF-8" ); + } + + return m_aClient; + } + + synchronized protected static void AllowConnection( boolean bAllow ) + { + m_bAllowConnection = bAllow; + if ( !bAllow && m_aConnectionManager != null ) + { + m_aClient = null; + m_aConnectionManager.shutdown(); + m_aConnectionManager = null; + } + } + + synchronized protected static boolean IsConnectionAllowed() + { + return m_bAllowConnection; + } + + protected static Protocol GetOwnHttps( int nPort ) + { + return new Protocol( "https", new WikiProtocolSocketFactory(), ( ( nPort < 0 ) ? 443 : nPort ) ); + } + + protected static String GetMainURL( String sWebPage, String sVURL ) + { + //scrape the HTML source and find the EditURL + String sResultURL = ""; + int i = sWebPage.indexOf( "action=edit" ); + if ( i!=-1 ) + { + int t = sWebPage.lastIndexOf( "a href=", i ); + int z = sWebPage.indexOf( "index.php", t ); + sResultURL = sWebPage.substring( t+8,z ); + try + { + if ( !sResultURL.startsWith( "http" )) + { + //if the url is only relative then complete it + URL aURL = new URL( sVURL ); + sResultURL = aURL.getProtocol()+"://"+aURL.getHost()+sResultURL; + } + } + catch ( MalformedURLException ex ) + { + ex.printStackTrace(); + } + } + + return sResultURL; + } + + protected static String GetRedirectURL( String sWebPage, String sURL ) + { + //scrape the HTML source and find the EditURL + String sResultURL = ""; + int nInd = sWebPage.indexOf( "http-equiv=\"refresh\"" ); + if ( nInd != -1 ) + { + int nContent = sWebPage.indexOf( "content=", nInd ); + if ( nContent > 0 ) + { + int nURL = sWebPage.indexOf( "URL=", nContent ); + if ( nURL > 0 ) + { + int nEndURL = sWebPage.indexOf( "\"", nURL ); + if ( nEndURL > 0 ) + sResultURL = sWebPage.substring( nURL + 4, nEndURL ); + } + } + + try + { + URL aURL = new URL( sURL ); + if ( !sResultURL.startsWith( aURL.getProtocol() )) + { + //if the url is only relative then complete it + if ( sResultURL.startsWith( "/" ) ) + sResultURL = aURL.getProtocol() + "://" + aURL.getHost() + sResultURL; + else + sResultURL = aURL.getProtocol() + "://" + aURL.getHost() + aURL.getPath() + sResultURL; + } + } + catch ( MalformedURLException ex ) + { + ex.printStackTrace(); + } + } + + return sResultURL; + + } + + protected static XInputStream SaveHTMLTemp( XComponentContext xContext, String sArticle ) + { + XInputStream xResult = null; + + if ( xContext != null ) + { + try + { + Object oTempFile = xContext.getServiceManager().createInstanceWithContext( "com.sun.star.io.TempFile", xContext ); + XStream xStream = ( XStream ) UnoRuntime.queryInterface( XStream.class, oTempFile ); + XSeekable xSeekable = ( XSeekable ) UnoRuntime.queryInterface( XSeekable.class, oTempFile ); + if ( xStream != null && xSeekable != null ) + { + XOutputStream xOutputStream = xStream.getOutputStream(); + XInputStream xInputStream = xStream.getInputStream(); + if ( xOutputStream != null && xInputStream != null ) + { + String sHTML = sHTMLHeader.concat( sArticle ); + sHTML = sHTML.concat( sHTMLFooter ); + xOutputStream.writeBytes( sHTML.getBytes( "UTF-8" ) ); + // xOutputStream.closeOutput(); + xSeekable.seek( 0 ); + + xResult = xInputStream; + } + } + } + catch ( Exception ex ) + { + ex.printStackTrace(); + } + } + + return xResult; + } + + + protected static String CreateTempFile( XComponentContext xContext ) + { + String sURL = ""; + try + { + Object oTempFile = xContext.getServiceManager().createInstanceWithContext( "com.sun.star.io.TempFile", xContext ); + XPropertySet xPropertySet = ( XPropertySet ) UnoRuntime.queryInterface( XPropertySet.class, oTempFile ); + xPropertySet.setPropertyValue( "RemoveFile", Boolean.FALSE ); + sURL = ( String ) xPropertySet.getPropertyValue( "Uri" ); + + XInputStream xInputStream = ( XInputStream ) UnoRuntime.queryInterface( XInputStream.class, oTempFile ); + xInputStream.closeInput(); + XOutputStream xOutputStream = ( XOutputStream ) UnoRuntime.queryInterface( XOutputStream.class, oTempFile ); + xOutputStream.closeOutput(); + } catch ( com.sun.star.uno.Exception ex ) + { + ex.printStackTrace(); + } + return sURL; + } + + protected static String EachLine( String sURL ) + { + String sText = ""; + try + { + URL aURL = new URL( sURL ); + File aFile = new File( aURL.getFile() ); + InputStreamReader aInputReader = new InputStreamReader( new FileInputStream( aFile ), "UTF-8" ); + BufferedReader aBufReader = new BufferedReader( aInputReader ); + + StringBuffer aBuf = new StringBuffer(); + String sEachLine = aBufReader.readLine(); + + while( sEachLine != null ) + { + aBuf.append( sEachLine ); + aBuf.append( "\n" ); + + sEachLine = aBufReader.readLine(); + } + sText = aBuf.toString(); + } catch ( Exception e ) + { + e.printStackTrace(); + } + return sText; + } + + protected static String GetDocTitle( XModel xDoc ) + { + String sTitle = ""; + XDocumentInfoSupplier xDocInfoSup = ( XDocumentInfoSupplier ) UnoRuntime.queryInterface( XDocumentInfoSupplier.class, xDoc ); + XPropertySet xPropSet = ( XPropertySet ) UnoRuntime.queryInterface( XPropertySet.class, xDocInfoSup.getDocumentInfo() ); + try + { + sTitle = ( String ) xPropSet.getPropertyValue( "Title" ); + } catch ( Exception ex ) + { + ex.printStackTrace(); + } + return sTitle; + } + + protected static void SetDocTitle( XModel xDoc, String sTitle ) + { + XDocumentInfoSupplier xDocInfoSup = ( XDocumentInfoSupplier ) UnoRuntime.queryInterface( XDocumentInfoSupplier.class, xDoc ); + if ( xDocInfoSup != null ) + { + XPropertySet xPropSet = ( XPropertySet ) UnoRuntime.queryInterface( XPropertySet.class, xDocInfoSup.getDocumentInfo() ); + if ( xPropSet != null ) + { + try + { + xPropSet.setPropertyValue( "Title", sTitle ); + } + catch ( Exception ex ) + { + ex.printStackTrace(); + } + } + } + } + + protected static String GetDocServiceName( XComponentContext xContext, XModel xModel ) + { + String aDocServiceName = ""; + if ( xModel != null && xContext != null ) + { + try + { + XMultiComponentFactory xFactory = xContext.getServiceManager(); + if ( xFactory == null ) + throw new com.sun.star.uno.RuntimeException(); + + Object oModuleManager = xFactory.createInstanceWithContext( "com.sun.star.frame.ModuleManager", xContext ); + XModuleManager xModuleManager = ( XModuleManager ) UnoRuntime.queryInterface( XModuleManager.class, oModuleManager ); + if ( xModuleManager != null ) + aDocServiceName = xModuleManager.identify( xModel ); + } + catch( java.lang.Exception e ) + { + e.printStackTrace(); + } + } + + return aDocServiceName; + } + + protected static String GetFilterName( XComponentContext xContext, String aTypeName, String aDocServiceName ) + { + String aFilterName = ""; + if ( xContext != null && aTypeName != null && aTypeName.length() != 0 + && aDocServiceName != null && aDocServiceName.length() != 0 ) + { + try + { + Object oFilterFactory = xContext.getServiceManager().createInstanceWithContext( "com.sun.star.document.FilterFactory", xContext ); + XContainerQuery xQuery = ( XContainerQuery )UnoRuntime.queryInterface( XContainerQuery.class, oFilterFactory ); + if ( xQuery != null ) + { + NamedValue[] aRequest = new NamedValue[2]; + aRequest[0] = new NamedValue( "Type", aTypeName ); + aRequest[1] = new NamedValue( "DocumentService", aDocServiceName ); + + XEnumeration xSet = xQuery.createSubSetEnumerationByProperties( aRequest ); + if ( xSet != null ) + { + boolean bAcceptable = false; + while ( xSet.hasMoreElements() && !bAcceptable ) + { + PropertyValue[] pFilterProps = ( PropertyValue[] )AnyConverter.toArray( xSet.nextElement() ); + if ( pFilterProps != null ) + { + int nLen = pFilterProps.length; + String aTmpFilter = null; + + for ( int nInd = 0; nInd < nLen; nInd++ ) + { + if ( pFilterProps[nInd].Name.equals( "Name" ) ) + aTmpFilter = AnyConverter.toString( pFilterProps[nInd].Value ); + else if ( pFilterProps[nInd].Name.equals( "Flags" ) ) + bAcceptable = ( ( AnyConverter.toInt( pFilterProps[nInd].Value ) & 2 ) == 2 ); // must allow export + } + + if ( bAcceptable ) + aFilterName = aTmpFilter; + } + } + } + } + } + catch( java.lang.Exception e ) + { + e.printStackTrace(); + } + } + + return aFilterName; + } + + protected static XMultiServiceFactory GetConfigurationProvider( XComponentContext xContext ) + throws com.sun.star.uno.Exception + { + XMultiServiceFactory xConfigurationProvider = null; + if ( xContext != null ) + { + XMultiComponentFactory xFactory = xContext.getServiceManager(); + Object oConfigProvider = xFactory.createInstanceWithContext( "com.sun.star.configuration.ConfigurationProvider", xContext ); + xConfigurationProvider = ( XMultiServiceFactory ) UnoRuntime.queryInterface( XMultiServiceFactory.class, oConfigProvider ); + } + + if ( xConfigurationProvider == null ) + throw new com.sun.star.uno.RuntimeException(); + + return xConfigurationProvider; + } + + protected static void SetConfigurationProxy( HostConfiguration aHostConfig, XComponentContext xContext ) + { + if ( aHostConfig == null || xContext == null ) + return; + + try + { + PropertyValue aVal = new PropertyValue(); + aVal.Name = "nodepath"; + aVal.Value = "org.openoffice.Inet/Settings"; + Object[] aArgs = new Object[1]; + aArgs[0] = aVal; + + Object oSettings = Helper.GetConfigurationProvider( xContext ).createInstanceWithArguments( + "com.sun.star.configuration.ConfigurationAccess", + aArgs ); + XNameAccess xNameAccess = ( XNameAccess ) UnoRuntime.queryInterface( XNameAccess.class, oSettings ); + + if ( xNameAccess == null ) + return; + + int nProxyType = AnyConverter.toInt( xNameAccess.getByName( "ooInetProxyType" ) ); + String aNoProxyList = AnyConverter.toString( xNameAccess.getByName( "ooInetNoProxy" ) ); + String aProxyName = AnyConverter.toString( xNameAccess.getByName( "ooInetHTTPProxyName" ) ); + + int nProxyPort = AnyConverter.toInt( xNameAccess.getByName( "ooInetHTTPProxyPort" ) ); + + if ( nProxyPort == -1 ) + nProxyPort = 80; + + if ( nProxyType == 0 ) + aHostConfig.setProxy( "", 0 ); + else + { + // TODO: check whether the URL is in the NoProxy list + aHostConfig.setProxy( aProxyName, nProxyPort ); + } + } + catch( java.lang.Exception e ) + { + e.printStackTrace(); + } + } + + protected static void ShowURLInBrowser( XComponentContext xContext, String sURL ) + { + if ( xContext != null && sURL != null && sURL.length() > 0 ) + { + try + { + Object oSystemShell = xContext.getServiceManager().createInstanceWithContext( "com.sun.star.system.SystemShellExecute", xContext ); + XSystemShellExecute xSystemShell = (XSystemShellExecute)UnoRuntime.queryInterface( XSystemShellExecute.class, oSystemShell ); + if ( xSystemShell != null ) + xSystemShell.execute( sURL, "", SystemShellExecuteFlags.DEFAULTS ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + } + + protected static void ExecuteMethod( HttpMethodBase aMethod, HostConfiguration aHostConfig, URI aURI, XComponentContext xContext, boolean bSetHost ) + throws WikiCancelException, IOException + { + if ( aMethod != null && aHostConfig != null && aURI != null && xContext != null ) + { + if ( bSetHost ) + { + aHostConfig.setHost( aURI ); + SetConfigurationProxy( aHostConfig, xContext ); + } + + boolean bNoUnknownCertNotification = false; + if ( aHostConfig.getProtocol().getScheme().equals( "https" ) && m_aAcceptedUnknownCerts != null ) + { + Boolean bAccepted = (Boolean)m_aAcceptedUnknownCerts.get( aHostConfig.getHost() ); + bNoUnknownCertNotification = ( bAccepted != null && bAccepted.booleanValue() ); + } + + if ( !bNoUnknownCertNotification ) + { + try + { + Helper.GetHttpClient().executeMethod( aHostConfig, aMethod ); + } + catch ( SSLException e ) + { + if ( aURI.getScheme().equals( "https" ) ) + { + // the complete secure connection seems to be impossible + XDialog xAskDialog = WikiDialog.CreateSimpleDialog( xContext, "vnd.sun.star.script:WikiEditor.UnknownCertDialog?location=application" ); + if ( xAskDialog != null && MainThreadDialogExecutor.Execute( xContext, xAskDialog ) ) + { + if ( m_aAcceptedUnknownCerts == null ) + m_aAcceptedUnknownCerts = new Hashtable(); + m_aAcceptedUnknownCerts.put( aURI.getHost(), Boolean.TRUE ); + bNoUnknownCertNotification = true; + } + } + } + } + + if ( bNoUnknownCertNotification ) + { + { + { + aHostConfig.setHost( aHostConfig.getHost(), ( aURI.getPort() < 0 ? 443 : aURI.getPort() ), Helper.GetOwnHttps( aURI.getPort() ) ); + Helper.GetHttpClient().executeMethod( aHostConfig, aMethod ); + } + } + } + } + } + + static private class HTMLParse extends HTMLEditorKit + { + + public HTMLEditorKit.Parser getParser() + { + return super.getParser(); + } + } + + static protected HTMLEditorKit.Parser GetHTMLParser() + { + return new HTMLParse().getParser(); + } + + static protected boolean LoginReportsError( String sRespond ) + { + boolean bResult = true; + if ( sRespond != null ) + { + try + { + StringReader aReader = new StringReader( sRespond ); + HTMLEditorKit.Parser aParser = GetHTMLParser(); + EditPageParser aCallback = new EditPageParser(); + + aParser.parse( aReader, aCallback, true ); + bResult = ( aCallback.m_nErrorInd >= 0 ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + + return bResult; + } + + static protected HostConfiguration Login( URI aMainURL, String sWikiUser, String sWikiPass, String sWikiDomain, XComponentContext xContext ) + throws com.sun.star.uno.Exception, java.io.IOException, WikiCancelException + { + HostConfiguration aHostConfig = null; + + if ( sWikiUser != null && sWikiUser.length() > 0 && sWikiPass != null && sWikiDomain != null && xContext != null ) + { + HostConfiguration aNewHostConfig = new HostConfiguration(); + + URI aURI = new URI( aMainURL.toString() + "index.php?title=Special:Userlogin" ); + GetMethod aGetCookie = new GetMethod( aURI.getEscapedPathQuery() ); + + ExecuteMethod( aGetCookie, aNewHostConfig, aURI, xContext, true ); + + int nResultCode = aGetCookie.getStatusCode(); + aGetCookie.releaseConnection(); + + if ( nResultCode == 200 ) + { + PostMethod aPost = new PostMethod(); + URI aPostURI = new URI( aMainURL.getPath() + "index.php?title=Special:Userlogin&action=submitlogin" ); + aPost.setPath( aPostURI.getEscapedPathQuery() ); + + aPost.addParameter( "wpName", sWikiUser ); + aPost.addParameter( "wpRemember", "1" ); + aPost.addParameter( "wpPassword", sWikiPass ); + aPost.addParameter( "wpDomain", sWikiDomain ); + + ExecuteMethod( aPost, aNewHostConfig, aPostURI, xContext, false ); + + nResultCode = aPost.getStatusCode(); + if ( nResultCode == 200 ) + { + String sResult = aPost.getResponseBodyAsString(); + if ( !LoginReportsError( sResult ) ) + aHostConfig = aNewHostConfig; + } + + aPost.releaseConnection(); + } + } + + return aHostConfig; + } + +} + diff --git a/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java new file mode 100644 index 000000000000..7898088e5459 --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java @@ -0,0 +1,136 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: MainThreadDialogExecutor.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:13:59 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +import com.sun.star.uno.Any; +import com.sun.star.awt.XDialog; +import com.sun.star.awt.XCallback; +import com.sun.star.awt.XRequestCallback; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; + +public class MainThreadDialogExecutor implements XCallback +{ + private WikiDialog m_aWikiDialog; + private XDialog m_xDialog; + private boolean m_bResult = false; + private boolean m_bCalled = false; + + static public boolean Show( XComponentContext xContext, WikiDialog aWikiDialog ) + { + MainThreadDialogExecutor aExecutor = new MainThreadDialogExecutor( aWikiDialog ); + return GetCallback( xContext, aExecutor ); + } + + static public boolean Execute( XComponentContext xContext, XDialog xDialog ) + { + MainThreadDialogExecutor aExecutor = new MainThreadDialogExecutor( xDialog ); + return GetCallback( xContext, aExecutor ); + } + + static private boolean GetCallback( XComponentContext xContext, MainThreadDialogExecutor aExecutor ) + { + try + { + if ( aExecutor != null ) + { + String aThreadName = null; + Thread aCurThread = Thread.currentThread(); + if ( aCurThread != null ) + aThreadName = aCurThread.getName(); + + if ( aThreadName != null && aThreadName.equals( "com.sun.star.thread.WikiEditorSendingThread" ) ) + { + // the main thread should be accessed asynchronously + XMultiComponentFactory xFactory = xContext.getServiceManager(); + if ( xFactory == null ) + throw new com.sun.star.uno.RuntimeException(); + + XRequestCallback xRequest = (XRequestCallback)UnoRuntime.queryInterface( + XRequestCallback.class, + xFactory.createInstanceWithContext( "com.sun.star.awt.AsyncCallback", xContext ) ); + if ( xRequest != null ) + { + xRequest.addCallback( aExecutor, Any.VOID ); + do + { + Thread.yield(); + } + while( !aExecutor.m_bCalled ); + } + } + else + { + // handle it as a main thread + aExecutor.notify( Any.VOID ); + } + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + + return aExecutor.GetResult(); + } + + private MainThreadDialogExecutor( WikiDialog aWikiDialog ) + { + m_aWikiDialog = aWikiDialog; + } + + private MainThreadDialogExecutor( XDialog xDialog ) + { + m_xDialog = xDialog; + } + + private boolean GetResult() + { + return m_bResult; + } + + public void notify( Object aData ) + { + if ( m_aWikiDialog != null ) + m_bResult = m_aWikiDialog.show(); + else if ( m_xDialog != null ) + m_bResult = ( m_xDialog.execute() == 1 ); + + m_bCalled = true; + } +}; + diff --git a/swext/mediawiki/src/com/sun/star/wiki/Settings.java b/swext/mediawiki/src/com/sun/star/wiki/Settings.java new file mode 100644 index 000000000000..7277fe3d028c --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/Settings.java @@ -0,0 +1,399 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: Settings.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:14:11 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +import com.sun.star.beans.NamedValue; +import com.sun.star.container.XNameAccess; +import com.sun.star.container.XNameContainer; +import com.sun.star.container.XNameReplace; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.lang.XSingleServiceFactory; +import com.sun.star.uno.AnyConverter; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.util.XChangesBatch; +import java.net.InetSocketAddress; +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.Vector; + +public class Settings +{ + + private XComponentContext m_context; + private int lastUsedWikiServer = 0; + + + /* Singelton */ + private static Settings m_instance; + + + private Vector m_WikiConnections = new Vector(); + private Vector m_aWikiDocs = new Vector(); + + private Settings( XComponentContext ctx ) + { + m_context=ctx; + loadConfiguration(); + } + + + public static synchronized Settings getSettings( XComponentContext ctx ) + { + if ( m_instance == null ) + m_instance = new Settings( ctx ); + // m_instance.loadSettings(); + return m_instance; + } + + + public void addWikiCon ( Hashtable wikiCon ) + { + m_WikiConnections.add( wikiCon ); + } + + + public Vector getWikiCons() + { + return m_WikiConnections; + } + + public String getWikiConUrlByNumber( int num ) + { + String url = ""; + if ( num >=0 && num < m_WikiConnections.size() ) + { + Hashtable ht = ( Hashtable ) m_WikiConnections.get( num ); + url = ( String ) ht.get( "Url" ); + } + return url; + } + + + public void addWikiDoc ( Hashtable aWikiDoc ) + { + String sURL = ( String ) aWikiDoc.get( "CompleteUrl" ); + Hashtable aEntry = getDocByCompleteUrl( sURL ); + + if ( aEntry != null ) + { + // add doc to the end, even if it has been added before + m_aWikiDocs.remove( aEntry ); + } + else if ( m_aWikiDocs.size() > 10 ) + { + // if the number of elements has reached maximum the oldest element should be removed + m_aWikiDocs.remove( 0 ); + } + + m_aWikiDocs.add( aWikiDoc ); + } + + + public Vector getWikiDocs() + { + return m_aWikiDocs; + } + + public Object[] getWikiDocList( int serverid, int num ) + { + String wikiserverurl = getWikiConUrlByNumber( serverid ); + Vector theDocs = new Vector(); + String [] docs = new String[0]; + for ( int i=0; i= 0 && iPosEnd > 0 ) + { + String sArticle = sWebPage.substring(iPosStart, iPosEnd); + iPosStart = sArticle.indexOf(">") + 1; + sWikiCode = sArticle.substring( iPosStart, sArticle.length() ); + } + } + } + + return sWikiCode; + } + + private void InitArticleHTML() + throws com.sun.star.uno.Exception, java.io.IOException, WikiCancelException + { + if ( m_aHostConfig != null ) + { + URI aURI = new URI( m_aMainURI.toString() + "index.php?title=" + m_sTitle ); + GetMethod aRequest = new GetMethod( aURI.getEscapedPathQuery() ); + + Helper.ExecuteMethod( aRequest, m_aHostConfig, aURI, m_xContext, false ); + + int nResultCode = aRequest.getStatusCode(); + String sWebPage = null; + if ( nResultCode == 200 ) + sWebPage = aRequest.getResponseBodyAsString(); + + if ( sWebPage != null ) + { + StringReader r = new StringReader(sWebPage); + HTMLEditorKit.Parser parse = Helper.GetHTMLParser(); + EditPageParser callback = new EditPageParser(); + + parse.parse(r,callback,true); + + int iPosStart = callback.m_nHTMLArticleStart; + int iPosEnd = callback.m_nHTMLArticleEnd; + int nPosNoArt = callback.m_nNoArticleInd; + + if ( iPosStart >= 0 && iPosEnd > 0 ) + { + m_sHTMLCode = sWebPage.substring(iPosStart, iPosEnd); + m_bNoArticle = ( nPosNoArt >= 0 && nPosNoArt >= iPosStart && nPosNoArt <= iPosEnd ); + } + } + } + } + + protected boolean setArticle( String sWikiCode, String sWikiComment, boolean bMinorEdit ) + throws com.sun.star.uno.Exception, java.io.IOException, WikiCancelException + { + boolean bResult = false; + + if ( m_aHostConfig != null && sWikiCode != null && sWikiComment != null ) + { + // get the edit time and token + getArticleWiki(); + + URI aURI = new URI( m_aMainURI.getPath() + "index.php?title=" + m_sTitle + "&action=submit" ); + PostMethod aPost = new PostMethod(); + aPost.setPath( aURI.getEscapedPathQuery() ); + + // aPost.addParameter( "title", m_sTitle ); + // aPost.addParameter( "action", "submit" ); + aPost.addParameter( "wpTextbox1", sWikiCode ); + aPost.addParameter( "wpSummary", sWikiComment ); + aPost.addParameter( "wpSection", "" ); + aPost.addParameter( "wpEdittime", m_sEditTime ); + aPost.addParameter( "wpSave", "Save page" ); + aPost.addParameter( "wpEditToken", m_sEditToken ); + + if ( bMinorEdit ) + aPost.addParameter( "wpMinoredit", "1" ); + + Helper.ExecuteMethod( aPost, m_aHostConfig, aURI, m_xContext, false ); + + int nResultCode = aPost.getStatusCode(); + if ( nResultCode < 400 ) + bResult = true; + + String aResult = aPost.getResponseBodyAsString(); + + // TODO: remove the debug printing, try to detect the error + System.out.print( "nSubmitCode = " + nResultCode + "\n===\n" + aResult ); + } + + return bResult; + } + + protected boolean Login() + throws com.sun.star.uno.Exception, java.io.IOException, WikiCancelException + { + m_aHostConfig = Helper.Login( m_aMainURI, m_sWikiUser, m_sWikiPass, m_sWikiDomain, m_xContext ); + return ( m_aHostConfig != null ); + } + + protected void cleanHTML() + { + if ( m_sHTMLCode != null ) + { + //Welcome to regex hell ;) + + //strip comments + m_sHTMLCode = m_sHTMLCode.replaceAll("\\",""); + + //strip edit section links + m_sHTMLCode = m_sHTMLCode.replaceAll("\\
",""); + + //strip huge spaces + m_sHTMLCode = m_sHTMLCode.replaceAll("\\\\
[ \r\n\t]*?\\
",""); + + //strip toc + m_sHTMLCode = m_sHTMLCode.replaceAll("\\",""); + + //strip jump-to-nav + m_sHTMLCode = m_sHTMLCode.replaceAll("\\
",""); + + //strip Javascript + m_sHTMLCode = m_sHTMLCode.replaceAll("\\",""); + } + } + + + protected boolean NotExist() + { + boolean bResult = true; + if ( m_sHTMLCode != null ) + bResult = m_bNoArticle; + + return bResult; + } + +} diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiCancelException.java b/swext/mediawiki/src/com/sun/star/wiki/WikiCancelException.java new file mode 100644 index 000000000000..6be90384e71c --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiCancelException.java @@ -0,0 +1,41 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: WikiCancelException.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:14:34 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +class WikiCancelException extends java.lang.Exception +{ +}; + diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java new file mode 100644 index 000000000000..365f9806c9e9 --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java @@ -0,0 +1,126 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: WikiDialog.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:14:46 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +import com.sun.star.awt.XControl; +import com.sun.star.awt.XControlContainer; +import com.sun.star.awt.XDialog; +import com.sun.star.awt.XDialogEventHandler; +import com.sun.star.awt.XDialogProvider2; +import com.sun.star.beans.XPropertySet; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; + +public class WikiDialog implements XDialogEventHandler{ + + XComponentContext m_xContext; + XControlContainer m_xControlContainer; + XDialog m_xDialog; + String[] m_aMethods; + boolean m_bAction = false; + Settings m_aSettings; + + + /** Creates a new instance of WikiDialog */ + public WikiDialog(XComponentContext c, String DialogURL) { + this.m_xContext = c; + XMultiComponentFactory xMCF = m_xContext.getServiceManager(); + m_aSettings = Settings.getSettings(m_xContext); + try { + Object obj; + obj = xMCF.createInstanceWithContext("com.sun.star.awt.DialogProvider2", m_xContext ); + XDialogProvider2 xDialogProvider = (XDialogProvider2) UnoRuntime.queryInterface( XDialogProvider2.class, obj ); + + m_xDialog = xDialogProvider.createDialogWithHandler( DialogURL, this ); + m_xControlContainer = (XControlContainer)UnoRuntime.queryInterface(XControlContainer.class, m_xDialog ); + } catch (com.sun.star.uno.Exception ex) { + ex.printStackTrace(); + } + } + + + protected void setMethods (String [] Methods) { + this.m_aMethods = Methods; + } + + + public boolean show( ) { + if( m_xDialog != null ) m_xDialog.execute(); + return m_bAction; + } + + + public String[] getSupportedMethodNames() { + return m_aMethods; + } + + + public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) { + return true; + } + + + protected XPropertySet getPropSet(String sControl) { + XControl xControl = m_xControlContainer.getControl(sControl); + XPropertySet xPS = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xControl.getModel() ); + return xPS; + } + + public static XDialog CreateSimpleDialog( XComponentContext xContext, String sURL ) + { + XDialog xResult = null; + + if ( xContext != null && sURL != null && sURL.length() > 0 ) + { + try + { + Object oDialogProvider = xContext.getServiceManager().createInstanceWithContext("com.sun.star.awt.DialogProvider2", xContext ); + XDialogProvider2 xDialogProvider = (XDialogProvider2) UnoRuntime.queryInterface( XDialogProvider2.class, oDialogProvider ); + + if ( xDialogProvider != null ) + xResult = xDialogProvider.createDialog( sURL ); + } + catch (com.sun.star.uno.Exception ex) + { + ex.printStackTrace(); + } + } + + return xResult; + } + +} diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java new file mode 100644 index 000000000000..99c583756290 --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -0,0 +1,206 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: WikiEditSettingDialog.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:15:09 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +import com.sun.star.awt.XDialog; +import com.sun.star.uno.XComponentContext; +import java.util.Hashtable; +import javax.net.ssl.SSLException; + +import org.apache.commons.httpclient.*; +import org.apache.commons.httpclient.methods.*; +import org.apache.commons.httpclient.protocol.Protocol; + +public class WikiEditSettingDialog extends WikiDialog +{ + + private final String sOKMethod = "OK"; + private final String sCancelMethod = "Cancel"; + private final String sHelpMethod = "Help"; + + String[] Methods = + {sOKMethod, sCancelMethod, sHelpMethod}; + private Hashtable setting; + private boolean addMode; + + public WikiEditSettingDialog( XComponentContext c, String DialogURL ) + { + super( c, DialogURL ); + super.setMethods( Methods ); + setting = new Hashtable(); + addMode = true; + } + + public WikiEditSettingDialog( XComponentContext c, String DialogURL, Hashtable ht ) + { + super( c, DialogURL ); + super.setMethods( Methods ); + setting = ht; + try + { + getPropSet( "UrlField" ).setPropertyValue( "Text", ht.get( "Url" )); + getPropSet( "UsernameField" ).setPropertyValue( "Text", ht.get( "Username" )); + getPropSet( "PasswordField" ).setPropertyValue( "Text", ht.get( "Password" )); + } + catch ( Exception ex ) + { + ex.printStackTrace(); + } + addMode = false; + } + + public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) + { + if ( MethodName.equals( sOKMethod ) ) + { + try + { + String sURL = ( String ) getPropSet( "UrlField" ).getPropertyValue( "Text" ); + String sUserName = ( String ) getPropSet( "UsernameField" ).getPropertyValue( "Text" ); + String sPassword = ( String ) getPropSet( "PasswordField" ).getPropertyValue( "Text" ); + String sRedirectURL = ""; + + HostConfiguration aHostConfig = new HostConfiguration(); + boolean bInitHost = true; + + do + { + if ( sRedirectURL.length() > 0 ) + { + sURL = sRedirectURL; + sRedirectURL = ""; + } + + if ( sURL.length() > 0 ) + { + URI aURI = new URI( sURL ); + GetMethod aRequest = new GetMethod( aURI.getEscapedPathQuery() ); + aRequest.setFollowRedirects( false ); + Helper.ExecuteMethod( aRequest, aHostConfig, aURI, m_xContext, bInitHost ); + bInitHost = false; + + int nResultCode = aRequest.getStatusCode(); + String sWebPage = null; + if ( nResultCode == 200 ) + sWebPage = aRequest.getResponseBodyAsString(); + else if ( nResultCode >= 301 && nResultCode <= 303 || nResultCode == 307 ) + sRedirectURL = aRequest.getResponseHeader( "Location" ).getValue(); + + aRequest.releaseConnection(); + + if ( sWebPage != null && sWebPage.length() > 0 ) + { + //the URL is valid + String sMainURL = Helper.GetMainURL( sWebPage, sURL ); + + if ( sMainURL.equals( "" ) ) + { + // TODO: + // it's not a Wiki Page, check first whether a redirect is requested + // happens usually in case of https + sRedirectURL = Helper.GetRedirectURL( sWebPage, sURL ); + if ( sRedirectURL.equals( "" ) ) + { + // show error + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "This is not a Wiki Page!" ); + ed.show(); + } + } + else + { + if ( ( sUserName.length() > 0 || sPassword.length() > 0 ) + && Helper.Login( new URI( sMainURL ), sUserName, sPassword, "sun", m_xContext ) == null ) + { + // a wrong login information is provided + // show error + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The login information is wrong! It should either be empty or correct." ); + ed.show(); + } + else + { + setting.put( "Url",sMainURL ); + setting.put( "Username", sUserName ); + setting.put( "Password", sPassword ); + if ( addMode ) + Settings.getSettings( m_xContext ).addWikiCon( setting ); + + m_bAction = true; + xDialog.endExecute(); + } + } + } + else if ( sRedirectURL == null || sRedirectURL.length() == 0 ) + { + // URL invalid + // show error + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The URl is invalid!" ); + ed.show(); + } + } + else + { + // URL field empty + // show error + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The URL field is empty!" ); + ed.show(); + + } + } while ( sRedirectURL.length() > 0 ); + } + catch ( Exception ex ) + { + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "Can not access the provided URL for any reason!" ); + ed.show(); + + ex.printStackTrace(); + } + return true; + } + else if ( MethodName.equals( sCancelMethod ) ) + { + xDialog.endExecute(); + return true; + } + else if ( MethodName.equals( sHelpMethod ) ) + { + return true; + } + + return false; + } + + +} diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java new file mode 100644 index 000000000000..a11c01d785d9 --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -0,0 +1,527 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: WikiEditorImpl.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:14:58 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +import com.sun.star.awt.XDialog; +import com.sun.star.beans.PropertyValue; +import com.sun.star.frame.DispatchDescriptor; +import com.sun.star.frame.XComponentLoader; +import com.sun.star.frame.XController; +import com.sun.star.frame.XDesktop; +import com.sun.star.frame.XDispatch; +import com.sun.star.frame.XDispatchProvider; +import com.sun.star.frame.XFrame; +import com.sun.star.frame.XModel; +import com.sun.star.frame.XStatusListener; +import com.sun.star.frame.XStorable; +import com.sun.star.io.XInputStream; +import com.sun.star.lang.XComponent; +import com.sun.star.lang.XInitialization; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.registry.XRegistryKey; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.util.XCloseBroadcaster; +import com.sun.star.view.XSelectionSupplier; +import java.io.File; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + + +public final class WikiEditorImpl extends WeakBase + implements com.sun.star.lang.XServiceInfo, XDispatchProvider, XDispatch, XInitialization +{ + + private final XComponentContext m_xContext; + private static final String m_implementationName = WikiEditorImpl.class.getName(); + private static final String[] m_serviceNames = {"com.sun.star.wiki.WikiEditor" }; + + // information needed for component registration + public static final String[] supportedServiceNames = {"com.sun.star.frame.ProtocolHandler"}; + public static final Class implementationClass = WikiEditorImpl.class; + // protocol name that this protocol handler handles + public static final String protocolName = "vnd.com.sun.star.wiki:"; + + private Map m_statusListeners = new HashMap(); + + + private XComponent xComp; + private String sTempUrl; + + private XFrame m_xFrame; + private XModel m_xModel; + private Settings m_settings; + + private String m_aFilterName; + + public WikiEditorImpl( XComponentContext xContext ) + { + // Helper.trustAllSSL(); + m_xContext = xContext; + m_settings = Settings.getSettings( m_xContext ); + }; + + public static XSingleComponentFactory __getComponentFactory( String sImplementationName ) + { + XSingleComponentFactory xFactory = null; + + if ( sImplementationName.equals( m_implementationName ) ) + xFactory = Factory.createComponentFactory( WikiEditorImpl.class, m_serviceNames ); + else if ( sImplementationName.equals( WikiOptionsEventHandlerImpl.m_sImplementationName ) ) + xFactory = Factory.createComponentFactory( WikiOptionsEventHandlerImpl.class, + WikiOptionsEventHandlerImpl.m_pServiceNames ); + + return xFactory; + } + + public static boolean __writeRegistryServiceInfo( XRegistryKey xRegistryKey ) + { + boolean bResult = Factory.writeRegistryServiceInfo( m_implementationName, + m_serviceNames, + xRegistryKey ); + return ( bResult && Factory.writeRegistryServiceInfo( WikiOptionsEventHandlerImpl.m_sImplementationName, + WikiOptionsEventHandlerImpl.m_pServiceNames, + xRegistryKey ) ); + } + + // com.sun.star.lang.XServiceInfo: + public String getImplementationName() + { + return m_implementationName; + } + + public boolean supportsService( String sService ) + { + int len = m_serviceNames.length; + + for( int i=0; i < len; i++ ) + { + if ( sService.equals( m_serviceNames[i] )) + return true; + } + return false; + } + + public String[] getSupportedServiceNames() + { + return m_serviceNames; + } + + + private XSelectionSupplier m_sel; + private XController m_ctrl; + private boolean m_bInitialized; + public synchronized void initialize( Object[] args ) throws com.sun.star.uno.Exception + { + if ( m_bInitialized ) + { + //logger.log( Level.SEVERE, "Extension instance was initialized again" ); + } + if ( args.length > 0 ) + { + m_bInitialized = true; + m_xFrame = ( XFrame )UnoRuntime.queryInterface( XFrame.class, args[0] ); + // become close listener + XCloseBroadcaster cb = ( XCloseBroadcaster )UnoRuntime.queryInterface( + XCloseBroadcaster.class, m_xFrame ); + } + } + + + + public void dispatch( + final com.sun.star.util.URL aURL, + com.sun.star.beans.PropertyValue[] propertyValue ) + { + final com.sun.star.util.URL myURL = aURL; + //logger.log( Level.INFO, "received dispatch request for: "+aURL.Complete ); + if ( aURL.Protocol.compareTo( protocolName ) == 0 ) + { + /* + synchronized( this ) + { + if( m_bClosing ) return; + else m_bActive = true; + } + **/ + + try + { + if ( myURL.Path.compareTo( "load" ) == 0 ) + { + loadArticle(); + } + if ( myURL.Path.compareTo( "send" ) == 0 ) + { + sendArticle(); + } + } catch( java.lang.Throwable t ) + { + //logger.log( Level.WARNING, "exception while handeling dispatch", t ); + } + + /* + synchronized( this ) + { + m_bActive = false; + // if we became owner while we were active + // we are responsible for closing the m_xFrame now + if ( m_bOwner && m_xFrame != null ) + { + try + { + XCloseable xclose = ( XCloseable )UnoRuntime.queryInterface( + XCloseable.class, m_xFrame ); + xclose.close( true ); + } catch ( CloseVetoException cve ) + { + logger.log( Level.SEVERE, "cannot close owned frame" ); + } + // relase reference to the m_xFrame; + m_xFrame = null; + } + } + */ + } + } + + + public com.sun.star.frame.XDispatch queryDispatch( + com.sun.star.util.URL aURL, + String str, + int param ) + { + if ( aURL.Protocol.equals( protocolName )) + { + + // by default, we are responsible + return this; + } else + { + return null; + } + } + + public XDispatch[] queryDispatches( DispatchDescriptor[] seqDescripts ) + { + int nCount = seqDescripts.length; + XDispatch[] lDispatcher = new XDispatch[nCount]; + + for( int i=0; i 0 && pItems.length > pSel[0] ) + { + String selName = pItems[pSel[0]]; + ht = m_aSettings.getSettingByUrl( pItems[pSel[0]] ); + } + } + catch ( Exception ex ) + { + ex.printStackTrace(); + } + + WikiEditSettingDialog aSettingDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", ht); + if ( aSettingDialog.show() ) + RefreshView(); + } + } + + private void RemoveSetting() + { + XPropertySet xListProps = GetPropSet("WikiList"); + if ( xListProps != null ) + { + try + { + short[] pSel = (short []) xListProps.getPropertyValue("SelectedItems"); + String[] pItems = (String []) GetPropSet("WikiList").getPropertyValue("StringItemList"); + if ( pSel.length > 0 && pItems.length > pSel[0] ) + { + m_aSettings.removeSettingByUrl( pItems[pSel[0]] ); + RefreshView(); + } + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + } + + // com.sun.star.lang.XServiceInfo: + public String getImplementationName() + { + return m_sImplementationName; + } + + public boolean supportsService( String sService ) + { + int len = m_pServiceNames.length; + + for( int i=0; i < len; i++ ) + { + if ( sService.equals( m_pServiceNames[i] )) + return true; + } + return false; + } + + public String[] getSupportedServiceNames() + { + return m_pServiceNames; + } + + // XContainerWindowEventHandler + public boolean callHandlerMethod( XWindow xWindow, Object aEventObject, String sMethod ) + throws WrappedTargetException, com.sun.star.uno.RuntimeException + { + if ( sMethod.equals( sExternalEvent ) ) + { + try + { + String sEvent = (String)AnyConverter.toString( aEventObject ); + if ( sEvent != null ) + { + if ( sEvent.equals( sOk ) ) + { + if ( m_aSettings != null ) + m_aSettings.storeConfiguration(); + } + else if ( sEvent.equals( sInitialize ) || sEvent.equals( sBack ) ) + { + if ( sEvent.equals( sInitialize ) ) + { + m_xDialog = (XDialog)UnoRuntime.queryInterface( XDialog.class, xWindow ); + m_xControlContainer = (XControlContainer)UnoRuntime.queryInterface( + XControlContainer.class, m_xDialog ); + m_aSettings = Settings.getSettings( m_xContext ); + } + else if ( m_aSettings != null ) + m_aSettings.loadConfiguration(); // throw away all the changes + + RefreshView(); + CheckButtonState(); + } + } + } + catch ( com.sun.star.uno.RuntimeException r ) + { + throw r; + } + catch ( com.sun.star.uno.Exception e ) + { + throw new WrappedTargetException( sMethod, this, e ); + } + } + + return true; + } + + public boolean callHandlerMethod( XDialog xDialog, Object aEventObject, String sMethod ) + throws WrappedTargetException, com.sun.star.uno.RuntimeException + { + if ( m_xDialog != null && xDialog == m_xDialog ) + { + if ( sMethod.equals( sAdd ) ) + { + AddSetting(); + } + else if ( sMethod.equals( sEdit ) ) + { + EditSetting(); + } + else if ( sMethod.equals( sRemove ) ) + { + RemoveSetting(); + CheckButtonState(); + } + else if ( sMethod.equals( sListStatus ) ) + { + CheckButtonState(); + } + } + + return true; + } + + public String[] getSupportedMethodNames() + { + return new String[] { sExternalEvent, sAdd, sEdit, sRemove }; + } +}; + diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java new file mode 100644 index 000000000000..2bed67061f96 --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -0,0 +1,399 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: WikiPropDialog.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:15:31 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +import com.sun.star.awt.XControl; +import com.sun.star.awt.XControlModel; +import com.sun.star.awt.XDialog; +import com.sun.star.awt.XThrobber; +import com.sun.star.beans.UnknownPropertyException; +import com.sun.star.beans.XPropertySet; +import com.sun.star.container.XNameContainer; +import com.sun.star.lang.WrappedTargetException; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; + +public class WikiPropDialog extends WikiDialog{ + + WikiEditorImpl m_aWikiEditor; + + private final String sSendMethod = "Send"; + private final String sCancelMethod = "Cancel"; + private final String sHelpMethod = "Help"; + private final String sLoadMethod = "Load"; + private final String sWikiListMethod = "WikiListChange"; + private final String sArticleTextMethod = "ArticleTextChange"; + private final String sAddWikiMethod = "AddWiki"; + + String[] Methods = {sSendMethod, sCancelMethod, sHelpMethod, sLoadMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; + + protected String m_sWikiEngineURL = ""; + protected String m_sWikiTitle = ""; + protected String m_sWikiComment = ""; + protected boolean m_bWikiMinorEdit = false; + protected boolean m_bWikiShowBrowser = false; + + private Thread m_aSendingThread; + + /** Creates a new instance of WikiPropDialog */ + public WikiPropDialog(XComponentContext c, String DialogURL, WikiEditorImpl aWikiEditorForThrobber ) + { + super(c, DialogURL); + super.setMethods(Methods); + + if ( aWikiEditorForThrobber != null ) + { + InsertThrobber(); + m_aWikiEditor = aWikiEditorForThrobber; + } + } + + + public void fillWikiList() + { + String [] WikiList = m_aSettings.getWikiURLs(); + + try + { + XPropertySet xPS = getPropSet("WikiList"); + xPS.setPropertyValue("StringItemList", WikiList); + // short [] nSel = new short[1]; + // nSel[0] = (short) m_aSettings.getLastUsedWikiServer(); + // xPS.setPropertyValue("SelectedItems", sel); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + + public void fillDocList() + { + XPropertySet xPS = getPropSet("ArticleText"); + try + { + short [] sel = (short[]) getPropSet("WikiList").getPropertyValue("SelectedItems"); + xPS.setPropertyValue("StringItemList", m_aSettings.getWikiDocList(sel[0], 5)); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + + + public void setm_sWikiTitle(String sArticle) + { + this.m_sWikiTitle = sArticle; + try + { + XPropertySet xPS = getPropSet("ArticleText"); + xPS.setPropertyValue("Text", sArticle); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + + + public void switchSendButtonIfNecessary() + { + XPropertySet xSendButton = getPropSet( "SendButton" ); + if ( xSendButton != null ) + { + XPropertySet xWikiListProps = getPropSet( "WikiList" ); + XPropertySet xArticleProps = getPropSet( "ArticleText" ); + if ( xWikiListProps != null && xArticleProps != null ) + { + try + { + short [] pSel = (short[]) getPropSet("WikiList").getPropertyValue("SelectedItems"); + String sArticle = (String)xArticleProps.getPropertyValue( "Text" ); + if ( pSel != null && pSel.length > 0 && sArticle != null && sArticle.length() != 0 ) + xSendButton.setPropertyValue( "Enabled", Boolean.TRUE ); + else + xSendButton.setPropertyValue( "Enabled", Boolean.FALSE ); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + } + } + + + public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) + { + if ( MethodName.equals( sSendMethod ) ) + { + try + { + XPropertySet aWikiListProps = getPropSet( "WikiList" ); + XPropertySet aArticleTextProps = getPropSet( "ArticleText" ); + XPropertySet aCommentTextProps = getPropSet( "CommentText" ); + XPropertySet aMinorCheckProps = getPropSet( "MinorCheck" ); + XPropertySet aBrowserCheckProps = getPropSet( "BrowserCheck" ); + XPropertySet aHelpButtonProps = getPropSet( "HelpButton" ); + XPropertySet aSendButtonProps = getPropSet( "SendButton" ); + XPropertySet aAddButtonProps = getPropSet( "AddButton" ); + + short [] sel = (short[]) aWikiListProps.getPropertyValue("SelectedItems"); + String [] items = (String []) aWikiListProps.getPropertyValue("StringItemList"); + m_sWikiEngineURL = items[sel[0]]; + m_aSettings.setLastUsedWikiServer(sel[0]); + m_sWikiTitle = (String) aArticleTextProps.getPropertyValue("Text"); + m_sWikiComment = (String) aCommentTextProps.getPropertyValue("Text"); + + short minorState = ((Short) aMinorCheckProps.getPropertyValue("State")).shortValue(); + if (minorState != 0) + m_bWikiMinorEdit = true; + else + m_bWikiMinorEdit = false; + + short nBrowserState = ((Short) aBrowserCheckProps.getPropertyValue("State")).shortValue(); + if ( nBrowserState != 0 ) + m_bWikiShowBrowser = true; + else + m_bWikiShowBrowser = false; + + XPropertySet[] aToDisable = { aWikiListProps, aArticleTextProps, aCommentTextProps, aMinorCheckProps, aBrowserCheckProps, aHelpButtonProps, aSendButtonProps, aAddButtonProps }; + for ( int nInd = 0; nInd < aToDisable.length; nInd++ ) + aToDisable[nInd].setPropertyValue( "Enabled", Boolean.FALSE ); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + + // TODO: In future the result of storing will be interesting + // TODO: do not do it in OOo2.2 + final WikiPropDialog aThisDialog = this; + final XDialog xDialogToClose = xDialog; + + boolean bAllowThreadUsage = false; + try + { + XMultiComponentFactory xFactory = m_xContext.getServiceManager(); + if ( xFactory == null ) + throw new com.sun.star.uno.RuntimeException(); + + Object oCheckCallback = xFactory.createInstanceWithContext( "com.sun.star.awt.AsyncCallback", m_xContext ); + bAllowThreadUsage = ( oCheckCallback != null ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + + // start spinning + SetThrobberActive( true ); + + if ( bAllowThreadUsage ) + { + m_aSendingThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) + { + public void run() + { + try + { + if ( m_aWikiEditor != null ) + { + Thread.yield(); + m_aWikiEditor.SendArticleImpl( aThisDialog ); + m_bAction = true; + } + } catch( java.lang.Exception e ) + {} + finally + { + xDialogToClose.endExecute(); + Helper.AllowConnection( true ); + } + } + }; + + m_aSendingThread.start(); + } + else + { + try + { + if ( m_aWikiEditor != null ) + { + m_aWikiEditor.SendArticleImpl( aThisDialog ); + m_bAction = true; + } + } catch( java.lang.Exception e ) + {} + finally + { + xDialogToClose.endExecute(); + Helper.AllowConnection( true ); + } + } + + return true; + } + else if ( MethodName.equals( sLoadMethod ) ) + { + try + { + short [] sel = (short[]) getPropSet("WikiList").getPropertyValue("SelectedItems"); + String [] items = (String []) getPropSet("WikiList").getPropertyValue("StringItemList"); + m_sWikiEngineURL = items[sel[0]]; + m_aSettings.setLastUsedWikiServer(sel[0]); + m_sWikiTitle = (String) getPropSet("ArticleText").getPropertyValue("Text"); + } + catch (UnknownPropertyException ex) + { + ex.printStackTrace(); + } + catch (WrappedTargetException ex) + { + ex.printStackTrace(); + } + m_bAction = true; + xDialog.endExecute(); + return true; + } + else if ( MethodName.equals( sCancelMethod ) ) + { + // disallow any connection till the dialog is closed + Helper.AllowConnection( false ); + + if ( m_aSendingThread == null ) + { + m_bAction = false; + xDialog.endExecute(); + } + else + { + ErrorDialog aED = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The sending process has been stopped. But the wiki-page might be already changed!" ); + aED.show(); + } + + return true; + } + else if ( MethodName.equals( sHelpMethod ) ) + { + m_bAction = false; + //xDialog.endExecute(); + return true; + } + else if ( MethodName.equals( sWikiListMethod ) ) + { + fillDocList(); + switchSendButtonIfNecessary(); + return true; + } + else if ( MethodName.equals( sArticleTextMethod ) ) + { + switchSendButtonIfNecessary(); + return true; + } + else if ( MethodName.equals( sAddWikiMethod ) ) + { + WikiEditSettingDialog xAddDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application"); + if ( xAddDialog.show() ) + fillWikiList(); + + return true; + } + + return false; + } + + private void InsertThrobber() + { + try + { + XControl xDialogControl = ( XControl ) UnoRuntime.queryInterface( XControl.class, m_xDialog ); + XControlModel xDialogModel = null; + if ( xDialogControl != null ) + xDialogModel = xDialogControl.getModel(); + + XMultiServiceFactory xDialogFactory = ( XMultiServiceFactory ) UnoRuntime.queryInterface( XMultiServiceFactory.class, xDialogModel ); + if ( xDialogFactory != null ) + { + XControlModel xThrobberModel = (XControlModel)UnoRuntime.queryInterface( XControlModel.class, xDialogFactory.createInstance( "com.sun.star.awt.UnoThrobberControlModel" ) ); + XPropertySet xThrobberProps = (XPropertySet)UnoRuntime.queryInterface( XPropertySet.class, xThrobberModel ); + if ( xThrobberProps != null ) + { + xThrobberProps.setPropertyValue( "Name", "WikiThrobber" ); + xThrobberProps.setPropertyValue( "PositionX", new Integer( 242 ) ); + xThrobberProps.setPropertyValue( "PositionY", new Integer( 42 ) ); + xThrobberProps.setPropertyValue( "Height", new Integer( 16 ) ); + xThrobberProps.setPropertyValue( "Width", new Integer( 16 ) ); + + XNameContainer xDialogContainer = (XNameContainer)UnoRuntime.queryInterface( XNameContainer.class, xDialogModel ); + xDialogContainer.insertByName( "WikiThrobber", xThrobberModel ); + } + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + + public void SetThrobberActive( boolean bActive ) + { + if ( m_xControlContainer != null ) + { + try + { + XThrobber xThrobber = (XThrobber)UnoRuntime.queryInterface( XThrobber.class, m_xControlContainer.getControl( "WikiThrobber" ) ); + if ( xThrobber != null ) + { + if ( bActive ) + xThrobber.start(); + else + xThrobber.stop(); + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + } + +} + diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java b/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java new file mode 100644 index 000000000000..fd4d19225acd --- /dev/null +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java @@ -0,0 +1,176 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: WikiProtocolSocketFactory.java,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: mav $ $Date: 2007-11-28 11:15:42 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +package com.sun.star.wiki; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.UnknownHostException; +import java.security.KeyStore; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import javax.net.ssl.X509TrustManager; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import org.apache.commons.httpclient.ConnectTimeoutException; +import org.apache.commons.httpclient.HttpClientError; +import org.apache.commons.httpclient.params.HttpConnectionParams; +import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory; + +class WikiProtocolSocketFactory implements SecureProtocolSocketFactory +{ + private SSLContext m_aSSLContext; + + public WikiProtocolSocketFactory() + { + super(); + } + + public synchronized SSLContext GetNotSoSecureSSLContext() + { + if ( m_aSSLContext == null ) + { + TrustManager[] pTrustUnknownCerts = new TrustManager[] + { + new X509TrustManager() { + private X509TrustManager m_aOrgTrustManager; + + private X509TrustManager GetOrgTrustManager() + { + if ( m_aOrgTrustManager == null ) + { + try + { + TrustManagerFactory aFactory = TrustManagerFactory.getInstance( TrustManagerFactory.getDefaultAlgorithm() ); + aFactory.init( (KeyStore)null ); + TrustManager[] pTrustmanagers = aFactory.getTrustManagers(); + if ( pTrustmanagers.length != 0 && pTrustmanagers[0] != null ) + m_aOrgTrustManager = (X509TrustManager)pTrustmanagers[0]; + } + catch( Exception e ) + { + throw new RuntimeException( "No access to the default trust manager!" ); + } + } + + return m_aOrgTrustManager; + } + + public X509Certificate[] getAcceptedIssuers() + { + return GetOrgTrustManager().getAcceptedIssuers(); + } + + public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException + { + GetOrgTrustManager().checkClientTrusted( certs, authType ); + } + + public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException + { + if ( certs == null || certs.length == 0 ) + GetOrgTrustManager().checkServerTrusted( certs, authType ); + else + for ( int nInd = 0; nInd < certs.length; nInd++ ) + certs[nInd].checkValidity(); + } + } + }; + + try + { + SSLContext aContext = SSLContext.getInstance("SSL"); + if ( aContext != null ) + { + aContext.init( null, pTrustUnknownCerts, null ); + m_aSSLContext = aContext; + } + } + catch ( Exception e ) + { + } + } + + if ( m_aSSLContext == null ) + throw new HttpClientError(); + + return m_aSSLContext; + } + + public Socket createSocket( String sHost, int nPort, InetAddress clientHost, int clientPort ) + throws IOException, UnknownHostException + { + return GetNotSoSecureSSLContext().getSocketFactory().createSocket( sHost, nPort, clientHost, clientPort ); + } + + public Socket createSocket( final String sHost, final int nPort, final InetAddress aLocalAddress, final int nLocalPort, final HttpConnectionParams params ) + throws IOException, UnknownHostException, ConnectTimeoutException + { + if ( params == null ) + return createSocket( sHost, nPort, aLocalAddress, nLocalPort ); + + int nTimeout = params.getConnectionTimeout(); + Socket aSocket = GetNotSoSecureSSLContext().getSocketFactory().createSocket(); + aSocket.bind( new InetSocketAddress( aLocalAddress, nLocalPort ) ); + aSocket.connect( new InetSocketAddress( sHost, nPort ), nTimeout ); + return aSocket; + } + + public Socket createSocket( String sHost, int nPort ) + throws IOException, UnknownHostException + { + return GetNotSoSecureSSLContext().getSocketFactory().createSocket( sHost, nPort ); + } + + public Socket createSocket( Socket aSocket, String sHost, int nPort, boolean bAutoClose ) + throws IOException, UnknownHostException + { + return GetNotSoSecureSSLContext().getSocketFactory().createSocket( aSocket, sHost, nPort, bAutoClose ); + } + + public boolean equals(Object obj) + { + return ((obj != null) && obj.getClass().equals(WikiProtocolSocketFactory.class)); + } + + public int hashCode() + { + return WikiProtocolSocketFactory.class.hashCode(); + } +}; + diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml new file mode 100644 index 000000000000..95c76ec55aba --- /dev/null +++ b/swext/mediawiki/src/description.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/swext/mediawiki/src/uno-extension-manifest.xml b/swext/mediawiki/src/uno-extension-manifest.xml new file mode 100644 index 000000000000..0152165d13f8 --- /dev/null +++ b/swext/mediawiki/src/uno-extension-manifest.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + -- cgit From b7171963f301339bc1617a29c0c3c969ea6cb5b2 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 28 Nov 2007 15:43:08 +0000 Subject: small fixes --- swext/mediawiki/build.xml | 10 +++++----- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 13 ++++++------- swext/mediawiki/dialogs/Settings.xdl | 15 +++++++-------- swext/mediawiki/src/description.xml | 2 +- 4 files changed, 19 insertions(+), 21 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 02def1d65131..8ccfc42863cc 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 10:45:35 $ + * last change: $Author: mav $ $Date: 2007-11-28 16:43:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -94,7 +94,7 @@ - + @@ -104,8 +104,8 @@ - - + + diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 8889a8826d27..8f46c978fbc9 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-11-28 10:57:45 $ + * last change: $Author: mav $ $Date: 2007-11-28 16:43:08 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -33,25 +33,24 @@ * MA 02111-1307 USA * ************************************************************************ --> - - + - + - - + + diff --git a/swext/mediawiki/dialogs/Settings.xdl b/swext/mediawiki/dialogs/Settings.xdl index 5a8b5f950bfd..4d102107c951 100644 --- a/swext/mediawiki/dialogs/Settings.xdl +++ b/swext/mediawiki/dialogs/Settings.xdl @@ -5,9 +5,9 @@ * * $RCSfile: Settings.xdl,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-11-28 10:57:45 $ + * last change: $Author: mav $ $Date: 2007-11-28 16:43:08 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -33,20 +33,19 @@ * MA 02111-1307 USA * ************************************************************************ --> - - + - + - + - + - + diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index 95c76ec55aba..e9ca1d212778 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -1,6 +1,6 @@ - + -- cgit From 2659ded9f4e3590ce673501ff0dd3bb52c319ee5 Mon Sep 17 00:00:00 2001 From: Thorsten Behrens Date: Wed, 5 Dec 2007 13:16:44 +0000 Subject: #i80285# Initial import for the xpdf PDF parser --- xpdf/download/xpdf-3.02.tar.gz | Bin 0 -> 674912 bytes xpdf/makefile.mk | 93 +++++ xpdf/prj/build.lst | 4 + xpdf/prj/d.lst | 3 + xpdf/test/binary_0_out.def | Bin 0 -> 83953 bytes xpdf/test/binary_1_out.def | Bin 0 -> 1269003 bytes xpdf/test/book.pdf | Bin 0 -> 198251 bytes xpdf/test/makefile.mk | 62 ++++ xpdf/test/testinput.odp | Bin 0 -> 40660 bytes xpdf/test/testinput.pdf | Bin 0 -> 67103 bytes xpdf/wrapper/makefile.mk | 62 ++++ xpdf/wrapper/pdfioutdev_gpl.cxx | 774 ++++++++++++++++++++++++++++++++++++++++ xpdf/wrapper/pdfioutdev_gpl.hxx | 285 +++++++++++++++ xpdf/wrapper/wrapper_gpl.cxx | 122 +++++++ xpdf/xpdf-3.02.patch | 245 +++++++++++++ 15 files changed, 1650 insertions(+) create mode 100644 xpdf/download/xpdf-3.02.tar.gz create mode 100644 xpdf/makefile.mk create mode 100644 xpdf/prj/build.lst create mode 100644 xpdf/prj/d.lst create mode 100644 xpdf/test/binary_0_out.def create mode 100644 xpdf/test/binary_1_out.def create mode 100644 xpdf/test/book.pdf create mode 100644 xpdf/test/makefile.mk create mode 100644 xpdf/test/testinput.odp create mode 100644 xpdf/test/testinput.pdf create mode 100644 xpdf/wrapper/makefile.mk create mode 100644 xpdf/wrapper/pdfioutdev_gpl.cxx create mode 100644 xpdf/wrapper/pdfioutdev_gpl.hxx create mode 100644 xpdf/wrapper/wrapper_gpl.cxx create mode 100644 xpdf/xpdf-3.02.patch diff --git a/xpdf/download/xpdf-3.02.tar.gz b/xpdf/download/xpdf-3.02.tar.gz new file mode 100644 index 000000000000..1411a877d33d Binary files /dev/null and b/xpdf/download/xpdf-3.02.tar.gz differ diff --git a/xpdf/makefile.mk b/xpdf/makefile.mk new file mode 100644 index 000000000000..07c021923423 --- /dev/null +++ b/xpdf/makefile.mk @@ -0,0 +1,93 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: thb $ $Date: 2007-12-05 14:16:39 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +# dmake create_clean -- just unpacks +# dmake patch -- unpacks and applies patch file +# dmake create_patch -- creates a patch file + +PRJ=. + +PRJNAME=xpdf +TARGET=xpdflib + +# --- Settings ----------------------------------------------------- + +.INCLUDE: settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=xpdf-3.02 +PATCH_FILE_NAME=$(TARFILE_NAME).patch + +CONFIGURE_DIR= +BUILD_DIR=$(CONFIGURE_DIR) + +.IF "$(GUI)"=="UNX" +#CONFIGURE_ACTION=./configure +#CONFIGURE_ACTION=./configure --without-x --enable-multithreaded --enable-exceptions CFLAGS="-g -O0" CXXFLAGS="-g -O0" +CONFIGURE_ACTION=./configure --without-x --enable-multithreaded --enable-exceptions +BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS) +.ELSE +CONFIGURE_ACTION= +BUILD_ACTION=ms_make +.ENDIF + +CONVERTFILES=ms_make.bat +BUILD_FLAGS= + +OUT2INC= \ + fofi$/*.h \ + goo$/*.h \ + xpdf$/*.h \ + aconf.h \ + aconf2.h + +.IF "$(GUI)"=="UNX" +OUT2LIB= \ + fofi$/lib*.a \ + goo$/lib*.a \ + xpdf$/lib*.a +.ELSE +OUT2LIB= \ + fofi$/*.lib \ + goo$/*.lib \ + xpdf$/*.lib +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk diff --git a/xpdf/prj/build.lst b/xpdf/prj/build.lst new file mode 100644 index 000000000000..259101481ff2 --- /dev/null +++ b/xpdf/prj/build.lst @@ -0,0 +1,4 @@ +xp xpdf : solenv NULL +xp xpdf nmake - all xp_xpdf NULL +xp xpdf\wrapper nmake - all xp_xpdfwrap xp_xpdf NULL +xp xpdf\test nmake - all xp_parsetest xp_xpdfwrap NULL diff --git a/xpdf/prj/d.lst b/xpdf/prj/d.lst new file mode 100644 index 000000000000..016d34fba890 --- /dev/null +++ b/xpdf/prj/d.lst @@ -0,0 +1,3 @@ +mkdir: %_DEST%\inc%_EXT%\xpdf +..\%__SRC%\bin\xpdfimport.* %_DEST%\bin%_EXT%\xpdfimport.* +..\%__SRC%\bin\xpdfimport %_DEST%\bin%_EXT%\xpdfimport diff --git a/xpdf/test/binary_0_out.def b/xpdf/test/binary_0_out.def new file mode 100644 index 000000000000..85e55ee03a66 Binary files /dev/null and b/xpdf/test/binary_0_out.def differ diff --git a/xpdf/test/binary_1_out.def b/xpdf/test/binary_1_out.def new file mode 100644 index 000000000000..1c6a10b5ca22 Binary files /dev/null and b/xpdf/test/binary_1_out.def differ diff --git a/xpdf/test/book.pdf b/xpdf/test/book.pdf new file mode 100644 index 000000000000..4e11b19517b9 Binary files /dev/null and b/xpdf/test/book.pdf differ diff --git a/xpdf/test/makefile.mk b/xpdf/test/makefile.mk new file mode 100644 index 000000000000..6fcd7b8007df --- /dev/null +++ b/xpdf/test/makefile.mk @@ -0,0 +1,62 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: thb $ $Date: 2007-12-05 14:16:42 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=.. +PRJNAME=xpdf +TARGET=test +TARGETTYPE=CUI +ENABLE_EXCEPTIONS=TRUE + +# --- Settings ----------------------------------------------------- + +.INCLUDE: settings.mk + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk + +ALLTAR : $(MISC)$/test_0_succeeded $(MISC)$/test_1_succeeded + +$(MISC)$/test_0_succeeded: $(BIN)$/xpdfimport$(EXECPOST) binary_0_out.def text_0_out.def testinput.pdf + $(BIN)$/xpdfimport -f $(MISC)$/binary_0_out testinput.pdf > $(MISC)$/text_0_out + diff $(MISC)$/binary_0_out binary_0_out.def + diff $(MISC)$/text_0_out text_0_out.def + $(TOUCH) $@ + +$(MISC)$/test_1_succeeded: $(BIN)$/xpdfimport$(EXECPOST) binary_1_out.def text_1_out.def book.pdf + $(BIN)$/xpdfimport -f $(MISC)$/binary_1_out book.pdf > $(MISC)$/text_1_out + diff $(MISC)$/binary_1_out binary_1_out.def + diff $(MISC)$/text_1_out text_1_out.def + $(TOUCH) $@ diff --git a/xpdf/test/testinput.odp b/xpdf/test/testinput.odp new file mode 100644 index 000000000000..fe1ac44e8b87 Binary files /dev/null and b/xpdf/test/testinput.odp differ diff --git a/xpdf/test/testinput.pdf b/xpdf/test/testinput.pdf new file mode 100644 index 000000000000..4c44ac469b3f Binary files /dev/null and b/xpdf/test/testinput.pdf differ diff --git a/xpdf/wrapper/makefile.mk b/xpdf/wrapper/makefile.mk new file mode 100644 index 000000000000..1d487a1adf8e --- /dev/null +++ b/xpdf/wrapper/makefile.mk @@ -0,0 +1,62 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: thb $ $Date: 2007-12-05 14:16:44 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=.. + +PRJNAME=xpdf +TARGET=xpdfimport +TARGETTYPE=CUI +ENABLE_EXCEPTIONS=TRUE +EXTERNAL_WARNINGS_NOT_ERRORS := TRUE + +# --- Settings ----------------------------------------------------- + +.INCLUDE: settings.mk + +# --- Files -------------------------------------------------------- + +APP1TARGET=$(TARGET) +APP1LIBSALCPPRT= +APP1OBJS= \ + $(OBJ)$/wrapper_gpl.obj $(OBJ)/pdfioutdev_gpl.obj +.IF "$(GUI)" == "WNT" +APP1STDLIBS+=xpdf.lib fofi.lib Goo.lib gdi32.lib advapi32.lib +.ELSE +APP1STDLIBS+=-lxpdf -lfofi -lGoo +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk diff --git a/xpdf/wrapper/pdfioutdev_gpl.cxx b/xpdf/wrapper/pdfioutdev_gpl.cxx new file mode 100644 index 000000000000..eccfd17de13f --- /dev/null +++ b/xpdf/wrapper/pdfioutdev_gpl.cxx @@ -0,0 +1,774 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pdfioutdev_gpl.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: thb $ $Date: 2007-12-05 14:16:44 $ + * + * The Contents of this file are made available subject to + * the terms of GNU General Public License Version 2. + * + * + * GNU General Public License, version 2 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * 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. + * + ************************************************************************/ + +#include "pdfioutdev_gpl.hxx" + +#include +#include +#include +#include + +#if defined __SUNPRO_CC +#pragma disable_warn +#elif defined _MSC_VER +#pragma warning(push, 1) +#endif + +#include "UTF8.h" + +#if defined __SUNPRO_CC +#pragma enable_warn +#elif defined _MSC_VER +#pragma warning(pop) +#endif + +#ifdef WNT +# define snprintf _snprintf +#endif + + +/* SYNC STREAMS + ============ + + We stream human-readble tokens to stdout, and binary data (fonts, + bitmaps) to g_binary_out. Another process reads from those pipes, and + there lies the rub: things can deadlock, if the two involved + processes access the pipes in different order. At any point in + time, both processes must access the same pipe. To ensure this, + data must be flushed to the OS before writing to a different pipe, + otherwise not-yet-written data will leave the reading process + waiting on the wrong pipe. + */ + +namespace pdfi +{ + +/// cut off very small numbers & clamp value to zero +inline double normalize( double val ) +{ + return fabs(val) < 0.0000001 ? 0.0 : val; +} + +const char* escapeLineFeed( const char* pStr ) +{ + // TODO(Q3): Escape linefeeds + return pStr; +} + +/// for the temp char buffer the header gets snprintfed in +#define WRITE_BUFFER_SIZE 1024 + +/// for the initial std::vector capacity when copying stream from xpdf +#define WRITE_BUFFER_INITIAL_CAPACITY (1024*100) + +typedef std::vector OutputBuffer; + +void initBuf(OutputBuffer& io_rBuffer) +{ + io_rBuffer.reserve(WRITE_BUFFER_INITIAL_CAPACITY); +} + +void writeBinaryBuffer( const OutputBuffer& rBuffer ) +{ + // ---sync point--- see SYNC STREAMS above + fflush(stdout); + + // put buffer to stderr + if( !rBuffer.empty() ) + if( fwrite(&rBuffer[0], sizeof(char), + rBuffer.size(), g_binary_out) != (size_t)rBuffer.size() ) + exit(1); // error + + // ---sync point--- see SYNC STREAMS above + fflush(g_binary_out); +} + +void writeJpeg_( OutputBuffer& o_rOutputBuf, Stream* str, bool bWithLinefeed ) +{ + // dump JPEG file as-is + str = ((DCTStream *)str)->getRawStream(); + str->reset(); + + int c; + o_rOutputBuf.clear(); + while((c=str->getChar()) != EOF) + o_rOutputBuf.push_back(static_cast(c)); + + printf( " JPEG %d", o_rOutputBuf.size() ); + if( bWithLinefeed ) + printf("\n"); + + str->close(); +} + +void writePbm_(OutputBuffer& o_rOutputBuf, Stream* str, int width, int height, bool bWithLinefeed) +{ + // write as PBM (char by char, to avoid stdlib lineend messing) + o_rOutputBuf.clear(); + o_rOutputBuf.resize(WRITE_BUFFER_SIZE); + o_rOutputBuf[0] = 'P'; + o_rOutputBuf[1] = '4'; + o_rOutputBuf[2] = 0x0A; + int nOutLen = snprintf(&o_rOutputBuf[3], WRITE_BUFFER_SIZE-10, "%d %d", width, height); + if( nOutLen < 0 ) + nOutLen = WRITE_BUFFER_SIZE-10; + o_rOutputBuf[3+nOutLen] =0x0A; + o_rOutputBuf[3+nOutLen+1]=0; + + const int header_size = 3+nOutLen+1; + const int size = height * ((width + 7) / 8); + + printf( " PBM %d", size + header_size ); + if( bWithLinefeed ) + printf("\n"); + + // trim buffer to exact header length + o_rOutputBuf.resize(header_size); + + // initialize stream + str->reset(); + + // copy the raw stream + for( int i=0; i(str->getChar())); + + str->close(); +} + +// stolen from ImageOutputDev.cc +void writeMask_( OutputBuffer& o_rOutputBuf, Stream* str, int width, int height, bool bWithLinefeed ) +{ + if( str->getKind() == strDCT ) + writeJpeg_(o_rOutputBuf, str, bWithLinefeed); + else + writePbm_(o_rOutputBuf, str, width, height, bWithLinefeed); +} + +void writeImage_( OutputBuffer& o_rOutputBuf, + Stream* str, + int width, + int height, + GfxImageColorMap* colorMap, + bool bWithLinefeed ) +{ + // dump JPEG file + if( str->getKind() == strDCT && + (colorMap->getNumPixelComps() == 1 || + colorMap->getNumPixelComps() == 3) ) + { + writeJpeg_(o_rOutputBuf, str, bWithLinefeed); + } + else if (colorMap->getNumPixelComps() == 1 && + colorMap->getBits() == 1) + { + writePbm_(o_rOutputBuf, str, width, height, bWithLinefeed); + } + else + { + // write as PPM (char by char, to avoid stdlib lineend messing) + o_rOutputBuf.clear(); + o_rOutputBuf.resize(WRITE_BUFFER_SIZE); + o_rOutputBuf[0] = 'P'; + o_rOutputBuf[1] = '6'; + o_rOutputBuf[2] = '\n'; + int nOutLen = snprintf(&o_rOutputBuf[3], WRITE_BUFFER_SIZE-10, "%d %d", width, height); + if( nOutLen < 0 ) + nOutLen = WRITE_BUFFER_SIZE-10; + o_rOutputBuf[3+nOutLen] ='\n'; + o_rOutputBuf[3+nOutLen+1]='2'; + o_rOutputBuf[3+nOutLen+2]='5'; + o_rOutputBuf[3+nOutLen+3]='5'; + o_rOutputBuf[3+nOutLen+4]='\n'; + o_rOutputBuf[3+nOutLen+5]=0; + + const int header_size = 3+nOutLen+5; + const int size = width*height*3 + header_size; + + printf( " PPM %d", size ); + if( bWithLinefeed ) + printf("\n"); + + // trim buffer to exact header size + o_rOutputBuf.resize(header_size); + + // initialize stream + Guchar *p; + GfxRGB rgb; + ImageStream* imgStr = + new ImageStream(str, + width, + colorMap->getNumPixelComps(), + colorMap->getBits()); + imgStr->reset(); + + for( int y=0; ygetLine(); + for( int x=0; xgetRGB(p, &rgb); + o_rOutputBuf.push_back(colToByte(rgb.r)); + o_rOutputBuf.push_back(colToByte(rgb.g)); + o_rOutputBuf.push_back(colToByte(rgb.b)); + + p +=colorMap->getNumPixelComps(); + } + } + + delete imgStr; + } +} + +// forwarders +// ------------------------------------------------------------------ + +inline void writeImage( OutputBuffer& o_rOutputBuf, + Stream* str, + int width, + int height, + GfxImageColorMap* colorMap ) { writeImage_(o_rOutputBuf,str,width,height,colorMap,false); } +inline void writeImageLF( OutputBuffer& o_rOutputBuf, + Stream* str, + int width, + int height, + GfxImageColorMap* colorMap ) { writeImage_(o_rOutputBuf,str,width,height,colorMap,true); } +inline void writeMask( OutputBuffer& o_rOutputBuf, + Stream* str, + int width, + int height ) { writeMask_(o_rOutputBuf,str,width,height,false); } +inline void writeMaskLF( OutputBuffer& o_rOutputBuf, + Stream* str, + int width, + int height ) { writeMask_(o_rOutputBuf,str,width,height,true); } + +// ------------------------------------------------------------------ + + +int PDFOutDev::parseFont( long long nNewId, GfxFont* gfxFont, GfxState* state ) const +{ + FontAttributes aNewFont; + int nSize = 0; + + GString* pFamily = gfxFont->getName(); + if( ! pFamily ) + pFamily = gfxFont->getOrigName(); + if( pFamily ) + { + aNewFont.familyName.clear(); + aNewFont.familyName.append( gfxFont->getName() ); + } + else + { + aNewFont.familyName.clear(); + aNewFont.familyName.append( "Arial" ); + } + + aNewFont.isBold = gfxFont->isBold(); + aNewFont.isItalic = gfxFont->isItalic(); + aNewFont.size = state->getTransformedFontSize(); + aNewFont.isUnderline = false; + + if( gfxFont->getType() == fontTrueType || gfxFont->getType() == fontType1 ) + { + // TODO(P3): Unfortunately, need to read stream twice, since + // we must write byte count to stdout before + char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize ); + if( pBuf ) + aNewFont.isEmbedded = true; + } + + m_aFontMap[ nNewId ] = aNewFont; + return nSize; +} + +void PDFOutDev::writeFontFile( GfxFont* gfxFont ) const +{ + if( gfxFont->getType() != fontTrueType && gfxFont->getType() != fontType1 ) + return; + + int nSize = 0; + char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize ); + if( !pBuf ) + return; + + // ---sync point--- see SYNC STREAMS above + fflush(stdout); + + if( fwrite(pBuf, sizeof(char), nSize, g_binary_out) != (size_t)nSize ) + exit(1); // error + + // ---sync point--- see SYNC STREAMS above + fflush(g_binary_out); +} + +void PDFOutDev::printPath( GfxPath* pPath ) const +{ + int nSubPaths = pPath ? pPath->getNumSubpaths() : 0; + for( int i=0; igetSubpath( i ); + const int nPoints = pSub->getNumPoints(); + + printf( " subpath %d", pSub->isClosed() ); + + for( int n=0; ngetX(n)), + normalize(pSub->getY(n)), + pSub->getCurve(n) ); + } + } +} + +PDFOutDev::PDFOutDev( PDFDoc* pDoc ) : + m_pDoc( pDoc ), + m_aFontMap(), + m_pUtf8Map( new UnicodeMap("UTF-8", gTrue, &mapUTF8) ) +{ +} + +void PDFOutDev::startPage(int /*pageNum*/, GfxState* state) +{ + assert(state); + printf("startPage %f %f\n", + normalize(state->getPageWidth()), + normalize(state->getPageHeight())); +} + +void PDFOutDev::endPage() +{ + printf("endPage\n"); +} + +void PDFOutDev::processLink(Link* link, Catalog*) +{ + assert(link); + + double x1,x2,y1,y2; + link->getRect( &x1, &y1, &x2, &y2 ); + + LinkAction* pAction = link->getAction(); + if( pAction->getKind() == actionURI ) + { + const char* pURI = static_cast(pAction)->getURI()->getCString(); + + printf( "drawLink %f %f %f %f %s\n", + normalize(x1), + normalize(y1), + normalize(x2), + normalize(y2), + escapeLineFeed(pURI) ); + } +} + +void PDFOutDev::saveState(GfxState*) +{ + printf( "saveState\n" ); +} + +void PDFOutDev::restoreState(GfxState*) +{ + printf( "restoreState\n" ); +} + +void PDFOutDev::setDefaultCTM(double *pMat) +{ + assert(pMat); + + OutputDev::setDefaultCTM(pMat); + + printf( "updateCtm %f %f %f %f %f %f\n", + normalize(pMat[0]), + normalize(pMat[2]), + normalize(pMat[1]), + normalize(pMat[3]), + normalize(pMat[4]), + normalize(pMat[5]) ); +} + +void PDFOutDev::updateCTM(GfxState* state, + double, double, + double, double, + double, double) +{ + assert(state); + + const double* const pMat = state->getCTM(); + assert(pMat); + + printf( "updateCtm %f %f %f %f %f %f\n", + normalize(pMat[0]), + normalize(pMat[2]), + normalize(pMat[1]), + normalize(pMat[3]), + normalize(pMat[4]), + normalize(pMat[5]) ); +} + +void PDFOutDev::updateLineDash(GfxState *state) +{ + assert(state); + + double* dashArray; int arrayLen; double startOffset; + state->getLineDash(&dashArray, &arrayLen, &startOffset); + + printf( "updateLineDash" ); + if( arrayLen && dashArray ) + { + printf( " %f %d", normalize(startOffset), arrayLen ); + for( int i=0; igetFlatness() ); +} + +void PDFOutDev::updateLineJoin(GfxState *state) +{ + assert(state); + printf( "updateLineJoin %d\n", state->getLineJoin() ); +} + +void PDFOutDev::updateLineCap(GfxState *state) +{ + assert(state); + printf( "updateLineCap %d\n", state->getLineCap() ); +} + +void PDFOutDev::updateMiterLimit(GfxState *state) +{ + assert(state); + printf( "updateMiterLimit %f\n", normalize(state->getMiterLimit()) ); +} + +void PDFOutDev::updateLineWidth(GfxState *state) +{ + assert(state); + printf( "updateLineWidth %f\n", normalize(state->getLineWidth()) ); +} + +void PDFOutDev::updateFillColor(GfxState *state) +{ + assert(state); + + GfxRGB aRGB; + state->getFillRGB( &aRGB ); + + printf( "updateFillColor %f %f %f %f\n", + normalize(colToDbl(aRGB.r)), + normalize(colToDbl(aRGB.g)), + normalize(colToDbl(aRGB.b)), + normalize(state->getFillOpacity()) ); +} + +void PDFOutDev::updateStrokeColor(GfxState *state) +{ + assert(state); + + GfxRGB aRGB; + state->getStrokeRGB( &aRGB ); + + printf( "updateStrokeColor %f %f %f %f\n", + normalize(colToDbl(aRGB.r)), + normalize(colToDbl(aRGB.g)), + normalize(colToDbl(aRGB.b)), + normalize(state->getFillOpacity()) ); +} + +void PDFOutDev::updateFillOpacity(GfxState *state) +{ + updateFillColor(state); +} + +void PDFOutDev::updateStrokeOpacity(GfxState *state) +{ + updateStrokeColor(state); +} + +void PDFOutDev::updateBlendMode(GfxState*) +{ +} + +void PDFOutDev::updateFont(GfxState *state) +{ + assert(state); + + GfxFont *gfxFont = state->getFont(); + if( gfxFont ) + { + FontAttributes aFont; + int nEmbedSize=0; + + Ref* pID = gfxFont->getID(); + // TODO(Q3): Portability problem + long long fontID = (long long)pID->gen << 32 | (long long)pID->num; + std::hash_map< long long, FontAttributes >::const_iterator it = + m_aFontMap.find( fontID ); + if( it == m_aFontMap.end() ) + { + nEmbedSize = parseFont( fontID, gfxFont, state ); + it = m_aFontMap.find( fontID ); + } + + printf( "updateFont" ); + if( it != m_aFontMap.end() ) + { + // conflating this with printf below crashes under Windoze + printf( " %lld", fontID ); + + aFont = it->second; + printf( " %d %d %d %d %f %d %s", + aFont.isEmbedded, + aFont.isBold, + aFont.isItalic, + aFont.isUnderline, + normalize(aFont.size), + nEmbedSize, + escapeLineFeed(aFont.familyName.getCString()) ); + } + printf( "\n" ); + + if( nEmbedSize ) + writeFontFile(gfxFont); + } +} + +void PDFOutDev::stroke(GfxState *state) +{ + assert(state); + + printf( "strokePath" ); + printPath( state->getPath() ); + printf( "\n" ); +} + +void PDFOutDev::fill(GfxState *state) +{ + assert(state); + + printf( "fillPath" ); + printPath( state->getPath() ); + printf( "\n" ); +} + +void PDFOutDev::eoFill(GfxState *state) +{ + assert(state); + + printf( "eoFillPath" ); + printPath( state->getPath() ); + printf( "\n" ); +} + +void PDFOutDev::clip(GfxState *state) +{ + assert(state); + + printf( "clipPath" ); + printPath( state->getPath() ); + printf( "\n" ); +} + +void PDFOutDev::eoClip(GfxState *state) +{ + assert(state); + + printf( "eoClipPath" ); + printPath( state->getPath() ); + printf( "\n" ); +} + +void PDFOutDev::drawChar(GfxState *state, double x, double y, + double dx, double /*dy*/, + double originX, double originY, + CharCode, int /*nBytes*/, Unicode *u, int uLen) +{ + assert(state); + + if( u == NULL ) + return; + + // normalize coordinates + // correct from baseline to upper left corner + double x2(0.0), y2(0.0); + state->textTransformDelta( 0.0, + state->getFontSize()*state->getFont()->getAscent(), + &x2, &y2 ); + x -= x2; + y += y2; + + const double aPositionX(x-originX); + const double aPositionY(y-originY); + const double nWidth(dx); + const double nHeight(state->getFontSize()); + + const double* pTextMat=state->getTextMat(); + printf( "drawChar %f %f %f %f %f %f %f %f ", + normalize(aPositionX), + normalize(aPositionY), + normalize(aPositionX+nWidth), + normalize(aPositionY+nHeight), + normalize(pTextMat[0]), + normalize(pTextMat[2]), + normalize(pTextMat[1]), + normalize(pTextMat[3]) ); + + // silence spurious warning + (void)&mapUCS2; + + char buf[9]; + for( int i=0; imapUnicode(u[i], buf, sizeof(buf)-1) ] = 0; + printf( "%s", escapeLineFeed(buf) ); + } + + printf( "\n" ); +} + +void PDFOutDev::drawString(GfxState*, GString* /*s*/) +{ + // TODO(F3): NYI +} + +void PDFOutDev::endTextObject(GfxState*) +{ + printf( "endTextObject\n" ); +} + +void PDFOutDev::drawImageMask(GfxState*, Object*, Stream* str, + int width, int height, GBool invert, + GBool /*inlineImg*/ ) +{ + OutputBuffer aBuf; initBuf(aBuf); + + printf( "drawMask %d %d %d", width, height, invert ); + writeMaskLF(aBuf, str, width, height); + writeBinaryBuffer(aBuf); +} + +void PDFOutDev::drawImage(GfxState*, Object*, Stream* str, + int width, int height, GfxImageColorMap* colorMap, + int* maskColors, GBool /*inlineImg*/ ) +{ + OutputBuffer aBuf; initBuf(aBuf); + OutputBuffer aMaskBuf; + + printf( "drawImage %d %d", width, height ); + + if( maskColors ) + { + // write mask colors. nBytes must be even - first half is + // lower bound values, second half upper bound values + if( colorMap->getColorSpace()->getMode() == csIndexed ) + { + aMaskBuf.push_back( (char)maskColors[0] ); + aMaskBuf.push_back( (char)maskColors[gfxColorMaxComps] ); + } + else + { + GfxRGB aMinRGB; + colorMap->getColorSpace()->getRGB( + (GfxColor*)maskColors, + &aMinRGB ); + + GfxRGB aMaxRGB; + colorMap->getColorSpace()->getRGB( + (GfxColor*)maskColors+gfxColorMaxComps, + &aMaxRGB ); + + aMaskBuf.push_back( colToByte(aMinRGB.r) ); + aMaskBuf.push_back( colToByte(aMinRGB.g) ); + aMaskBuf.push_back( colToByte(aMinRGB.b) ); + aMaskBuf.push_back( colToByte(aMaxRGB.r) ); + aMaskBuf.push_back( colToByte(aMaxRGB.g) ); + aMaskBuf.push_back( colToByte(aMaxRGB.b) ); + } + } + + printf( " %d", aMaskBuf.size() ); + writeImageLF( aBuf, str, width, height, colorMap ); + writeBinaryBuffer(aBuf); + writeBinaryBuffer(aMaskBuf); +} + +void PDFOutDev::drawMaskedImage(GfxState*, Object*, Stream* str, + int width, int height, + GfxImageColorMap* colorMap, + Stream* maskStr, + int maskWidth, int maskHeight, + GBool maskInvert) +{ + OutputBuffer aBuf; initBuf(aBuf); + OutputBuffer aMaskBuf; initBuf(aMaskBuf); + + printf( "drawMaskedImage %d %d %d %d %d", width, height, maskWidth, maskHeight, maskInvert ); + writeImage( aBuf, str, width, height, colorMap ); + writeMaskLF( aMaskBuf, maskStr, width, height ); + writeBinaryBuffer(aBuf); + writeBinaryBuffer(aMaskBuf); +} + +void PDFOutDev::drawSoftMaskedImage(GfxState*, Object*, Stream* str, + int width, int height, + GfxImageColorMap* colorMap, + Stream* maskStr, + int maskWidth, int maskHeight, + GfxImageColorMap* maskColorMap ) +{ + OutputBuffer aBuf; initBuf(aBuf); + OutputBuffer aMaskBuf; initBuf(aMaskBuf); + + printf( "drawSoftMaskedImage %d %d %d %d", width, height, maskWidth, maskHeight ); + writeImage( aBuf, str, width, height, colorMap ); + writeImageLF( aMaskBuf, maskStr, maskWidth, maskHeight, maskColorMap ); + writeBinaryBuffer(aBuf); + writeBinaryBuffer(aMaskBuf); +} + +void PDFOutDev::setPageNum( int nNumPages ) +{ + // TODO(F3): printf might format int locale-dependent! + printf("setPageNum %d\n", nNumPages); +} + +} diff --git a/xpdf/wrapper/pdfioutdev_gpl.hxx b/xpdf/wrapper/pdfioutdev_gpl.hxx new file mode 100644 index 000000000000..fd37a28dca29 --- /dev/null +++ b/xpdf/wrapper/pdfioutdev_gpl.hxx @@ -0,0 +1,285 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: pdfioutdev_gpl.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: thb $ $Date: 2007-12-05 14:16:44 $ + * + * The Contents of this file are made available subject to + * the terms of GNU General Public License Version 2. + * + * + * GNU General Public License, version 2 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * 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. + * + ************************************************************************/ + +#ifndef INCLUDED_PDFI_OUTDEV_HXX +#define INCLUDED_PDFI_OUTDEV_HXX + +#if defined __GNUC__ +#pragma GCC system_header +#elif defined __SUNPRO_CC +#pragma disable_warn +#elif defined _MSC_VER +#pragma warning(push, 1) +#endif + +#include "GfxState.h" +#include "GfxFont.h" +#include "UnicodeMap.h" +#include "Link.h" +#include "Object.h" +#include "OutputDev.h" +#include "parseargs.h" +#include "GlobalParams.h" +#include "PDFDoc.h" + +#if defined __SUNPRO_CC +#pragma enable_warn +#elif defined _MSC_VER +#pragma warning(pop) +#endif + +#include + +class GfxPath; +class GfxFont; +class PDFDoc; + +namespace pdfi +{ + struct FontAttributes + { + FontAttributes( const GString& familyName_, + bool isEmbedded_, + bool isBold_, + bool isItalic_, + bool isUnderline_, + double size_ ) : + familyName(), + isEmbedded(isEmbedded_), + isBold(isBold_), + isItalic(isItalic_), + isUnderline(isUnderline_), + size(size_) + { + familyName.append(const_cast(&familyName_)); + } + + FontAttributes() : + familyName(), + isEmbedded(false), + isBold(false), + isItalic(false), + isUnderline(false), + size(0.0) + {} + + // xdpf goo stuff is so totally borked... + // ...need to hand-code assignment + FontAttributes( const FontAttributes& rSrc ) : + familyName(), + isEmbedded(rSrc.isEmbedded), + isBold(rSrc.isBold), + isItalic(rSrc.isItalic), + isUnderline(rSrc.isUnderline), + size(rSrc.size) + { + familyName.append(const_cast(&rSrc.familyName)); + } + + FontAttributes& operator=( const FontAttributes& rSrc ) + { + familyName.clear(); + familyName.append(const_cast(&rSrc.familyName)); + + isEmbedded = rSrc.isEmbedded; + isBold = rSrc.isBold; + isItalic = rSrc.isItalic; + isUnderline = rSrc.isUnderline; + size = rSrc.size; + + return *this; + } + + bool operator==(const FontAttributes& rFont) const + { + return const_cast(&familyName)->cmp( + const_cast(&rFont.familyName))==0 && + isEmbedded == rFont.isEmbedded && + isBold == rFont.isBold && + isItalic == rFont.isItalic && + isUnderline == rFont.isUnderline && + size == rFont.size; + } + + GString familyName; + bool isEmbedded; + bool isBold; + bool isItalic; + bool isUnderline; + double size; + }; + + class PDFOutDev : public OutputDev + { + // not owned by this class + PDFDoc* m_pDoc; + mutable std::hash_map< long long, + FontAttributes > m_aFontMap; + UnicodeMap* m_pUtf8Map; + + int parseFont( long long nNewId, GfxFont* pFont, GfxState* state ) const; + void writeFontFile( GfxFont* gfxFont ) const; + void printPath( GfxPath* pPath ) const; + + public: + explicit PDFOutDev( PDFDoc* pDoc ); + + //----- get info about output device + + // Does this device use upside-down coordinates? + // (Upside-down means (0,0) is the top left corner of the page.) + virtual GBool upsideDown() { return gTrue; } + + // Does this device use drawChar() or drawString()? + virtual GBool useDrawChar() { return gTrue; } + + // Does this device use beginType3Char/endType3Char? Otherwise, + // text in Type 3 fonts will be drawn with drawChar/drawString. + virtual GBool interpretType3Chars() { return gFalse; } + + // Does this device need non-text content? + virtual GBool needNonText() { return gTrue; } + + //----- initialization and control + + // Set default transform matrix. + virtual void setDefaultCTM(double *ctm); + + // Start a page. + virtual void startPage(int pageNum, GfxState *state); + + // End a page. + virtual void endPage(); + + // Dump page contents to display. + // virtual void dump() {} + + //----- coordinate conversion + + // Convert between device and user coordinates. + // virtual void cvtDevToUser(double dx, double dy, double *ux, double *uy); + // virtual void cvtUserToDev(double ux, double uy, int *dx, int *dy); + + //----- link borders + virtual void processLink(Link *link, Catalog *catalog); + + //----- save/restore graphics state + virtual void saveState(GfxState *state); + virtual void restoreState(GfxState *state); + + //----- update graphics state + // virtual void updateAll(GfxState *state); + virtual void updateCTM(GfxState *state, double m11, double m12, + double m21, double m22, double m31, double m32); + virtual void updateLineDash(GfxState *state); + virtual void updateFlatness(GfxState *state); + virtual void updateLineJoin(GfxState *state); + virtual void updateLineCap(GfxState *state); + virtual void updateMiterLimit(GfxState *state); + virtual void updateLineWidth(GfxState *state); + virtual void updateFillColor(GfxState *state); + virtual void updateStrokeColor(GfxState *state); + virtual void updateFillOpacity(GfxState *state); + virtual void updateStrokeOpacity(GfxState *state); + virtual void updateBlendMode(GfxState *state); + + //----- update text state + virtual void updateFont(GfxState *state); + // virtual void updateTextMat(GfxState *state); + // virtual void updateCharSpace(GfxState *state) {} + // virtual void updateRender(GfxState *state) {} + // virtual void updateRise(GfxState *state) {} + // virtual void updateWordSpace(GfxState *state) {} + // virtual void updateHorizScaling(GfxState *state) {} + // virtual void updateTextPos(GfxState *state) {} + // virtual void updateTextShift(GfxState *state, double shift) {} + + //----- path painting + virtual void stroke(GfxState *state); + virtual void fill(GfxState *state); + virtual void eoFill(GfxState *state); + + //----- path clipping + virtual void clip(GfxState *state); + virtual void eoClip(GfxState *state); + + //----- text drawing + virtual void drawChar(GfxState *state, double x, double y, + double dx, double dy, + double originX, double originY, + CharCode code, int nBytes, Unicode *u, int uLen); + virtual void drawString(GfxState *state, GString *s); + virtual void endTextObject(GfxState *state); + + //----- image drawing + virtual void drawImageMask(GfxState *state, Object *ref, Stream *str, + int width, int height, GBool invert, + GBool inlineImg); + virtual void drawImage(GfxState *state, Object *ref, Stream *str, + int width, int height, GfxImageColorMap *colorMap, + int *maskColors, GBool inlineImg); + virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str, + int width, int height, + GfxImageColorMap *colorMap, + Stream *maskStr, int maskWidth, int maskHeight, + GBool maskInvert); + virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str, + int width, int height, + GfxImageColorMap *colorMap, + Stream *maskStr, + int maskWidth, int maskHeight, + GfxImageColorMap *maskColorMap); + + //----- OPI functions + // virtual void opiBegin(GfxState *state, Dict *opiDict); + // virtual void opiEnd(GfxState *state, Dict *opiDict); + + //----- Type 3 font operators + // virtual void type3D0(GfxState *state, double wx, double wy) {} + // virtual void type3D1(GfxState *state, double wx, double wy, + // double llx, double lly, double urx, double ury) {} + + //----- PostScript XObjects + // virtual void psXObject(Stream *psStream, Stream *level1Stream) {} + + void setPageNum( int nNumPages ); + }; +} + +extern FILE* g_binary_out; + +#endif /* INCLUDED_PDFI_OUTDEV_HXX */ + diff --git a/xpdf/wrapper/wrapper_gpl.cxx b/xpdf/wrapper/wrapper_gpl.cxx new file mode 100644 index 000000000000..c3b1c5c4dbe2 --- /dev/null +++ b/xpdf/wrapper/wrapper_gpl.cxx @@ -0,0 +1,122 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: wrapper_gpl.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: thb $ $Date: 2007-12-05 14:16:44 $ + * + * The Contents of this file are made available subject to + * the terms of GNU General Public License Version 2. + * + * + * GNU General Public License, version 2 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * 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. + * + ************************************************************************/ + +#include "pdfioutdev_gpl.hxx" +#ifdef WNT +# include +# include /*_O_BINARY*/ +#endif + +static char ownerPassword[33] = "\001"; +static char userPassword[33] = "\001"; +static char outputFile[256] = "\001"; +static char cfgFileName[256] = ""; + +FILE* g_binary_out=stderr; + +static ArgDesc argDesc[] = { + {"-f", argString, outputFile, sizeof(outputFile), + "output file for binary streams"}, + {"-opw", argString, ownerPassword, sizeof(ownerPassword), + "owner password (for encrypted files)"}, + {"-upw", argString, userPassword, sizeof(userPassword), + "user password (for encrypted files)"}, + {NULL, argString, NULL, 0, NULL } +}; + +int main(int argc, char **argv) +{ + // parse args; initialize to defaults + if( !parseArgs(argDesc, &argc, argv) ) + return 1; + + if( argc < 2 ) + return 1; + + // read config file + globalParams = new GlobalParams(cfgFileName); + globalParams->setErrQuiet(gTrue); + globalParams->setupBaseFonts(NULL); + + // PDFDoc takes over ownership for all strings below + GString* pFileName = new GString(argv[1]); + + // check for password string(s) + GString* pOwnerPasswordStr( + ownerPassword[0] != '\001' ? new GString(ownerPassword) + : (GString *)NULL ); + GString* pUserPasswordStr( + userPassword[0] != '\001' ? new GString(userPassword) + : (GString *)NULL ); + if( outputFile[0] != '\001' ) + g_binary_out = fopen(outputFile,"wb"); + +#ifdef WNT + // Win actually modifies output for O_TEXT file mode, so need to + // revert to binary here + _setmode( _fileno( g_binary_out ), _O_BINARY ); +#endif + + PDFDoc aDoc( pFileName, + pOwnerPasswordStr, + pUserPasswordStr ); + + if( !aDoc.isOk() ) + return 1; + + pdfi::PDFOutDev* pOutDev( new pdfi::PDFOutDev(&aDoc) ); + + // tell receiver early - needed for proper progress calculation + pOutDev->setPageNum( aDoc.getNumPages() ); + + // virtual resolution of the PDF OutputDev in dpi + static const int PDFI_OUTDEV_RESOLUTION=7200; + + // do the conversion + const int nPages = aDoc.getNumPages(); + for( int i=1; i<=nPages; ++i ) + { + aDoc.displayPage( pOutDev, + i, + PDFI_OUTDEV_RESOLUTION, + PDFI_OUTDEV_RESOLUTION, + 0, gTrue, gTrue, gTrue ); + aDoc.processLinks( pOutDev, i ); + } + + return 0; +} + diff --git a/xpdf/xpdf-3.02.patch b/xpdf/xpdf-3.02.patch new file mode 100644 index 000000000000..d7118f752318 --- /dev/null +++ b/xpdf/xpdf-3.02.patch @@ -0,0 +1,245 @@ +--- misc/patch/xpdf-3.02/aconf.h 1970-01-01 01:00:00.000000000 +0100 ++++ misc/build/xpdf-3.02/aconf.h 2007-08-07 15:44:36.000000000 +0200 +@@ -0,0 +1,104 @@ ++/* aconf.h. Generated by configure. */ ++/* ++ * aconf.h ++ * ++ * Copyright 2002-2003 Glyph & Cog, LLC ++ */ ++ ++#ifndef ACONF_H ++#define ACONF_H ++ ++#include ++ ++/* ++ * Use A4 paper size instead of Letter for PostScript output. ++ */ ++/* #undef A4_PAPER */ ++ ++/* ++ * Do not allow text selection. ++ */ ++/* #undef NO_TEXT_SELECT */ ++ ++/* ++ * Include support for OPI comments. ++ */ ++/* #undef OPI_SUPPORT */ ++ ++/* ++ * Enable multithreading support. ++ */ ++/* #undef MULTITHREADED */ ++ ++/* ++ * Enable word list support. ++ */ ++/* #undef TEXTOUT_WORD_LIST */ ++ ++/* ++ * Directory with the Xpdf app-defaults file. ++ */ ++/* #undef APPDEFDIR */ ++ ++/* ++ * Full path for the system-wide xpdfrc file. ++ */ ++#define SYSTEM_XPDFRC "/usr/local/etc/xpdfrc" ++ ++/* ++ * Various include files and functions. ++ */ ++#define HAVE_DIRENT_H 1 ++/* #undef HAVE_SYS_NDIR_H */ ++/* #undef HAVE_SYS_DIR_H */ ++/* #undef HAVE_NDIR_H */ ++/* #undef HAVE_SYS_SELECT_H */ ++/* #undef HAVE_SYS_BSDTYPES_H */ ++#define HAVE_STRINGS_H 1 ++/* #undef HAVE_BSTRING_H */ ++#define HAVE_POPEN 1 ++#define HAVE_MKSTEMP 1 ++/* #undef HAVE_MKSTEMPS */ ++/* #undef SELECT_TAKES_INT */ ++#if ! defined WNT ++#define HAVE_FSEEKO 1 ++#endif ++/* #undef HAVE_FSEEK64 */ ++#define _FILE_OFFSET_BITS 64 ++/* #undef _LARGE_FILES */ ++#define _LARGEFILE_SOURCE 1 ++/* #undef HAVE_XTAPPSETEXITFLAG 1 */ ++ ++/* ++ * This is defined if using libXpm. ++ */ ++/* #undef HAVE_X11_XPM_H 1 */ ++ ++/* ++ * This is defined if using t1lib. ++ */ ++/* #undef HAVE_T1LIB_H 1 */ ++ ++/* ++ * One of these is defined if using FreeType 2. ++ */ ++/* #undef HAVE_FREETYPE_H */ ++/* #undef HAVE_FREETYPE_FREETYPE_H 1 */ ++ ++/* ++ * This is defined if using libpaper. ++ */ ++/* #undef HAVE_PAPER_H */ ++ ++/* ++ * Enable support for loading plugins. ++ */ ++/* #undef ENABLE_PLUGINS */ ++ ++/* ++ * Enable support for CMYK output. ++ */ ++/* #undef SPLASH_CMYK */ ++ ++ ++#endif +*** misc/xpdf-3.02/ms_make.bat Tue Feb 27 23:05:51 2007 +--- misc/build/xpdf-3.02/ms_make.bat Fri Sep 14 20:08:02 2007 +*************** +*** 1,5 **** + set CC=cl +! set CFLAGS=/DWIN32 /I.. /I..\goo /I..\fofi /O2 /nologo + set CXX=cl + set CXXFLAGS=%CFLAGS% /TP + set LIBPROG=lib +--- 1,5 ---- + set CC=cl +! set CFLAGS=/DWIN32 /D_MT /I.. /I..\goo /I..\fofi /O2 /nologo + set CXX=cl + set CXXFLAGS=%CFLAGS% /TP + set LIBPROG=lib +*************** +*** 70,75 **** +--- 70,77 ---- + %CXX% %CXXFLAGS% /c pdffonts.cc + %CXX% %CXXFLAGS% /c pdfimages.cc + ++ %LIBPROG% /nologo /out:xpdf.lib Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSTokenizer.obj SecurityHandler.obj Stream.obj UnicodeMap.obj XRef.obj ++ + %CXX% %LINKFLAGS% /Fepdftops.exe Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSOutputDev.obj PSTokenizer.obj SecurityHandler.obj Stream.obj UnicodeMap.obj XRef.obj pdftops.obj ..\fofi\fofi.lib ..\goo\Goo.lib shell32.lib user32.lib gdi32.lib advapi32.lib + + %CXX% %LINKFLAGS% /Fepdftotext.exe Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSTokenizer.obj SecurityHandler.obj Stream.obj TextOutputDev.obj UnicodeMap.obj UnicodeTypeTable.obj XRef.obj pdftotext.obj ..\fofi\fofi.lib ..\goo\Goo.lib shell32.lib user32.lib gdi32.lib advapi32.lib +*************** +*** 82,118 **** + + cd .. + +- rem --- This part will only work if you have FreeType installed --- +- +- set FT2DIR=..\freetype-2.3.1 +- set CXXFLAGS=%CXXFLAGS% /I..\splash /I%FT2DIR%\include +- +- cd splash +- %CXX% %CXXFLAGS% /c Splash.cc +- %CXX% %CXXFLAGS% /c SplashBitmap.cc +- %CXX% %CXXFLAGS% /c SplashClip.cc +- %CXX% %CXXFLAGS% /c SplashFTFont.cc +- %CXX% %CXXFLAGS% /c SplashFTFontEngine.cc +- %CXX% %CXXFLAGS% /c SplashFTFontFile.cc +- %CXX% %CXXFLAGS% /c SplashFont.cc +- %CXX% %CXXFLAGS% /c SplashFontEngine.cc +- %CXX% %CXXFLAGS% /c SplashFontFile.cc +- %CXX% %CXXFLAGS% /c SplashFontFileID.cc +- %CXX% %CXXFLAGS% /c SplashPath.cc +- %CXX% %CXXFLAGS% /c SplashPattern.cc +- %CXX% %CXXFLAGS% /c SplashScreen.cc +- %CXX% %CXXFLAGS% /c SplashState.cc +- %CXX% %CXXFLAGS% /c SplashT1Font.cc +- %CXX% %CXXFLAGS% /c SplashT1FontEngine.cc +- %CXX% %CXXFLAGS% /c SplashT1FontFile.cc +- %CXX% %CXXFLAGS% /c SplashXPath.cc +- %CXX% %CXXFLAGS% /c SplashXPathScanner.cc +- %LIBPROG% /nologo /out:splash.lib Splash.obj SplashBitmap.obj SplashClip.obj SplashFTFont.obj SplashFTFontEngine.obj SplashFTFontFile.obj SplashFont.obj SplashFontEngine.obj SplashFontFile.obj SplashFontFileID.obj SplashPath.obj SplashPattern.obj SplashScreen.obj SplashState.obj SplashT1Font.obj SplashT1FontEngine.obj SplashT1FontFile.obj SplashXPath.obj SplashXPathScanner.obj +- +- cd ..\xpdf +- %CXX% %CXXFLAGS% /c SplashOutputDev.cc +- %CXX% %CXXFLAGS% /c pdftoppm.cc +- +- %CXX% %LINKFLAGS% /Fepdftoppm.exe Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSTokenizer.obj SecurityHandler.obj SplashOutputDev.obj Stream.obj UnicodeMap.obj UnicodeTypeTable.obj XRef.obj pdftoppm.obj ..\splash\splash.lib ..\fofi\fofi.lib ..\goo\Goo.lib %FT2DIR%\freetype2.lib shell32.lib user32.lib gdi32.lib advapi32.lib +- +- cd .. +--- 84,86 ---- +*** misc/xpdf-3.02/xpdf/Makefile.in Tue Feb 27 23:05:52 2007 +--- misc/build/xpdf-3.02/xpdf/Makefile.in Fri Sep 14 20:17:25 2007 +*************** +*** 20,25 **** +--- 20,27 ---- + SPLASHLIBDIR = ../splash + + CXXFLAGS = @CXXFLAGS@ @DEFS@ -I.. -I$(GOOSRCDIR) -I$(FOFISRCDIR) -I$(SPLASHSRCDIR) -I$(srcdir) @freetype2_CFLAGS@ @Sgm_CFLAGS@ @Xm_CFLAGS@ @Xt_CFLAGS@ @Xp_CFLAGS@ @Xext_CFLAGS@ @Xpm_CFLAGS@ @t1_CFLAGS@ @libpaper_CFLAGS@ @X_CFLAGS@ ++ AR = ar rc ++ RANLIB = ranlib + + LDFLAGS = @LDFLAGS@ + +*************** +*** 107,116 **** + #------------------------------------------------------------------------ + + all: xpdf$(EXE) pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) \ +! pdffonts$(EXE) pdftoppm$(EXE) pdfimages$(EXE) + + all-no-x: pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) pdffonts$(EXE) \ +! pdfimages$(EXE) + + #------------------------------------------------------------------------ + +--- 109,135 ---- + #------------------------------------------------------------------------ + + all: xpdf$(EXE) pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) \ +! pdffonts$(EXE) pdftoppm$(EXE) pdfimages$(EXE) $(LIBPREFIX)xpdf.a + + all-no-x: pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) pdffonts$(EXE) \ +! pdfimages$(EXE) $(LIBPREFIX)xpdf.a +! +! #------------------------------------------------------------------------ +! +! XPDFLIB_OBJS = Annot.o Array.o BuiltinFont.o BuiltinFontTables.o Catalog.o \ +! CharCodeToUnicode.o CMap.o Decrypt.o Dict.o \ +! Error.o FontEncodingTables.o Function.o Gfx.o GfxFont.o \ +! GfxState.o GlobalParams.o JArithmeticDecoder.o JBIG2Stream.o \ +! JPXStream.o Lexer.o Link.o NameToCharCode.o Object.o Outline.o \ +! OutputDev.o Page.o Parser.o PDFCore.o PDFDoc.o PDFDocEncoding.o \ +! PSTokenizer.o SecurityHandler.o \ +! Stream.o UnicodeMap.o \ +! UnicodeTypeTable.o XRef.o +! +! $(LIBPREFIX)xpdf.a: $(XPDFLIB_OBJS) +! rm -f $(LIBPREFIX)xpdf.a +! $(AR) $(LIBPREFIX)xpdf.a $(XPDFLIB_OBJS) +! $(RANLIB) $(LIBPREFIX)xpdf.a + + #------------------------------------------------------------------------ + +*** misc/xpdf-3.02/goo/GString.cc Tue Feb 27 23:05:51 2007 +--- misc/build/xpdf-3.02/goo/GString.cc Wed Sep 26 09:43:50 2007 +*************** +*** 528,534 **** + if ((neg = x < 0)) { + x = -x; + } +! x = floor(x * pow(10, prec) + 0.5); + i = bufSize; + started = !trim; + for (j = 0; j < prec && i > 1; ++j) { +--- 528,534 ---- + if ((neg = x < 0)) { + x = -x; + } +! x = floor(x * pow(10.0, prec) + 0.5); + i = bufSize; + started = !trim; + for (j = 0; j < prec && i > 1; ++j) { -- cgit From 7f1c15e5149bbe53918d99f47cbbe15643ded35c Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 13 Dec 2007 09:34:07 +0000 Subject: adjust UI --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 43 +++++++++++++++++++++- .../src/com/sun/star/wiki/WikiDialog.java | 7 +++- .../com/sun/star/wiki/WikiEditSettingDialog.java | 14 +++---- .../src/com/sun/star/wiki/WikiEditorImpl.java | 13 ++++--- .../src/com/sun/star/wiki/WikiPropDialog.java | 6 +-- 5 files changed, 64 insertions(+), 19 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 1a907dd8a572..f3101987a86d 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:13:38 $ + * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -607,5 +607,44 @@ public class Helper return aHostConfig; } + private static XControl GetControlFromDialog( XDialog xDialog, String aControlName ) + { + XControl xResult = null; + XControlContainer xControlCont = (XControlContainer) UnoRuntime.queryInterface( XControlContainer.class, xDialog ); + + if ( xControlCont != null ) + { + Object oControl = xControlCont.getControl( aControlName ); + xResult = ( XControl ) UnoRuntime.queryInterface( XControl.class, oControl ); + } + + return xResult; + } + + private static XPropertySet GetSubControlPropSet( XDialog xDialog, String aControlName ) + { + XControl xControl = GetControlFromDialog( xDialog, aControlName ); + if ( xControl != null ) + return ( XPropertySet ) UnoRuntime.queryInterface( XPropertySet.class, xControl.getModel() ); + + return null; + } + + private static void SetControlPropInDialog( XDialog xDialog, String aControlName, String aPropName, Object aPropValue ) + { + if ( xDialog != null && aControlName != null && aPropName != null && aPropValue != null ) + { + try + { + XPropertySet xPropSet = GetSubControlPropSet( xDialog, aControlName ); + if ( xPropSet != null ) + xPropSet.setPropertyValue( aPropName, aPropValue ); + } + catch ( com.sun.star.uno.Exception e ) + { + e.printStackTrace(); + } + } + } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java index 365f9806c9e9..d003c4c3013e 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiDialog.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:14:46 $ + * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -97,6 +97,9 @@ public class WikiDialog implements XDialogEventHandler{ protected XPropertySet getPropSet(String sControl) { XControl xControl = m_xControlContainer.getControl(sControl); XPropertySet xPS = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xControl.getModel() ); + if ( xPS == null ) + throw new com.sun.star.uno.RuntimeException(); + return xPS; } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 99c583756290..025a0569e21e 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:15:09 $ + * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -135,7 +135,7 @@ public class WikiEditSettingDialog extends WikiDialog if ( sRedirectURL.equals( "" ) ) { // show error - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "This is not a Wiki Page!" ); + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection to the MediaWiki system at '" + sRedirectURL + "' could not be created." ); ed.show(); } } @@ -146,7 +146,7 @@ public class WikiEditSettingDialog extends WikiDialog { // a wrong login information is provided // show error - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The login information is wrong! It should either be empty or correct." ); + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "User name or password is incorrect. Please try again, or leave the fields blank for an anonymous connection." ); ed.show(); } else @@ -166,7 +166,7 @@ public class WikiEditSettingDialog extends WikiDialog { // URL invalid // show error - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The URl is invalid!" ); + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection could not be created, because the URL is invalid." ); ed.show(); } } @@ -174,7 +174,7 @@ public class WikiEditSettingDialog extends WikiDialog { // URL field empty // show error - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The URL field is empty!" ); + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "Specify a MediaWiki server by providing a URL." ); ed.show(); } @@ -182,7 +182,7 @@ public class WikiEditSettingDialog extends WikiDialog } catch ( Exception ex ) { - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "Can not access the provided URL for any reason!" ); + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection to the MediaWiki system at '" + sRedirectURL + "' could not be created." ); ed.show(); ex.printStackTrace(); diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index a11c01d785d9..66c11a64e46d 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditorImpl.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:14:58 $ + * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -75,6 +75,7 @@ public final class WikiEditorImpl extends WeakBase private final XComponentContext m_xContext; private static final String m_implementationName = WikiEditorImpl.class.getName(); private static final String[] m_serviceNames = {"com.sun.star.wiki.WikiEditor" }; + private static final String m_sGeneralSendError = "The operation 'Send to MediaWiki' could not be completed successfully."; // information needed for component registration public static final String[] supportedServiceNames = {"com.sun.star.frame.ProtocolHandler"}; @@ -399,7 +400,7 @@ public final class WikiEditorImpl extends WeakBase if ( m_aFilterName == null || m_aFilterName.length() == 0 ) { - ErrorDialog ed = new ErrorDialog(m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "MediaWiki filter is requered to be able to export!"); + ErrorDialog ed = new ErrorDialog(m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The MediaWiki export filter cannot be found. Choose 'Tools-XML Filter Settings' to install the filter, or use the setup to install the component."); ed.show(); throw new com.sun.star.uno.RuntimeException(); } @@ -441,6 +442,8 @@ public final class WikiEditorImpl extends WeakBase XDialog xDialog = WikiDialog.CreateSimpleDialog( m_xContext, "vnd.sun.star.script:WikiEditor.NewWikiPage?location=application" ); if ( xDialog != null ) { + Helper.SetControlPropInDialog( xDialog, "Label1", "Label", "A wiki article with the title " + aSendDialog.m_sWikiTitle + " does not exist yet. Do you want to create a new article with that name?" ); + aSendDialog.SetThrobberActive( false ); bAllowSending = MainThreadDialogExecutor.Execute( m_xContext, xDialog ); aSendDialog.SetThrobberActive( true ); @@ -486,7 +489,7 @@ public final class WikiEditorImpl extends WeakBase } else { - ErrorDialog ed = new ErrorDialog(m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "Sending of the document has failed!"); + ErrorDialog ed = new ErrorDialog(m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", m_sGeneralSendError ); MainThreadDialogExecutor.Show( m_xContext, ed ); } } @@ -500,7 +503,7 @@ public final class WikiEditorImpl extends WeakBase if ( Helper.IsConnectionAllowed() ) { // report the error only if sending was not cancelled - ErrorDialog ed = new ErrorDialog(m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "Sending of the document has failed!"); + ErrorDialog ed = new ErrorDialog(m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", m_sGeneralSendError ); MainThreadDialogExecutor.Show( m_xContext, ed ); } e.printStackTrace(); diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 2bed67061f96..92ffae5124d0 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:15:31 $ + * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -305,7 +305,7 @@ public class WikiPropDialog extends WikiDialog{ } else { - ErrorDialog aED = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The sending process has been stopped. But the wiki-page might be already changed!" ); + ErrorDialog aED = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The transfer has been interrupted. Please check the integrity of the wiki article." ); aED.show(); } -- cgit From 0abb975d91fad4ff55930f22c382bc6cb1bffb67 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 13 Dec 2007 14:11:05 +0000 Subject: use password container to store passwords --- swext/mediawiki/dialogs/EditSetting.xdl | 7 +- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 6 +- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 83 +++++++++++++++++++++- .../src/com/sun/star/wiki/WikiArticle.java | 28 ++++++-- .../com/sun/star/wiki/WikiEditSettingDialog.java | 56 +++++++++++---- 5 files changed, 151 insertions(+), 29 deletions(-) diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl index 0ce26b4b404a..f77e1782859d 100644 --- a/swext/mediawiki/dialogs/EditSetting.xdl +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -5,9 +5,9 @@ * * $RCSfile: EditSetting.xdl,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-11-28 10:57:45 $ + * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -49,10 +49,9 @@ - - + diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 8f46c978fbc9..3d9a8ea1259a 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2007-11-28 16:43:08 $ + * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -34,7 +34,7 @@ * ************************************************************************ --> - + diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index f3101987a86d..2dfac486d25b 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ + * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -35,6 +35,8 @@ package com.sun.star.wiki; +import com.sun.star.awt.XControl; +import com.sun.star.awt.XControlContainer; import com.sun.star.awt.XDialog; import com.sun.star.beans.NamedValue; import com.sun.star.beans.PropertyValue; @@ -53,6 +55,10 @@ import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.system.SystemShellExecuteFlags; import com.sun.star.system.XSystemShellExecute; +import com.sun.star.task.UrlRecord; +import com.sun.star.task.XInteractionHandler; +import com.sun.star.task.XMasterPasswordHandling; +import com.sun.star.task.XPasswordContainer; import com.sun.star.uno.AnyConverter; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; @@ -85,6 +91,9 @@ public class Helper private static boolean m_bAllowConnection = true; private static Hashtable m_aAcceptedUnknownCerts; + private static XPasswordContainer m_xPasswordContainer; + private static XInteractionHandler m_xInteractionHandler; + synchronized protected static HttpClient GetHttpClient() throws WikiCancelException { @@ -121,6 +130,42 @@ public class Helper return m_bAllowConnection; } + synchronized protected static XPasswordContainer GetPasswordContainer( XComponentContext xContext ) + throws com.sun.star.uno.Exception + { + if ( m_xPasswordContainer == null && xContext != null ) + { + XMultiComponentFactory xFactory = xContext.getServiceManager(); + if ( xFactory != null ) + m_xPasswordContainer = (XPasswordContainer)UnoRuntime.queryInterface( + XPasswordContainer.class, + xFactory.createInstanceWithContext( "com.sun.star.task.PasswordContainer", xContext ) ); + } + + if ( m_xPasswordContainer == null ) + throw new com.sun.star.uno.RuntimeException(); + + return m_xPasswordContainer; + } + + synchronized protected static XInteractionHandler GetInteractionHandler( XComponentContext xContext ) + throws com.sun.star.uno.Exception + { + if ( m_xInteractionHandler == null && xContext != null ) + { + XMultiComponentFactory xFactory = xContext.getServiceManager(); + if ( xFactory != null ) + m_xInteractionHandler = ( XInteractionHandler )UnoRuntime.queryInterface( + XInteractionHandler.class, + xFactory.createInstanceWithContext( "com.sun.star.task.InteractionHandler", xContext ) ); + } + + if ( m_xInteractionHandler == null ) + throw new com.sun.star.uno.RuntimeException(); + + return m_xInteractionHandler; + } + protected static Protocol GetOwnHttps( int nPort ) { return new Protocol( "https", new WikiProtocolSocketFactory(), ( ( nPort < 0 ) ? 443 : nPort ) ); @@ -630,7 +675,7 @@ public class Helper return null; } - private static void SetControlPropInDialog( XDialog xDialog, String aControlName, String aPropName, Object aPropValue ) + protected static void SetControlPropInDialog( XDialog xDialog, String aControlName, String aPropName, Object aPropValue ) { if ( xDialog != null && aControlName != null && aPropName != null && aPropValue != null ) { @@ -646,5 +691,37 @@ public class Helper } } } + + protected static UrlRecord GetUsersForURL( XComponentContext xContext, String sURL ) + { + UrlRecord aResult = null; + try + { + aResult = GetPasswordContainer( xContext ).find( sURL, GetInteractionHandler( xContext ) ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + + return aResult; + } + + protected static boolean PasswordStoringIsAllowed( XComponentContext xContext ) + { + boolean bResult = false; + try + { + XMasterPasswordHandling xMasterHdl = (XMasterPasswordHandling)UnoRuntime.queryInterface( XMasterPasswordHandling.class, GetPasswordContainer( xContext ) ); + if ( xMasterHdl != null ) + bResult = xMasterHdl.isPersistentStoringAllowed(); + } + catch( Exception e ) + { + e.printStackTrace(); + } + + return bResult; + } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java index 13d115a28fd4..f1cfc1a94313 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiArticle.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:14:22 $ + * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -35,13 +35,10 @@ package com.sun.star.wiki; +import com.sun.star.task.UrlRecord; import java.io.*; -import java.net.MalformedURLException; import java.util.Hashtable; import javax.swing.text.html.*; -import org.w3c.tidy.Configuration; -import org.w3c.tidy.Tidy; -import org.xml.sax.InputSource; import com.sun.star.uno.XComponentContext; import org.apache.commons.httpclient.*; @@ -87,7 +84,24 @@ public class WikiArticle // loginURL = sMainUrl + "index.php?title=Special:Userlogin"; // loginSubmitURL = sMainUrl + "index.php?title=Special:Userlogin&action=submitlogin"; - while( bLogin && !Login() ) + boolean bGotLogin = false; + if ( bLogin && m_sWikiUser.equals( "" ) && m_sWikiPass.equals( "" ) ) + { + UrlRecord aRecord = Helper.GetUsersForURL( m_xContext, m_aMainURI.toString() ); + // TODO: there could be more users available, it should probably be possible to select from them + // from other side, asking each time for the user name could disturb the user + // For now the first acceptable user will be used. + if ( aRecord != null && aRecord.UserList != null ) + for ( int nUserInd = 0; !bGotLogin && nUserInd < aRecord.UserList.length; nUserInd++ ) + for ( int nPassInd = 0; !bGotLogin && nPassInd < aRecord.UserList[nUserInd].Passwords.length; nPassInd++ ) + { + m_sWikiUser = aRecord.UserList[nUserInd].UserName; + m_sWikiPass = aRecord.UserList[nUserInd].Passwords[nPassInd]; + bGotLogin = Login(); + } + } + + while( bLogin && !bGotLogin && !Login() ) { // TODO: be sure that this is no main thread WikiEditSettingDialog wd = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", wikiSettings ); diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 025a0569e21e..2607267d4471 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ + * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -36,13 +36,12 @@ package com.sun.star.wiki; import com.sun.star.awt.XDialog; +import com.sun.star.beans.XPropertySet; import com.sun.star.uno.XComponentContext; import java.util.Hashtable; -import javax.net.ssl.SSLException; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; -import org.apache.commons.httpclient.protocol.Protocol; public class WikiEditSettingDialog extends WikiDialog { @@ -56,17 +55,19 @@ public class WikiEditSettingDialog extends WikiDialog private Hashtable setting; private boolean addMode; - public WikiEditSettingDialog( XComponentContext c, String DialogURL ) + public WikiEditSettingDialog( XComponentContext xContext, String DialogURL ) { - super( c, DialogURL ); + super( xContext, DialogURL ); super.setMethods( Methods ); setting = new Hashtable(); addMode = true; + + InitSaveCheckbox( xContext ); } - public WikiEditSettingDialog( XComponentContext c, String DialogURL, Hashtable ht ) + public WikiEditSettingDialog( XComponentContext xContext, String DialogURL, Hashtable ht ) { - super( c, DialogURL ); + super( xContext, DialogURL ); super.setMethods( Methods ); setting = ht; try @@ -80,18 +81,35 @@ public class WikiEditSettingDialog extends WikiDialog ex.printStackTrace(); } addMode = false; + + InitSaveCheckbox( xContext ); + } + + private void InitSaveCheckbox( XComponentContext xContext ) + { + XPropertySet xSaveCheck = getPropSet( "SaveBox" ); + try + { + xSaveCheck.setPropertyValue( "State", new Short( (short)0 ) ); + xSaveCheck.setPropertyValue( "Enabled", new Boolean( Helper.PasswordStoringIsAllowed( xContext ) ) ); + } + catch( Exception e ) + { + e.printStackTrace(); + } } public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) { if ( MethodName.equals( sOKMethod ) ) { + String sRedirectURL = ""; + String sURL = ""; try { - String sURL = ( String ) getPropSet( "UrlField" ).getPropertyValue( "Text" ); + sURL = ( String ) getPropSet( "UrlField" ).getPropertyValue( "Text" ); String sUserName = ( String ) getPropSet( "UsernameField" ).getPropertyValue( "Text" ); String sPassword = ( String ) getPropSet( "PasswordField" ).getPropertyValue( "Text" ); - String sRedirectURL = ""; HostConfiguration aHostConfig = new HostConfiguration(); boolean bInitHost = true; @@ -135,7 +153,7 @@ public class WikiEditSettingDialog extends WikiDialog if ( sRedirectURL.equals( "" ) ) { // show error - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection to the MediaWiki system at '" + sRedirectURL + "' could not be created." ); + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection to the MediaWiki system at '" + sURL + "' could not be created." ); ed.show(); } } @@ -157,6 +175,20 @@ public class WikiEditSettingDialog extends WikiDialog if ( addMode ) Settings.getSettings( m_xContext ).addWikiCon( setting ); + if ( Helper.PasswordStoringIsAllowed( m_xContext ) + && ( (Short)( getPropSet( "SaveBox" ).getPropertyValue("State") ) ) != 0 ) + { + String[] pPasswords = { sPassword }; + try + { + Helper.GetPasswordContainer( m_xContext ).addPersistent( sMainURL, sUserName, pPasswords, Helper.GetInteractionHandler( m_xContext ) ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + m_bAction = true; xDialog.endExecute(); } @@ -182,7 +214,7 @@ public class WikiEditSettingDialog extends WikiDialog } catch ( Exception ex ) { - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection to the MediaWiki system at '" + sRedirectURL + "' could not be created." ); + ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection to the MediaWiki system at '" + sURL + "' could not be created." ); ed.show(); ex.printStackTrace(); -- cgit From fa78bd05b7caadd01789fb4e79832400a9b8486f Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 14 Dec 2007 07:21:13 +0000 Subject: adjust to jdk1.4.2 --- swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 2607267d4471..7bfe7b702408 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ + * last change: $Author: mav $ $Date: 2007-12-14 08:21:13 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -176,7 +176,7 @@ public class WikiEditSettingDialog extends WikiDialog Settings.getSettings( m_xContext ).addWikiCon( setting ); if ( Helper.PasswordStoringIsAllowed( m_xContext ) - && ( (Short)( getPropSet( "SaveBox" ).getPropertyValue("State") ) ) != 0 ) + && ( (Short)( getPropSet( "SaveBox" ).getPropertyValue("State") ) ).shortValue() != (short)0 ) { String[] pPasswords = { sPassword }; try -- cgit From 82694b730d5105d9ab7012a04b5517baa5610e15 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 14 Dec 2007 08:40:43 +0000 Subject: User office error box for MediaWiki errors --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 61 +++++++++++++++++++++- .../sun/star/wiki/MainThreadDialogExecutor.java | 19 ++++++- .../com/sun/star/wiki/WikiEditSettingDialog.java | 40 +++++++++----- .../src/com/sun/star/wiki/WikiEditorImpl.java | 21 +++++--- .../src/com/sun/star/wiki/WikiPropDialog.java | 11 ++-- 5 files changed, 122 insertions(+), 30 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 2dfac486d25b..d9fd6393ebc9 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ + * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -35,9 +35,13 @@ package com.sun.star.wiki; +import com.sun.star.awt.MessageBoxButtons; import com.sun.star.awt.XControl; import com.sun.star.awt.XControlContainer; import com.sun.star.awt.XDialog; +import com.sun.star.awt.XMessageBox; +import com.sun.star.awt.XMessageBoxFactory; +import com.sun.star.awt.XWindowPeer; import com.sun.star.beans.NamedValue; import com.sun.star.beans.PropertyValue; import com.sun.star.beans.XPropertySet; @@ -723,5 +727,58 @@ public class Helper return bResult; } + + protected static void ShowError( XComponentContext xContext, XWindowPeer xParentPeer, String sError ) + { + if ( xContext != null && sError != null ) + { + boolean bShown = false; + + if ( xParentPeer != null ) + { + try + { + XMessageBoxFactory xMBFactory = null; + XMultiComponentFactory xFactory = xContext.getServiceManager(); + if ( xFactory != null ) + xMBFactory = (XMessageBoxFactory)UnoRuntime.queryInterface( + XMessageBoxFactory.class, + xFactory.createInstanceWithContext( "com.sun.star.awt.Toolkit", xContext ) ); + + if ( xMBFactory != null ) + { + XMessageBox xMB = xMBFactory.createMessageBox( xParentPeer, + new com.sun.star.awt.Rectangle(), + "errorbox", + MessageBoxButtons.BUTTONS_OK, + "Error", + sError ); + if ( xMB != null ) + { + MainThreadDialogExecutor.Execute( xContext, xMB ); + bShown = true; + } + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + + if ( !bShown ) + { + try + { + ErrorDialog xDialog = new ErrorDialog( xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", sError ); + MainThreadDialogExecutor.Show( xContext, xDialog ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + } + } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java index 7898088e5459..5f4dbf8aaf56 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java +++ b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java @@ -4,9 +4,9 @@ * * $RCSfile: MainThreadDialogExecutor.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:13:59 $ + * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -38,6 +38,7 @@ package com.sun.star.wiki; import com.sun.star.uno.Any; import com.sun.star.awt.XDialog; import com.sun.star.awt.XCallback; +import com.sun.star.awt.XMessageBox; import com.sun.star.awt.XRequestCallback; import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.uno.UnoRuntime; @@ -47,6 +48,7 @@ public class MainThreadDialogExecutor implements XCallback { private WikiDialog m_aWikiDialog; private XDialog m_xDialog; + private XMessageBox m_xMessageBox; private boolean m_bResult = false; private boolean m_bCalled = false; @@ -62,6 +64,12 @@ public class MainThreadDialogExecutor implements XCallback return GetCallback( xContext, aExecutor ); } + static public boolean Execute( XComponentContext xContext, XMessageBox xMessageBox ) + { + MainThreadDialogExecutor aExecutor = new MainThreadDialogExecutor( xMessageBox ); + return GetCallback( xContext, aExecutor ); + } + static private boolean GetCallback( XComponentContext xContext, MainThreadDialogExecutor aExecutor ) { try @@ -118,6 +126,11 @@ public class MainThreadDialogExecutor implements XCallback m_xDialog = xDialog; } + private MainThreadDialogExecutor( XMessageBox xMessageBox ) + { + m_xMessageBox = xMessageBox; + } + private boolean GetResult() { return m_bResult; @@ -129,6 +142,8 @@ public class MainThreadDialogExecutor implements XCallback m_bResult = m_aWikiDialog.show(); else if ( m_xDialog != null ) m_bResult = ( m_xDialog.execute() == 1 ); + else if ( m_xMessageBox != null ) + m_bResult = ( m_xMessageBox.execute() == 1 ); m_bCalled = true; } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 7bfe7b702408..1962ffc5cd2b 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2007-12-14 08:21:13 $ + * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -36,7 +36,9 @@ package com.sun.star.wiki; import com.sun.star.awt.XDialog; +import com.sun.star.awt.XWindowPeer; import com.sun.star.beans.XPropertySet; +import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; import java.util.Hashtable; @@ -50,6 +52,12 @@ public class WikiEditSettingDialog extends WikiDialog private final String sCancelMethod = "Cancel"; private final String sHelpMethod = "Help"; + private static final String m_sNoConnectionToURL1 = "A connection to the MediaWiki system at '"; + private static final String m_sNoConnectionToURL2 = "' could not be created."; + private static final String m_sWrongLogin = "User name or password is incorrect. Please try again, or leave the fields blank for an anonymous connection."; + private static final String m_sInvalidURL = "A connection could not be created, because the URL is invalid."; + private static final String m_sNoURL = "Specify a MediaWiki server by providing a URL."; + String[] Methods = {sOKMethod, sCancelMethod, sHelpMethod}; private Hashtable setting; @@ -61,6 +69,7 @@ public class WikiEditSettingDialog extends WikiDialog super.setMethods( Methods ); setting = new Hashtable(); addMode = true; + ; InitSaveCheckbox( xContext ); } @@ -153,8 +162,9 @@ public class WikiEditSettingDialog extends WikiDialog if ( sRedirectURL.equals( "" ) ) { // show error - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection to the MediaWiki system at '" + sURL + "' could not be created." ); - ed.show(); + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_sNoConnectionToURL1 + sURL + m_sNoConnectionToURL2 ); } } else @@ -164,8 +174,9 @@ public class WikiEditSettingDialog extends WikiDialog { // a wrong login information is provided // show error - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "User name or password is incorrect. Please try again, or leave the fields blank for an anonymous connection." ); - ed.show(); + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_sWrongLogin ); } else { @@ -198,25 +209,26 @@ public class WikiEditSettingDialog extends WikiDialog { // URL invalid // show error - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection could not be created, because the URL is invalid." ); - ed.show(); + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_sInvalidURL ); } } else { // URL field empty // show error - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "Specify a MediaWiki server by providing a URL." ); - ed.show(); - + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_sNoURL ); } } while ( sRedirectURL.length() > 0 ); } catch ( Exception ex ) { - ErrorDialog ed = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "A connection to the MediaWiki system at '" + sURL + "' could not be created." ); - ed.show(); - + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_sNoConnectionToURL1 + sURL + m_sNoConnectionToURL2 ); ex.printStackTrace(); } return true; diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index 66c11a64e46d..f587249d4725 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditorImpl.java,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ + * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -36,6 +36,7 @@ package com.sun.star.wiki; import com.sun.star.awt.XDialog; +import com.sun.star.awt.XWindowPeer; import com.sun.star.beans.PropertyValue; import com.sun.star.frame.DispatchDescriptor; import com.sun.star.frame.XComponentLoader; @@ -76,6 +77,7 @@ public final class WikiEditorImpl extends WeakBase private static final String m_implementationName = WikiEditorImpl.class.getName(); private static final String[] m_serviceNames = {"com.sun.star.wiki.WikiEditor" }; private static final String m_sGeneralSendError = "The operation 'Send to MediaWiki' could not be completed successfully."; + private static final String m_sNoWikiFilter = "The MediaWiki export filter cannot be found. Choose 'Tools-XML Filter Settings' to install the filter, or use the setup to install the component."; // information needed for component registration public static final String[] supportedServiceNames = {"com.sun.star.frame.ProtocolHandler"}; @@ -400,8 +402,9 @@ public final class WikiEditorImpl extends WeakBase if ( m_aFilterName == null || m_aFilterName.length() == 0 ) { - ErrorDialog ed = new ErrorDialog(m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The MediaWiki export filter cannot be found. Choose 'Tools-XML Filter Settings' to install the filter, or use the setup to install the component."); - ed.show(); + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), + m_sNoWikiFilter ); throw new com.sun.star.uno.RuntimeException(); } @@ -489,8 +492,9 @@ public final class WikiEditorImpl extends WeakBase } else { - ErrorDialog ed = new ErrorDialog(m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", m_sGeneralSendError ); - MainThreadDialogExecutor.Show( m_xContext, ed ); + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), + m_sGeneralSendError ); } } } @@ -503,8 +507,9 @@ public final class WikiEditorImpl extends WeakBase if ( Helper.IsConnectionAllowed() ) { // report the error only if sending was not cancelled - ErrorDialog ed = new ErrorDialog(m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", m_sGeneralSendError ); - MainThreadDialogExecutor.Show( m_xContext, ed ); + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), + m_sGeneralSendError ); } e.printStackTrace(); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 92ffae5124d0..af4f1e17ecf0 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ + * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -39,6 +39,7 @@ import com.sun.star.awt.XControl; import com.sun.star.awt.XControlModel; import com.sun.star.awt.XDialog; import com.sun.star.awt.XThrobber; +import com.sun.star.awt.XWindowPeer; import com.sun.star.beans.UnknownPropertyException; import com.sun.star.beans.XPropertySet; import com.sun.star.container.XNameContainer; @@ -50,6 +51,7 @@ import com.sun.star.uno.XComponentContext; public class WikiPropDialog extends WikiDialog{ + private static final String m_sCancelSending = "The transfer has been interrupted. Please check the integrity of the wiki article."; WikiEditorImpl m_aWikiEditor; private final String sSendMethod = "Send"; @@ -305,8 +307,9 @@ public class WikiPropDialog extends WikiDialog{ } else { - ErrorDialog aED = new ErrorDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", "The transfer has been interrupted. Please check the integrity of the wiki article." ); - aED.show(); + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_sCancelSending ); } return true; -- cgit From eaa5b305ea6967181c4ff7c420e4a07ecc536661 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 14 Dec 2007 09:46:24 +0000 Subject: new version --- swext/mediawiki/src/description.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index e9ca1d212778..dd63eb38501a 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -1,6 +1,6 @@ - + -- cgit From ec1024217dfd42609b0a7a87a2aa1ba7096dce50 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 14 Dec 2007 12:03:54 +0000 Subject: Get XWindowPeer implementation from the dialog --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 13 +++++++++++-- .../src/com/sun/star/wiki/WikiEditSettingDialog.java | 14 +++++++------- swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java | 6 +++--- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index d9fd6393ebc9..349e69869e76 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ + * last change: $Author: mav $ $Date: 2007-12-14 13:03:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -728,6 +728,15 @@ public class Helper return bResult; } + protected static void ShowError( XComponentContext xContext, XDialog xDialog, String sError ) + { + XWindowPeer xPeer = null; + XControl xControl = (XControl)UnoRuntime.queryInterface( XControl.class, xDialog ); + if ( xControl != null ) + xPeer = xControl.getPeer(); + ShowError( xContext, xPeer, sError ); + } + protected static void ShowError( XComponentContext xContext, XWindowPeer xParentPeer, String sError ) { if ( xContext != null && sError != null ) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 1962ffc5cd2b..89346594ceb2 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ + * last change: $Author: mav $ $Date: 2007-12-14 13:03:54 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -163,7 +163,7 @@ public class WikiEditSettingDialog extends WikiDialog { // show error Helper.ShowError( m_xContext, - (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_xDialog, m_sNoConnectionToURL1 + sURL + m_sNoConnectionToURL2 ); } } @@ -175,7 +175,7 @@ public class WikiEditSettingDialog extends WikiDialog // a wrong login information is provided // show error Helper.ShowError( m_xContext, - (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_xDialog, m_sWrongLogin ); } else @@ -210,7 +210,7 @@ public class WikiEditSettingDialog extends WikiDialog // URL invalid // show error Helper.ShowError( m_xContext, - (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_xDialog, m_sInvalidURL ); } } @@ -219,7 +219,7 @@ public class WikiEditSettingDialog extends WikiDialog // URL field empty // show error Helper.ShowError( m_xContext, - (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_xDialog, m_sNoURL ); } } while ( sRedirectURL.length() > 0 ); @@ -227,7 +227,7 @@ public class WikiEditSettingDialog extends WikiDialog catch ( Exception ex ) { Helper.ShowError( m_xContext, - (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_xDialog, m_sNoConnectionToURL1 + sURL + m_sNoConnectionToURL2 ); ex.printStackTrace(); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index af4f1e17ecf0..cf08a12f1190 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ + * last change: $Author: mav $ $Date: 2007-12-14 13:03:54 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -308,7 +308,7 @@ public class WikiPropDialog extends WikiDialog{ else { Helper.ShowError( m_xContext, - (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xDialog ), + m_xDialog, m_sCancelSending ); } -- cgit From adb4d9cda5ffb9e12f583eeecf86976b9183d1f6 Mon Sep 17 00:00:00 2001 From: Artem Khvat Date: Fri, 14 Dec 2007 15:25:53 +0000 Subject: #i80285# Fix baseline --- xpdf/wrapper/pdfioutdev_gpl.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/xpdf/wrapper/pdfioutdev_gpl.cxx b/xpdf/wrapper/pdfioutdev_gpl.cxx index eccfd17de13f..1974ac871cb3 100644 --- a/xpdf/wrapper/pdfioutdev_gpl.cxx +++ b/xpdf/wrapper/pdfioutdev_gpl.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pdfioutdev_gpl.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: thb $ $Date: 2007-12-05 14:16:44 $ + * last change: $Author: akhva $ $Date: 2007-12-14 16:25:53 $ * * The Contents of this file are made available subject to * the terms of GNU General Public License Version 2. @@ -629,15 +629,15 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y, // normalize coordinates // correct from baseline to upper left corner - double x2(0.0), y2(0.0); - state->textTransformDelta( 0.0, + // double x2(0.0), y2(0.0); + /* state->textTransformDelta( 0.0, state->getFontSize()*state->getFont()->getAscent(), &x2, &y2 ); x -= x2; - y += y2; + y += y2;*/ - const double aPositionX(x-originX); - const double aPositionY(y-originY); + const double aPositionX(x/*-originX*/); + const double aPositionY(y/*-originY*/); const double nWidth(dx); const double nHeight(state->getFontSize()); -- cgit From 49a6be88b70ee317191db85d27938db1353a95b4 Mon Sep 17 00:00:00 2001 From: Thorsten Behrens Date: Mon, 17 Dec 2007 00:21:52 +0000 Subject: #i80285# Now writing out correct font size with _every_ updateFont call; adapted unit tests accordingly --- xpdf/wrapper/pdfioutdev_gpl.cxx | 53 ++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/xpdf/wrapper/pdfioutdev_gpl.cxx b/xpdf/wrapper/pdfioutdev_gpl.cxx index 1974ac871cb3..56bd32dcf94c 100644 --- a/xpdf/wrapper/pdfioutdev_gpl.cxx +++ b/xpdf/wrapper/pdfioutdev_gpl.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pdfioutdev_gpl.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: akhva $ $Date: 2007-12-14 16:25:53 $ + * last change: $Author: thb $ $Date: 2007-12-17 01:21:52 $ * * The Contents of this file are made available subject to * the terms of GNU General Public License Version 2. @@ -561,7 +561,7 @@ void PDFOutDev::updateFont(GfxState *state) aFont.isBold, aFont.isItalic, aFont.isUnderline, - normalize(aFont.size), + normalize(state->getTransformedFontSize()), nEmbedSize, escapeLineFeed(aFont.familyName.getCString()) ); } @@ -617,8 +617,27 @@ void PDFOutDev::eoClip(GfxState *state) printf( "\n" ); } +/** Output one glyph + + + @param dx + horizontal skip for character (already scaled with font size) + + inter-char space: cursor is shifted by this amount for next char + + @param dy + vertical skip for character (zero for horizontal writing mode): + cursor is shifted by this amount for next char + + @param originX + local offset of character (zero for horizontal writing mode). not + taken into account for output pos updates. Used for vertical writing. + + @param originY + local offset of character (zero for horizontal writing mode). not + taken into account for output pos updates. Used for vertical writing. + */ void PDFOutDev::drawChar(GfxState *state, double x, double y, - double dx, double /*dy*/, + double dx, double dy, double originX, double originY, CharCode, int /*nBytes*/, Unicode *u, int uLen) { @@ -627,19 +646,21 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y, if( u == NULL ) return; - // normalize coordinates - // correct from baseline to upper left corner - // double x2(0.0), y2(0.0); - /* state->textTransformDelta( 0.0, - state->getFontSize()*state->getFont()->getAscent(), + // normalize coordinates: correct from baseline-relative to upper + // left corner of glyphs + double x2(0.0), y2(0.0); + state->textTransformDelta( 0.0, + state->getFont()->getAscent(), &x2, &y2 ); - x -= x2; - y += y2;*/ - - const double aPositionX(x/*-originX*/); - const double aPositionY(y/*-originY*/); - const double nWidth(dx); - const double nHeight(state->getFontSize()); + const double fFontSize(state->getFontSize()); + x -= x2*fFontSize; + y += y2*fFontSize; + + const double aPositionX(x-originX); + const double aPositionY(y-originY); + // TODO(F2): use leading here, when set + const double nWidth(dx != 0.0 ? dx : fFontSize); + const double nHeight(dy != 0.0 ? dy : fFontSize); const double* pTextMat=state->getTextMat(); printf( "drawChar %f %f %f %f %f %f %f %f ", -- cgit From 4cb55431400d07fe301c216b19b7a3dc24e0bea3 Mon Sep 17 00:00:00 2001 From: Thorsten Behrens Date: Mon, 17 Dec 2007 02:44:23 +0000 Subject: #i80285# Slightly changed font size handling again, now taking into account pdf coord system orientation; adapted test files as well --- xpdf/test/text_0_out.def | 202 + xpdf/test/text_1_out.def | 39667 ++++++++++++++++++++++++++++++++++++++ xpdf/wrapper/pdfioutdev_gpl.cxx | 8 +- 3 files changed, 39873 insertions(+), 4 deletions(-) create mode 100644 xpdf/test/text_0_out.def create mode 100644 xpdf/test/text_1_out.def diff --git a/xpdf/test/text_0_out.def b/xpdf/test/text_0_out.def new file mode 100644 index 000000000000..eaa2a47eb067 --- /dev/null +++ b/xpdf/test/text_0_out.def @@ -0,0 +1,202 @@ +setPageNum 1 +startPage 79400.000000 59500.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 59500.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 794.000000 0.000000 0 794.000000 595.000000 0 0.000000 595.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.300000 0 793.800000 -0.300000 0 793.800000 595.000000 0 0.000000 595.000000 0 0.000000 -0.300000 0 +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 16 1 0 0 0 1400.000000 10932 BAAAAA+Thorndale +drawChar 39.700000 52.674000 43.200000 38.674000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 16 1 0 0 0 1400.000000 0 BAAAAA+Thorndale +drawChar 395.400000 52.674000 398.900000 38.674000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +saveState +updateLineWidth 0.000000 +updateLineCap 0 +updateLineJoin 1 +updateLineDash 0.000000 4 14.376400 14.376400 14.376400 14.376400 +strokePath subpath 0 498.900000 538.300000 0 144.600000 297.400000 0 +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 11 1 0 0 0 1800.000000 20752 CAAAAA+Albany +drawChar 35.400000 466.790000 46.380000 448.790000 1.000000 0.000000 0.000000 1.000000 T +drawChar 46.596000 466.790000 56.604000 448.790000 1.000000 0.000000 0.000000 1.000000 h +drawChar 56.496000 466.790000 60.492000 448.790000 1.000000 0.000000 0.000000 1.000000 i +drawChar 60.492000 466.790000 69.492000 448.790000 1.000000 0.000000 0.000000 1.000000 s +drawChar 69.492000 466.790000 74.478000 448.790000 1.000000 0.000000 0.000000 1.000000 +drawChar 74.496000 466.790000 78.492000 448.790000 1.000000 0.000000 0.000000 1.000000 i +drawChar 78.492000 466.790000 87.492000 448.790000 1.000000 0.000000 0.000000 1.000000 s +drawChar 87.492000 466.790000 92.478000 448.790000 1.000000 0.000000 0.000000 1.000000 +drawChar 92.496000 466.790000 102.504000 448.790000 1.000000 0.000000 0.000000 1.000000 a +drawChar 102.504000 466.790000 107.490000 448.790000 1.000000 0.000000 0.000000 1.000000 +drawChar 107.508000 466.790000 112.494000 448.790000 1.000000 0.000000 0.000000 1.000000 t +drawChar 112.602000 466.790000 122.610000 448.790000 1.000000 0.000000 0.000000 1.000000 e +drawChar 122.502000 466.790000 131.502000 448.790000 1.000000 0.000000 0.000000 1.000000 s +drawChar 131.502000 466.790000 136.488000 448.790000 1.000000 0.000000 0.000000 1.000000 t +drawChar 136.596000 466.790000 141.582000 448.790000 1.000000 0.000000 0.000000 1.000000 t +drawChar 141.600000 466.790000 151.608000 448.790000 1.000000 0.000000 0.000000 1.000000 e +drawChar 151.608000 466.790000 160.608000 448.790000 1.000000 0.000000 0.000000 1.000000 x +drawChar 160.410000 466.790000 165.396000 448.790000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 11 1 0 0 0 1800.000000 0 CAAAAA+Albany +drawChar 35.400000 446.590000 48.396000 428.590000 1.000000 0.000000 0.000000 1.000000 N +drawChar 48.396000 446.590000 58.404000 428.590000 1.000000 0.000000 0.000000 1.000000 e +drawChar 58.296000 446.590000 71.292000 428.590000 1.000000 0.000000 0.000000 1.000000 w +drawChar 70.896000 446.590000 75.882000 428.590000 1.000000 0.000000 0.000000 1.000000 +drawChar 75.990000 446.590000 85.998000 428.590000 1.000000 0.000000 0.000000 1.000000 p +drawChar 85.890000 446.590000 95.898000 428.590000 1.000000 0.000000 0.000000 1.000000 a +drawChar 95.898000 446.590000 101.892000 428.590000 1.000000 0.000000 0.000000 1.000000 r +drawChar 101.892000 446.590000 111.900000 428.590000 1.000000 0.000000 0.000000 1.000000 a +drawChar 111.900000 446.590000 121.908000 428.590000 1.000000 0.000000 0.000000 1.000000 g +drawChar 121.800000 446.590000 127.794000 428.590000 1.000000 0.000000 0.000000 1.000000 r +drawChar 127.794000 446.590000 137.802000 428.590000 1.000000 0.000000 0.000000 1.000000 a +drawChar 137.802000 446.590000 147.810000 428.590000 1.000000 0.000000 0.000000 1.000000 p +drawChar 147.702000 446.590000 157.710000 428.590000 1.000000 0.000000 0.000000 1.000000 h +drawChar 157.710000 446.590000 162.696000 428.590000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 11 1 0 0 0 1800.000000 0 CAAAAA+Albany +drawChar 35.400000 426.390000 45.408000 408.390000 1.000000 0.000000 0.000000 1.000000 n +drawChar 45.408000 426.390000 55.416000 408.390000 1.000000 0.000000 0.000000 1.000000 e +drawChar 55.308000 426.390000 68.304000 408.390000 1.000000 0.000000 0.000000 1.000000 w +drawChar 67.908000 426.390000 72.894000 408.390000 1.000000 0.000000 0.000000 1.000000 +drawChar 73.002000 426.390000 76.998000 408.390000 1.000000 0.000000 0.000000 1.000000 l +drawChar 76.908000 426.390000 80.904000 408.390000 1.000000 0.000000 0.000000 1.000000 i +drawChar 80.904000 426.390000 90.912000 408.390000 1.000000 0.000000 0.000000 1.000000 n +drawChar 90.912000 426.390000 100.920000 408.390000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.799988 1.000000 +updateFont 11 1 0 0 0 1800.000000 0 CAAAAA+Albany +drawChar 35.400000 406.190000 48.396000 388.190000 1.000000 0.000000 0.000000 1.000000 H +drawChar 48.396000 406.190000 57.396000 388.190000 1.000000 0.000000 0.000000 1.000000 y +drawChar 57.090000 406.190000 67.098000 388.190000 1.000000 0.000000 0.000000 1.000000 p +drawChar 67.098000 406.190000 77.106000 388.190000 1.000000 0.000000 0.000000 1.000000 e +drawChar 76.998000 406.190000 82.992000 388.190000 1.000000 0.000000 0.000000 1.000000 r +drawChar 83.100000 406.190000 87.096000 388.190000 1.000000 0.000000 0.000000 1.000000 l +drawChar 87.006000 406.190000 91.002000 388.190000 1.000000 0.000000 0.000000 1.000000 i +drawChar 91.002000 406.190000 101.010000 388.190000 1.000000 0.000000 0.000000 1.000000 n +drawChar 100.902000 406.190000 109.902000 388.190000 1.000000 0.000000 0.000000 1.000000 k +drawChar 109.902000 406.190000 114.888000 388.190000 1.000000 0.000000 0.000000 1.000000 , +drawChar 114.996000 406.190000 119.982000 388.190000 1.000000 0.000000 0.000000 1.000000 +drawChar 120.000000 406.190000 124.986000 388.190000 1.000000 0.000000 0.000000 1.000000 t +drawChar 125.004000 406.190000 135.012000 388.190000 1.000000 0.000000 0.000000 1.000000 h +drawChar 135.012000 406.190000 139.008000 388.190000 1.000000 0.000000 0.000000 1.000000 i +drawChar 139.008000 406.190000 148.008000 388.190000 1.000000 0.000000 0.000000 1.000000 s +drawChar 148.008000 406.190000 152.994000 388.190000 1.000000 0.000000 0.000000 1.000000 +drawChar 153.012000 406.190000 157.008000 388.190000 1.000000 0.000000 0.000000 1.000000 i +drawChar 157.008000 406.190000 166.008000 388.190000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 21 1 0 0 0 1440.000000 8140 DAAAAA+StarSymbol +drawChar 405.400000 246.257600 416.171200 231.857600 1.000000 0.000000 0.000000 1.000000 ● +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 11 1 0 0 0 3200.000000 0 CAAAAA+Albany +drawChar 430.900000 254.760000 450.420000 222.760000 1.000000 0.000000 0.000000 1.000000 T +drawChar 450.516000 254.760000 468.308000 222.760000 1.000000 0.000000 0.000000 1.000000 h +drawChar 468.308000 254.760000 475.412000 222.760000 1.000000 0.000000 0.000000 1.000000 i +drawChar 475.316000 254.760000 491.316000 222.760000 1.000000 0.000000 0.000000 1.000000 s +drawChar 491.412000 254.760000 500.276000 222.760000 1.000000 0.000000 0.000000 1.000000 +drawChar 500.308000 254.760000 507.412000 222.760000 1.000000 0.000000 0.000000 1.000000 i +drawChar 507.412000 254.760000 523.412000 222.760000 1.000000 0.000000 0.000000 1.000000 s +drawChar 523.412000 254.760000 532.276000 222.760000 1.000000 0.000000 0.000000 1.000000 +drawChar 532.308000 254.760000 558.964000 222.760000 1.000000 0.000000 0.000000 1.000000 m +drawChar 558.996000 254.760000 576.788000 222.760000 1.000000 0.000000 0.000000 1.000000 o +drawChar 576.692000 254.760000 587.348000 222.760000 1.000000 0.000000 0.000000 1.000000 r +drawChar 587.380000 254.760000 605.172000 222.760000 1.000000 0.000000 0.000000 1.000000 e +drawChar 605.172000 254.760000 614.036000 222.760000 1.000000 0.000000 0.000000 1.000000 +drawChar 613.972000 254.760000 622.836000 222.760000 1.000000 0.000000 0.000000 1.000000 t +drawChar 622.868000 254.760000 640.660000 222.760000 1.000000 0.000000 0.000000 1.000000 e +drawChar 640.660000 254.760000 656.660000 222.760000 1.000000 0.000000 0.000000 1.000000 x +drawChar 656.756000 254.760000 665.620000 222.760000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 11 1 0 0 0 3200.000000 0 CAAAAA+Albany +drawChar 430.900000 218.860000 448.692000 186.860000 1.000000 0.000000 0.000000 1.000000 o +drawChar 448.692000 218.860000 466.484000 186.860000 1.000000 0.000000 0.000000 1.000000 u +drawChar 466.388000 218.860000 475.252000 186.860000 1.000000 0.000000 0.000000 1.000000 t +drawChar 475.284000 218.860000 482.388000 186.860000 1.000000 0.000000 0.000000 1.000000 l +drawChar 482.388000 218.860000 489.492000 186.860000 1.000000 0.000000 0.000000 1.000000 i +drawChar 489.492000 218.860000 507.284000 186.860000 1.000000 0.000000 0.000000 1.000000 n +drawChar 507.188000 218.860000 524.980000 186.860000 1.000000 0.000000 0.000000 1.000000 e +drawChar 524.980000 218.860000 533.844000 186.860000 1.000000 0.000000 0.000000 1.000000 +drawChar 533.876000 218.860000 560.532000 186.860000 1.000000 0.000000 0.000000 1.000000 m +drawChar 560.468000 218.860000 578.260000 186.860000 1.000000 0.000000 0.000000 1.000000 o +drawChar 578.260000 218.860000 596.052000 186.860000 1.000000 0.000000 0.000000 1.000000 d +drawChar 595.956000 218.860000 613.748000 186.860000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 21 1 0 0 0 1440.000000 0 DAAAAA+StarSymbol +drawChar 405.400000 160.357600 416.171200 145.957600 1.000000 0.000000 0.000000 1.000000 ● +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 11 1 0 0 0 3200.000000 0 CAAAAA+Albany +drawChar 430.900000 168.760000 454.004000 136.760000 1.000000 0.000000 0.000000 1.000000 N +drawChar 454.100000 168.760000 471.892000 136.760000 1.000000 0.000000 0.000000 1.000000 e +drawChar 471.892000 168.760000 494.996000 136.760000 1.000000 0.000000 0.000000 1.000000 w +drawChar 494.996000 168.760000 503.860000 136.760000 1.000000 0.000000 0.000000 1.000000 +drawChar 503.892000 168.760000 521.684000 136.760000 1.000000 0.000000 0.000000 1.000000 p +drawChar 521.588000 168.760000 539.380000 136.760000 1.000000 0.000000 0.000000 1.000000 a +drawChar 539.380000 168.760000 550.036000 136.760000 1.000000 0.000000 0.000000 1.000000 r +drawChar 550.068000 168.760000 567.860000 136.760000 1.000000 0.000000 0.000000 1.000000 a +drawChar 567.764000 168.760000 585.556000 136.760000 1.000000 0.000000 0.000000 1.000000 g +drawChar 585.556000 168.760000 596.212000 136.760000 1.000000 0.000000 0.000000 1.000000 r +drawChar 596.244000 168.760000 614.036000 136.760000 1.000000 0.000000 0.000000 1.000000 a +drawChar 613.940000 168.760000 631.732000 136.760000 1.000000 0.000000 0.000000 1.000000 p +drawChar 631.732000 168.760000 649.524000 136.760000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +updateFillColor 1.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 120.500000 98.900000 0 77.400000 98.900000 1 42.500000 133.800000 1 42.500000 176.900000 0 42.500000 219.900000 1 77.400000 254.800000 1 120.500000 254.800000 0 163.500000 254.800000 1 198.400000 219.900000 1 198.400000 176.900000 0 198.400000 133.800000 1 163.500000 98.900000 1 120.500000 98.900000 0 +saveState +updateCtm 22680.000000 0.000000 0.000000 -14740.000000 49610.000000 27490.000000 +drawImage 800 600 0 JPEG 44129 +restoreState +updateStrokeColor 0.000000 1.000000 0.000000 1.000000 +saveState +updateLineWidth 28.300000 +updateLineCap 0 +updateLineJoin 1 +strokePath subpath 0 535.700000 518.500000 0 181.400000 277.500000 0 +restoreState +restoreState +restoreState +endPage +drawLink 34.700000 386.000000 166.700000 406.200000 http://download.openoffice.org/ diff --git a/xpdf/test/text_1_out.def b/xpdf/test/text_1_out.def new file mode 100644 index 000000000000..3478cd64003e --- /dev/null +++ b/xpdf/test/text_1_out.def @@ -0,0 +1,39667 @@ +setPageNum 18 +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 80 1 0 0 0 3600.000000 14108 BAAAAA+Albany-Bold +drawChar 277.800000 717.980000 307.788000 681.980000 1.000000 0.000000 0.000000 1.000000 M +drawChar 307.788000 717.980000 327.804000 681.980000 1.000000 0.000000 0.000000 1.000000 y +drawChar 327.804000 717.980000 337.776000 681.980000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.812000 717.980000 363.804000 681.980000 1.000000 0.000000 0.000000 1.000000 H +drawChar 363.804000 717.980000 385.764000 681.980000 1.000000 0.000000 0.000000 1.000000 o +drawChar 385.800000 717.980000 407.760000 681.980000 1.000000 0.000000 0.000000 1.000000 u +drawChar 407.688000 717.980000 427.704000 681.980000 1.000000 0.000000 0.000000 1.000000 s +drawChar 427.776000 717.980000 447.792000 681.980000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +restoreState +saveState +eoClipPath subpath 1 134.300000 296.800000 0 477.900000 296.800000 0 477.900000 606.600000 0 134.300000 606.600000 0 134.300000 296.800000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 13430.000000 49520.000000 +drawSoftMaskedImage 458 413 458 413 JPEG 27507 PPM 567477 +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 108.000000 72.000000 0 540.000000 72.000000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 72.000000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 108.000000 701.500000 0 540.000000 701.500000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 701.500000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 108.100000 716.588000 117.876000 700.588000 1.000000 0.000000 0.000000 1.000000 T +drawChar 117.908000 716.588000 126.804000 700.588000 1.000000 0.000000 0.000000 1.000000 a +drawChar 126.804000 716.588000 135.700000 700.588000 1.000000 0.000000 0.000000 1.000000 b +drawChar 135.700000 716.588000 139.252000 700.588000 1.000000 0.000000 0.000000 1.000000 l +drawChar 139.300000 716.588000 148.196000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 148.308000 716.588000 152.756000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 152.804000 716.588000 161.700000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 161.700000 716.588000 166.148000 700.588000 1.000000 0.000000 0.000000 1.000000 f +drawChar 166.196000 716.588000 170.644000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 170.692000 716.588000 182.244000 700.588000 1.000000 0.000000 0.000000 1.000000 C +drawChar 182.196000 716.588000 191.092000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 191.092000 716.588000 199.988000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 200.100000 716.588000 204.548000 700.588000 1.000000 0.000000 0.000000 1.000000 t +drawChar 204.500000 716.588000 213.396000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 213.508000 716.588000 222.404000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 222.404000 716.588000 226.852000 700.588000 1.000000 0.000000 0.000000 1.000000 t +drawChar 226.900000 716.588000 234.900000 700.588000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.752930 0.752930 0.752930 1.000000 +updateFont 107 0 0 0 0 190.000000 0 Helvetica-Bold +drawChar 316.000000 672.564200 317.160900 670.664200 1.000000 0.000000 0.000000 1.000000 T +drawChar 317.200800 672.564200 318.257200 670.664200 1.000000 0.000000 0.000000 1.000000 a +drawChar 318.200200 672.564200 319.361100 670.664200 1.000000 0.000000 0.000000 1.000000 b +drawChar 319.401000 672.564200 319.929200 670.664200 1.000000 0.000000 0.000000 1.000000 l +drawChar 319.900700 672.564200 320.957100 670.664200 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.000800 672.564200 321.529000 670.664200 1.000000 0.000000 0.000000 1.000000 +drawChar 321.500500 672.564200 322.661400 670.664200 1.000000 0.000000 0.000000 1.000000 o +drawChar 322.701300 672.564200 323.334000 670.664200 1.000000 0.000000 0.000000 1.000000 f +drawChar 323.400500 672.564200 323.928700 670.664200 1.000000 0.000000 0.000000 1.000000 +drawChar 323.900200 672.564200 325.272000 670.664200 1.000000 0.000000 0.000000 1.000000 C +drawChar 325.199800 672.564200 326.360700 670.664200 1.000000 0.000000 0.000000 1.000000 o +drawChar 326.400600 672.564200 327.561500 670.664200 1.000000 0.000000 0.000000 1.000000 n +drawChar 327.601400 672.564200 328.234100 670.664200 1.000000 0.000000 0.000000 1.000000 t +drawChar 328.201800 672.564200 329.258200 670.664200 1.000000 0.000000 0.000000 1.000000 e +drawChar 329.201200 672.564200 330.362100 670.664200 1.000000 0.000000 0.000000 1.000000 n +drawChar 330.402000 672.564200 331.034700 670.664200 1.000000 0.000000 0.000000 1.000000 t +drawChar 331.002400 672.564200 332.058800 670.664200 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 32476 EAAAAA+Thorndale-Bold +drawChar 108.100000 658.192000 119.416000 646.192000 1.000000 0.000000 0.000000 1.000000 M +drawChar 119.500000 658.192000 125.500000 646.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 125.404000 658.192000 128.404000 646.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 128.404000 658.192000 137.728000 646.192000 1.000000 0.000000 0.000000 1.000000 H +drawChar 137.800000 658.192000 143.800000 646.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 143.704000 658.192000 150.376000 646.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 150.400000 658.192000 155.068000 646.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 155.104000 658.192000 160.420000 646.192000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 160.300000 658.192000 163.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.300000 658.192000 166.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.300000 658.192000 169.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.300000 658.192000 172.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.300000 658.192000 175.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.300000 658.192000 178.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.300000 658.192000 181.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.300000 658.192000 184.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.300000 658.192000 187.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.300000 658.192000 190.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.300000 658.192000 193.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.300000 658.192000 196.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.300000 658.192000 199.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.300000 658.192000 202.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.300000 658.192000 205.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.300000 658.192000 208.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.300000 658.192000 211.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.300000 658.192000 214.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.300000 658.192000 217.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.300000 658.192000 220.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.300000 658.192000 223.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.300000 658.192000 226.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 226.300000 658.192000 229.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 229.300000 658.192000 232.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 232.300000 658.192000 235.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 235.300000 658.192000 238.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 238.300000 658.192000 241.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 241.300000 658.192000 244.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 244.300000 658.192000 247.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 247.300000 658.192000 250.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 250.300000 658.192000 253.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 253.300000 658.192000 256.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 256.300000 658.192000 259.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 259.300000 658.192000 262.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 262.300000 658.192000 265.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 265.300000 658.192000 268.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 268.300000 658.192000 271.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 271.300000 658.192000 274.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 274.300000 658.192000 277.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 277.300000 658.192000 280.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 280.300000 658.192000 283.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 283.300000 658.192000 286.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.300000 658.192000 289.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.300000 658.192000 292.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.300000 658.192000 295.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.300000 658.192000 298.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.300000 658.192000 301.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.300000 658.192000 304.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.300000 658.192000 307.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.300000 658.192000 310.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.300000 658.192000 313.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.300000 658.192000 316.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.300000 658.192000 319.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.300000 658.192000 322.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.300000 658.192000 325.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.300000 658.192000 328.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.300000 658.192000 331.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.300000 658.192000 334.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.300000 658.192000 337.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.300000 658.192000 340.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.300000 658.192000 343.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.300000 658.192000 346.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.300000 658.192000 349.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.300000 658.192000 352.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.300000 658.192000 355.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.300000 658.192000 358.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.300000 658.192000 361.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.300000 658.192000 364.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.300000 658.192000 367.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.300000 658.192000 370.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.300000 658.192000 373.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.300000 658.192000 376.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.300000 658.192000 379.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.300000 658.192000 382.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.300000 658.192000 385.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.300000 658.192000 388.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.300000 658.192000 391.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.300000 658.192000 394.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.300000 658.192000 397.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.300000 658.192000 400.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.300000 658.192000 403.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.300000 658.192000 406.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.300000 658.192000 409.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.300000 658.192000 412.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.300000 658.192000 415.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.300000 658.192000 418.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.300000 658.192000 421.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.300000 658.192000 424.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.300000 658.192000 427.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.300000 658.192000 430.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.300000 658.192000 433.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.300000 658.192000 436.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.300000 658.192000 439.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.300000 658.192000 442.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.300000 658.192000 445.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.300000 658.192000 448.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.300000 658.192000 451.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.300000 658.192000 454.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.300000 658.192000 457.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.300000 658.192000 460.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.300000 658.192000 463.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.300000 658.192000 466.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.300000 658.192000 469.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.300000 658.192000 472.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.300000 658.192000 475.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.300000 658.192000 478.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.300000 658.192000 481.300000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.396000 658.192000 484.396000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.492000 658.192000 487.492000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.588000 658.192000 490.588000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.684000 658.192000 493.684000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.780000 658.192000 496.780000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.876000 658.192000 499.876000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.972000 658.192000 502.972000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.068000 658.192000 506.068000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.164000 658.192000 509.164000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.260000 658.192000 512.260000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.356000 658.192000 515.356000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.452000 658.192000 518.452000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.548000 658.192000 521.548000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.644000 658.192000 524.644000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.740000 658.192000 527.740000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.836000 658.192000 530.836000 646.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 530.932000 658.192000 533.932000 646.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 534.100000 658.192000 540.100000 646.192000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 641.192000 228.820000 629.192000 1.000000 0.000000 0.000000 1.000000 F +drawChar 228.796000 641.192000 232.120000 629.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 232.096000 641.192000 237.412000 629.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.400000 641.192000 242.068000 629.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 242.104000 641.192000 246.100000 629.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 246.208000 641.192000 249.208000 629.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 249.208000 641.192000 256.528000 629.192000 1.000000 0.000000 0.000000 1.000000 F +drawChar 256.408000 641.192000 259.732000 629.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 259.804000 641.192000 265.804000 629.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 265.804000 641.192000 271.804000 629.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 271.804000 641.192000 277.120000 629.192000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 277.100000 641.192000 280.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 280.100000 641.192000 283.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 283.100000 641.192000 286.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.100000 641.192000 289.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.100000 641.192000 292.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.100000 641.192000 295.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.100000 641.192000 298.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.100000 641.192000 301.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.100000 641.192000 304.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.100000 641.192000 307.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.100000 641.192000 310.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.100000 641.192000 313.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.100000 641.192000 316.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.100000 641.192000 319.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.100000 641.192000 322.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.100000 641.192000 325.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.100000 641.192000 328.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.100000 641.192000 331.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.100000 641.192000 334.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.100000 641.192000 337.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.100000 641.192000 340.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.100000 641.192000 343.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.100000 641.192000 346.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.100000 641.192000 349.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.100000 641.192000 352.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.100000 641.192000 355.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.100000 641.192000 358.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.100000 641.192000 361.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.100000 641.192000 364.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.100000 641.192000 367.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.100000 641.192000 370.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.100000 641.192000 373.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.100000 641.192000 376.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.100000 641.192000 379.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.100000 641.192000 382.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.100000 641.192000 385.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.100000 641.192000 388.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.100000 641.192000 391.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.100000 641.192000 394.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.100000 641.192000 397.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.100000 641.192000 400.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.100000 641.192000 403.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.100000 641.192000 406.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 641.192000 409.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 641.192000 412.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 641.192000 415.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 641.192000 418.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 641.192000 421.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 641.192000 424.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 641.192000 427.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 641.192000 430.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 641.192000 433.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 641.192000 436.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 641.192000 439.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 641.192000 442.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 641.192000 445.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 641.192000 448.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 641.192000 451.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 641.192000 454.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 641.192000 457.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 641.192000 460.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 641.192000 463.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 641.192000 466.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.100000 641.192000 469.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.100000 641.192000 472.100000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.196000 641.192000 475.196000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.292000 641.192000 478.292000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.388000 641.192000 481.388000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.484000 641.192000 484.484000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.580000 641.192000 487.580000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.676000 641.192000 490.676000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.772000 641.192000 493.772000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.868000 641.192000 496.868000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.964000 641.192000 499.964000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.060000 641.192000 503.060000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.156000 641.192000 506.156000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.252000 641.192000 509.252000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.348000 641.192000 512.348000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.444000 641.192000 515.444000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.540000 641.192000 518.540000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.636000 641.192000 521.636000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.732000 641.192000 524.732000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.828000 641.192000 527.828000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.924000 641.192000 530.924000 629.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 531.020000 641.192000 534.020000 629.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 534.100000 641.192000 540.100000 629.192000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 42484 FAAAAA+Thorndale +drawChar 221.500000 627.792000 228.820000 615.792000 1.000000 0.000000 0.000000 1.000000 L +drawChar 228.904000 627.792000 232.228000 615.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 232.300000 627.792000 238.300000 615.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 238.096000 627.792000 241.420000 615.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 241.492000 627.792000 247.492000 615.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 247.492000 627.792000 253.492000 615.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 253.492000 627.792000 256.492000 615.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 256.492000 627.792000 264.484000 615.792000 1.000000 0.000000 0.000000 1.000000 R +drawChar 264.496000 627.792000 270.496000 615.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 270.496000 627.792000 276.496000 615.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 276.496000 627.792000 285.820000 615.792000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 285.700000 627.792000 288.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.700000 627.792000 291.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 291.700000 627.792000 294.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 294.700000 627.792000 297.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 297.700000 627.792000 300.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 300.700000 627.792000 303.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 303.700000 627.792000 306.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.700000 627.792000 309.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.700000 627.792000 312.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.700000 627.792000 315.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.700000 627.792000 318.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.700000 627.792000 321.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.700000 627.792000 324.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 324.700000 627.792000 327.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.700000 627.792000 330.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 330.700000 627.792000 333.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 333.700000 627.792000 336.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 336.700000 627.792000 339.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.700000 627.792000 342.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 342.700000 627.792000 345.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.700000 627.792000 348.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.700000 627.792000 351.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.700000 627.792000 354.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.700000 627.792000 357.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.700000 627.792000 360.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.700000 627.792000 363.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.700000 627.792000 366.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.700000 627.792000 369.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.700000 627.792000 372.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.700000 627.792000 375.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.700000 627.792000 378.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.700000 627.792000 381.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.700000 627.792000 384.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.700000 627.792000 387.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.700000 627.792000 390.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.700000 627.792000 393.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.700000 627.792000 396.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.700000 627.792000 399.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.700000 627.792000 402.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.700000 627.792000 405.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.700000 627.792000 408.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.700000 627.792000 411.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.700000 627.792000 414.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.700000 627.792000 417.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.700000 627.792000 420.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.700000 627.792000 423.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.700000 627.792000 426.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.700000 627.792000 429.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.700000 627.792000 432.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.700000 627.792000 435.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.700000 627.792000 438.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.700000 627.792000 441.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.700000 627.792000 444.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.700000 627.792000 447.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.700000 627.792000 450.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.700000 627.792000 453.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.700000 627.792000 456.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.700000 627.792000 459.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.700000 627.792000 462.700000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.796000 627.792000 465.796000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.892000 627.792000 468.892000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.988000 627.792000 471.988000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.084000 627.792000 475.084000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.180000 627.792000 478.180000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.276000 627.792000 481.276000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.372000 627.792000 484.372000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.468000 627.792000 487.468000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.564000 627.792000 490.564000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.660000 627.792000 493.660000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.756000 627.792000 496.756000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.852000 627.792000 499.852000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.948000 627.792000 502.948000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.044000 627.792000 506.044000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.140000 627.792000 509.140000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.236000 627.792000 512.236000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.332000 627.792000 515.332000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.428000 627.792000 518.428000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.524000 627.792000 521.524000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.620000 627.792000 524.620000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.716000 627.792000 527.716000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.812000 627.792000 530.812000 615.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 530.908000 627.792000 533.908000 615.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 534.100000 627.792000 540.100000 615.792000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 614.401000 227.616000 603.401000 1.000000 0.000000 0.000000 1.000000 F +drawChar 227.704000 614.401000 230.751000 603.401000 1.000000 0.000000 0.000000 1.000000 i +drawChar 230.707000 614.401000 234.370000 603.401000 1.000000 0.000000 0.000000 1.000000 r +drawChar 234.403000 614.401000 239.276000 603.401000 1.000000 0.000000 0.000000 1.000000 e +drawChar 239.298000 614.401000 244.798000 603.401000 1.000000 0.000000 0.000000 1.000000 p +drawChar 244.798000 614.401000 247.845000 603.401000 1.000000 0.000000 0.000000 1.000000 l +drawChar 247.801000 614.401000 252.674000 603.401000 1.000000 0.000000 0.000000 1.000000 a +drawChar 252.696000 614.401000 257.569000 603.401000 1.000000 0.000000 0.000000 1.000000 c +drawChar 257.591000 614.401000 262.464000 603.401000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 262.500000 614.401000 265.250000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 265.305000 614.401000 268.055000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 268.110000 614.401000 270.860000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.915000 614.401000 273.665000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.720000 614.401000 276.470000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.525000 614.401000 279.275000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.330000 614.401000 282.080000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.135000 614.401000 284.885000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.940000 614.401000 287.690000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.745000 614.401000 290.495000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.550000 614.401000 293.300000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.355000 614.401000 296.105000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.160000 614.401000 298.910000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.965000 614.401000 301.715000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.770000 614.401000 304.520000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.575000 614.401000 307.325000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.380000 614.401000 310.130000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.185000 614.401000 312.935000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.990000 614.401000 315.740000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.795000 614.401000 318.545000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.600000 614.401000 321.350000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.405000 614.401000 324.155000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 324.210000 614.401000 326.960000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.015000 614.401000 329.765000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.820000 614.401000 332.570000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.625000 614.401000 335.375000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.430000 614.401000 338.180000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.235000 614.401000 340.985000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.040000 614.401000 343.790000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.845000 614.401000 346.595000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.650000 614.401000 349.400000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.455000 614.401000 352.205000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.260000 614.401000 355.010000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.065000 614.401000 357.815000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.870000 614.401000 360.620000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.675000 614.401000 363.425000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.480000 614.401000 366.230000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.285000 614.401000 369.035000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.090000 614.401000 371.840000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.895000 614.401000 374.645000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.700000 614.401000 377.450000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.505000 614.401000 380.255000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.310000 614.401000 383.060000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.115000 614.401000 385.865000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.920000 614.401000 388.670000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.725000 614.401000 391.475000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.530000 614.401000 394.280000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.335000 614.401000 397.085000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.140000 614.401000 399.890000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.945000 614.401000 402.695000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.750000 614.401000 405.500000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.555000 614.401000 408.305000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.360000 614.401000 411.110000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.165000 614.401000 413.915000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.970000 614.401000 416.720000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.775000 614.401000 419.525000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.580000 614.401000 422.330000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.385000 614.401000 425.135000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.190000 614.401000 427.940000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.995000 614.401000 430.745000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.800000 614.401000 433.550000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.605000 614.401000 436.355000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.410000 614.401000 439.160000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.215000 614.401000 441.965000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.020000 614.401000 444.770000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.825000 614.401000 447.575000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.630000 614.401000 450.380000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.435000 614.401000 453.185000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.240000 614.401000 455.990000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.045000 614.401000 458.795000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.850000 614.401000 461.600000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.655000 614.401000 464.405000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.460000 614.401000 467.210000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.265000 614.401000 470.015000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.070000 614.401000 472.820000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.875000 614.401000 475.625000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.680000 614.401000 478.430000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.485000 614.401000 481.235000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.290000 614.401000 484.040000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.095000 614.401000 486.845000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.900000 614.401000 489.650000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.705000 614.401000 492.455000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.510000 614.401000 495.260000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.315000 614.401000 498.065000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.120000 614.401000 500.870000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.925000 614.401000 503.675000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.730000 614.401000 506.480000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.535000 614.401000 509.285000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.340000 614.401000 512.090000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.145000 614.401000 514.895000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.950000 614.401000 517.700000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.755000 614.401000 520.505000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.659000 614.401000 523.409000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.563000 614.401000 526.313000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.467000 614.401000 529.217000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.371000 614.401000 532.121000 603.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.275000 614.401000 535.025000 603.401000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 614.401000 540.100000 603.401000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 602.101000 228.826000 591.101000 1.000000 0.000000 0.000000 1.000000 B +drawChar 228.804000 602.101000 234.304000 591.101000 1.000000 0.000000 0.000000 1.000000 o +drawChar 234.304000 602.101000 239.804000 591.101000 1.000000 0.000000 0.000000 1.000000 o +drawChar 239.903000 602.101000 245.403000 591.101000 1.000000 0.000000 0.000000 1.000000 k +drawChar 245.304000 602.101000 250.177000 591.101000 1.000000 0.000000 0.000000 1.000000 c +drawChar 250.199000 602.101000 255.072000 591.101000 1.000000 0.000000 0.000000 1.000000 a +drawChar 255.094000 602.101000 259.373000 591.101000 1.000000 0.000000 0.000000 1.000000 s +drawChar 259.395000 602.101000 264.268000 591.101000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 264.300000 602.101000 267.050000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.105000 602.101000 269.855000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 269.910000 602.101000 272.660000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 272.715000 602.101000 275.465000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 275.520000 602.101000 278.270000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.325000 602.101000 281.075000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.130000 602.101000 283.880000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 283.935000 602.101000 286.685000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.740000 602.101000 289.490000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.545000 602.101000 292.295000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.350000 602.101000 295.100000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.155000 602.101000 297.905000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 297.960000 602.101000 300.710000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 300.765000 602.101000 303.515000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 303.570000 602.101000 306.320000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.375000 602.101000 309.125000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.180000 602.101000 311.930000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.985000 602.101000 314.735000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.790000 602.101000 317.540000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.595000 602.101000 320.345000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.400000 602.101000 323.150000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.205000 602.101000 325.955000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.010000 602.101000 328.760000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.815000 602.101000 331.565000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.620000 602.101000 334.370000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.425000 602.101000 337.175000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.230000 602.101000 339.980000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.035000 602.101000 342.785000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 342.840000 602.101000 345.590000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.645000 602.101000 348.395000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.450000 602.101000 351.200000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.255000 602.101000 354.005000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.060000 602.101000 356.810000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.865000 602.101000 359.615000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.670000 602.101000 362.420000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.475000 602.101000 365.225000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.280000 602.101000 368.030000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.085000 602.101000 370.835000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.890000 602.101000 373.640000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.695000 602.101000 376.445000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.500000 602.101000 379.250000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.305000 602.101000 382.055000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.110000 602.101000 384.860000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.915000 602.101000 387.665000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.720000 602.101000 390.470000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.525000 602.101000 393.275000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.330000 602.101000 396.080000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.135000 602.101000 398.885000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.940000 602.101000 401.690000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.745000 602.101000 404.495000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.550000 602.101000 407.300000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.355000 602.101000 410.105000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.160000 602.101000 412.910000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.965000 602.101000 415.715000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.770000 602.101000 418.520000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.575000 602.101000 421.325000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.380000 602.101000 424.130000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.185000 602.101000 426.935000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.990000 602.101000 429.740000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.795000 602.101000 432.545000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.600000 602.101000 435.350000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.405000 602.101000 438.155000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.210000 602.101000 440.960000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.015000 602.101000 443.765000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.820000 602.101000 446.570000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.625000 602.101000 449.375000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.430000 602.101000 452.180000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.235000 602.101000 454.985000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.040000 602.101000 457.790000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.845000 602.101000 460.595000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.650000 602.101000 463.400000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.455000 602.101000 466.205000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.260000 602.101000 469.010000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.065000 602.101000 471.815000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.870000 602.101000 474.620000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.675000 602.101000 477.425000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.480000 602.101000 480.230000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.285000 602.101000 483.035000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.090000 602.101000 485.840000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.895000 602.101000 488.645000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.700000 602.101000 491.450000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.505000 602.101000 494.255000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.409000 602.101000 497.159000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.313000 602.101000 500.063000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.217000 602.101000 502.967000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.121000 602.101000 505.871000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.025000 602.101000 508.775000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.929000 602.101000 511.679000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.833000 602.101000 514.583000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.737000 602.101000 517.487000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.641000 602.101000 520.391000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.545000 602.101000 523.295000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.449000 602.101000 526.199000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.353000 602.101000 529.103000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.257000 602.101000 532.007000 591.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.161000 602.101000 534.911000 591.101000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 602.101000 540.100000 591.101000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 589.901000 231.279000 578.901000 1.000000 0.000000 0.000000 1.000000 M +drawChar 231.301000 589.901000 234.348000 578.901000 1.000000 0.000000 0.000000 1.000000 i +drawChar 234.304000 589.901000 239.804000 578.901000 1.000000 0.000000 0.000000 1.000000 n +drawChar 239.804000 589.901000 242.851000 578.901000 1.000000 0.000000 0.000000 1.000000 i +drawChar 242.807000 589.901000 248.307000 578.901000 1.000000 0.000000 0.000000 1.000000 b +drawChar 248.307000 589.901000 253.180000 578.901000 1.000000 0.000000 0.000000 1.000000 a +drawChar 253.202000 589.901000 256.865000 578.901000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 257.000000 589.901000 259.750000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 259.805000 589.901000 262.555000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 262.610000 589.901000 265.360000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 265.415000 589.901000 268.165000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 268.220000 589.901000 270.970000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 271.025000 589.901000 273.775000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.830000 589.901000 276.580000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.635000 589.901000 279.385000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.440000 589.901000 282.190000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.245000 589.901000 284.995000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 285.050000 589.901000 287.800000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.855000 589.901000 290.605000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.660000 589.901000 293.410000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.465000 589.901000 296.215000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.270000 589.901000 299.020000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.075000 589.901000 301.825000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.880000 589.901000 304.630000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.685000 589.901000 307.435000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.490000 589.901000 310.240000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.295000 589.901000 313.045000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.100000 589.901000 315.850000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.905000 589.901000 318.655000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.710000 589.901000 321.460000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.515000 589.901000 324.265000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 324.320000 589.901000 327.070000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.125000 589.901000 329.875000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.930000 589.901000 332.680000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.735000 589.901000 335.485000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.540000 589.901000 338.290000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.345000 589.901000 341.095000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.150000 589.901000 343.900000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.955000 589.901000 346.705000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.760000 589.901000 349.510000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.565000 589.901000 352.315000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.370000 589.901000 355.120000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.175000 589.901000 357.925000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.980000 589.901000 360.730000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.785000 589.901000 363.535000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.590000 589.901000 366.340000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.395000 589.901000 369.145000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.200000 589.901000 371.950000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.005000 589.901000 374.755000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.810000 589.901000 377.560000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.615000 589.901000 380.365000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.420000 589.901000 383.170000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.225000 589.901000 385.975000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.030000 589.901000 388.780000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.835000 589.901000 391.585000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.640000 589.901000 394.390000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.445000 589.901000 397.195000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.250000 589.901000 400.000000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.055000 589.901000 402.805000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.860000 589.901000 405.610000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.665000 589.901000 408.415000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.470000 589.901000 411.220000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.275000 589.901000 414.025000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.080000 589.901000 416.830000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.885000 589.901000 419.635000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.690000 589.901000 422.440000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.495000 589.901000 425.245000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.300000 589.901000 428.050000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.105000 589.901000 430.855000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.910000 589.901000 433.660000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.715000 589.901000 436.465000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.520000 589.901000 439.270000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.325000 589.901000 442.075000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.130000 589.901000 444.880000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.935000 589.901000 447.685000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.740000 589.901000 450.490000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.545000 589.901000 453.295000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.350000 589.901000 456.100000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.155000 589.901000 458.905000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.960000 589.901000 461.710000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.765000 589.901000 464.515000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.570000 589.901000 467.320000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.375000 589.901000 470.125000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.180000 589.901000 472.930000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.985000 589.901000 475.735000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.790000 589.901000 478.540000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.595000 589.901000 481.345000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.400000 589.901000 484.150000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.205000 589.901000 486.955000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.010000 589.901000 489.760000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.815000 589.901000 492.565000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.620000 589.901000 495.370000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.425000 589.901000 498.175000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.230000 589.901000 500.980000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.035000 589.901000 503.785000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.840000 589.901000 506.590000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.645000 589.901000 509.395000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.450000 589.901000 512.200000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.255000 589.901000 515.005000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.060000 589.901000 517.810000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.865000 589.901000 520.615000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.670000 589.901000 523.420000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.574000 589.901000 526.324000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.478000 589.901000 529.228000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.382000 589.901000 532.132000 578.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.286000 589.901000 535.036000 578.901000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 589.901000 540.100000 578.901000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 577.592000 230.164000 565.592000 1.000000 0.000000 0.000000 1.000000 K +drawChar 230.200000 577.592000 233.524000 565.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.500000 577.592000 236.824000 565.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 236.800000 577.592000 242.116000 565.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 242.104000 577.592000 248.104000 565.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 248.200000 577.592000 253.516000 565.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 253.504000 577.592000 259.504000 565.592000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 259.400000 577.592000 262.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 262.400000 577.592000 265.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 265.400000 577.592000 268.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 268.400000 577.592000 271.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 271.400000 577.592000 274.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 274.400000 577.592000 277.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 277.400000 577.592000 280.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 280.400000 577.592000 283.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 283.400000 577.592000 286.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.400000 577.592000 289.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.400000 577.592000 292.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.400000 577.592000 295.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.400000 577.592000 298.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.400000 577.592000 301.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.400000 577.592000 304.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.400000 577.592000 307.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.400000 577.592000 310.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.400000 577.592000 313.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.400000 577.592000 316.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.400000 577.592000 319.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.400000 577.592000 322.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.400000 577.592000 325.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.400000 577.592000 328.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.400000 577.592000 331.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.400000 577.592000 334.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.400000 577.592000 337.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.400000 577.592000 340.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.400000 577.592000 343.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.400000 577.592000 346.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.400000 577.592000 349.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.400000 577.592000 352.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.400000 577.592000 355.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.400000 577.592000 358.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.400000 577.592000 361.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.400000 577.592000 364.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.400000 577.592000 367.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.400000 577.592000 370.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.400000 577.592000 373.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.400000 577.592000 376.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.400000 577.592000 379.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.400000 577.592000 382.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.400000 577.592000 385.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.400000 577.592000 388.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.400000 577.592000 391.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.400000 577.592000 394.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.400000 577.592000 397.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.400000 577.592000 400.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.400000 577.592000 403.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.400000 577.592000 406.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.400000 577.592000 409.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.400000 577.592000 412.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.400000 577.592000 415.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.400000 577.592000 418.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.400000 577.592000 421.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.400000 577.592000 424.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.400000 577.592000 427.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.400000 577.592000 430.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.400000 577.592000 433.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.400000 577.592000 436.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.400000 577.592000 439.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.400000 577.592000 442.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.400000 577.592000 445.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.400000 577.592000 448.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.400000 577.592000 451.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.400000 577.592000 454.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.400000 577.592000 457.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.400000 577.592000 460.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.400000 577.592000 463.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.400000 577.592000 466.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.400000 577.592000 469.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.400000 577.592000 472.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.400000 577.592000 475.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.400000 577.592000 478.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.400000 577.592000 481.400000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.496000 577.592000 484.496000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.592000 577.592000 487.592000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.688000 577.592000 490.688000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.784000 577.592000 493.784000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.880000 577.592000 496.880000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.976000 577.592000 499.976000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.072000 577.592000 503.072000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.168000 577.592000 506.168000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.264000 577.592000 509.264000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.360000 577.592000 512.360000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.456000 577.592000 515.456000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.552000 577.592000 518.552000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.648000 577.592000 521.648000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.744000 577.592000 524.744000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.840000 577.592000 527.840000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.936000 577.592000 530.936000 565.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 531.032000 577.592000 534.032000 565.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 534.100000 577.592000 540.100000 565.592000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 564.201000 227.616000 553.201000 1.000000 0.000000 0.000000 1.000000 P +drawChar 227.605000 564.201000 232.478000 553.201000 1.000000 0.000000 0.000000 1.000000 a +drawChar 232.500000 564.201000 238.000000 553.201000 1.000000 0.000000 0.000000 1.000000 n +drawChar 238.000000 564.201000 241.047000 553.201000 1.000000 0.000000 0.000000 1.000000 t +drawChar 241.003000 564.201000 244.666000 553.201000 1.000000 0.000000 0.000000 1.000000 r +drawChar 244.798000 564.201000 250.298000 553.201000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 250.200000 564.201000 252.950000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 253.005000 564.201000 255.755000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.810000 564.201000 258.560000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.615000 564.201000 261.365000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.420000 564.201000 264.170000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.225000 564.201000 266.975000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.030000 564.201000 269.780000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 269.835000 564.201000 272.585000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 272.640000 564.201000 275.390000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 275.445000 564.201000 278.195000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.250000 564.201000 281.000000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.055000 564.201000 283.805000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 283.860000 564.201000 286.610000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.665000 564.201000 289.415000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.470000 564.201000 292.220000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.275000 564.201000 295.025000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.080000 564.201000 297.830000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 297.885000 564.201000 300.635000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 300.690000 564.201000 303.440000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 303.495000 564.201000 306.245000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.300000 564.201000 309.050000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.105000 564.201000 311.855000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.910000 564.201000 314.660000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.715000 564.201000 317.465000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.520000 564.201000 320.270000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.325000 564.201000 323.075000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.130000 564.201000 325.880000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.935000 564.201000 328.685000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.740000 564.201000 331.490000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.545000 564.201000 334.295000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.350000 564.201000 337.100000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.155000 564.201000 339.905000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.960000 564.201000 342.710000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 342.765000 564.201000 345.515000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.570000 564.201000 348.320000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.375000 564.201000 351.125000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.180000 564.201000 353.930000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.985000 564.201000 356.735000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.790000 564.201000 359.540000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.595000 564.201000 362.345000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.400000 564.201000 365.150000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.205000 564.201000 367.955000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.010000 564.201000 370.760000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.815000 564.201000 373.565000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.620000 564.201000 376.370000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.425000 564.201000 379.175000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.230000 564.201000 381.980000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.035000 564.201000 384.785000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.840000 564.201000 387.590000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.645000 564.201000 390.395000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.450000 564.201000 393.200000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.255000 564.201000 396.005000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.060000 564.201000 398.810000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.865000 564.201000 401.615000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.670000 564.201000 404.420000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.475000 564.201000 407.225000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.280000 564.201000 410.030000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.085000 564.201000 412.835000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.890000 564.201000 415.640000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.695000 564.201000 418.445000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.500000 564.201000 421.250000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.305000 564.201000 424.055000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.110000 564.201000 426.860000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.915000 564.201000 429.665000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.720000 564.201000 432.470000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.525000 564.201000 435.275000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.330000 564.201000 438.080000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.135000 564.201000 440.885000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.940000 564.201000 443.690000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.745000 564.201000 446.495000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.550000 564.201000 449.300000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.355000 564.201000 452.105000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.160000 564.201000 454.910000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.965000 564.201000 457.715000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.770000 564.201000 460.520000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.575000 564.201000 463.325000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.380000 564.201000 466.130000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.185000 564.201000 468.935000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.990000 564.201000 471.740000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.795000 564.201000 474.545000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.600000 564.201000 477.350000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.405000 564.201000 480.155000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.210000 564.201000 482.960000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.015000 564.201000 485.765000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.820000 564.201000 488.570000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.625000 564.201000 491.375000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.529000 564.201000 494.279000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.433000 564.201000 497.183000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.337000 564.201000 500.087000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.241000 564.201000 502.991000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.145000 564.201000 505.895000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.049000 564.201000 508.799000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.953000 564.201000 511.703000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.857000 564.201000 514.607000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.761000 564.201000 517.511000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.665000 564.201000 520.415000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.569000 564.201000 523.319000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.473000 564.201000 526.223000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.377000 564.201000 529.127000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.281000 564.201000 532.031000 553.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.185000 564.201000 534.935000 553.201000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 564.201000 540.100000 553.201000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 551.901000 228.210000 540.901000 1.000000 0.000000 0.000000 1.000000 L +drawChar 228.199000 551.901000 233.072000 540.901000 1.000000 0.000000 0.000000 1.000000 a +drawChar 233.094000 551.901000 238.594000 540.901000 1.000000 0.000000 0.000000 1.000000 u +drawChar 238.693000 551.901000 244.193000 540.901000 1.000000 0.000000 0.000000 1.000000 n +drawChar 244.193000 551.901000 249.693000 540.901000 1.000000 0.000000 0.000000 1.000000 d +drawChar 249.693000 551.901000 253.356000 540.901000 1.000000 0.000000 0.000000 1.000000 r +drawChar 253.389000 551.901000 258.889000 540.901000 1.000000 0.000000 0.000000 1.000000 y +drawChar 258.889000 551.901000 261.639000 540.901000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.694000 551.901000 269.020000 540.901000 1.000000 0.000000 0.000000 1.000000 R +drawChar 268.998000 551.901000 274.498000 540.901000 1.000000 0.000000 0.000000 1.000000 o +drawChar 274.498000 551.901000 279.998000 540.901000 1.000000 0.000000 0.000000 1.000000 o +drawChar 279.998000 551.901000 288.545000 540.901000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 288.600000 551.901000 291.350000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 291.405000 551.901000 294.155000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 294.210000 551.901000 296.960000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 297.015000 551.901000 299.765000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.820000 551.901000 302.570000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.625000 551.901000 305.375000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.430000 551.901000 308.180000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.235000 551.901000 310.985000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.040000 551.901000 313.790000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.845000 551.901000 316.595000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.650000 551.901000 319.400000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.455000 551.901000 322.205000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.260000 551.901000 325.010000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.065000 551.901000 327.815000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.870000 551.901000 330.620000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 330.675000 551.901000 333.425000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 333.480000 551.901000 336.230000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 336.285000 551.901000 339.035000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.090000 551.901000 341.840000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.895000 551.901000 344.645000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.700000 551.901000 347.450000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.505000 551.901000 350.255000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.310000 551.901000 353.060000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.115000 551.901000 355.865000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.920000 551.901000 358.670000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.725000 551.901000 361.475000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.530000 551.901000 364.280000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.335000 551.901000 367.085000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.140000 551.901000 369.890000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.945000 551.901000 372.695000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.750000 551.901000 375.500000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.555000 551.901000 378.305000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.360000 551.901000 381.110000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.165000 551.901000 383.915000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.970000 551.901000 386.720000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.775000 551.901000 389.525000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.580000 551.901000 392.330000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.385000 551.901000 395.135000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.190000 551.901000 397.940000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.995000 551.901000 400.745000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.800000 551.901000 403.550000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.605000 551.901000 406.355000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.410000 551.901000 409.160000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.215000 551.901000 411.965000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.020000 551.901000 414.770000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.825000 551.901000 417.575000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.630000 551.901000 420.380000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.435000 551.901000 423.185000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.240000 551.901000 425.990000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.045000 551.901000 428.795000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.850000 551.901000 431.600000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.655000 551.901000 434.405000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.460000 551.901000 437.210000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.265000 551.901000 440.015000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.070000 551.901000 442.820000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.875000 551.901000 445.625000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.680000 551.901000 448.430000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.485000 551.901000 451.235000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.290000 551.901000 454.040000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.095000 551.901000 456.845000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.900000 551.901000 459.650000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.705000 551.901000 462.455000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.510000 551.901000 465.260000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.414000 551.901000 468.164000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.318000 551.901000 471.068000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.222000 551.901000 473.972000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.126000 551.901000 476.876000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.030000 551.901000 479.780000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.934000 551.901000 482.684000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.838000 551.901000 485.588000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.742000 551.901000 488.492000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.646000 551.901000 491.396000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.550000 551.901000 494.300000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.454000 551.901000 497.204000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.358000 551.901000 500.108000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.262000 551.901000 503.012000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.166000 551.901000 505.916000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.070000 551.901000 508.820000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.974000 551.901000 511.724000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.878000 551.901000 514.628000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.782000 551.901000 517.532000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.686000 551.901000 520.436000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.590000 551.901000 523.340000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.494000 551.901000 526.244000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.398000 551.901000 529.148000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.302000 551.901000 532.052000 540.901000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.206000 551.901000 534.956000 540.901000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 551.901000 540.100000 540.901000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 539.592000 230.164000 527.592000 1.000000 0.000000 0.000000 1.000000 G +drawChar 230.104000 539.592000 236.104000 527.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 236.104000 539.592000 241.420000 527.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 241.408000 539.592000 246.076000 527.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 246.112000 539.592000 249.436000 527.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 249.508000 539.592000 252.508000 527.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.508000 539.592000 260.500000 527.592000 1.000000 0.000000 0.000000 1.000000 B +drawChar 260.512000 539.592000 265.828000 527.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 265.816000 539.592000 269.140000 527.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 269.116000 539.592000 275.116000 527.592000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 275.100000 539.592000 278.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.100000 539.592000 281.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.100000 539.592000 284.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.100000 539.592000 287.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.100000 539.592000 290.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.100000 539.592000 293.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.100000 539.592000 296.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.100000 539.592000 299.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.100000 539.592000 302.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.100000 539.592000 305.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.100000 539.592000 308.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.100000 539.592000 311.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.100000 539.592000 314.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.100000 539.592000 317.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.100000 539.592000 320.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.100000 539.592000 323.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.100000 539.592000 326.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.100000 539.592000 329.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.100000 539.592000 332.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.100000 539.592000 335.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.100000 539.592000 338.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.100000 539.592000 341.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.100000 539.592000 344.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.100000 539.592000 347.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.100000 539.592000 350.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.100000 539.592000 353.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.100000 539.592000 356.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.100000 539.592000 359.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.100000 539.592000 362.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.100000 539.592000 365.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.100000 539.592000 368.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.100000 539.592000 371.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.100000 539.592000 374.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.100000 539.592000 377.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.100000 539.592000 380.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.100000 539.592000 383.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.100000 539.592000 386.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.100000 539.592000 389.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.100000 539.592000 392.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.100000 539.592000 395.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.100000 539.592000 398.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.100000 539.592000 401.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.100000 539.592000 404.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.100000 539.592000 407.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.100000 539.592000 410.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.100000 539.592000 413.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.100000 539.592000 416.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.100000 539.592000 419.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 539.592000 422.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.100000 539.592000 425.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.100000 539.592000 428.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.100000 539.592000 431.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.100000 539.592000 434.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.100000 539.592000 437.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.100000 539.592000 440.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.100000 539.592000 443.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.100000 539.592000 446.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.100000 539.592000 449.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.100000 539.592000 452.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.100000 539.592000 455.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.100000 539.592000 458.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.100000 539.592000 461.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.100000 539.592000 464.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.100000 539.592000 467.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.100000 539.592000 470.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.100000 539.592000 473.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.100000 539.592000 476.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.100000 539.592000 479.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.100000 539.592000 482.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.100000 539.592000 485.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.100000 539.592000 488.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.100000 539.592000 491.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.100000 539.592000 494.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.100000 539.592000 497.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.100000 539.592000 500.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.100000 539.592000 503.100000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.196000 539.592000 506.196000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.292000 539.592000 509.292000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.388000 539.592000 512.388000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.484000 539.592000 515.484000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.580000 539.592000 518.580000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.676000 539.592000 521.676000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.772000 539.592000 524.772000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.868000 539.592000 527.868000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.964000 539.592000 530.964000 527.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 531.060000 539.592000 534.060000 527.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 534.100000 539.592000 540.100000 527.592000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 526.192000 230.164000 514.192000 1.000000 0.000000 0.000000 1.000000 D +drawChar 230.104000 526.192000 233.428000 514.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.500000 526.192000 239.500000 514.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 239.500000 526.192000 242.824000 514.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 242.800000 526.192000 248.800000 514.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 248.800000 526.192000 254.800000 514.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 254.800000 526.192000 257.800000 514.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 257.800000 526.192000 265.792000 514.192000 1.000000 0.000000 0.000000 1.000000 R +drawChar 265.804000 526.192000 271.804000 514.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 271.804000 526.192000 277.804000 514.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 277.804000 526.192000 287.128000 514.192000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 287.100000 526.192000 290.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.100000 526.192000 293.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.100000 526.192000 296.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.100000 526.192000 299.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.100000 526.192000 302.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.100000 526.192000 305.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.100000 526.192000 308.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.100000 526.192000 311.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.100000 526.192000 314.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.100000 526.192000 317.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.100000 526.192000 320.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.100000 526.192000 323.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.100000 526.192000 326.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.100000 526.192000 329.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.100000 526.192000 332.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.100000 526.192000 335.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.100000 526.192000 338.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.100000 526.192000 341.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.100000 526.192000 344.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.100000 526.192000 347.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.100000 526.192000 350.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.100000 526.192000 353.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.100000 526.192000 356.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.100000 526.192000 359.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.100000 526.192000 362.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.100000 526.192000 365.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.100000 526.192000 368.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.100000 526.192000 371.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.100000 526.192000 374.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.100000 526.192000 377.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.100000 526.192000 380.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.100000 526.192000 383.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.100000 526.192000 386.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.100000 526.192000 389.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.100000 526.192000 392.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.100000 526.192000 395.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.100000 526.192000 398.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.100000 526.192000 401.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.100000 526.192000 404.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.100000 526.192000 407.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.100000 526.192000 410.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.100000 526.192000 413.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.100000 526.192000 416.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.100000 526.192000 419.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 526.192000 422.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.100000 526.192000 425.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.100000 526.192000 428.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.100000 526.192000 431.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.100000 526.192000 434.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.100000 526.192000 437.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.100000 526.192000 440.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.100000 526.192000 443.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.100000 526.192000 446.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.100000 526.192000 449.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.100000 526.192000 452.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.100000 526.192000 455.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.100000 526.192000 458.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.100000 526.192000 461.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.100000 526.192000 464.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.100000 526.192000 467.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.100000 526.192000 470.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.100000 526.192000 473.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.100000 526.192000 476.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.100000 526.192000 479.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.100000 526.192000 482.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.100000 526.192000 485.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.100000 526.192000 488.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.100000 526.192000 491.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.100000 526.192000 494.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.100000 526.192000 497.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.100000 526.192000 500.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.100000 526.192000 503.100000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.196000 526.192000 506.196000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.292000 526.192000 509.292000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.388000 526.192000 512.388000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.484000 526.192000 515.484000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.580000 526.192000 518.580000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.676000 526.192000 521.676000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.772000 526.192000 524.772000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.868000 526.192000 527.868000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.964000 526.192000 530.964000 514.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 531.060000 526.192000 534.060000 514.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 534.100000 526.192000 540.100000 514.192000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 509.092000 228.172000 497.092000 1.000000 0.000000 0.000000 1.000000 S +drawChar 228.196000 509.092000 233.512000 497.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 233.500000 509.092000 238.816000 497.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 238.804000 509.092000 244.804000 497.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 244.804000 509.092000 251.476000 497.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 251.404000 509.092000 258.076000 497.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 258.208000 509.092000 261.208000 497.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.208000 509.092000 268.528000 497.092000 1.000000 0.000000 0.000000 1.000000 F +drawChar 268.408000 509.092000 271.732000 497.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 271.804000 509.092000 277.804000 497.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 277.804000 509.092000 283.804000 497.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 283.804000 509.092000 289.120000 497.092000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 289.100000 509.092000 292.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.100000 509.092000 295.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.100000 509.092000 298.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.100000 509.092000 301.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.100000 509.092000 304.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.100000 509.092000 307.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.100000 509.092000 310.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.100000 509.092000 313.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.100000 509.092000 316.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.100000 509.092000 319.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.100000 509.092000 322.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.100000 509.092000 325.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.100000 509.092000 328.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.100000 509.092000 331.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.100000 509.092000 334.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.100000 509.092000 337.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.100000 509.092000 340.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.100000 509.092000 343.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.100000 509.092000 346.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.100000 509.092000 349.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.100000 509.092000 352.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.100000 509.092000 355.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.100000 509.092000 358.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.100000 509.092000 361.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.100000 509.092000 364.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.100000 509.092000 367.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.100000 509.092000 370.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.100000 509.092000 373.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.100000 509.092000 376.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.100000 509.092000 379.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.100000 509.092000 382.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.100000 509.092000 385.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.100000 509.092000 388.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.100000 509.092000 391.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.100000 509.092000 394.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.100000 509.092000 397.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.100000 509.092000 400.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.100000 509.092000 403.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.100000 509.092000 406.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 509.092000 409.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 509.092000 412.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 509.092000 415.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 509.092000 418.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 509.092000 421.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 509.092000 424.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 509.092000 427.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 509.092000 430.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 509.092000 433.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 509.092000 436.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 509.092000 439.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 509.092000 442.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 509.092000 445.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 509.092000 448.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 509.092000 451.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 509.092000 454.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 509.092000 457.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 509.092000 460.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 509.092000 463.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 509.092000 466.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.100000 509.092000 469.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.100000 509.092000 472.100000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.196000 509.092000 475.196000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.292000 509.092000 478.292000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.388000 509.092000 481.388000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.484000 509.092000 484.484000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.580000 509.092000 487.580000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.676000 509.092000 490.676000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.772000 509.092000 493.772000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.868000 509.092000 496.868000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.964000 509.092000 499.964000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.060000 509.092000 503.060000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.156000 509.092000 506.156000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.252000 509.092000 509.252000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.348000 509.092000 512.348000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.444000 509.092000 515.444000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.540000 509.092000 518.540000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.636000 509.092000 521.636000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.732000 509.092000 524.732000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.828000 509.092000 527.828000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.924000 509.092000 530.924000 497.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 531.020000 509.092000 534.020000 497.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 534.100000 509.092000 540.100000 497.092000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 495.692000 228.172000 483.692000 1.000000 0.000000 0.000000 1.000000 S +drawChar 228.196000 495.692000 231.520000 483.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 231.496000 495.692000 237.496000 483.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 237.496000 495.692000 243.496000 483.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 243.496000 495.692000 249.496000 483.692000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 249.400000 495.692000 252.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.400000 495.692000 255.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.400000 495.692000 258.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.400000 495.692000 261.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.400000 495.692000 264.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.400000 495.692000 267.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.400000 495.692000 270.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.400000 495.692000 273.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.400000 495.692000 276.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.400000 495.692000 279.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.400000 495.692000 282.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.400000 495.692000 285.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 285.400000 495.692000 288.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.400000 495.692000 291.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 291.400000 495.692000 294.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 294.400000 495.692000 297.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 297.400000 495.692000 300.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 300.400000 495.692000 303.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 303.400000 495.692000 306.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.400000 495.692000 309.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.400000 495.692000 312.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.400000 495.692000 315.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.400000 495.692000 318.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.400000 495.692000 321.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.400000 495.692000 324.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 324.400000 495.692000 327.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.400000 495.692000 330.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 330.400000 495.692000 333.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 333.400000 495.692000 336.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 336.400000 495.692000 339.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.400000 495.692000 342.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 342.400000 495.692000 345.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.400000 495.692000 348.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.400000 495.692000 351.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.400000 495.692000 354.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.400000 495.692000 357.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.400000 495.692000 360.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.400000 495.692000 363.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.400000 495.692000 366.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.400000 495.692000 369.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.400000 495.692000 372.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.400000 495.692000 375.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.400000 495.692000 378.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.400000 495.692000 381.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.400000 495.692000 384.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.400000 495.692000 387.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.400000 495.692000 390.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.400000 495.692000 393.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.400000 495.692000 396.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.400000 495.692000 399.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.400000 495.692000 402.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.400000 495.692000 405.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.400000 495.692000 408.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.400000 495.692000 411.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.400000 495.692000 414.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.400000 495.692000 417.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.400000 495.692000 420.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.400000 495.692000 423.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.400000 495.692000 426.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.400000 495.692000 429.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.400000 495.692000 432.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.400000 495.692000 435.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.400000 495.692000 438.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.400000 495.692000 441.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.400000 495.692000 444.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.400000 495.692000 447.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.400000 495.692000 450.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.400000 495.692000 453.400000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.496000 495.692000 456.496000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.592000 495.692000 459.592000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.688000 495.692000 462.688000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.784000 495.692000 465.784000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.880000 495.692000 468.880000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.976000 495.692000 471.976000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.072000 495.692000 475.072000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.168000 495.692000 478.168000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.264000 495.692000 481.264000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.360000 495.692000 484.360000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.456000 495.692000 487.456000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.552000 495.692000 490.552000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.648000 495.692000 493.648000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.744000 495.692000 496.744000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.840000 495.692000 499.840000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.936000 495.692000 502.936000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.032000 495.692000 506.032000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.128000 495.692000 509.128000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.224000 495.692000 512.224000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.320000 495.692000 515.320000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.416000 495.692000 518.416000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.512000 495.692000 521.512000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.608000 495.692000 524.608000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.704000 495.692000 527.704000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.800000 495.692000 530.800000 483.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 530.896000 495.692000 533.896000 483.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 534.100000 495.692000 540.100000 483.692000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 482.301000 231.873000 471.301000 1.000000 0.000000 0.000000 1.000000 W +drawChar 231.796000 482.301000 235.459000 471.301000 1.000000 0.000000 0.000000 1.000000 r +drawChar 235.492000 482.301000 238.539000 471.301000 1.000000 0.000000 0.000000 1.000000 i +drawChar 238.594000 482.301000 241.641000 471.301000 1.000000 0.000000 0.000000 1.000000 t +drawChar 241.597000 482.301000 244.644000 471.301000 1.000000 0.000000 0.000000 1.000000 i +drawChar 244.699000 482.301000 250.199000 471.301000 1.000000 0.000000 0.000000 1.000000 n +drawChar 250.199000 482.301000 255.699000 471.301000 1.000000 0.000000 0.000000 1.000000 g +drawChar 255.798000 482.301000 258.548000 471.301000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.603000 482.301000 266.545000 471.301000 1.000000 0.000000 0.000000 1.000000 D +drawChar 266.501000 482.301000 271.374000 471.301000 1.000000 0.000000 0.000000 1.000000 e +drawChar 271.396000 482.301000 275.675000 471.301000 1.000000 0.000000 0.000000 1.000000 s +drawChar 275.697000 482.301000 281.197000 471.301000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 281.200000 482.301000 283.950000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.005000 482.301000 286.755000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.810000 482.301000 289.560000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.615000 482.301000 292.365000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.420000 482.301000 295.170000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.225000 482.301000 297.975000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.030000 482.301000 300.780000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 300.835000 482.301000 303.585000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 303.640000 482.301000 306.390000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.445000 482.301000 309.195000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.250000 482.301000 312.000000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.055000 482.301000 314.805000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.860000 482.301000 317.610000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.665000 482.301000 320.415000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.470000 482.301000 323.220000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.275000 482.301000 326.025000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.080000 482.301000 328.830000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.885000 482.301000 331.635000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.690000 482.301000 334.440000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.495000 482.301000 337.245000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.300000 482.301000 340.050000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.105000 482.301000 342.855000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 342.910000 482.301000 345.660000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.715000 482.301000 348.465000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.520000 482.301000 351.270000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.325000 482.301000 354.075000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.130000 482.301000 356.880000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.935000 482.301000 359.685000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.740000 482.301000 362.490000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.545000 482.301000 365.295000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.350000 482.301000 368.100000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.155000 482.301000 370.905000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.960000 482.301000 373.710000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.765000 482.301000 376.515000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.570000 482.301000 379.320000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.375000 482.301000 382.125000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.180000 482.301000 384.930000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.985000 482.301000 387.735000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.790000 482.301000 390.540000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.595000 482.301000 393.345000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.400000 482.301000 396.150000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.205000 482.301000 398.955000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.010000 482.301000 401.760000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.815000 482.301000 404.565000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.620000 482.301000 407.370000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.425000 482.301000 410.175000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.230000 482.301000 412.980000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.035000 482.301000 415.785000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.840000 482.301000 418.590000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.645000 482.301000 421.395000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.450000 482.301000 424.200000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.255000 482.301000 427.005000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.060000 482.301000 429.810000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.865000 482.301000 432.615000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.670000 482.301000 435.420000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.475000 482.301000 438.225000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.280000 482.301000 441.030000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.085000 482.301000 443.835000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.890000 482.301000 446.640000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.695000 482.301000 449.445000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 482.301000 452.250000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.305000 482.301000 455.055000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.110000 482.301000 457.860000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.915000 482.301000 460.665000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.720000 482.301000 463.470000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.525000 482.301000 466.275000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.330000 482.301000 469.080000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.135000 482.301000 471.885000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.940000 482.301000 474.690000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.745000 482.301000 477.495000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.550000 482.301000 480.300000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.355000 482.301000 483.105000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.160000 482.301000 485.910000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.965000 482.301000 488.715000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.770000 482.301000 491.520000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.575000 482.301000 494.325000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.479000 482.301000 497.229000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.383000 482.301000 500.133000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.287000 482.301000 503.037000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.191000 482.301000 505.941000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.095000 482.301000 508.845000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.999000 482.301000 511.749000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.903000 482.301000 514.653000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.807000 482.301000 517.557000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.711000 482.301000 520.461000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.615000 482.301000 523.365000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.519000 482.301000 526.269000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.423000 482.301000 529.173000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.327000 482.301000 532.077000 471.301000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.231000 482.301000 534.981000 471.301000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 482.301000 540.100000 471.301000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 469.992000 229.492000 457.992000 1.000000 0.000000 0.000000 1.000000 B +drawChar 229.504000 469.992000 234.820000 457.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 234.808000 469.992000 240.808000 457.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 240.712000 469.992000 244.708000 457.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 244.708000 469.992000 250.708000 457.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 250.708000 469.992000 256.708000 457.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 256.708000 469.992000 266.032000 457.992000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 266.100000 469.992000 269.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 269.100000 469.992000 272.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 272.100000 469.992000 275.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 275.100000 469.992000 278.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.100000 469.992000 281.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.100000 469.992000 284.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.100000 469.992000 287.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.100000 469.992000 290.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.100000 469.992000 293.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.100000 469.992000 296.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.100000 469.992000 299.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.100000 469.992000 302.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.100000 469.992000 305.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.100000 469.992000 308.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.100000 469.992000 311.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.100000 469.992000 314.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.100000 469.992000 317.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.100000 469.992000 320.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.100000 469.992000 323.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.100000 469.992000 326.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.100000 469.992000 329.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.100000 469.992000 332.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.100000 469.992000 335.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.100000 469.992000 338.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.100000 469.992000 341.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.100000 469.992000 344.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.100000 469.992000 347.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.100000 469.992000 350.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.100000 469.992000 353.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.100000 469.992000 356.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.100000 469.992000 359.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.100000 469.992000 362.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.100000 469.992000 365.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.100000 469.992000 368.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.100000 469.992000 371.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.100000 469.992000 374.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.100000 469.992000 377.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.100000 469.992000 380.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.100000 469.992000 383.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.100000 469.992000 386.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.100000 469.992000 389.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.100000 469.992000 392.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.100000 469.992000 395.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.100000 469.992000 398.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.100000 469.992000 401.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.100000 469.992000 404.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.100000 469.992000 407.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.100000 469.992000 410.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.100000 469.992000 413.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.100000 469.992000 416.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.100000 469.992000 419.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 469.992000 422.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.100000 469.992000 425.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.100000 469.992000 428.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.100000 469.992000 431.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.100000 469.992000 434.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.100000 469.992000 437.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.100000 469.992000 440.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.100000 469.992000 443.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.100000 469.992000 446.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.100000 469.992000 449.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.100000 469.992000 452.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.100000 469.992000 455.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.100000 469.992000 458.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.100000 469.992000 461.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.100000 469.992000 464.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.100000 469.992000 467.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.100000 469.992000 470.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.100000 469.992000 473.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.100000 469.992000 476.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.100000 469.992000 479.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.100000 469.992000 482.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.100000 469.992000 485.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.100000 469.992000 488.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.100000 469.992000 491.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.100000 469.992000 494.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.100000 469.992000 497.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.100000 469.992000 500.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.100000 469.992000 503.100000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.196000 469.992000 506.196000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.292000 469.992000 509.292000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.388000 469.992000 512.388000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.484000 469.992000 515.484000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.580000 469.992000 518.580000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.676000 469.992000 521.676000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.772000 469.992000 524.772000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.868000 469.992000 527.868000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.964000 469.992000 530.964000 457.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 531.060000 469.992000 534.060000 457.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 534.100000 469.992000 540.100000 457.992000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 456.601000 228.826000 445.601000 1.000000 0.000000 0.000000 1.000000 B +drawChar 228.804000 456.601000 233.677000 445.601000 1.000000 0.000000 0.000000 1.000000 e +drawChar 233.699000 456.601000 239.199000 445.601000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 239.200000 456.601000 241.950000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.005000 456.601000 244.755000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 244.810000 456.601000 247.560000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 247.615000 456.601000 250.365000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 250.420000 456.601000 253.170000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 253.225000 456.601000 255.975000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 256.030000 456.601000 258.780000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.835000 456.601000 261.585000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.640000 456.601000 264.390000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.445000 456.601000 267.195000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.250000 456.601000 270.000000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.055000 456.601000 272.805000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 272.860000 456.601000 275.610000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 275.665000 456.601000 278.415000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.470000 456.601000 281.220000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.275000 456.601000 284.025000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.080000 456.601000 286.830000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.885000 456.601000 289.635000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.690000 456.601000 292.440000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.495000 456.601000 295.245000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.300000 456.601000 298.050000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.105000 456.601000 300.855000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 300.910000 456.601000 303.660000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 303.715000 456.601000 306.465000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.520000 456.601000 309.270000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.325000 456.601000 312.075000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.130000 456.601000 314.880000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.935000 456.601000 317.685000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.740000 456.601000 320.490000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.545000 456.601000 323.295000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.350000 456.601000 326.100000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.155000 456.601000 328.905000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.960000 456.601000 331.710000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.765000 456.601000 334.515000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.570000 456.601000 337.320000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.375000 456.601000 340.125000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.180000 456.601000 342.930000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 342.985000 456.601000 345.735000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.790000 456.601000 348.540000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.595000 456.601000 351.345000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.400000 456.601000 354.150000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.205000 456.601000 356.955000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.010000 456.601000 359.760000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.815000 456.601000 362.565000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.620000 456.601000 365.370000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.425000 456.601000 368.175000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.230000 456.601000 370.980000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.035000 456.601000 373.785000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.840000 456.601000 376.590000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.645000 456.601000 379.395000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.450000 456.601000 382.200000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.255000 456.601000 385.005000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.060000 456.601000 387.810000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.865000 456.601000 390.615000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.670000 456.601000 393.420000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.475000 456.601000 396.225000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.280000 456.601000 399.030000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.085000 456.601000 401.835000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.890000 456.601000 404.640000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.695000 456.601000 407.445000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.500000 456.601000 410.250000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.305000 456.601000 413.055000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.110000 456.601000 415.860000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.915000 456.601000 418.665000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.720000 456.601000 421.470000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.525000 456.601000 424.275000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.330000 456.601000 427.080000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.135000 456.601000 429.885000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.940000 456.601000 432.690000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.745000 456.601000 435.495000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.550000 456.601000 438.300000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.355000 456.601000 441.105000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.160000 456.601000 443.910000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.965000 456.601000 446.715000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.770000 456.601000 449.520000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.575000 456.601000 452.325000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.380000 456.601000 455.130000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.185000 456.601000 457.935000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.990000 456.601000 460.740000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.795000 456.601000 463.545000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.600000 456.601000 466.350000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.405000 456.601000 469.155000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.210000 456.601000 471.960000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.015000 456.601000 474.765000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.820000 456.601000 477.570000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.625000 456.601000 480.375000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.430000 456.601000 483.180000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.235000 456.601000 485.985000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.040000 456.601000 488.790000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.845000 456.601000 491.595000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.650000 456.601000 494.400000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.554000 456.601000 497.304000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.458000 456.601000 500.208000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.362000 456.601000 503.112000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.266000 456.601000 506.016000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.170000 456.601000 508.920000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.074000 456.601000 511.824000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.978000 456.601000 514.728000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.882000 456.601000 517.632000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.786000 456.601000 520.536000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.690000 456.601000 523.440000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.594000 456.601000 526.344000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.498000 456.601000 529.248000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.402000 456.601000 532.152000 445.601000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.306000 456.601000 535.056000 445.601000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 456.601000 540.100000 445.601000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 444.401000 229.442000 433.401000 1.000000 0.000000 0.000000 1.000000 N +drawChar 229.497000 444.401000 232.544000 433.401000 1.000000 0.000000 0.000000 1.000000 i +drawChar 232.500000 444.401000 238.000000 433.401000 1.000000 0.000000 0.000000 1.000000 g +drawChar 238.000000 444.401000 243.500000 433.401000 1.000000 0.000000 0.000000 1.000000 h +drawChar 243.500000 444.401000 246.547000 433.401000 1.000000 0.000000 0.000000 1.000000 t +drawChar 246.602000 444.401000 249.352000 433.401000 1.000000 0.000000 0.000000 1.000000 +drawChar 249.407000 444.401000 255.523000 433.401000 1.000000 0.000000 0.000000 1.000000 S +drawChar 255.512000 444.401000 258.559000 433.401000 1.000000 0.000000 0.000000 1.000000 t +drawChar 258.515000 444.401000 263.388000 433.401000 1.000000 0.000000 0.000000 1.000000 a +drawChar 263.410000 444.401000 268.910000 433.401000 1.000000 0.000000 0.000000 1.000000 n +drawChar 268.910000 444.401000 274.410000 433.401000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 274.500000 444.401000 277.250000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 277.305000 444.401000 280.055000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 280.110000 444.401000 282.860000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.915000 444.401000 285.665000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 285.720000 444.401000 288.470000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.525000 444.401000 291.275000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 291.330000 444.401000 294.080000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 294.135000 444.401000 296.885000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.940000 444.401000 299.690000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.745000 444.401000 302.495000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.550000 444.401000 305.300000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.355000 444.401000 308.105000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.160000 444.401000 310.910000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.965000 444.401000 313.715000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.770000 444.401000 316.520000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.575000 444.401000 319.325000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.380000 444.401000 322.130000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.185000 444.401000 324.935000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 324.990000 444.401000 327.740000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.795000 444.401000 330.545000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 330.600000 444.401000 333.350000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 333.405000 444.401000 336.155000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 336.210000 444.401000 338.960000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.015000 444.401000 341.765000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.820000 444.401000 344.570000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.625000 444.401000 347.375000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.430000 444.401000 350.180000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.235000 444.401000 352.985000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.040000 444.401000 355.790000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.845000 444.401000 358.595000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.650000 444.401000 361.400000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.455000 444.401000 364.205000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.260000 444.401000 367.010000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.065000 444.401000 369.815000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.870000 444.401000 372.620000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.675000 444.401000 375.425000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.480000 444.401000 378.230000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.285000 444.401000 381.035000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.090000 444.401000 383.840000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.895000 444.401000 386.645000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.700000 444.401000 389.450000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.505000 444.401000 392.255000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.310000 444.401000 395.060000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.115000 444.401000 397.865000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.920000 444.401000 400.670000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.725000 444.401000 403.475000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.530000 444.401000 406.280000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.335000 444.401000 409.085000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.140000 444.401000 411.890000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.945000 444.401000 414.695000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.750000 444.401000 417.500000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.555000 444.401000 420.305000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.360000 444.401000 423.110000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.165000 444.401000 425.915000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.970000 444.401000 428.720000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.775000 444.401000 431.525000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.580000 444.401000 434.330000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.385000 444.401000 437.135000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.190000 444.401000 439.940000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.995000 444.401000 442.745000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.800000 444.401000 445.550000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.605000 444.401000 448.355000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.410000 444.401000 451.160000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.215000 444.401000 453.965000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.020000 444.401000 456.770000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.825000 444.401000 459.575000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.630000 444.401000 462.380000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.534000 444.401000 465.284000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.438000 444.401000 468.188000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.342000 444.401000 471.092000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.246000 444.401000 473.996000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.150000 444.401000 476.900000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.054000 444.401000 479.804000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.958000 444.401000 482.708000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.862000 444.401000 485.612000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.766000 444.401000 488.516000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.670000 444.401000 491.420000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.574000 444.401000 494.324000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.478000 444.401000 497.228000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.382000 444.401000 500.132000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.286000 444.401000 503.036000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.190000 444.401000 505.940000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.094000 444.401000 508.844000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.998000 444.401000 511.748000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.902000 444.401000 514.652000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.806000 444.401000 517.556000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.710000 444.401000 520.460000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.614000 444.401000 523.364000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.518000 444.401000 526.268000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.422000 444.401000 529.172000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.326000 444.401000 532.076000 433.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.230000 444.401000 534.980000 433.401000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 444.401000 540.100000 433.401000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 432.101000 231.873000 421.101000 1.000000 0.000000 0.000000 1.000000 W +drawChar 231.796000 432.101000 236.669000 421.101000 1.000000 0.000000 0.000000 1.000000 a +drawChar 236.691000 432.101000 239.738000 421.101000 1.000000 0.000000 0.000000 1.000000 l +drawChar 239.793000 432.101000 245.293000 421.101000 1.000000 0.000000 0.000000 1.000000 k +drawChar 245.194000 432.101000 248.857000 421.101000 1.000000 0.000000 0.000000 1.000000 - +drawChar 249.099000 432.101000 252.146000 421.101000 1.000000 0.000000 0.000000 1.000000 i +drawChar 252.102000 432.101000 257.602000 421.101000 1.000000 0.000000 0.000000 1.000000 n +drawChar 257.701000 432.101000 260.451000 421.101000 1.000000 0.000000 0.000000 1.000000 +drawChar 260.396000 432.101000 267.722000 421.101000 1.000000 0.000000 0.000000 1.000000 C +drawChar 267.700000 432.101000 270.747000 421.101000 1.000000 0.000000 0.000000 1.000000 l +drawChar 270.703000 432.101000 276.203000 421.101000 1.000000 0.000000 0.000000 1.000000 o +drawChar 276.203000 432.101000 280.482000 421.101000 1.000000 0.000000 0.000000 1.000000 s +drawChar 280.504000 432.101000 285.377000 421.101000 1.000000 0.000000 0.000000 1.000000 e +drawChar 285.509000 432.101000 288.556000 421.101000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 288.600000 432.101000 291.350000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 291.405000 432.101000 294.155000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 294.210000 432.101000 296.960000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 297.015000 432.101000 299.765000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.820000 432.101000 302.570000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.625000 432.101000 305.375000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.430000 432.101000 308.180000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.235000 432.101000 310.985000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.040000 432.101000 313.790000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.845000 432.101000 316.595000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.650000 432.101000 319.400000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.455000 432.101000 322.205000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.260000 432.101000 325.010000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.065000 432.101000 327.815000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.870000 432.101000 330.620000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 330.675000 432.101000 333.425000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 333.480000 432.101000 336.230000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 336.285000 432.101000 339.035000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.090000 432.101000 341.840000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.895000 432.101000 344.645000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.700000 432.101000 347.450000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.505000 432.101000 350.255000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.310000 432.101000 353.060000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.115000 432.101000 355.865000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.920000 432.101000 358.670000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.725000 432.101000 361.475000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.530000 432.101000 364.280000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.335000 432.101000 367.085000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.140000 432.101000 369.890000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.945000 432.101000 372.695000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.750000 432.101000 375.500000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.555000 432.101000 378.305000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.360000 432.101000 381.110000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.165000 432.101000 383.915000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.970000 432.101000 386.720000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.775000 432.101000 389.525000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.580000 432.101000 392.330000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.385000 432.101000 395.135000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.190000 432.101000 397.940000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.995000 432.101000 400.745000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.800000 432.101000 403.550000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.605000 432.101000 406.355000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.410000 432.101000 409.160000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.215000 432.101000 411.965000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.020000 432.101000 414.770000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.825000 432.101000 417.575000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.630000 432.101000 420.380000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.435000 432.101000 423.185000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.240000 432.101000 425.990000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.045000 432.101000 428.795000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.850000 432.101000 431.600000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.655000 432.101000 434.405000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.460000 432.101000 437.210000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.265000 432.101000 440.015000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.070000 432.101000 442.820000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.875000 432.101000 445.625000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.680000 432.101000 448.430000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.485000 432.101000 451.235000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.290000 432.101000 454.040000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.095000 432.101000 456.845000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.900000 432.101000 459.650000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.705000 432.101000 462.455000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.510000 432.101000 465.260000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.414000 432.101000 468.164000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.318000 432.101000 471.068000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.222000 432.101000 473.972000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.126000 432.101000 476.876000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.030000 432.101000 479.780000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.934000 432.101000 482.684000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.838000 432.101000 485.588000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.742000 432.101000 488.492000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.646000 432.101000 491.396000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.550000 432.101000 494.300000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.454000 432.101000 497.204000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.358000 432.101000 500.108000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.262000 432.101000 503.012000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.166000 432.101000 505.916000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.070000 432.101000 508.820000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.974000 432.101000 511.724000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.878000 432.101000 514.628000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.782000 432.101000 517.532000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.686000 432.101000 520.436000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.590000 432.101000 523.340000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.494000 432.101000 526.244000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.398000 432.101000 529.148000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.302000 432.101000 532.052000 421.101000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.206000 432.101000 534.956000 421.101000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 432.101000 540.100000 421.101000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 419.792000 232.168000 407.792000 1.000000 0.000000 0.000000 1.000000 M +drawChar 232.204000 419.792000 237.520000 407.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 237.508000 419.792000 242.176000 407.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 242.212000 419.792000 245.536000 407.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 245.512000 419.792000 250.828000 407.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 250.816000 419.792000 254.812000 407.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 254.812000 419.792000 257.812000 407.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 257.812000 419.792000 265.804000 407.792000 1.000000 0.000000 0.000000 1.000000 B +drawChar 265.816000 419.792000 271.132000 407.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 271.120000 419.792000 274.444000 407.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 274.420000 419.792000 280.420000 407.792000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.400000 419.792000 283.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 283.400000 419.792000 286.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.400000 419.792000 289.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.400000 419.792000 292.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.400000 419.792000 295.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.400000 419.792000 298.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.400000 419.792000 301.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.400000 419.792000 304.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.400000 419.792000 307.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.400000 419.792000 310.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.400000 419.792000 313.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.400000 419.792000 316.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.400000 419.792000 319.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.400000 419.792000 322.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.400000 419.792000 325.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.400000 419.792000 328.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.400000 419.792000 331.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.400000 419.792000 334.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.400000 419.792000 337.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.400000 419.792000 340.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.400000 419.792000 343.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.400000 419.792000 346.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.400000 419.792000 349.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.400000 419.792000 352.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.400000 419.792000 355.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.400000 419.792000 358.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.400000 419.792000 361.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.400000 419.792000 364.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.400000 419.792000 367.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.400000 419.792000 370.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.400000 419.792000 373.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.400000 419.792000 376.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.400000 419.792000 379.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.400000 419.792000 382.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.400000 419.792000 385.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.400000 419.792000 388.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.400000 419.792000 391.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.400000 419.792000 394.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.400000 419.792000 397.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.400000 419.792000 400.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.400000 419.792000 403.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.400000 419.792000 406.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.400000 419.792000 409.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.400000 419.792000 412.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.400000 419.792000 415.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.400000 419.792000 418.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.400000 419.792000 421.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.400000 419.792000 424.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.400000 419.792000 427.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.400000 419.792000 430.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.400000 419.792000 433.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.400000 419.792000 436.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.400000 419.792000 439.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.400000 419.792000 442.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.400000 419.792000 445.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.400000 419.792000 448.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.400000 419.792000 451.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.400000 419.792000 454.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.400000 419.792000 457.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.400000 419.792000 460.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.400000 419.792000 463.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.400000 419.792000 466.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.400000 419.792000 469.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.400000 419.792000 472.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.400000 419.792000 475.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.400000 419.792000 478.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.400000 419.792000 481.400000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.496000 419.792000 484.496000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.592000 419.792000 487.592000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.688000 419.792000 490.688000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.784000 419.792000 493.784000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.880000 419.792000 496.880000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.976000 419.792000 499.976000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.072000 419.792000 503.072000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.168000 419.792000 506.168000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.264000 419.792000 509.264000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.360000 419.792000 512.360000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.456000 419.792000 515.456000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.552000 419.792000 518.552000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.648000 419.792000 521.648000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.744000 419.792000 524.744000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.840000 419.792000 527.840000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.936000 419.792000 530.936000 407.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 531.032000 419.792000 534.032000 407.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 534.100000 419.792000 540.100000 407.792000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 406.401000 228.826000 395.401000 1.000000 0.000000 0.000000 1.000000 B +drawChar 228.804000 406.401000 233.677000 395.401000 1.000000 0.000000 0.000000 1.000000 a +drawChar 233.699000 406.401000 236.746000 395.401000 1.000000 0.000000 0.000000 1.000000 t +drawChar 236.702000 406.401000 242.202000 395.401000 1.000000 0.000000 0.000000 1.000000 h +drawChar 242.301000 406.401000 245.348000 395.401000 1.000000 0.000000 0.000000 1.000000 t +drawChar 245.304000 406.401000 250.804000 395.401000 1.000000 0.000000 0.000000 1.000000 u +drawChar 250.903000 406.401000 256.403000 395.401000 1.000000 0.000000 0.000000 1.000000 b +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 256.400000 406.401000 259.150000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 259.205000 406.401000 261.955000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 262.010000 406.401000 264.760000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.815000 406.401000 267.565000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.620000 406.401000 270.370000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.425000 406.401000 273.175000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.230000 406.401000 275.980000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.035000 406.401000 278.785000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.840000 406.401000 281.590000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.645000 406.401000 284.395000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.450000 406.401000 287.200000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.255000 406.401000 290.005000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.060000 406.401000 292.810000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.865000 406.401000 295.615000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.670000 406.401000 298.420000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.475000 406.401000 301.225000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.280000 406.401000 304.030000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.085000 406.401000 306.835000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.890000 406.401000 309.640000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.695000 406.401000 312.445000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.500000 406.401000 315.250000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.305000 406.401000 318.055000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.110000 406.401000 320.860000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.915000 406.401000 323.665000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.720000 406.401000 326.470000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.525000 406.401000 329.275000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.330000 406.401000 332.080000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.135000 406.401000 334.885000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.940000 406.401000 337.690000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.745000 406.401000 340.495000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.550000 406.401000 343.300000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.355000 406.401000 346.105000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.160000 406.401000 348.910000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.965000 406.401000 351.715000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.770000 406.401000 354.520000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.575000 406.401000 357.325000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.380000 406.401000 360.130000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.185000 406.401000 362.935000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.990000 406.401000 365.740000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.795000 406.401000 368.545000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.600000 406.401000 371.350000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.405000 406.401000 374.155000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.210000 406.401000 376.960000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.015000 406.401000 379.765000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.820000 406.401000 382.570000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.625000 406.401000 385.375000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.430000 406.401000 388.180000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.235000 406.401000 390.985000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.040000 406.401000 393.790000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.845000 406.401000 396.595000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.650000 406.401000 399.400000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.455000 406.401000 402.205000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.260000 406.401000 405.010000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.065000 406.401000 407.815000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.870000 406.401000 410.620000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.675000 406.401000 413.425000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.480000 406.401000 416.230000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.285000 406.401000 419.035000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.090000 406.401000 421.840000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.895000 406.401000 424.645000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.700000 406.401000 427.450000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.505000 406.401000 430.255000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.310000 406.401000 433.060000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.115000 406.401000 435.865000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.920000 406.401000 438.670000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.725000 406.401000 441.475000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.530000 406.401000 444.280000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.335000 406.401000 447.085000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.140000 406.401000 449.890000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.945000 406.401000 452.695000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.750000 406.401000 455.500000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.555000 406.401000 458.305000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.360000 406.401000 461.110000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.165000 406.401000 463.915000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.970000 406.401000 466.720000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.775000 406.401000 469.525000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.580000 406.401000 472.330000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.385000 406.401000 475.135000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.190000 406.401000 477.940000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.995000 406.401000 480.745000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.800000 406.401000 483.550000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.605000 406.401000 486.355000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.410000 406.401000 489.160000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.215000 406.401000 491.965000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.020000 406.401000 494.770000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.825000 406.401000 497.575000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.630000 406.401000 500.380000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.435000 406.401000 503.185000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.240000 406.401000 505.990000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.144000 406.401000 508.894000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.048000 406.401000 511.798000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.952000 406.401000 514.702000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.856000 406.401000 517.606000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.760000 406.401000 520.510000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.664000 406.401000 523.414000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.568000 406.401000 526.318000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.472000 406.401000 529.222000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.376000 406.401000 532.126000 395.401000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.280000 406.401000 535.030000 395.401000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 406.401000 540.100000 395.401000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 221.500000 394.201000 231.279000 383.201000 1.000000 0.000000 0.000000 1.000000 M +drawChar 231.301000 394.201000 234.348000 383.201000 1.000000 0.000000 0.000000 1.000000 i +drawChar 234.304000 394.201000 237.967000 383.201000 1.000000 0.000000 0.000000 1.000000 r +drawChar 238.000000 394.201000 241.663000 383.201000 1.000000 0.000000 0.000000 1.000000 r +drawChar 241.696000 394.201000 247.196000 383.201000 1.000000 0.000000 0.000000 1.000000 o +drawChar 247.196000 394.201000 250.859000 383.201000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 250.800000 394.201000 253.550000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 253.605000 394.201000 256.355000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 256.410000 394.201000 259.160000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 259.215000 394.201000 261.965000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 262.020000 394.201000 264.770000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.825000 394.201000 267.575000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.630000 394.201000 270.380000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.435000 394.201000 273.185000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.240000 394.201000 275.990000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.045000 394.201000 278.795000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.850000 394.201000 281.600000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.655000 394.201000 284.405000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.460000 394.201000 287.210000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.265000 394.201000 290.015000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.070000 394.201000 292.820000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.875000 394.201000 295.625000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.680000 394.201000 298.430000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.485000 394.201000 301.235000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.290000 394.201000 304.040000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.095000 394.201000 306.845000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.900000 394.201000 309.650000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.705000 394.201000 312.455000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.510000 394.201000 315.260000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.315000 394.201000 318.065000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.120000 394.201000 320.870000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.925000 394.201000 323.675000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.730000 394.201000 326.480000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.535000 394.201000 329.285000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.340000 394.201000 332.090000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.145000 394.201000 334.895000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.950000 394.201000 337.700000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.755000 394.201000 340.505000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.560000 394.201000 343.310000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.365000 394.201000 346.115000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.170000 394.201000 348.920000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.975000 394.201000 351.725000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.780000 394.201000 354.530000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.585000 394.201000 357.335000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.390000 394.201000 360.140000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.195000 394.201000 362.945000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.000000 394.201000 365.750000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.805000 394.201000 368.555000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.610000 394.201000 371.360000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.415000 394.201000 374.165000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.220000 394.201000 376.970000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.025000 394.201000 379.775000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.830000 394.201000 382.580000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.635000 394.201000 385.385000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.440000 394.201000 388.190000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.245000 394.201000 390.995000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.050000 394.201000 393.800000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.855000 394.201000 396.605000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.660000 394.201000 399.410000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.465000 394.201000 402.215000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.270000 394.201000 405.020000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.075000 394.201000 407.825000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.880000 394.201000 410.630000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.685000 394.201000 413.435000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.490000 394.201000 416.240000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.295000 394.201000 419.045000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 394.201000 421.850000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.905000 394.201000 424.655000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.710000 394.201000 427.460000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.515000 394.201000 430.265000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.320000 394.201000 433.070000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.125000 394.201000 435.875000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.930000 394.201000 438.680000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.735000 394.201000 441.485000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.540000 394.201000 444.290000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.345000 394.201000 447.095000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.150000 394.201000 449.900000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.955000 394.201000 452.705000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.760000 394.201000 455.510000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.565000 394.201000 458.315000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.370000 394.201000 461.120000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.175000 394.201000 463.925000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.980000 394.201000 466.730000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.785000 394.201000 469.535000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.590000 394.201000 472.340000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.395000 394.201000 475.145000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.200000 394.201000 477.950000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.005000 394.201000 480.755000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.810000 394.201000 483.560000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.615000 394.201000 486.365000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.420000 394.201000 489.170000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.225000 394.201000 491.975000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.030000 394.201000 494.780000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.835000 394.201000 497.585000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.640000 394.201000 500.390000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.445000 394.201000 503.195000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.250000 394.201000 506.000000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.055000 394.201000 508.805000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.959000 394.201000 511.709000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.863000 394.201000 514.613000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.767000 394.201000 517.517000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.671000 394.201000 520.421000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.575000 394.201000 523.325000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.479000 394.201000 526.229000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.383000 394.201000 529.133000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.287000 394.201000 532.037000 383.201000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.191000 394.201000 534.941000 383.201000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1100.000000 0 FAAAAA+Thorndale +drawChar 534.600000 394.201000 540.100000 383.201000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 381.892000 230.164000 369.892000 1.000000 0.000000 0.000000 1.000000 G +drawChar 230.104000 381.892000 235.420000 369.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 235.408000 381.892000 238.732000 369.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 238.708000 381.892000 242.032000 369.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 242.008000 381.892000 247.324000 369.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 247.312000 381.892000 251.308000 369.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 251.416000 381.892000 257.416000 369.892000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 257.400000 381.892000 260.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 260.400000 381.892000 263.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 263.400000 381.892000 266.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 266.400000 381.892000 269.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 269.400000 381.892000 272.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 272.400000 381.892000 275.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 275.400000 381.892000 278.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.400000 381.892000 281.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.400000 381.892000 284.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.400000 381.892000 287.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.400000 381.892000 290.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.400000 381.892000 293.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.400000 381.892000 296.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.400000 381.892000 299.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.400000 381.892000 302.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.400000 381.892000 305.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.400000 381.892000 308.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.400000 381.892000 311.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.400000 381.892000 314.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.400000 381.892000 317.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.400000 381.892000 320.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.400000 381.892000 323.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.400000 381.892000 326.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.400000 381.892000 329.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.400000 381.892000 332.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.400000 381.892000 335.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.400000 381.892000 338.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.400000 381.892000 341.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.400000 381.892000 344.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.400000 381.892000 347.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.400000 381.892000 350.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.400000 381.892000 353.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.400000 381.892000 356.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.400000 381.892000 359.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.400000 381.892000 362.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.400000 381.892000 365.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.400000 381.892000 368.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.400000 381.892000 371.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.400000 381.892000 374.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.400000 381.892000 377.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.400000 381.892000 380.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.400000 381.892000 383.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.400000 381.892000 386.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.400000 381.892000 389.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.400000 381.892000 392.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.400000 381.892000 395.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.400000 381.892000 398.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.400000 381.892000 401.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.400000 381.892000 404.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.400000 381.892000 407.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.400000 381.892000 410.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.400000 381.892000 413.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.400000 381.892000 416.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.400000 381.892000 419.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.400000 381.892000 422.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.400000 381.892000 425.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.400000 381.892000 428.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.400000 381.892000 431.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.400000 381.892000 434.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.400000 381.892000 437.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.400000 381.892000 440.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.400000 381.892000 443.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.400000 381.892000 446.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.400000 381.892000 449.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.400000 381.892000 452.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.400000 381.892000 455.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.400000 381.892000 458.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.400000 381.892000 461.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.400000 381.892000 464.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.400000 381.892000 467.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.400000 381.892000 470.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.400000 381.892000 473.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.400000 381.892000 476.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.400000 381.892000 479.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.400000 381.892000 482.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.400000 381.892000 485.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.400000 381.892000 488.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.400000 381.892000 491.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.400000 381.892000 494.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.400000 381.892000 497.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.400000 381.892000 500.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.400000 381.892000 503.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.400000 381.892000 506.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.400000 381.892000 509.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.400000 381.892000 512.400000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.496000 381.892000 515.496000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.592000 381.892000 518.592000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.688000 381.892000 521.688000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.784000 381.892000 524.784000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.880000 381.892000 527.880000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 527.976000 381.892000 530.976000 369.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 531.072000 381.892000 534.072000 369.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 534.100000 381.892000 540.100000 369.892000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 364.792000 230.164000 352.792000 1.000000 0.000000 0.000000 1.000000 A +drawChar 230.104000 364.792000 234.100000 352.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 234.100000 364.792000 238.096000 352.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 238.096000 364.792000 241.420000 352.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 241.396000 364.792000 246.712000 352.792000 1.000000 0.000000 0.000000 1.000000 c +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 246.700000 364.792000 249.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.700000 364.792000 252.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.700000 364.792000 255.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.700000 364.792000 258.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.700000 364.792000 261.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.700000 364.792000 264.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.700000 364.792000 267.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.700000 364.792000 270.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.700000 364.792000 273.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.700000 364.792000 276.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.700000 364.792000 279.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.700000 364.792000 282.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.700000 364.792000 285.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 285.700000 364.792000 288.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.700000 364.792000 291.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 291.700000 364.792000 294.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 294.700000 364.792000 297.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 297.700000 364.792000 300.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 300.700000 364.792000 303.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 303.700000 364.792000 306.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.700000 364.792000 309.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.700000 364.792000 312.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.700000 364.792000 315.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.700000 364.792000 318.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.700000 364.792000 321.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.700000 364.792000 324.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 324.700000 364.792000 327.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.700000 364.792000 330.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 330.700000 364.792000 333.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 333.700000 364.792000 336.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 336.700000 364.792000 339.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.700000 364.792000 342.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 342.700000 364.792000 345.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.700000 364.792000 348.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.700000 364.792000 351.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.700000 364.792000 354.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.700000 364.792000 357.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.700000 364.792000 360.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.700000 364.792000 363.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.700000 364.792000 366.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.700000 364.792000 369.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.700000 364.792000 372.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.700000 364.792000 375.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.700000 364.792000 378.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.700000 364.792000 381.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.700000 364.792000 384.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.700000 364.792000 387.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.700000 364.792000 390.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.700000 364.792000 393.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.700000 364.792000 396.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.700000 364.792000 399.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.700000 364.792000 402.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.700000 364.792000 405.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.700000 364.792000 408.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.700000 364.792000 411.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.700000 364.792000 414.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.700000 364.792000 417.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.700000 364.792000 420.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.700000 364.792000 423.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.700000 364.792000 426.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.700000 364.792000 429.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.700000 364.792000 432.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.700000 364.792000 435.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.700000 364.792000 438.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.700000 364.792000 441.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.700000 364.792000 444.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.700000 364.792000 447.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.700000 364.792000 450.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.700000 364.792000 453.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.700000 364.792000 456.700000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.796000 364.792000 459.796000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.892000 364.792000 462.892000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.988000 364.792000 465.988000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.084000 364.792000 469.084000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.180000 364.792000 472.180000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.276000 364.792000 475.276000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.372000 364.792000 478.372000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.468000 364.792000 481.468000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.564000 364.792000 484.564000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.660000 364.792000 487.660000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.756000 364.792000 490.756000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.852000 364.792000 493.852000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.948000 364.792000 496.948000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.044000 364.792000 500.044000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.140000 364.792000 503.140000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.236000 364.792000 506.236000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.332000 364.792000 509.332000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.428000 364.792000 512.428000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.524000 364.792000 515.524000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.620000 364.792000 518.620000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.716000 364.792000 521.716000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.812000 364.792000 524.812000 352.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.908000 364.792000 527.908000 352.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 364.792000 534.100000 352.792000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 364.792000 540.100000 352.792000 1.000000 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 108.100000 340.392000 119.416000 328.392000 1.000000 0.000000 0.000000 1.000000 M +drawChar 119.500000 340.392000 125.500000 328.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 125.404000 340.392000 128.404000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 128.404000 340.392000 137.728000 328.392000 1.000000 0.000000 0.000000 1.000000 G +drawChar 137.704000 340.392000 143.704000 328.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 143.704000 340.392000 149.020000 328.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 149.008000 340.392000 155.680000 328.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 155.704000 340.392000 161.020000 328.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 161.008000 340.392000 167.680000 328.392000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 167.700000 340.392000 170.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.700000 340.392000 173.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.700000 340.392000 176.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.700000 340.392000 179.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.700000 340.392000 182.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.700000 340.392000 185.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.700000 340.392000 188.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.700000 340.392000 191.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.700000 340.392000 194.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.700000 340.392000 197.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.700000 340.392000 200.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.700000 340.392000 203.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.700000 340.392000 206.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.700000 340.392000 209.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.700000 340.392000 212.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.700000 340.392000 215.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.700000 340.392000 218.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.700000 340.392000 221.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.700000 340.392000 224.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.700000 340.392000 227.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.700000 340.392000 230.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.700000 340.392000 233.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.700000 340.392000 236.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.700000 340.392000 239.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.700000 340.392000 242.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.700000 340.392000 245.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.700000 340.392000 248.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.700000 340.392000 251.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.700000 340.392000 254.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.700000 340.392000 257.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 257.700000 340.392000 260.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 260.700000 340.392000 263.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 263.700000 340.392000 266.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 266.700000 340.392000 269.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 269.700000 340.392000 272.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 272.700000 340.392000 275.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 275.700000 340.392000 278.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.700000 340.392000 281.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.700000 340.392000 284.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.700000 340.392000 287.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.700000 340.392000 290.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.700000 340.392000 293.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.700000 340.392000 296.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.700000 340.392000 299.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.700000 340.392000 302.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.700000 340.392000 305.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.700000 340.392000 308.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.700000 340.392000 311.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.700000 340.392000 314.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.700000 340.392000 317.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.700000 340.392000 320.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.700000 340.392000 323.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.700000 340.392000 326.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.700000 340.392000 329.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.700000 340.392000 332.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.700000 340.392000 335.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.700000 340.392000 338.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.700000 340.392000 341.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.700000 340.392000 344.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.700000 340.392000 347.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.700000 340.392000 350.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.700000 340.392000 353.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.700000 340.392000 356.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.700000 340.392000 359.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.700000 340.392000 362.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.700000 340.392000 365.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.700000 340.392000 368.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.700000 340.392000 371.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.700000 340.392000 374.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.700000 340.392000 377.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.700000 340.392000 380.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.700000 340.392000 383.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.700000 340.392000 386.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.700000 340.392000 389.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.700000 340.392000 392.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.700000 340.392000 395.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.700000 340.392000 398.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.700000 340.392000 401.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.700000 340.392000 404.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.700000 340.392000 407.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.700000 340.392000 410.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.700000 340.392000 413.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.700000 340.392000 416.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.700000 340.392000 419.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.700000 340.392000 422.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.700000 340.392000 425.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.700000 340.392000 428.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.700000 340.392000 431.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.700000 340.392000 434.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.700000 340.392000 437.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.700000 340.392000 440.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.700000 340.392000 443.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.700000 340.392000 446.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.700000 340.392000 449.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.700000 340.392000 452.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.700000 340.392000 455.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.700000 340.392000 458.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.700000 340.392000 461.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.700000 340.392000 464.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.700000 340.392000 467.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.700000 340.392000 470.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.700000 340.392000 473.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.700000 340.392000 476.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.700000 340.392000 479.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.700000 340.392000 482.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.700000 340.392000 485.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.700000 340.392000 488.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.700000 340.392000 491.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.700000 340.392000 494.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.700000 340.392000 497.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.700000 340.392000 500.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.700000 340.392000 503.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.700000 340.392000 506.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.700000 340.392000 509.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.700000 340.392000 512.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.700000 340.392000 515.700000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.796000 340.392000 518.796000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.892000 340.392000 521.892000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.988000 340.392000 524.988000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.084000 340.392000 528.084000 328.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 340.392000 534.100000 328.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 340.392000 540.100000 328.392000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 323.392000 230.824000 311.392000 1.000000 0.000000 0.000000 1.000000 H +drawChar 230.896000 323.392000 236.212000 311.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.200000 323.392000 241.516000 311.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 241.504000 323.392000 248.176000 311.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 248.200000 323.392000 251.200000 311.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 251.200000 323.392000 257.200000 311.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 257.200000 323.392000 263.200000 311.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 263.200000 323.392000 268.516000 311.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 268.504000 323.392000 275.176000 311.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 275.200000 323.392000 280.516000 311.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 280.504000 323.392000 287.176000 311.392000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 287.100000 323.392000 290.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.100000 323.392000 293.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.100000 323.392000 296.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.100000 323.392000 299.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.100000 323.392000 302.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.100000 323.392000 305.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.100000 323.392000 308.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.100000 323.392000 311.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.100000 323.392000 314.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.100000 323.392000 317.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.100000 323.392000 320.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.100000 323.392000 323.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.100000 323.392000 326.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.100000 323.392000 329.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.100000 323.392000 332.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.100000 323.392000 335.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.100000 323.392000 338.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.100000 323.392000 341.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.100000 323.392000 344.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.100000 323.392000 347.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.100000 323.392000 350.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.100000 323.392000 353.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.100000 323.392000 356.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.100000 323.392000 359.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.100000 323.392000 362.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.100000 323.392000 365.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.100000 323.392000 368.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.100000 323.392000 371.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.100000 323.392000 374.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.100000 323.392000 377.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.100000 323.392000 380.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.100000 323.392000 383.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.100000 323.392000 386.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.100000 323.392000 389.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.100000 323.392000 392.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.100000 323.392000 395.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.100000 323.392000 398.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.100000 323.392000 401.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.100000 323.392000 404.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.100000 323.392000 407.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.100000 323.392000 410.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.100000 323.392000 413.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.100000 323.392000 416.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.100000 323.392000 419.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 323.392000 422.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.100000 323.392000 425.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.100000 323.392000 428.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.100000 323.392000 431.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.100000 323.392000 434.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.100000 323.392000 437.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.100000 323.392000 440.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.100000 323.392000 443.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.100000 323.392000 446.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.100000 323.392000 449.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.100000 323.392000 452.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.100000 323.392000 455.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.100000 323.392000 458.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.100000 323.392000 461.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.100000 323.392000 464.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.100000 323.392000 467.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.100000 323.392000 470.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.100000 323.392000 473.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.100000 323.392000 476.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.100000 323.392000 479.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.100000 323.392000 482.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.100000 323.392000 485.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.100000 323.392000 488.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.100000 323.392000 491.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.100000 323.392000 494.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.100000 323.392000 497.100000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.196000 323.392000 500.196000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.292000 323.392000 503.292000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.388000 323.392000 506.388000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.484000 323.392000 509.484000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.580000 323.392000 512.580000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.676000 323.392000 515.676000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.772000 323.392000 518.772000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.868000 323.392000 521.868000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.964000 323.392000 524.964000 311.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.060000 323.392000 528.060000 311.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 323.392000 534.100000 311.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 323.392000 540.100000 311.392000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 306.392000 230.164000 294.392000 1.000000 0.000000 0.000000 1.000000 V +drawChar 230.104000 306.392000 235.420000 294.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.408000 306.392000 241.408000 294.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 241.408000 306.392000 246.724000 294.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 246.712000 306.392000 250.708000 294.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 250.708000 306.392000 256.708000 294.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 256.708000 306.392000 263.380000 294.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 263.404000 306.392000 266.728000 294.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 266.800000 306.392000 272.116000 294.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 272.200000 306.392000 275.200000 294.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 275.200000 306.392000 284.524000 294.392000 1.000000 0.000000 0.000000 1.000000 G +drawChar 284.500000 306.392000 290.500000 294.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 290.500000 306.392000 295.816000 294.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 295.804000 306.392000 302.476000 294.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 302.500000 306.392000 307.816000 294.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 307.804000 306.392000 314.476000 294.392000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 314.400000 306.392000 317.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.400000 306.392000 320.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.400000 306.392000 323.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.400000 306.392000 326.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.400000 306.392000 329.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.400000 306.392000 332.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.400000 306.392000 335.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.400000 306.392000 338.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.400000 306.392000 341.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.400000 306.392000 344.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.400000 306.392000 347.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.400000 306.392000 350.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.400000 306.392000 353.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.400000 306.392000 356.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.400000 306.392000 359.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.400000 306.392000 362.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.400000 306.392000 365.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.400000 306.392000 368.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.400000 306.392000 371.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.400000 306.392000 374.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.400000 306.392000 377.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.400000 306.392000 380.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.400000 306.392000 383.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.400000 306.392000 386.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.400000 306.392000 389.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.400000 306.392000 392.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.400000 306.392000 395.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.400000 306.392000 398.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.400000 306.392000 401.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.400000 306.392000 404.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.400000 306.392000 407.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.400000 306.392000 410.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.400000 306.392000 413.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.400000 306.392000 416.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.400000 306.392000 419.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.400000 306.392000 422.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.400000 306.392000 425.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.400000 306.392000 428.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.400000 306.392000 431.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.400000 306.392000 434.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.400000 306.392000 437.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.400000 306.392000 440.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.400000 306.392000 443.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.400000 306.392000 446.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.400000 306.392000 449.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.400000 306.392000 452.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.400000 306.392000 455.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.400000 306.392000 458.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.400000 306.392000 461.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.400000 306.392000 464.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.400000 306.392000 467.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.400000 306.392000 470.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.400000 306.392000 473.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.400000 306.392000 476.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.400000 306.392000 479.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.400000 306.392000 482.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.400000 306.392000 485.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.400000 306.392000 488.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.400000 306.392000 491.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.400000 306.392000 494.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.400000 306.392000 497.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.400000 306.392000 500.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.400000 306.392000 503.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.400000 306.392000 506.400000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.496000 306.392000 509.496000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.592000 306.392000 512.592000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.688000 306.392000 515.688000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.784000 306.392000 518.784000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.880000 306.392000 521.880000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.976000 306.392000 524.976000 294.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.072000 306.392000 528.072000 294.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 306.392000 534.100000 294.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 306.392000 540.100000 294.392000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 289.392000 228.820000 277.392000 1.000000 0.000000 0.000000 1.000000 F +drawChar 228.796000 289.392000 234.112000 277.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 234.100000 289.392000 240.772000 277.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 240.796000 289.392000 244.120000 277.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 244.096000 289.392000 248.092000 277.392000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 248.100000 289.392000 251.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.100000 289.392000 254.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.100000 289.392000 257.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 257.100000 289.392000 260.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 260.100000 289.392000 263.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 263.100000 289.392000 266.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 266.100000 289.392000 269.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 269.100000 289.392000 272.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 272.100000 289.392000 275.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 275.100000 289.392000 278.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.100000 289.392000 281.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.100000 289.392000 284.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.100000 289.392000 287.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.100000 289.392000 290.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.100000 289.392000 293.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.100000 289.392000 296.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.100000 289.392000 299.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.100000 289.392000 302.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.100000 289.392000 305.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.100000 289.392000 308.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.100000 289.392000 311.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.100000 289.392000 314.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.100000 289.392000 317.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.100000 289.392000 320.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.100000 289.392000 323.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.100000 289.392000 326.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.100000 289.392000 329.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.100000 289.392000 332.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.100000 289.392000 335.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.100000 289.392000 338.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.100000 289.392000 341.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.100000 289.392000 344.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.100000 289.392000 347.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.100000 289.392000 350.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.100000 289.392000 353.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.100000 289.392000 356.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.100000 289.392000 359.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.100000 289.392000 362.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.100000 289.392000 365.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.100000 289.392000 368.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.100000 289.392000 371.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.100000 289.392000 374.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.100000 289.392000 377.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.100000 289.392000 380.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.100000 289.392000 383.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.100000 289.392000 386.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.100000 289.392000 389.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.100000 289.392000 392.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.100000 289.392000 395.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.100000 289.392000 398.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.100000 289.392000 401.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.100000 289.392000 404.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.100000 289.392000 407.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.100000 289.392000 410.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.100000 289.392000 413.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.100000 289.392000 416.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.100000 289.392000 419.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 289.392000 422.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.100000 289.392000 425.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.100000 289.392000 428.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.100000 289.392000 431.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.100000 289.392000 434.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.100000 289.392000 437.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.100000 289.392000 440.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.100000 289.392000 443.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.100000 289.392000 446.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.100000 289.392000 449.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.100000 289.392000 452.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.100000 289.392000 455.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.100000 289.392000 458.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.100000 289.392000 461.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.100000 289.392000 464.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.100000 289.392000 467.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.100000 289.392000 470.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.100000 289.392000 473.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.100000 289.392000 476.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.100000 289.392000 479.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.100000 289.392000 482.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.100000 289.392000 485.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.100000 289.392000 488.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.100000 289.392000 491.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.100000 289.392000 494.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.100000 289.392000 497.100000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.196000 289.392000 500.196000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.292000 289.392000 503.292000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.388000 289.392000 506.388000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.484000 289.392000 509.484000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.580000 289.392000 512.580000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.676000 289.392000 515.676000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.772000 289.392000 518.772000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.868000 289.392000 521.868000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.964000 289.392000 524.964000 277.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.060000 289.392000 528.060000 277.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 289.392000 534.100000 277.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 289.392000 540.100000 277.392000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 272.392000 224.500000 260.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.500000 272.392000 232.492000 260.392000 1.000000 0.000000 0.000000 1.000000 T +drawChar 232.504000 272.392000 237.820000 260.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.808000 272.392000 243.124000 260.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 243.112000 272.392000 248.428000 260.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.416000 272.392000 253.084000 260.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 253.100000 272.392000 256.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 256.100000 272.392000 259.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 259.100000 272.392000 262.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 262.100000 272.392000 265.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 265.100000 272.392000 268.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 268.100000 272.392000 271.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 271.100000 272.392000 274.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 274.100000 272.392000 277.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 277.100000 272.392000 280.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 280.100000 272.392000 283.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 283.100000 272.392000 286.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.100000 272.392000 289.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.100000 272.392000 292.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.100000 272.392000 295.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.100000 272.392000 298.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.100000 272.392000 301.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.100000 272.392000 304.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.100000 272.392000 307.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.100000 272.392000 310.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.100000 272.392000 313.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.100000 272.392000 316.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.100000 272.392000 319.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.100000 272.392000 322.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.100000 272.392000 325.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.100000 272.392000 328.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.100000 272.392000 331.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.100000 272.392000 334.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.100000 272.392000 337.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.100000 272.392000 340.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.100000 272.392000 343.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.100000 272.392000 346.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.100000 272.392000 349.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.100000 272.392000 352.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.100000 272.392000 355.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.100000 272.392000 358.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.100000 272.392000 361.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.100000 272.392000 364.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.100000 272.392000 367.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.100000 272.392000 370.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.100000 272.392000 373.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.100000 272.392000 376.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.100000 272.392000 379.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.100000 272.392000 382.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.100000 272.392000 385.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.100000 272.392000 388.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.100000 272.392000 391.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.100000 272.392000 394.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.100000 272.392000 397.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.100000 272.392000 400.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.100000 272.392000 403.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.100000 272.392000 406.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 272.392000 409.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 272.392000 412.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 272.392000 415.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 272.392000 418.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 272.392000 421.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 272.392000 424.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 272.392000 427.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 272.392000 430.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 272.392000 433.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 272.392000 436.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 272.392000 439.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 272.392000 442.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 272.392000 445.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 272.392000 448.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 272.392000 451.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 272.392000 454.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 272.392000 457.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 272.392000 460.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 272.392000 463.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 272.392000 466.100000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.196000 272.392000 469.196000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.292000 272.392000 472.292000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.388000 272.392000 475.388000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.484000 272.392000 478.484000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.580000 272.392000 481.580000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.676000 272.392000 484.676000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.772000 272.392000 487.772000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.868000 272.392000 490.868000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.964000 272.392000 493.964000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.060000 272.392000 497.060000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.156000 272.392000 500.156000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.252000 272.392000 503.252000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.348000 272.392000 506.348000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.444000 272.392000 509.444000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.540000 272.392000 512.540000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.636000 272.392000 515.636000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.732000 272.392000 518.732000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.828000 272.392000 521.828000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.924000 272.392000 524.924000 260.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.020000 272.392000 528.020000 260.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 272.392000 534.100000 260.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 272.392000 540.100000 260.392000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 255.392000 230.824000 243.392000 1.000000 0.000000 0.000000 1.000000 G +drawChar 230.800000 255.392000 236.800000 243.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 236.800000 255.392000 242.116000 243.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 242.104000 255.392000 248.776000 243.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 248.800000 255.392000 254.116000 243.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 254.104000 255.392000 260.776000 243.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 260.800000 255.392000 263.800000 243.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 263.800000 255.392000 270.472000 243.392000 1.000000 0.000000 0.000000 1.000000 S +drawChar 270.496000 255.392000 277.168000 243.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 277.192000 255.392000 282.508000 243.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 282.496000 255.392000 289.168000 243.392000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 289.100000 255.392000 292.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.100000 255.392000 295.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.100000 255.392000 298.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.100000 255.392000 301.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.100000 255.392000 304.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.100000 255.392000 307.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.100000 255.392000 310.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.100000 255.392000 313.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.100000 255.392000 316.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.100000 255.392000 319.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.100000 255.392000 322.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.100000 255.392000 325.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.100000 255.392000 328.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.100000 255.392000 331.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.100000 255.392000 334.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.100000 255.392000 337.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.100000 255.392000 340.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.100000 255.392000 343.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.100000 255.392000 346.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.100000 255.392000 349.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.100000 255.392000 352.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.100000 255.392000 355.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.100000 255.392000 358.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.100000 255.392000 361.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.100000 255.392000 364.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.100000 255.392000 367.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.100000 255.392000 370.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.100000 255.392000 373.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.100000 255.392000 376.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.100000 255.392000 379.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.100000 255.392000 382.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.100000 255.392000 385.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.100000 255.392000 388.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.100000 255.392000 391.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.100000 255.392000 394.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.100000 255.392000 397.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.100000 255.392000 400.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.100000 255.392000 403.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.100000 255.392000 406.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 255.392000 409.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 255.392000 412.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 255.392000 415.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 255.392000 418.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 255.392000 421.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 255.392000 424.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 255.392000 427.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 255.392000 430.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 255.392000 433.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 255.392000 436.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 255.392000 439.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 255.392000 442.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 255.392000 445.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 255.392000 448.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 255.392000 451.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 255.392000 454.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 255.392000 457.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 255.392000 460.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 255.392000 463.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 255.392000 466.100000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.196000 255.392000 469.196000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.292000 255.392000 472.292000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.388000 255.392000 475.388000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.484000 255.392000 478.484000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.580000 255.392000 481.580000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.676000 255.392000 484.676000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.772000 255.392000 487.772000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.868000 255.392000 490.868000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.964000 255.392000 493.964000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.060000 255.392000 497.060000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.156000 255.392000 500.156000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.252000 255.392000 503.252000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.348000 255.392000 506.348000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.444000 255.392000 509.444000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.540000 255.392000 512.540000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.636000 255.392000 515.636000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.732000 255.392000 518.732000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.828000 255.392000 521.828000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.924000 255.392000 524.924000 243.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.020000 255.392000 528.020000 243.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 255.392000 534.100000 243.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 255.392000 540.100000 243.392000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 241.992000 228.820000 229.992000 1.000000 0.000000 0.000000 1.000000 T +drawChar 228.796000 241.992000 234.796000 229.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 234.796000 241.992000 240.796000 229.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 240.796000 241.992000 244.120000 229.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 244.096000 241.992000 248.764000 229.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 248.700000 241.992000 251.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.700000 241.992000 254.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.700000 241.992000 257.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 257.700000 241.992000 260.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 260.700000 241.992000 263.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 263.700000 241.992000 266.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 266.700000 241.992000 269.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 269.700000 241.992000 272.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 272.700000 241.992000 275.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 275.700000 241.992000 278.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.700000 241.992000 281.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.700000 241.992000 284.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.700000 241.992000 287.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.700000 241.992000 290.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.700000 241.992000 293.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.700000 241.992000 296.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.700000 241.992000 299.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.700000 241.992000 302.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.700000 241.992000 305.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.700000 241.992000 308.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.700000 241.992000 311.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.700000 241.992000 314.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.700000 241.992000 317.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.700000 241.992000 320.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.700000 241.992000 323.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.700000 241.992000 326.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.700000 241.992000 329.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.700000 241.992000 332.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.700000 241.992000 335.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.700000 241.992000 338.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.700000 241.992000 341.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.700000 241.992000 344.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.700000 241.992000 347.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.700000 241.992000 350.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.700000 241.992000 353.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.700000 241.992000 356.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.700000 241.992000 359.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.700000 241.992000 362.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.700000 241.992000 365.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.700000 241.992000 368.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.700000 241.992000 371.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.700000 241.992000 374.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.700000 241.992000 377.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.700000 241.992000 380.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.700000 241.992000 383.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.700000 241.992000 386.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.700000 241.992000 389.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.700000 241.992000 392.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.700000 241.992000 395.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.700000 241.992000 398.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.700000 241.992000 401.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.700000 241.992000 404.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.700000 241.992000 407.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.700000 241.992000 410.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.700000 241.992000 413.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.700000 241.992000 416.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.700000 241.992000 419.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.700000 241.992000 422.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.700000 241.992000 425.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.700000 241.992000 428.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.700000 241.992000 431.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.700000 241.992000 434.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.700000 241.992000 437.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.700000 241.992000 440.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.700000 241.992000 443.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.700000 241.992000 446.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.700000 241.992000 449.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.700000 241.992000 452.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.700000 241.992000 455.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.700000 241.992000 458.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.700000 241.992000 461.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.700000 241.992000 464.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.700000 241.992000 467.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.700000 241.992000 470.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.700000 241.992000 473.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.700000 241.992000 476.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.700000 241.992000 479.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.700000 241.992000 482.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.700000 241.992000 485.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.700000 241.992000 488.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.700000 241.992000 491.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.700000 241.992000 494.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.700000 241.992000 497.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.700000 241.992000 500.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.700000 241.992000 503.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.700000 241.992000 506.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.700000 241.992000 509.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.700000 241.992000 512.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.700000 241.992000 515.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.700000 241.992000 518.700000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.796000 241.992000 521.796000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.892000 241.992000 524.892000 229.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.988000 241.992000 527.988000 229.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 528.100000 241.992000 534.100000 229.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.196000 241.992000 540.196000 229.992000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 228.592000 230.164000 216.592000 1.000000 0.000000 0.000000 1.000000 G +drawChar 230.104000 228.592000 235.420000 216.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 235.408000 228.592000 239.404000 216.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 239.404000 228.592000 245.404000 216.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 245.404000 228.592000 250.720000 216.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 250.708000 228.592000 256.708000 216.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 256.804000 228.592000 259.804000 216.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.804000 228.592000 267.124000 216.592000 1.000000 0.000000 0.000000 1.000000 T +drawChar 267.100000 228.592000 273.100000 216.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 273.100000 228.592000 279.100000 216.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 279.100000 228.592000 282.424000 216.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 282.400000 228.592000 287.068000 216.592000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 287.100000 228.592000 290.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.100000 228.592000 293.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.100000 228.592000 296.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.100000 228.592000 299.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.100000 228.592000 302.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.100000 228.592000 305.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.100000 228.592000 308.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.100000 228.592000 311.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.100000 228.592000 314.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.100000 228.592000 317.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.100000 228.592000 320.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.100000 228.592000 323.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.100000 228.592000 326.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.100000 228.592000 329.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.100000 228.592000 332.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.100000 228.592000 335.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.100000 228.592000 338.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.100000 228.592000 341.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.100000 228.592000 344.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.100000 228.592000 347.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.100000 228.592000 350.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.100000 228.592000 353.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.100000 228.592000 356.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.100000 228.592000 359.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.100000 228.592000 362.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.100000 228.592000 365.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.100000 228.592000 368.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.100000 228.592000 371.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.100000 228.592000 374.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.100000 228.592000 377.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.100000 228.592000 380.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.100000 228.592000 383.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.100000 228.592000 386.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.100000 228.592000 389.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.100000 228.592000 392.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.100000 228.592000 395.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.100000 228.592000 398.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.100000 228.592000 401.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.100000 228.592000 404.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.100000 228.592000 407.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.100000 228.592000 410.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.100000 228.592000 413.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.100000 228.592000 416.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.100000 228.592000 419.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 228.592000 422.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.100000 228.592000 425.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.100000 228.592000 428.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.100000 228.592000 431.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.100000 228.592000 434.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.100000 228.592000 437.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.100000 228.592000 440.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.100000 228.592000 443.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.100000 228.592000 446.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.100000 228.592000 449.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.100000 228.592000 452.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.100000 228.592000 455.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.100000 228.592000 458.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.100000 228.592000 461.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.100000 228.592000 464.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.100000 228.592000 467.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.100000 228.592000 470.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.100000 228.592000 473.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.100000 228.592000 476.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.100000 228.592000 479.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.100000 228.592000 482.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.100000 228.592000 485.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.100000 228.592000 488.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.100000 228.592000 491.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.100000 228.592000 494.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.100000 228.592000 497.100000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.196000 228.592000 500.196000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.292000 228.592000 503.292000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.388000 228.592000 506.388000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.484000 228.592000 509.484000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.580000 228.592000 512.580000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.676000 228.592000 515.676000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.772000 228.592000 518.772000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.868000 228.592000 521.868000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.964000 228.592000 524.964000 216.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.060000 228.592000 528.060000 216.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 528.100000 228.592000 534.100000 216.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.196000 228.592000 540.196000 216.592000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 211.492000 230.824000 199.492000 1.000000 0.000000 0.000000 1.000000 G +drawChar 230.800000 211.492000 236.116000 199.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 236.104000 211.492000 241.420000 199.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 241.408000 211.492000 246.724000 199.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 246.712000 211.492000 253.384000 199.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 253.312000 211.492000 259.984000 199.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 260.008000 211.492000 266.008000 199.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 266.008000 211.492000 272.680000 199.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 272.704000 211.492000 277.372000 199.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 277.408000 211.492000 282.724000 199.492000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 282.700000 211.492000 285.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 285.700000 211.492000 288.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.700000 211.492000 291.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 291.700000 211.492000 294.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 294.700000 211.492000 297.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 297.700000 211.492000 300.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 300.700000 211.492000 303.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 303.700000 211.492000 306.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.700000 211.492000 309.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.700000 211.492000 312.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.700000 211.492000 315.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.700000 211.492000 318.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.700000 211.492000 321.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.700000 211.492000 324.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 324.700000 211.492000 327.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.700000 211.492000 330.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 330.700000 211.492000 333.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 333.700000 211.492000 336.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 336.700000 211.492000 339.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.700000 211.492000 342.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 342.700000 211.492000 345.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.700000 211.492000 348.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.700000 211.492000 351.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.700000 211.492000 354.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.700000 211.492000 357.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.700000 211.492000 360.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.700000 211.492000 363.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.700000 211.492000 366.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.700000 211.492000 369.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.700000 211.492000 372.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.700000 211.492000 375.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.700000 211.492000 378.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.700000 211.492000 381.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.700000 211.492000 384.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.700000 211.492000 387.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.700000 211.492000 390.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.700000 211.492000 393.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.700000 211.492000 396.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.700000 211.492000 399.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.700000 211.492000 402.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.700000 211.492000 405.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.700000 211.492000 408.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.700000 211.492000 411.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.700000 211.492000 414.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.700000 211.492000 417.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.700000 211.492000 420.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.700000 211.492000 423.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.700000 211.492000 426.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.700000 211.492000 429.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.700000 211.492000 432.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.700000 211.492000 435.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.700000 211.492000 438.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.700000 211.492000 441.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.700000 211.492000 444.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.700000 211.492000 447.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.700000 211.492000 450.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.700000 211.492000 453.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.700000 211.492000 456.700000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.796000 211.492000 459.796000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.892000 211.492000 462.892000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.988000 211.492000 465.988000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.084000 211.492000 469.084000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.180000 211.492000 472.180000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.276000 211.492000 475.276000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.372000 211.492000 478.372000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.468000 211.492000 481.468000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.564000 211.492000 484.564000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.660000 211.492000 487.660000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.756000 211.492000 490.756000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.852000 211.492000 493.852000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.948000 211.492000 496.948000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.044000 211.492000 500.044000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.140000 211.492000 503.140000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.236000 211.492000 506.236000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.332000 211.492000 509.332000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.428000 211.492000 512.428000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.524000 211.492000 515.524000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.620000 211.492000 518.620000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.716000 211.492000 521.716000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.812000 211.492000 524.812000 199.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.908000 211.492000 527.908000 199.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 211.492000 534.100000 199.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 211.492000 540.100000 199.492000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 194.492000 228.820000 182.492000 1.000000 0.000000 0.000000 1.000000 F +drawChar 228.796000 194.492000 232.120000 182.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 232.192000 194.492000 238.192000 182.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 238.096000 194.492000 246.760000 182.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 246.796000 194.492000 252.112000 182.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 252.100000 194.492000 257.416000 182.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 257.404000 194.492000 262.072000 182.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 262.100000 194.492000 265.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 265.100000 194.492000 268.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 268.100000 194.492000 271.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 271.100000 194.492000 274.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 274.100000 194.492000 277.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 277.100000 194.492000 280.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 280.100000 194.492000 283.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 283.100000 194.492000 286.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.100000 194.492000 289.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.100000 194.492000 292.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.100000 194.492000 295.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.100000 194.492000 298.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.100000 194.492000 301.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.100000 194.492000 304.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.100000 194.492000 307.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.100000 194.492000 310.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.100000 194.492000 313.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.100000 194.492000 316.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.100000 194.492000 319.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.100000 194.492000 322.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.100000 194.492000 325.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.100000 194.492000 328.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.100000 194.492000 331.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.100000 194.492000 334.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.100000 194.492000 337.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.100000 194.492000 340.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.100000 194.492000 343.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.100000 194.492000 346.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.100000 194.492000 349.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.100000 194.492000 352.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.100000 194.492000 355.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.100000 194.492000 358.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.100000 194.492000 361.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.100000 194.492000 364.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.100000 194.492000 367.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.100000 194.492000 370.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.100000 194.492000 373.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.100000 194.492000 376.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.100000 194.492000 379.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.100000 194.492000 382.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.100000 194.492000 385.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.100000 194.492000 388.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.100000 194.492000 391.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.100000 194.492000 394.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.100000 194.492000 397.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.100000 194.492000 400.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.100000 194.492000 403.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.100000 194.492000 406.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 194.492000 409.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 194.492000 412.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 194.492000 415.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 194.492000 418.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 194.492000 421.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 194.492000 424.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 194.492000 427.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 194.492000 430.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 194.492000 433.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 194.492000 436.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 194.492000 439.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 194.492000 442.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 194.492000 445.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 194.492000 448.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 194.492000 451.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 194.492000 454.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 194.492000 457.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 194.492000 460.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 194.492000 463.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 194.492000 466.100000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.196000 194.492000 469.196000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.292000 194.492000 472.292000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.388000 194.492000 475.388000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.484000 194.492000 478.484000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.580000 194.492000 481.580000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.676000 194.492000 484.676000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.772000 194.492000 487.772000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.868000 194.492000 490.868000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.964000 194.492000 493.964000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.060000 194.492000 497.060000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.156000 194.492000 500.156000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.252000 194.492000 503.252000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.348000 194.492000 506.348000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.444000 194.492000 509.444000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.540000 194.492000 512.540000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.636000 194.492000 515.636000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.732000 194.492000 518.732000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.828000 194.492000 521.828000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.924000 194.492000 524.924000 182.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.020000 194.492000 528.020000 182.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 194.492000 534.100000 182.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 194.492000 540.100000 182.492000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 177.492000 230.164000 165.492000 1.000000 0.000000 0.000000 1.000000 Y +drawChar 230.200000 177.492000 236.200000 165.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 236.200000 177.492000 241.516000 165.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 241.504000 177.492000 248.176000 165.492000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 248.100000 177.492000 251.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.100000 177.492000 254.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.100000 177.492000 257.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 257.100000 177.492000 260.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 260.100000 177.492000 263.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 263.100000 177.492000 266.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 266.100000 177.492000 269.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 269.100000 177.492000 272.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 272.100000 177.492000 275.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 275.100000 177.492000 278.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.100000 177.492000 281.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.100000 177.492000 284.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 284.100000 177.492000 287.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 287.100000 177.492000 290.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.100000 177.492000 293.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 293.100000 177.492000 296.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.100000 177.492000 299.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 299.100000 177.492000 302.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 302.100000 177.492000 305.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.100000 177.492000 308.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 308.100000 177.492000 311.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.100000 177.492000 314.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 314.100000 177.492000 317.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 317.100000 177.492000 320.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.100000 177.492000 323.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.100000 177.492000 326.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 326.100000 177.492000 329.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 329.100000 177.492000 332.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 332.100000 177.492000 335.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.100000 177.492000 338.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.100000 177.492000 341.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.100000 177.492000 344.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.100000 177.492000 347.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.100000 177.492000 350.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.100000 177.492000 353.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.100000 177.492000 356.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.100000 177.492000 359.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.100000 177.492000 362.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.100000 177.492000 365.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.100000 177.492000 368.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.100000 177.492000 371.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.100000 177.492000 374.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.100000 177.492000 377.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.100000 177.492000 380.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.100000 177.492000 383.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.100000 177.492000 386.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.100000 177.492000 389.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.100000 177.492000 392.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.100000 177.492000 395.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.100000 177.492000 398.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.100000 177.492000 401.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.100000 177.492000 404.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.100000 177.492000 407.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.100000 177.492000 410.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.100000 177.492000 413.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.100000 177.492000 416.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.100000 177.492000 419.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 177.492000 422.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.100000 177.492000 425.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.100000 177.492000 428.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.100000 177.492000 431.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.100000 177.492000 434.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.100000 177.492000 437.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.100000 177.492000 440.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.100000 177.492000 443.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.100000 177.492000 446.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.100000 177.492000 449.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.100000 177.492000 452.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.100000 177.492000 455.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.100000 177.492000 458.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.100000 177.492000 461.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.100000 177.492000 464.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.100000 177.492000 467.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.100000 177.492000 470.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.100000 177.492000 473.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.100000 177.492000 476.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.100000 177.492000 479.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.100000 177.492000 482.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.100000 177.492000 485.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.100000 177.492000 488.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.100000 177.492000 491.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 491.100000 177.492000 494.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.100000 177.492000 497.100000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.196000 177.492000 500.196000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.292000 177.492000 503.292000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.388000 177.492000 506.388000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.484000 177.492000 509.484000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.580000 177.492000 512.580000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.676000 177.492000 515.676000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.772000 177.492000 518.772000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.868000 177.492000 521.868000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.964000 177.492000 524.964000 165.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.060000 177.492000 528.060000 165.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 177.492000 534.100000 165.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 177.492000 540.100000 165.492000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 108.100000 153.092000 115.420000 141.092000 1.000000 0.000000 0.000000 1.000000 F +drawChar 115.396000 153.092000 118.720000 141.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 118.696000 153.092000 122.692000 141.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 122.692000 153.092000 129.364000 141.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 129.292000 153.092000 134.608000 141.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 134.596000 153.092000 139.264000 141.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 139.300000 153.092000 143.968000 141.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 144.000000 153.092000 147.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.000000 153.092000 150.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.000000 153.092000 153.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.000000 153.092000 156.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.000000 153.092000 159.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.000000 153.092000 162.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.000000 153.092000 165.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.000000 153.092000 168.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.000000 153.092000 171.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.000000 153.092000 174.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.000000 153.092000 177.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.000000 153.092000 180.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.000000 153.092000 183.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.000000 153.092000 186.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.000000 153.092000 189.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.000000 153.092000 192.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.000000 153.092000 195.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.000000 153.092000 198.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.000000 153.092000 201.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.000000 153.092000 204.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.000000 153.092000 207.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.000000 153.092000 210.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.000000 153.092000 213.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.000000 153.092000 216.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.000000 153.092000 219.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.000000 153.092000 222.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.000000 153.092000 225.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.000000 153.092000 228.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.000000 153.092000 231.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.000000 153.092000 234.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.000000 153.092000 237.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.000000 153.092000 240.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.000000 153.092000 243.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.000000 153.092000 246.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.000000 153.092000 249.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.000000 153.092000 252.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.000000 153.092000 255.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.000000 153.092000 258.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.000000 153.092000 261.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.000000 153.092000 264.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.000000 153.092000 267.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.000000 153.092000 270.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.000000 153.092000 273.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.000000 153.092000 276.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.000000 153.092000 279.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.000000 153.092000 282.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.000000 153.092000 285.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 285.000000 153.092000 288.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.000000 153.092000 291.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 291.000000 153.092000 294.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 294.000000 153.092000 297.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 297.000000 153.092000 300.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 300.000000 153.092000 303.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 303.000000 153.092000 306.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 306.000000 153.092000 309.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 309.000000 153.092000 312.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 312.000000 153.092000 315.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.000000 153.092000 318.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.000000 153.092000 321.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.000000 153.092000 324.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 324.000000 153.092000 327.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 327.000000 153.092000 330.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 330.000000 153.092000 333.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 333.000000 153.092000 336.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 336.000000 153.092000 339.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.000000 153.092000 342.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 342.000000 153.092000 345.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.000000 153.092000 348.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.000000 153.092000 351.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.000000 153.092000 354.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.000000 153.092000 357.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.000000 153.092000 360.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.000000 153.092000 363.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.000000 153.092000 366.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.000000 153.092000 369.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.000000 153.092000 372.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.000000 153.092000 375.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.000000 153.092000 378.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.000000 153.092000 381.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.000000 153.092000 384.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.000000 153.092000 387.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.000000 153.092000 390.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.000000 153.092000 393.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.000000 153.092000 396.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.000000 153.092000 399.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.000000 153.092000 402.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.000000 153.092000 405.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.000000 153.092000 408.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.000000 153.092000 411.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.000000 153.092000 414.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.000000 153.092000 417.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.000000 153.092000 420.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.000000 153.092000 423.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.000000 153.092000 426.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.000000 153.092000 429.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.000000 153.092000 432.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.000000 153.092000 435.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.000000 153.092000 438.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.000000 153.092000 441.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.000000 153.092000 444.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.000000 153.092000 447.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.000000 153.092000 450.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.000000 153.092000 453.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.000000 153.092000 456.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.000000 153.092000 459.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.000000 153.092000 462.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.000000 153.092000 465.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.000000 153.092000 468.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.000000 153.092000 471.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.000000 153.092000 474.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.000000 153.092000 477.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.000000 153.092000 480.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.000000 153.092000 483.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.000000 153.092000 486.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.000000 153.092000 489.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.000000 153.092000 492.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.000000 153.092000 495.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.000000 153.092000 498.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.000000 153.092000 501.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.000000 153.092000 504.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.000000 153.092000 507.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.000000 153.092000 510.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.000000 153.092000 513.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 513.000000 153.092000 516.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 516.000000 153.092000 519.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 519.000000 153.092000 522.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 522.000000 153.092000 525.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.000000 153.092000 528.000000 141.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 153.092000 534.100000 141.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 153.092000 540.100000 141.092000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 136.092000 228.172000 124.092000 1.000000 0.000000 0.000000 1.000000 S +drawChar 228.196000 136.092000 236.860000 124.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 236.896000 136.092000 240.220000 124.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 240.196000 136.092000 250.192000 124.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 250.096000 136.092000 260.092000 124.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 260.092000 136.092000 263.416000 124.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 263.392000 136.092000 270.064000 124.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 269.992000 136.092000 275.992000 124.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 276.196000 136.092000 279.196000 124.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.196000 136.092000 286.516000 124.092000 1.000000 0.000000 0.000000 1.000000 P +drawChar 286.492000 136.092000 292.492000 124.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 292.492000 136.092000 298.492000 124.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 298.492000 136.092000 301.816000 124.092000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 301.700000 136.092000 304.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.700000 136.092000 307.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.700000 136.092000 310.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.700000 136.092000 313.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.700000 136.092000 316.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.700000 136.092000 319.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.700000 136.092000 322.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.700000 136.092000 325.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.700000 136.092000 328.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.700000 136.092000 331.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.700000 136.092000 334.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.700000 136.092000 337.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.700000 136.092000 340.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.700000 136.092000 343.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.700000 136.092000 346.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.700000 136.092000 349.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.700000 136.092000 352.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.700000 136.092000 355.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.700000 136.092000 358.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.700000 136.092000 361.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.700000 136.092000 364.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.700000 136.092000 367.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.700000 136.092000 370.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.700000 136.092000 373.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.700000 136.092000 376.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.700000 136.092000 379.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.700000 136.092000 382.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.700000 136.092000 385.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.700000 136.092000 388.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.700000 136.092000 391.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.700000 136.092000 394.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.700000 136.092000 397.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.700000 136.092000 400.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.700000 136.092000 403.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.700000 136.092000 406.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.700000 136.092000 409.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.700000 136.092000 412.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.700000 136.092000 415.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.700000 136.092000 418.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.700000 136.092000 421.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.700000 136.092000 424.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.700000 136.092000 427.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.700000 136.092000 430.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.700000 136.092000 433.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.700000 136.092000 436.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.700000 136.092000 439.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.700000 136.092000 442.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.700000 136.092000 445.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.700000 136.092000 448.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.700000 136.092000 451.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.700000 136.092000 454.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.700000 136.092000 457.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.700000 136.092000 460.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.700000 136.092000 463.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.700000 136.092000 466.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.700000 136.092000 469.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.700000 136.092000 472.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.700000 136.092000 475.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.700000 136.092000 478.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.700000 136.092000 481.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.700000 136.092000 484.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.700000 136.092000 487.700000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.796000 136.092000 490.796000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.892000 136.092000 493.892000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.988000 136.092000 496.988000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.084000 136.092000 500.084000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.180000 136.092000 503.180000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.276000 136.092000 506.276000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.372000 136.092000 509.372000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.468000 136.092000 512.468000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.564000 136.092000 515.564000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.660000 136.092000 518.660000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.756000 136.092000 521.756000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.852000 136.092000 524.852000 124.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 524.948000 136.092000 527.948000 124.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 136.092000 534.100000 124.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 136.092000 540.100000 124.092000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 221.500000 119.092000 229.492000 107.092000 1.000000 0.000000 0.000000 1.000000 T +drawChar 229.504000 119.092000 234.820000 107.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 234.808000 119.092000 241.480000 107.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 241.408000 119.092000 248.080000 107.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 248.104000 119.092000 251.428000 107.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 251.404000 119.092000 256.072000 107.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 256.100000 119.092000 259.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 259.100000 119.092000 262.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 262.100000 119.092000 265.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 265.100000 119.092000 268.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 268.100000 119.092000 271.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 271.100000 119.092000 274.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 274.100000 119.092000 277.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 277.100000 119.092000 280.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 280.100000 119.092000 283.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 283.100000 119.092000 286.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 286.100000 119.092000 289.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 289.100000 119.092000 292.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 292.100000 119.092000 295.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 295.100000 119.092000 298.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 298.100000 119.092000 301.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 301.100000 119.092000 304.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.100000 119.092000 307.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.100000 119.092000 310.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 310.100000 119.092000 313.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.100000 119.092000 316.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 316.100000 119.092000 319.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 319.100000 119.092000 322.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 322.100000 119.092000 325.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 325.100000 119.092000 328.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 328.100000 119.092000 331.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 331.100000 119.092000 334.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 334.100000 119.092000 337.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 337.100000 119.092000 340.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.100000 119.092000 343.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 343.100000 119.092000 346.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 346.100000 119.092000 349.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.100000 119.092000 352.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.100000 119.092000 355.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.100000 119.092000 358.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.100000 119.092000 361.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.100000 119.092000 364.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.100000 119.092000 367.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.100000 119.092000 370.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.100000 119.092000 373.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.100000 119.092000 376.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.100000 119.092000 379.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.100000 119.092000 382.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.100000 119.092000 385.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.100000 119.092000 388.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.100000 119.092000 391.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.100000 119.092000 394.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.100000 119.092000 397.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.100000 119.092000 400.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.100000 119.092000 403.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.100000 119.092000 406.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 119.092000 409.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 119.092000 412.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 119.092000 415.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 119.092000 418.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 119.092000 421.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 119.092000 424.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 119.092000 427.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 119.092000 430.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 119.092000 433.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 119.092000 436.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 119.092000 439.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 119.092000 442.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 119.092000 445.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 119.092000 448.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 119.092000 451.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 119.092000 454.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 119.092000 457.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 119.092000 460.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 119.092000 463.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 119.092000 466.100000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.196000 119.092000 469.196000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.292000 119.092000 472.292000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.388000 119.092000 475.388000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.484000 119.092000 478.484000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.580000 119.092000 481.580000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.676000 119.092000 484.676000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.772000 119.092000 487.772000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.868000 119.092000 490.868000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.964000 119.092000 493.964000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 494.060000 119.092000 497.060000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 497.156000 119.092000 500.156000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.252000 119.092000 503.252000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.348000 119.092000 506.348000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 506.444000 119.092000 509.444000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 509.540000 119.092000 512.540000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 512.636000 119.092000 515.636000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 515.732000 119.092000 518.732000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 518.828000 119.092000 521.828000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.924000 119.092000 524.924000 107.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 525.020000 119.092000 528.020000 107.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 528.100000 119.092000 534.100000 107.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 534.100000 119.092000 540.100000 107.092000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +eoFillPath subpath 1 108.000000 660.100000 0 540.000000 660.100000 0 540.000000 660.200000 0 108.000000 660.200000 0 108.000000 660.100000 0 +eoFillPath subpath 1 108.000000 342.400000 0 540.000000 342.400000 0 540.000000 342.500000 0 108.000000 342.500000 0 108.000000 342.400000 0 +eoFillPath subpath 1 108.000000 155.100000 0 540.000000 155.100000 0 540.000000 155.200000 0 108.000000 155.200000 0 108.000000 155.100000 0 +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 550.900000 0 504.000000 550.900000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 550.900000 0 +eoFillPath subpath 1 72.000000 451.300000 0 116.200000 451.300000 0 116.200000 550.900000 0 72.000000 550.900000 0 72.000000 451.300000 0 +eoFillPath subpath 1 459.700000 451.300000 0 504.000000 451.300000 0 504.000000 550.900000 0 459.700000 550.900000 0 459.700000 451.300000 0 +restoreState +saveState +eoClipPath subpath 1 72.000000 451.300000 0 504.000000 451.300000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 451.300000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 241.100000 0 72.000000 241.100000 0 72.000000 72.000000 0 +eoFillPath subpath 1 72.000000 241.100000 0 116.200000 241.100000 0 116.200000 351.000000 0 72.000000 351.000000 0 72.000000 241.100000 0 +eoFillPath subpath 1 459.700000 241.100000 0 504.000000 241.100000 0 504.000000 351.000000 0 459.700000 351.000000 0 459.700000 241.100000 0 +restoreState +saveState +eoClipPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 351.000000 0 72.000000 351.000000 0 72.000000 72.000000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 351.000000 0 76.300000 351.000000 0 76.300000 451.300000 0 72.000000 451.300000 0 72.000000 351.000000 0 +eoFillPath subpath 1 459.700000 351.000000 0 504.000000 351.000000 0 504.000000 451.300000 0 459.700000 451.300000 0 459.700000 351.000000 0 +restoreState +saveState +eoClipPath subpath 1 160.300000 351.000000 0 504.000000 351.000000 0 504.000000 451.300000 0 160.300000 451.300000 0 160.300000 351.000000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 701.500000 0 504.000000 701.500000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 701.500000 0 +updateFillColor 0.933319 0.933319 0.933319 1.000000 +eoFillPath subpath 1 72.000000 654.200000 0 291.400000 654.200000 0 291.400000 673.100000 0 72.000000 673.100000 0 72.000000 654.200000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 72.700000 0 504.000000 72.700000 0 504.000000 86.100000 0 72.000000 86.100000 0 72.000000 72.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 345.200000 716.588000 358.528000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 358.496000 716.588000 366.496000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 366.592000 716.588000 371.040000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 371.088000 716.588000 382.640000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 382.592000 716.588000 391.488000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 391.488000 716.588000 400.384000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 400.384000 716.588000 408.384000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 408.480000 716.588000 417.376000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 417.488000 716.588000 421.936000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 421.984000 716.588000 427.312000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 427.392000 716.588000 431.840000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 431.800000 716.588000 445.128000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 445.096000 716.588000 453.096000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 453.192000 716.588000 457.640000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 457.688000 716.588000 469.240000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 469.288000 716.588000 478.184000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 478.184000 716.588000 487.080000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 487.080000 716.588000 495.080000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 495.080000 716.588000 503.976000 700.588000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 669.288000 85.428000 653.288000 1.000000 0.000000 0.000000 1.000000 M +drawChar 85.396000 669.288000 94.292000 653.288000 1.000000 0.000000 0.000000 1.000000 y +drawChar 94.404000 669.288000 98.852000 653.288000 1.000000 0.000000 0.000000 1.000000 +drawChar 98.900000 669.288000 110.452000 653.288000 1.000000 0.000000 0.000000 1.000000 H +drawChar 110.500000 669.288000 120.276000 653.288000 1.000000 0.000000 0.000000 1.000000 o +drawChar 120.308000 669.288000 130.084000 653.288000 1.000000 0.000000 0.000000 1.000000 u +drawChar 130.116000 669.288000 139.012000 653.288000 1.000000 0.000000 0.000000 1.000000 s +drawChar 139.012000 669.288000 147.908000 653.288000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 648.092000 196.168000 636.092000 1.000000 0.000000 0.000000 1.000000 M +drawChar 196.204000 648.092000 202.204000 636.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 203.008000 648.092000 206.008000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 206.908000 648.092000 212.908000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 213.004000 648.092000 219.004000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 218.908000 648.092000 224.908000 636.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 224.908000 648.092000 229.576000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 229.612000 648.092000 234.928000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.816000 648.092000 238.816000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.716000 648.092000 243.040000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 243.016000 648.092000 247.684000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 248.512000 648.092000 251.512000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.412000 648.092000 257.728000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 258.616000 648.092000 261.616000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.516000 648.092000 267.832000 636.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 267.820000 648.092000 273.820000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 273.820000 648.092000 277.144000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 277.120000 648.092000 283.120000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 283.120000 648.092000 289.120000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 289.120000 648.092000 292.444000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 292.516000 648.092000 297.832000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 297.820000 648.092000 301.144000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 301.120000 648.092000 305.116000 636.092000 1.000000 0.000000 0.000000 1.000000 - +drawChar 305.224000 648.092000 309.892000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 309.928000 648.092000 313.252000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 313.228000 648.092000 319.228000 636.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 319.132000 648.092000 322.456000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 322.432000 648.092000 327.748000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 329.632000 648.092000 332.632000 636.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 332.800000 648.092000 338.800000 636.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 338.704000 648.092000 342.028000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 342.100000 648.092000 345.424000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 345.400000 648.092000 348.724000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 348.700000 648.092000 354.016000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 354.904000 648.092000 357.904000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.804000 648.092000 362.128000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 362.200000 648.092000 368.200000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 369.004000 648.092000 372.004000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.904000 648.092000 378.220000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 379.108000 648.092000 382.108000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 383.008000 648.092000 389.008000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 389.008000 648.092000 395.008000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 395.008000 648.092000 401.008000 636.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 401.008000 648.092000 404.332000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 404.308000 648.092000 409.624000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 410.512000 648.092000 413.512000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.412000 648.092000 418.408000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 418.408000 648.092000 423.724000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 423.712000 648.092000 428.380000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 428.416000 648.092000 431.740000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 431.812000 648.092000 437.812000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 437.716000 648.092000 443.032000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 443.020000 648.092000 449.020000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 449.020000 648.092000 452.344000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 452.320000 648.092000 455.644000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 455.716000 648.092000 461.032000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 461.020000 648.092000 464.344000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 465.316000 648.092000 468.316000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 469.216000 648.092000 474.532000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 474.520000 648.092000 478.516000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 478.516000 648.092000 483.832000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 483.820000 648.092000 489.136000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 490.024000 648.092000 493.024000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 493.924000 648.092000 499.924000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 499.924000 648.092000 503.920000 636.092000 1.000000 0.000000 0.000000 1.000000 f +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 648.092000 507.100000 636.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 634.692000 192.172000 622.692000 1.000000 0.000000 0.000000 1.000000 S +drawChar 192.196000 634.692000 197.512000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 197.500000 634.692000 203.500000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 204.496000 634.692000 207.496000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 208.396000 634.692000 215.068000 622.692000 1.000000 0.000000 0.000000 1.000000 F +drawChar 214.996000 634.692000 218.992000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 218.992000 634.692000 224.308000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 224.296000 634.692000 230.296000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 230.296000 634.692000 235.612000 622.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 235.600000 634.692000 238.924000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 238.996000 634.692000 243.664000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 243.700000 634.692000 249.016000 622.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 249.004000 634.692000 255.004000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 255.004000 634.692000 258.004000 622.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 259.000000 634.692000 262.000000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.996000 634.692000 271.660000 622.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 271.600000 634.692000 274.924000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 274.996000 634.692000 278.320000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 278.200000 634.692000 284.200000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 285.196000 634.692000 288.196000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.192000 634.692000 294.508000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 295.492000 634.692000 298.492000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 299.392000 634.692000 308.716000 622.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 308.692000 634.692000 314.008000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 313.996000 634.692000 319.996000 622.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 319.996000 634.692000 325.996000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 325.996000 634.692000 329.320000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 329.392000 634.692000 333.388000 622.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 333.388000 634.692000 336.712000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 336.784000 634.692000 342.100000 622.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 342.088000 634.692000 347.404000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 347.392000 634.692000 353.392000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 353.392000 634.692000 356.716000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 357.688000 634.692000 360.688000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.588000 634.692000 367.588000 622.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 367.492000 634.692000 370.816000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 370.888000 634.692000 376.204000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 376.192000 634.692000 384.856000 622.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 385.888000 634.692000 388.888000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 389.884000 634.692000 395.884000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 395.884000 634.692000 399.880000 622.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 400.780000 634.692000 403.780000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 404.776000 634.692000 408.100000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 407.980000 634.692000 413.980000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 414.076000 634.692000 419.392000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 420.376000 634.692000 423.376000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 424.276000 634.692000 432.268000 622.692000 1.000000 0.000000 0.000000 1.000000 B +drawChar 432.280000 634.692000 437.596000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 437.584000 634.692000 443.584000 622.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 443.488000 634.692000 446.488000 622.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.592000 634.692000 450.592000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.588000 634.692000 460.252000 622.692000 1.000000 0.000000 0.000000 1.000000 O +drawChar 460.192000 634.692000 464.188000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 464.188000 634.692000 467.512000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 467.584000 634.692000 473.584000 622.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 473.488000 634.692000 476.812000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 476.884000 634.692000 482.884000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 482.884000 634.692000 488.200000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 488.188000 634.692000 491.512000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 491.488000 634.692000 494.812000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 494.788000 634.692000 500.788000 622.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 500.692000 634.692000 503.692000 622.692000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 634.692000 507.100000 622.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 621.192000 188.824000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 621.192000 194.800000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 194.896000 621.192000 200.212000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.200000 621.192000 203.200000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.296000 621.192000 207.292000 609.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 207.292000 621.192000 212.608000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 212.596000 621.192000 217.912000 609.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 217.900000 621.192000 223.216000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 223.204000 621.192000 229.204000 609.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 229.204000 621.192000 234.520000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 234.700000 621.192000 237.700000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 237.796000 621.192000 243.796000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 243.796000 621.192000 247.792000 609.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 247.792000 621.192000 250.792000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 250.888000 621.192000 254.212000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 254.188000 621.192000 260.188000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 260.284000 621.192000 265.600000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 265.588000 621.192000 268.588000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 268.684000 621.192000 274.684000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 274.780000 621.192000 280.780000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 280.684000 621.192000 286.684000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 286.684000 621.192000 291.352000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 291.388000 621.192000 296.704000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 296.788000 621.192000 299.788000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 299.884000 621.192000 308.548000 609.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 308.584000 621.192000 313.900000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 313.780000 621.192000 318.448000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 318.580000 621.192000 321.580000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 321.676000 621.192000 327.676000 609.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 327.580000 621.192000 332.896000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 332.884000 621.192000 336.208000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 336.280000 621.192000 342.280000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 342.280000 621.192000 345.604000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 345.580000 621.192000 350.896000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 350.884000 621.192000 356.884000 609.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 357.088000 621.192000 360.088000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 360.184000 621.192000 363.508000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 363.484000 621.192000 369.484000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 369.580000 621.192000 372.580000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.676000 621.192000 377.992000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 377.980000 621.192000 380.980000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 381.076000 621.192000 384.400000 609.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 384.376000 621.192000 387.700000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 387.772000 621.192000 393.772000 609.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 393.772000 621.192000 399.772000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 399.772000 621.192000 403.096000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 403.168000 621.192000 406.168000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 406.264000 621.192000 410.932000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 410.860000 621.192000 416.860000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 416.956000 621.192000 422.272000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 422.260000 621.192000 428.260000 609.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 428.164000 621.192000 433.480000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 433.660000 621.192000 436.660000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 436.756000 621.192000 442.756000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 442.756000 621.192000 446.752000 609.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 446.752000 621.192000 449.752000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.848000 621.192000 455.848000 609.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 455.752000 621.192000 461.068000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 461.056000 621.192000 464.380000 609.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 464.452000 621.192000 467.776000 609.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 467.752000 621.192000 473.752000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 473.752000 621.192000 482.416000 609.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 482.452000 621.192000 485.452000 609.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 485.548000 621.192000 488.548000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.644000 621.192000 494.644000 609.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 494.644000 621.192000 500.644000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 500.644000 621.192000 503.968000 609.192000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 621.192000 507.100000 609.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 607.792000 188.824000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 607.792000 194.800000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 194.800000 607.792000 200.800000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 200.704000 607.792000 206.020000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 206.104000 607.792000 212.104000 595.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 212.008000 607.792000 215.008000 595.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 215.308000 607.792000 218.308000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 218.512000 607.792000 221.836000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 221.716000 607.792000 227.716000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 227.812000 607.792000 233.128000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 233.308000 607.792000 236.308000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 236.404000 607.792000 241.072000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 241.108000 607.792000 244.432000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 244.504000 607.792000 250.504000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 250.408000 607.792000 255.724000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.904000 607.792000 258.904000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.108000 607.792000 263.104000 595.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 263.104000 607.792000 268.420000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 268.408000 607.792000 273.724000 595.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 273.604000 607.792000 276.928000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 277.000000 607.792000 283.000000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 283.000000 607.792000 289.000000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 289.204000 607.792000 292.204000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.300000 607.792000 295.624000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 295.600000 607.792000 301.600000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 301.696000 607.792000 307.012000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 307.192000 607.792000 310.192000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 310.288000 607.792000 314.956000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 314.992000 607.792000 318.316000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 318.292000 607.792000 322.288000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 322.288000 607.792000 327.604000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 327.592000 607.792000 332.908000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.896000 607.792000 336.220000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 336.496000 607.792000 339.496000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 339.592000 607.792000 342.916000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 342.988000 607.792000 347.656000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 347.788000 607.792000 350.788000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.884000 607.792000 356.884000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 356.884000 607.792000 362.884000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 362.884000 607.792000 371.548000 595.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 371.680000 607.792000 374.680000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 374.884000 607.792000 380.884000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 380.884000 607.792000 386.884000 595.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 386.788000 607.792000 392.104000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 392.092000 607.792000 396.088000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 396.088000 607.792000 402.088000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 402.088000 607.792000 406.084000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 406.084000 607.792000 412.084000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 412.084000 607.792000 420.748000 595.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 420.784000 607.792000 426.784000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 426.988000 607.792000 429.988000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.192000 607.792000 438.856000 595.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 438.796000 607.792000 442.120000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 442.192000 607.792000 445.516000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 445.396000 607.792000 451.396000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 451.600000 607.792000 454.600000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 454.804000 607.792000 463.468000 595.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 463.408000 607.792000 466.732000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 466.804000 607.792000 470.128000 595.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 470.104000 607.792000 476.104000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 476.308000 607.792000 479.308000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 479.404000 607.792000 483.400000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 483.400000 607.792000 489.400000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 489.400000 607.792000 494.068000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 494.104000 607.792000 499.420000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 499.408000 607.792000 504.076000 595.792000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 607.792000 507.100000 595.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 594.292000 191.500000 582.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 191.500000 594.292000 197.500000 582.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 197.704000 594.292000 200.704000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 201.004000 594.292000 204.328000 582.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 204.304000 594.292000 210.304000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 210.508000 594.292000 213.508000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.712000 594.292000 217.036000 582.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 217.012000 594.292000 223.012000 582.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 223.108000 594.292000 228.424000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 228.604000 594.292000 231.604000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 231.904000 594.292000 236.572000 582.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 236.500000 594.292000 241.816000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 241.804000 594.292000 247.120000 582.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 247.108000 594.292000 253.108000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 253.108000 594.292000 259.108000 582.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 259.108000 594.292000 265.108000 582.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 265.408000 594.292000 268.408000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 268.612000 594.292000 272.608000 582.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 272.608000 594.292000 275.932000 582.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 275.908000 594.292000 281.908000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 281.908000 594.292000 287.908000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 287.908000 594.292000 291.904000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 292.204000 594.292000 295.204000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.408000 594.292000 304.072000 582.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 304.108000 594.292000 307.432000 582.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 307.408000 594.292000 313.408000 582.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 313.408000 594.292000 319.408000 582.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 319.312000 594.292000 325.312000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 325.312000 594.292000 333.976000 582.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 334.012000 594.292000 338.680000 582.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 338.716000 594.292000 341.716000 582.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.920000 594.292000 344.920000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.220000 594.292000 353.884000 582.292000 1.000000 0.000000 0.000000 1.000000 A +drawChar 353.824000 594.292000 358.492000 582.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 358.720000 594.292000 361.720000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.020000 594.292000 368.020000 582.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 367.924000 594.292000 373.924000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 373.924000 594.292000 379.924000 582.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 380.224000 594.292000 383.224000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 383.428000 594.292000 388.744000 582.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 388.732000 594.292000 394.732000 582.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 394.732000 594.292000 400.732000 582.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 400.636000 594.292000 404.632000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 404.632000 594.292000 410.632000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 410.632000 594.292000 415.948000 582.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 415.936000 594.292000 421.252000 582.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 421.240000 594.292000 427.240000 582.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 427.636000 594.292000 430.636000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.840000 594.292000 434.164000 582.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 434.140000 594.292000 440.140000 582.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 440.236000 594.292000 445.552000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 445.732000 594.292000 448.732000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.032000 594.292000 455.032000 582.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 455.032000 594.292000 461.032000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 461.032000 594.292000 467.032000 582.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 466.936000 594.292000 471.604000 582.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 471.640000 594.292000 476.956000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 477.244000 594.292000 480.244000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 480.448000 594.292000 484.444000 582.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 484.444000 594.292000 488.440000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 488.440000 594.292000 494.440000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 494.440000 594.292000 503.764000 582.292000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 594.292000 507.100000 582.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 580.892000 188.824000 568.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 580.892000 194.800000 568.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 194.896000 580.892000 200.212000 568.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.596000 580.892000 203.596000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.992000 580.892000 208.660000 568.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 208.696000 580.892000 212.020000 568.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 211.996000 580.892000 215.992000 568.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 215.992000 580.892000 221.308000 568.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 221.296000 580.892000 226.612000 568.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 226.600000 580.892000 229.924000 568.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 229.900000 580.892000 232.900000 568.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 233.404000 580.892000 236.404000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 236.908000 580.892000 240.232000 568.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 240.112000 580.892000 246.112000 568.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 246.208000 580.892000 251.524000 568.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 251.908000 580.892000 254.908000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 255.412000 580.892000 260.728000 568.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 260.716000 580.892000 266.032000 568.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 266.020000 580.892000 270.016000 568.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 270.016000 580.892000 276.016000 568.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 275.920000 580.892000 281.920000 568.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 281.920000 580.892000 285.916000 568.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 285.916000 580.892000 289.240000 568.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 289.816000 580.892000 292.816000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.212000 580.892000 298.528000 568.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 298.516000 580.892000 304.516000 568.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 304.516000 580.892000 313.840000 568.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 313.816000 580.892000 319.132000 568.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 319.120000 580.892000 323.788000 568.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 324.316000 580.892000 327.316000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.712000 580.892000 331.036000 568.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 331.108000 580.892000 337.108000 568.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 337.108000 580.892000 340.432000 568.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 340.408000 580.892000 346.408000 568.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 346.804000 580.892000 349.804000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.200000 580.892000 356.200000 568.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 356.104000 580.892000 359.428000 568.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 359.500000 580.892000 364.816000 568.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 364.804000 580.892000 373.468000 568.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 373.504000 580.892000 376.504000 568.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.008000 580.892000 380.008000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.404000 580.892000 384.400000 568.892000 1.000000 0.000000 0.000000 1.000000 I +drawChar 384.400000 580.892000 390.400000 568.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 390.796000 580.892000 393.796000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 394.300000 580.892000 397.624000 568.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 397.504000 580.892000 403.504000 568.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 403.600000 580.892000 408.916000 568.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.300000 580.892000 412.300000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 412.804000 580.892000 418.120000 568.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 418.108000 580.892000 423.424000 568.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 423.412000 580.892000 427.408000 568.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 427.408000 580.892000 433.408000 568.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 433.312000 580.892000 439.312000 568.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 439.312000 580.892000 443.308000 568.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 443.308000 580.892000 446.632000 568.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 447.208000 580.892000 450.208000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 450.604000 580.892000 453.928000 568.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 454.000000 580.892000 458.668000 568.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 459.004000 580.892000 462.004000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.508000 580.892000 467.824000 568.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 468.208000 580.892000 471.208000 568.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 471.604000 580.892000 476.920000 568.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 476.908000 580.892000 480.232000 568.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 480.208000 580.892000 485.524000 568.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 485.512000 580.892000 490.180000 568.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 490.216000 580.892000 494.884000 568.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 494.920000 580.892000 498.244000 568.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 498.316000 580.892000 503.632000 568.892000 1.000000 0.000000 0.000000 1.000000 c +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 580.892000 507.100000 568.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 567.392000 191.500000 555.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 191.500000 567.392000 194.824000 555.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 194.800000 567.392000 200.800000 555.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 200.704000 567.392000 204.700000 555.392000 1.000000 0.000000 0.000000 1.000000 - +drawChar 204.808000 567.392000 208.132000 555.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 208.108000 567.392000 211.432000 555.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 211.504000 567.392000 220.828000 555.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 220.804000 567.392000 226.120000 555.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 226.108000 567.392000 230.104000 555.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 230.104000 567.392000 233.104000 555.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 234.700000 567.392000 237.700000 555.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.200000 567.392000 243.868000 555.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 243.904000 567.392000 247.228000 555.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 247.108000 567.392000 250.432000 555.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 250.504000 567.392000 253.828000 555.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 253.804000 567.392000 257.128000 555.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 258.700000 567.392000 261.700000 555.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 263.200000 567.392000 266.524000 555.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 266.500000 567.392000 272.500000 555.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 274.000000 567.392000 277.000000 555.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 278.500000 567.392000 284.500000 555.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 284.404000 567.392000 289.720000 555.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 289.708000 567.392000 293.704000 555.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 293.812000 567.392000 299.812000 555.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 301.312000 567.392000 304.312000 555.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.812000 567.392000 311.812000 555.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 311.812000 567.392000 317.812000 555.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 317.812000 567.392000 323.812000 555.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 323.812000 567.392000 329.812000 555.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 331.312000 567.392000 334.312000 555.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 335.812000 567.392000 341.128000 555.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 341.116000 567.392000 347.116000 555.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 347.116000 567.392000 353.116000 555.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 353.116000 567.392000 359.116000 555.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 359.020000 567.392000 362.344000 555.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 362.416000 567.392000 365.740000 555.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 365.716000 567.392000 369.040000 555.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 369.112000 567.392000 375.112000 555.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 375.112000 567.392000 381.112000 555.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 381.112000 567.392000 384.112000 555.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 385.708000 567.392000 388.708000 555.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 390.208000 567.392000 395.524000 555.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 395.512000 567.392000 401.512000 555.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 401.512000 567.392000 407.512000 555.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 409.012000 567.392000 412.012000 555.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.512000 567.392000 416.836000 555.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 416.908000 567.392000 422.908000 555.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 422.812000 567.392000 428.128000 555.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 428.116000 567.392000 433.432000 555.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 433.420000 567.392000 436.744000 555.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 438.316000 567.392000 441.316000 555.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 442.816000 567.392000 446.812000 555.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 446.812000 567.392000 452.812000 555.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 452.812000 567.392000 456.808000 555.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 458.308000 567.392000 461.308000 555.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.808000 567.392000 466.132000 555.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 466.108000 567.392000 471.424000 555.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 471.412000 567.392000 474.736000 555.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 474.808000 567.392000 479.476000 555.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 479.512000 567.392000 485.512000 555.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 485.512000 567.392000 489.508000 555.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 489.508000 567.392000 494.824000 555.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 494.812000 567.392000 498.136000 555.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 498.112000 567.392000 504.112000 555.392000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 567.392000 507.100000 555.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 553.992000 191.500000 541.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 191.404000 553.992000 195.400000 541.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 195.400000 553.992000 198.724000 541.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 198.796000 553.992000 204.796000 541.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 204.700000 553.992000 210.016000 541.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 210.004000 553.992000 214.672000 541.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 214.804000 553.992000 217.804000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 217.804000 553.992000 223.120000 541.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 223.108000 553.992000 226.432000 541.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 226.408000 553.992000 232.408000 541.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 232.408000 553.992000 238.408000 541.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 238.408000 553.992000 244.408000 541.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 244.504000 553.992000 247.504000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.504000 553.992000 250.828000 541.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 250.708000 553.992000 256.708000 541.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 256.804000 553.992000 262.120000 541.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 262.204000 553.992000 265.204000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.204000 553.992000 270.520000 541.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 270.508000 553.992000 276.508000 541.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 276.508000 553.992000 281.824000 541.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 281.812000 553.992000 286.480000 541.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 286.516000 553.992000 289.840000 541.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 289.816000 553.992000 292.816000 541.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 512.988000 81.876000 496.988000 1.000000 0.000000 0.000000 1.000000 F +drawChar 81.908000 512.988000 86.356000 496.988000 1.000000 0.000000 0.000000 1.000000 i +drawChar 86.308000 512.988000 92.532000 496.988000 1.000000 0.000000 0.000000 1.000000 r +drawChar 92.516000 512.988000 101.412000 496.988000 1.000000 0.000000 0.000000 1.000000 s +drawChar 101.412000 512.988000 106.740000 496.988000 1.000000 0.000000 0.000000 1.000000 t +drawChar 106.916000 512.988000 111.364000 496.988000 1.000000 0.000000 0.000000 1.000000 +drawChar 111.412000 512.988000 121.188000 496.988000 1.000000 0.000000 0.000000 1.000000 F +drawChar 121.220000 512.988000 125.668000 496.988000 1.000000 0.000000 0.000000 1.000000 l +drawChar 125.620000 512.988000 135.396000 496.988000 1.000000 0.000000 0.000000 1.000000 o +drawChar 135.524000 512.988000 145.300000 496.988000 1.000000 0.000000 0.000000 1.000000 o +drawChar 145.220000 512.988000 151.444000 496.988000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 491.792000 192.820000 479.792000 1.000000 0.000000 0.000000 1.000000 T +drawChar 192.796000 491.792000 198.796000 479.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 198.892000 491.792000 204.208000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 205.096000 491.792000 208.096000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 208.996000 491.792000 212.992000 479.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 212.992000 491.792000 216.988000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 216.988000 491.792000 222.988000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 222.988000 491.792000 228.988000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 228.988000 491.792000 232.312000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 233.188000 491.792000 236.188000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 237.184000 491.792000 243.184000 479.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 243.088000 491.792000 249.088000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 249.088000 491.792000 255.088000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 255.088000 491.792000 259.084000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 260.092000 491.792000 263.092000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 263.992000 491.792000 269.992000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 269.992000 491.792000 275.992000 479.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 275.896000 491.792000 281.212000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 281.200000 491.792000 287.200000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 287.200000 491.792000 291.868000 479.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 292.900000 491.792000 295.900000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 296.896000 491.792000 300.220000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 300.196000 491.792000 306.196000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 307.096000 491.792000 310.096000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 311.092000 491.792000 316.408000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 317.296000 491.792000 320.296000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 321.196000 491.792000 324.520000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 324.496000 491.792000 327.820000 479.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 327.892000 491.792000 331.216000 479.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 331.192000 491.792000 336.508000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 336.496000 491.792000 342.496000 479.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 343.492000 491.792000 346.492000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.392000 491.792000 352.708000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 352.696000 491.792000 358.696000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 358.696000 491.792000 362.020000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 361.996000 491.792000 365.992000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 365.992000 491.792000 371.308000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 371.296000 491.792000 377.296000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 377.296000 491.792000 382.612000 479.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 382.600000 491.792000 387.916000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 387.904000 491.792000 396.568000 479.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 396.604000 491.792000 401.920000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 402.004000 491.792000 408.004000 479.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 407.908000 491.792000 410.908000 479.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.012000 491.792000 415.012000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 415.912000 491.792000 424.576000 479.792000 1.000000 0.000000 0.000000 1.000000 O +drawChar 424.516000 491.792000 427.840000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 427.816000 491.792000 433.816000 479.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 433.912000 491.792000 439.228000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 439.216000 491.792000 443.212000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 444.112000 491.792000 447.112000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 448.108000 491.792000 451.432000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 451.312000 491.792000 457.312000 479.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 457.408000 491.792000 462.724000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 462.712000 491.792000 468.712000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 469.708000 491.792000 472.708000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.608000 491.792000 478.924000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 480.808000 491.792000 483.808000 479.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 484.200000 491.792000 489.516000 479.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 489.504000 491.792000 495.504000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 495.504000 491.792000 500.820000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 500.808000 491.792000 504.132000 479.792000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 491.792000 507.100000 479.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 478.392000 189.496000 466.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 189.496000 478.392000 194.812000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 194.800000 478.392000 200.116000 466.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 200.104000 478.392000 206.104000 466.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 206.608000 478.392000 209.608000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 210.112000 478.392000 215.428000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 215.416000 478.392000 221.416000 466.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 221.416000 478.392000 227.416000 466.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 227.920000 478.392000 230.920000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 231.424000 478.392000 236.740000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 237.220000 478.392000 240.220000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 240.724000 478.392000 244.720000 466.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 244.720000 478.392000 250.036000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 249.916000 478.392000 258.580000 466.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 259.120000 478.392000 262.120000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.624000 478.392000 268.624000 466.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 268.528000 478.392000 271.852000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 271.828000 478.392000 277.144000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 277.132000 478.392000 283.132000 466.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 283.132000 478.392000 286.456000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 286.432000 478.392000 291.100000 466.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 291.736000 478.392000 294.736000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.240000 478.392000 299.236000 466.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 299.236000 478.392000 305.236000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 305.236000 478.392000 309.232000 466.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 309.736000 478.392000 312.736000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 313.240000 478.392000 319.240000 466.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 319.144000 478.392000 324.460000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 324.448000 478.392000 329.764000 466.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 329.752000 478.392000 335.752000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 335.752000 478.392000 339.748000 466.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 339.748000 478.392000 345.064000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 345.052000 478.392000 348.376000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 348.352000 478.392000 351.676000 466.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 351.748000 478.392000 357.748000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.748000 478.392000 363.748000 466.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 363.748000 478.392000 366.748000 466.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 367.348000 478.392000 370.348000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 370.852000 478.392000 374.176000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 374.056000 478.392000 380.056000 466.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 380.152000 478.392000 385.468000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 385.456000 478.392000 389.452000 466.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 389.452000 478.392000 394.768000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.248000 478.392000 398.248000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.752000 478.392000 402.076000 466.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 402.052000 478.392000 406.720000 466.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 406.756000 478.392000 412.756000 466.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 412.756000 478.392000 414.916000 466.392000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 414.952000 478.392000 418.276000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 418.648000 478.392000 421.648000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.152000 478.392000 431.476000 466.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 431.452000 478.392000 437.452000 466.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 437.452000 478.392000 442.768000 466.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 442.756000 478.392000 448.756000 466.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 449.356000 478.392000 452.356000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 452.860000 478.392000 458.176000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 458.164000 478.392000 461.488000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 461.464000 478.392000 466.132000 466.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 466.168000 478.392000 471.484000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 471.964000 478.392000 474.964000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.468000 478.392000 478.792000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 478.768000 478.392000 484.768000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 485.272000 478.392000 488.272000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.776000 478.392000 493.444000 466.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 493.480000 478.392000 498.796000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 498.784000 478.392000 504.100000 466.392000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 478.392000 507.100000 466.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 464.892000 191.500000 452.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 191.596000 464.892000 196.912000 452.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 196.792000 464.892000 200.788000 452.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 200.788000 464.892000 206.104000 452.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 206.092000 464.892000 209.092000 452.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 445.492000 189.496000 433.492000 1.000000 0.000000 0.000000 1.000000 I +drawChar 189.496000 445.492000 195.496000 433.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 195.892000 445.492000 198.892000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 199.288000 445.492000 202.612000 433.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 202.492000 445.492000 208.492000 433.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 208.588000 445.492000 213.904000 433.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 214.384000 445.492000 217.384000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 217.780000 445.492000 223.780000 433.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 223.780000 445.492000 229.096000 433.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 229.084000 445.492000 232.408000 433.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 232.384000 445.492000 235.708000 433.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 235.684000 445.492000 244.348000 433.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 244.384000 445.492000 249.700000 433.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 249.688000 445.492000 255.688000 433.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 255.592000 445.492000 258.592000 433.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 259.192000 445.492000 262.192000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.588000 445.492000 265.912000 433.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 265.888000 445.492000 269.212000 433.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 269.584000 445.492000 272.584000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.980000 445.492000 278.980000 433.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 278.980000 445.492000 284.296000 433.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 284.284000 445.492000 290.284000 433.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 290.284000 445.492000 293.608000 433.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 293.680000 445.492000 299.680000 433.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 299.680000 445.492000 304.348000 433.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 304.780000 445.492000 307.780000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 308.176000 445.492000 311.500000 433.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 311.476000 445.492000 317.476000 433.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 317.872000 445.492000 320.872000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 321.268000 445.492000 327.268000 433.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 327.268000 445.492000 332.584000 433.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.572000 445.492000 335.896000 433.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 336.376000 445.492000 339.376000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 339.772000 445.492000 345.088000 433.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 345.472000 445.492000 348.472000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.868000 445.492000 354.868000 433.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 354.772000 445.492000 358.096000 433.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 358.168000 445.492000 361.492000 433.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 361.972000 445.492000 364.972000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.368000 445.492000 374.692000 433.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 374.668000 445.492000 380.668000 433.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 380.668000 445.492000 384.664000 433.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 384.664000 445.492000 389.980000 433.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 390.364000 445.492000 393.364000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.760000 445.492000 397.084000 433.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 397.156000 445.492000 403.156000 433.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 403.156000 445.492000 406.480000 433.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 406.456000 445.492000 411.772000 433.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 411.760000 445.492000 415.756000 433.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 415.756000 445.492000 421.072000 433.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 421.060000 445.492000 425.728000 433.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 425.764000 445.492000 429.088000 433.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 429.064000 445.492000 432.388000 433.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 432.460000 445.492000 438.460000 433.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 438.460000 445.492000 444.460000 433.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 444.460000 445.492000 447.460000 433.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.856000 445.492000 450.856000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.252000 445.492000 459.244000 433.492000 1.000000 0.000000 0.000000 1.000000 B +drawChar 459.256000 445.492000 465.256000 433.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 465.256000 445.492000 468.580000 433.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 468.460000 445.492000 474.460000 433.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 474.964000 445.492000 477.964000 433.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 478.360000 445.492000 487.024000 433.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 487.060000 445.492000 492.376000 433.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 492.364000 445.492000 495.688000 433.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 495.664000 445.492000 498.988000 433.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 498.964000 445.492000 503.632000 433.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 445.492000 507.100000 433.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 431.992000 190.816000 419.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 431.992000 194.800000 419.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 194.800000 431.992000 200.116000 419.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 201.496000 431.992000 204.496000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 205.900000 431.992000 209.224000 419.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 209.104000 431.992000 212.428000 419.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 212.500000 431.992000 218.500000 419.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 218.500000 431.992000 223.816000 419.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 223.804000 431.992000 229.804000 419.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 231.208000 431.992000 234.208000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.612000 431.992000 244.276000 419.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 244.216000 431.992000 247.540000 419.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 247.612000 431.992000 250.936000 419.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 250.816000 431.992000 256.816000 419.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 258.220000 431.992000 261.220000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.624000 431.992000 267.940000 419.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 269.320000 431.992000 272.320000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.616000 431.992000 278.932000 419.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 278.920000 431.992000 284.920000 419.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 284.920000 431.992000 288.244000 419.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 288.220000 431.992000 291.544000 419.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 291.520000 431.992000 296.836000 419.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 296.824000 431.992000 302.140000 419.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 302.224000 431.992000 305.548000 419.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 305.524000 431.992000 308.848000 419.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 308.920000 431.992000 314.920000 419.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 314.920000 431.992000 320.920000 419.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 322.324000 431.992000 325.324000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.620000 431.992000 332.620000 419.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 332.620000 431.992000 336.616000 419.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 338.020000 431.992000 341.020000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 342.316000 431.992000 351.640000 419.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 351.616000 431.992000 357.616000 419.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.616000 431.992000 363.616000 419.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 363.616000 431.992000 368.932000 419.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 368.920000 431.992000 372.916000 419.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 372.916000 431.992000 378.916000 419.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 380.416000 431.992000 383.416000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.712000 431.992000 390.028000 419.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 390.016000 431.992000 394.012000 419.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 394.012000 431.992000 397.336000 419.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 398.716000 431.992000 401.716000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.120000 431.992000 407.116000 419.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 407.116000 431.992000 411.112000 419.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 411.112000 431.992000 417.112000 419.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.112000 431.992000 426.436000 419.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 427.708000 431.992000 430.708000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 432.112000 431.992000 437.428000 419.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 437.416000 431.992000 441.412000 419.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 441.412000 431.992000 444.736000 419.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 444.712000 431.992000 448.036000 419.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 448.108000 431.992000 452.776000 419.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 452.812000 431.992000 456.136000 419.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 456.112000 431.992000 460.780000 419.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 462.112000 431.992000 465.112000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 466.516000 431.992000 471.184000 419.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 471.112000 431.992000 477.112000 419.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 477.112000 431.992000 482.428000 419.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 482.416000 431.992000 488.416000 419.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 489.820000 431.992000 492.820000 419.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 494.224000 431.992000 499.540000 419.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 499.420000 431.992000 504.088000 419.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 431.992000 507.100000 419.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 418.592000 194.164000 406.592000 1.000000 0.000000 0.000000 1.000000 A +drawChar 194.200000 418.592000 200.200000 406.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 200.200000 418.592000 206.200000 406.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 206.104000 418.592000 212.104000 406.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 213.004000 418.592000 216.004000 406.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 216.808000 418.592000 228.124000 406.592000 1.000000 0.000000 0.000000 1.000000 W +drawChar 228.112000 418.592000 233.428000 406.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 233.416000 418.592000 237.412000 406.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.316000 418.592000 243.316000 406.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 243.412000 418.592000 249.412000 406.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 249.412000 418.592000 252.736000 406.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 253.612000 418.592000 256.612000 406.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 257.416000 418.592000 262.732000 406.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 262.720000 418.592000 268.720000 406.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 268.720000 418.592000 274.720000 406.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 275.524000 418.592000 278.524000 406.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.328000 418.592000 282.652000 406.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 282.532000 418.592000 288.532000 406.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 288.628000 418.592000 293.944000 406.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 294.724000 418.592000 297.724000 406.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 298.528000 418.592000 301.852000 406.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 301.828000 418.592000 305.152000 406.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 305.224000 418.592000 311.224000 406.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 311.224000 418.592000 316.540000 406.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 316.528000 418.592000 319.528000 406.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.332000 418.592000 323.332000 406.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 324.136000 418.592000 332.800000 406.592000 1.000000 0.000000 0.000000 1.000000 A +drawChar 332.836000 418.592000 338.836000 406.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 339.640000 418.592000 342.640000 406.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.444000 418.592000 348.760000 406.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 348.748000 418.592000 354.748000 406.592000 1.000000 0.000000 0.000000 1.000000 x +drawChar 354.748000 418.592000 358.072000 406.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 358.048000 418.592000 362.044000 406.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 362.044000 418.592000 367.360000 406.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 367.348000 418.592000 373.348000 406.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 373.348000 418.592000 378.664000 406.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 378.652000 418.592000 384.652000 406.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 384.652000 418.592000 389.968000 406.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 389.956000 418.592000 395.956000 406.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 395.956000 418.592000 399.280000 406.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 400.252000 418.592000 403.252000 406.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 404.056000 418.592000 407.380000 406.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 407.356000 418.592000 410.680000 406.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 410.752000 418.592000 416.752000 406.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 416.656000 418.592000 422.656000 406.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 422.752000 418.592000 426.076000 406.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 425.956000 418.592000 429.280000 406.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 429.352000 418.592000 435.352000 406.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 435.352000 418.592000 441.352000 406.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 442.156000 418.592000 445.156000 406.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 445.960000 418.592000 450.628000 406.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 450.664000 418.592000 456.664000 406.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 456.568000 418.592000 461.236000 406.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 461.272000 418.592000 464.596000 406.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 464.572000 418.592000 469.888000 406.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 469.876000 418.592000 479.200000 406.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 480.172000 418.592000 483.172000 406.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 483.976000 418.592000 489.976000 406.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 489.880000 418.592000 493.876000 406.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 493.876000 418.592000 499.876000 406.592000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 418.592000 504.196000 406.592000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 405.092000 191.500000 393.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 191.404000 405.092000 194.728000 393.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 194.800000 405.092000 200.800000 393.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 200.704000 405.092000 206.020000 393.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 206.008000 405.092000 210.676000 393.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 211.012000 405.092000 214.012000 393.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 214.108000 405.092000 218.104000 393.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 218.104000 405.092000 224.104000 393.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 224.104000 405.092000 228.100000 393.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 228.304000 405.092000 231.304000 393.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 231.400000 405.092000 234.724000 393.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 234.700000 405.092000 240.700000 393.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 240.796000 405.092000 246.112000 393.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 246.196000 405.092000 249.196000 393.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 249.400000 405.092000 254.716000 393.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 254.704000 405.092000 260.704000 393.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 260.608000 405.092000 266.608000 393.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 266.608000 405.092000 270.604000 393.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 270.604000 405.092000 276.604000 393.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 276.604000 405.092000 282.604000 393.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 282.604000 405.092000 286.600000 393.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 286.600000 405.092000 289.924000 393.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 289.996000 405.092000 295.312000 393.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 295.300000 405.092000 298.624000 393.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 298.600000 405.092000 303.916000 393.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 304.204000 405.092000 307.204000 393.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.300000 405.092000 312.616000 393.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 312.604000 405.092000 315.928000 393.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 315.904000 405.092000 325.228000 393.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 325.204000 405.092000 331.204000 393.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 331.204000 405.092000 335.872000 393.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 336.004000 405.092000 342.004000 393.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 341.908000 405.092000 347.908000 393.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 348.004000 405.092000 353.320000 393.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 353.308000 405.092000 357.304000 393.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 357.304000 405.092000 362.620000 393.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 362.608000 405.092000 365.608000 393.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.812000 405.092000 368.812000 393.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.016000 405.092000 377.680000 393.092000 1.000000 0.000000 0.000000 1.000000 H +drawChar 377.620000 405.092000 382.936000 393.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 382.924000 405.092000 386.248000 393.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 386.224000 405.092000 390.220000 393.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 390.220000 405.092000 398.884000 393.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 398.920000 405.092000 404.236000 393.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 404.224000 405.092000 410.224000 393.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 410.428000 405.092000 413.428000 393.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.632000 405.092000 416.956000 393.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 416.932000 405.092000 422.932000 393.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 423.136000 405.092000 426.136000 393.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.232000 405.092000 429.556000 393.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 429.532000 405.092000 435.532000 393.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 435.628000 405.092000 440.944000 393.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 441.028000 405.092000 444.028000 393.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 444.232000 405.092000 447.556000 393.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 447.436000 405.092000 450.760000 393.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 450.832000 405.092000 456.832000 393.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 456.736000 405.092000 460.060000 393.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 460.132000 405.092000 466.132000 393.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 466.132000 405.092000 472.132000 393.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 472.336000 405.092000 475.336000 393.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.540000 405.092000 479.536000 393.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 479.536000 405.092000 485.536000 393.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 485.536000 405.092000 491.536000 393.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 491.536000 405.092000 500.860000 393.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 500.836000 405.092000 503.836000 393.092000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 405.092000 507.100000 393.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 391.692000 190.816000 379.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 191.200000 391.692000 194.200000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 194.596000 391.692000 200.596000 379.692000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 200.596000 391.692000 206.596000 379.692000 1.000000 0.000000 0.000000 1.000000 0 +drawChar 206.596000 391.692000 212.596000 379.692000 1.000000 0.000000 0.000000 1.000000 0 +drawChar 212.896000 391.692000 215.896000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 216.292000 391.692000 222.292000 379.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 222.196000 391.692000 227.512000 379.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 227.500000 391.692000 232.816000 379.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 232.804000 391.692000 236.800000 379.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.304000 391.692000 240.304000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 240.700000 391.692000 246.700000 379.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 246.700000 391.692000 250.024000 379.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 250.000000 391.692000 256.000000 379.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 256.396000 391.692000 259.396000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.792000 391.692000 265.108000 379.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 265.096000 391.692000 269.092000 379.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 269.092000 391.692000 275.092000 379.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 274.996000 391.692000 279.664000 379.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 279.700000 391.692000 283.024000 379.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 283.000000 391.692000 288.316000 379.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 288.400000 391.692000 291.724000 379.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 292.204000 391.692000 295.204000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.600000 391.692000 304.924000 379.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 304.804000 391.692000 308.128000 379.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 308.200000 391.692000 312.196000 379.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 312.196000 391.692000 316.192000 379.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 316.192000 391.692000 322.192000 379.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 322.192000 391.692000 326.188000 379.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 326.596000 391.692000 329.596000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.992000 391.692000 335.308000 379.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 335.296000 391.692000 340.612000 379.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 340.600000 391.692000 345.916000 379.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 345.904000 391.692000 351.220000 379.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 351.208000 391.692000 357.208000 379.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 357.208000 391.692000 360.532000 379.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 360.508000 391.692000 366.508000 379.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 366.508000 391.692000 371.824000 379.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 371.812000 391.692000 375.136000 379.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 375.208000 391.692000 380.524000 379.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 380.512000 391.692000 385.180000 379.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 385.612000 391.692000 388.612000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 389.008000 391.692000 392.332000 379.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 392.308000 391.692000 398.308000 379.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 398.404000 391.692000 403.720000 379.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 404.008000 391.692000 407.008000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 407.404000 391.692000 412.072000 379.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 412.108000 391.692000 415.432000 379.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 415.408000 391.692000 420.724000 379.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 420.712000 391.692000 424.708000 379.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 424.708000 391.692000 430.708000 379.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 431.104000 391.692000 434.104000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.500000 391.692000 439.816000 379.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 439.804000 391.692000 445.804000 379.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 445.804000 391.692000 451.804000 379.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 451.804000 391.692000 455.128000 379.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 455.104000 391.692000 459.100000 379.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 459.100000 391.692000 464.416000 379.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 464.404000 391.692000 469.072000 379.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 469.108000 391.692000 472.432000 379.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 472.912000 391.692000 475.912000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 476.308000 391.692000 479.632000 379.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 479.608000 391.692000 485.608000 379.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 485.908000 391.692000 488.908000 379.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.304000 391.692000 492.628000 379.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.604000 391.692000 498.604000 379.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.700000 391.692000 504.016000 379.692000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 391.692000 507.100000 379.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 378.192000 192.172000 366.192000 1.000000 0.000000 0.000000 1.000000 P +drawChar 192.196000 378.192000 198.196000 366.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 198.196000 378.192000 204.196000 366.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 204.100000 378.192000 208.096000 366.192000 1.000000 0.000000 0.000000 1.000000 - +drawChar 208.204000 378.192000 213.520000 366.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 213.508000 378.192000 217.504000 366.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 217.504000 378.192000 220.828000 366.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 220.804000 378.192000 223.804000 366.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.804000 378.192000 226.804000 366.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 358.792000 192.172000 346.792000 1.000000 0.000000 0.000000 1.000000 F +drawChar 192.100000 358.792000 198.100000 346.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 198.100000 358.792000 204.100000 346.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 204.100000 358.792000 208.096000 346.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 208.900000 358.792000 211.900000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 212.704000 358.792000 216.028000 346.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 216.004000 358.792000 221.320000 346.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 221.308000 358.792000 224.632000 346.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 224.608000 358.792000 227.932000 346.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 228.808000 358.792000 231.808000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 232.612000 358.792000 237.928000 346.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 237.916000 358.792000 241.912000 346.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 241.912000 358.792000 247.228000 346.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 247.216000 358.792000 253.216000 346.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 253.216000 358.792000 261.880000 346.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 261.916000 358.792000 267.232000 346.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 267.220000 358.792000 273.220000 346.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 273.124000 358.792000 277.792000 346.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 278.728000 358.792000 281.728000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.532000 358.792000 288.532000 346.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 288.532000 358.792000 294.532000 346.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 294.436000 358.792000 299.752000 346.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 299.740000 358.792000 305.740000 346.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 306.544000 358.792000 309.544000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 310.348000 358.792000 316.348000 346.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 316.348000 358.792000 322.348000 346.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 323.152000 358.792000 326.152000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.956000 358.792000 330.280000 346.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 330.256000 358.792000 336.256000 346.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 337.060000 358.792000 340.060000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.864000 358.792000 344.188000 346.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 344.068000 358.792000 350.068000 346.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 350.164000 358.792000 355.480000 346.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 356.260000 358.792000 359.260000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 360.064000 358.792000 366.064000 346.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 365.968000 358.792000 371.284000 346.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 371.272000 358.792000 375.268000 346.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 375.268000 358.792000 378.592000 346.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 378.664000 358.792000 384.664000 346.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 384.664000 358.792000 390.664000 346.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 390.664000 358.792000 395.332000 346.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 396.160000 358.792000 399.160000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 399.964000 358.792000 403.960000 346.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 403.960000 358.792000 409.960000 346.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 409.960000 358.792000 415.960000 346.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 415.960000 358.792000 425.284000 346.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 425.260000 358.792000 429.928000 346.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 430.660000 358.792000 433.660000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.464000 358.792000 440.464000 346.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 440.464000 358.792000 446.464000 346.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 447.268000 358.792000 450.268000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.072000 358.792000 454.396000 346.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 454.276000 358.792000 460.276000 346.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 460.372000 358.792000 465.688000 346.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 466.468000 358.792000 469.468000 346.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.272000 358.792000 476.272000 346.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 476.272000 358.792000 480.268000 346.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 480.268000 358.792000 486.268000 346.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 486.268000 358.792000 492.268000 346.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 492.268000 358.792000 498.268000 346.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.268000 358.792000 504.268000 346.792000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 358.792000 507.200000 346.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 345.292000 189.496000 333.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 345.292000 192.820000 333.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 192.796000 345.292000 198.796000 333.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 198.796000 345.292000 204.796000 333.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 204.796000 345.292000 208.792000 333.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 208.792000 345.292000 211.792000 333.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.392000 345.292000 215.392000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 216.088000 345.292000 223.408000 333.292000 1.000000 0.000000 0.000000 1.000000 T +drawChar 223.288000 345.292000 229.288000 333.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 229.384000 345.292000 234.700000 333.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.288000 345.292000 238.288000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 238.984000 345.292000 244.984000 333.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 244.984000 345.292000 250.300000 333.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 250.288000 345.292000 253.612000 333.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 253.588000 345.292000 256.912000 333.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 256.888000 345.292000 265.552000 333.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 265.588000 345.292000 270.904000 333.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 270.892000 345.292000 276.892000 333.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 277.588000 345.292000 280.588000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.188000 345.292000 286.504000 333.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 286.492000 345.292000 292.492000 333.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 292.492000 345.292000 298.492000 333.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 298.396000 345.292000 303.064000 333.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 303.796000 345.292000 306.796000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.492000 345.292000 312.808000 333.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 312.796000 345.292000 316.120000 333.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 316.696000 345.292000 319.696000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.392000 345.292000 323.716000 333.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 323.596000 345.292000 329.596000 333.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 329.692000 345.292000 335.008000 333.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.692000 345.292000 338.692000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 339.292000 345.292000 343.288000 333.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 343.288000 345.292000 349.288000 333.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 349.288000 345.292000 355.288000 333.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 355.288000 345.292000 358.612000 333.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 359.188000 345.292000 362.188000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.884000 345.292000 368.884000 333.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 368.884000 345.292000 372.880000 333.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 373.480000 345.292000 376.480000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.080000 345.292000 382.396000 333.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 383.080000 345.292000 386.080000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.680000 345.292000 395.344000 333.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 395.380000 345.292000 401.380000 333.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 401.380000 345.292000 407.380000 333.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 407.380000 345.292000 413.380000 333.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 413.284000 345.292000 418.600000 333.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 418.588000 345.292000 424.588000 333.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 425.284000 345.292000 428.284000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 428.980000 345.292000 433.648000 333.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 433.684000 345.292000 439.684000 333.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 439.588000 345.292000 442.912000 333.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 442.984000 345.292000 446.980000 333.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 446.980000 345.292000 452.296000 333.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 452.284000 345.292000 455.608000 333.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 456.184000 345.292000 459.184000 333.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.880000 345.292000 464.548000 333.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 464.584000 345.292000 467.908000 333.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 467.884000 345.292000 473.200000 333.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 473.080000 345.292000 476.404000 333.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 476.476000 345.292000 480.472000 333.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 480.472000 345.292000 485.788000 333.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 485.776000 345.292000 491.092000 333.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 491.080000 345.292000 495.748000 333.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 495.784000 345.292000 501.100000 333.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 501.088000 345.292000 504.088000 333.292000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 345.292000 507.200000 333.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 331.892000 194.164000 319.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 194.200000 331.892000 200.200000 319.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 200.200000 331.892000 203.524000 319.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 203.596000 331.892000 208.912000 319.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 208.792000 331.892000 214.792000 319.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 214.792000 331.892000 217.792000 319.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 217.792000 331.892000 221.116000 319.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 221.092000 331.892000 226.408000 319.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 226.396000 331.892000 231.712000 319.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 231.796000 331.892000 237.796000 319.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 237.700000 331.892000 242.368000 319.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 242.500000 331.892000 245.500000 319.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.500000 331.892000 251.500000 319.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 251.500000 331.892000 257.500000 319.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 257.500000 331.892000 260.500000 319.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 260.500000 331.892000 263.824000 319.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 263.800000 331.892000 269.800000 319.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 269.800000 331.892000 272.800000 319.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.800000 331.892000 276.124000 319.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 276.100000 331.892000 282.100000 319.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 282.196000 331.892000 287.512000 319.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 287.500000 331.892000 290.500000 319.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 290.500000 331.892000 295.168000 319.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 295.204000 331.892000 300.520000 319.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 300.508000 331.892000 305.824000 319.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 305.812000 331.892000 311.812000 319.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 311.812000 331.892000 317.812000 319.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 317.812000 331.892000 323.812000 319.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 323.812000 331.892000 326.812000 319.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.812000 331.892000 330.808000 319.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 330.808000 331.892000 334.132000 319.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 334.108000 331.892000 340.108000 319.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 340.108000 331.892000 346.108000 319.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 346.108000 331.892000 350.104000 319.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 350.104000 331.892000 353.104000 319.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.104000 331.892000 356.104000 319.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 72.100000 297.252000 80.654000 283.252000 1.000000 0.000000 0.000000 1.000000 L +drawChar 80.598000 297.252000 84.490000 283.252000 1.000000 0.000000 0.000000 1.000000 i +drawChar 84.392000 297.252000 92.176000 283.252000 1.000000 0.000000 0.000000 1.000000 v +drawChar 92.190000 297.252000 96.082000 283.252000 1.000000 0.000000 0.000000 1.000000 i +drawChar 95.984000 297.252000 104.538000 283.252000 1.000000 0.000000 0.000000 1.000000 n +drawChar 104.482000 297.252000 113.036000 283.252000 1.000000 0.000000 0.000000 1.000000 g +drawChar 113.078000 297.252000 116.970000 283.252000 1.000000 0.000000 0.000000 1.000000 +drawChar 116.984000 297.252000 127.092000 283.252000 1.000000 0.000000 0.000000 1.000000 R +drawChar 126.980000 297.252000 135.534000 283.252000 1.000000 0.000000 0.000000 1.000000 o +drawChar 135.478000 297.252000 144.032000 283.252000 1.000000 0.000000 0.000000 1.000000 o +drawChar 143.976000 297.252000 156.422000 283.252000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 278.092000 194.164000 266.092000 1.000000 0.000000 0.000000 1.000000 U +drawChar 194.200000 278.092000 200.200000 266.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 200.104000 278.092000 206.104000 266.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 206.104000 278.092000 212.104000 266.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 212.308000 278.092000 215.308000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 215.512000 278.092000 220.828000 266.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 220.816000 278.092000 226.816000 266.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 226.816000 278.092000 230.140000 266.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 230.116000 278.092000 235.432000 266.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.420000 278.092000 239.416000 266.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 239.416000 278.092000 242.740000 266.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 242.812000 278.092000 248.812000 266.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 248.812000 278.092000 254.812000 266.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 255.016000 278.092000 258.016000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.220000 278.092000 261.544000 266.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 261.424000 278.092000 267.424000 266.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 267.520000 278.092000 272.836000 266.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 273.016000 278.092000 276.016000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 276.220000 278.092000 279.544000 266.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 279.520000 278.092000 282.844000 266.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 282.916000 278.092000 288.916000 266.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 288.820000 278.092000 292.144000 266.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 292.216000 278.092000 298.216000 266.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 298.216000 278.092000 304.216000 266.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 304.420000 278.092000 307.420000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.624000 278.092000 311.620000 266.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 311.620000 278.092000 317.620000 266.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 317.620000 278.092000 323.620000 266.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 323.620000 278.092000 332.944000 266.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 332.920000 278.092000 335.920000 266.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 336.016000 278.092000 339.016000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 339.220000 278.092000 342.544000 266.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 342.520000 278.092000 348.520000 266.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 348.616000 278.092000 353.932000 266.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.112000 278.092000 357.112000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 357.316000 278.092000 361.312000 266.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 361.216000 278.092000 364.540000 266.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 364.612000 278.092000 368.608000 266.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 368.608000 278.092000 373.276000 266.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 373.312000 278.092000 376.636000 266.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 376.708000 278.092000 379.708000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.912000 278.092000 383.236000 266.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 383.212000 278.092000 389.212000 266.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 389.212000 278.092000 392.536000 266.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 392.608000 278.092000 398.608000 266.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 398.608000 278.092000 404.608000 266.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 404.812000 278.092000 407.812000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 408.016000 278.092000 411.340000 266.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 411.316000 278.092000 417.316000 266.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.412000 278.092000 420.412000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 420.616000 278.092000 425.932000 266.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 425.920000 278.092000 431.236000 266.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 431.224000 278.092000 434.548000 266.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 434.524000 278.092000 439.840000 266.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 439.828000 278.092000 445.828000 266.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 446.128000 278.092000 449.128000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.332000 278.092000 452.656000 266.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 452.632000 278.092000 458.632000 266.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 458.728000 278.092000 464.044000 266.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 464.128000 278.092000 467.128000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.332000 278.092000 472.648000 266.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 472.636000 278.092000 478.636000 266.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 478.540000 278.092000 483.856000 266.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 484.144000 278.092000 487.144000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 487.348000 278.092000 490.672000 266.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 490.744000 278.092000 495.412000 266.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 495.544000 278.092000 498.544000 266.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 498.748000 278.092000 504.064000 266.092000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 278.092000 507.100000 266.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 264.592000 189.496000 252.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 264.592000 195.496000 252.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 195.496000 264.592000 198.820000 252.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 198.796000 264.592000 202.120000 252.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 202.096000 264.592000 206.092000 252.592000 1.000000 0.000000 0.000000 1.000000 - +drawChar 206.200000 264.592000 210.868000 252.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 210.796000 264.592000 214.120000 252.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 214.192000 264.592000 219.508000 252.592000 1.000000 0.000000 0.000000 1.000000 z +drawChar 219.496000 264.592000 224.812000 252.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 225.400000 264.592000 228.400000 252.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 228.400000 264.592000 234.400000 252.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 234.304000 264.592000 239.620000 252.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 239.608000 264.592000 245.608000 252.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 245.608000 264.592000 251.608000 252.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 251.608000 264.592000 255.604000 252.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 255.604000 264.592000 260.920000 252.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 260.908000 264.592000 270.232000 252.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 270.304000 264.592000 275.620000 252.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 276.004000 264.592000 279.004000 252.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.304000 264.592000 287.968000 252.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 288.004000 264.592000 291.328000 252.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 291.304000 264.592000 297.304000 252.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 297.304000 264.592000 303.304000 252.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 303.208000 264.592000 309.208000 252.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 309.208000 264.592000 317.872000 252.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 317.908000 264.592000 320.908000 252.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.304000 264.592000 324.304000 252.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 324.604000 264.592000 333.268000 252.592000 1.000000 0.000000 0.000000 1.000000 V +drawChar 333.208000 264.592000 336.532000 252.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 336.508000 264.592000 341.176000 252.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 341.212000 264.592000 344.536000 252.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 344.608000 264.592000 347.932000 252.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 347.908000 264.592000 353.908000 252.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 353.908000 264.592000 357.904000 252.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 357.904000 264.592000 362.572000 252.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 362.908000 264.592000 365.908000 252.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 366.208000 264.592000 371.524000 252.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 371.512000 264.592000 375.508000 252.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 375.508000 264.592000 380.824000 252.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 381.112000 264.592000 384.112000 252.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.412000 264.592000 389.728000 252.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 389.716000 264.592000 393.040000 252.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 393.016000 264.592000 401.680000 252.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 401.716000 264.592000 407.032000 252.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 407.020000 264.592000 413.020000 252.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 412.924000 264.592000 417.592000 252.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 418.120000 264.592000 421.120000 252.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 421.420000 264.592000 424.744000 252.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 424.720000 264.592000 434.044000 252.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 434.020000 264.592000 440.020000 252.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 439.924000 264.592000 443.920000 252.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 443.920000 264.592000 449.236000 252.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 449.224000 264.592000 453.892000 252.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 453.928000 264.592000 458.596000 252.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 458.632000 264.592000 463.948000 252.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 464.032000 264.592000 470.032000 252.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 470.332000 264.592000 473.332000 252.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.632000 264.592000 479.632000 252.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 479.632000 264.592000 485.632000 252.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 485.932000 264.592000 488.932000 252.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.232000 264.592000 492.556000 252.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.532000 264.592000 498.532000 252.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.628000 264.592000 503.944000 252.592000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 264.592000 507.100000 252.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 251.192000 191.500000 239.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 191.500000 251.192000 195.496000 239.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 195.496000 251.192000 200.812000 239.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 200.800000 251.192000 206.800000 239.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 206.800000 251.192000 212.800000 239.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 212.704000 251.192000 216.028000 239.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 216.100000 251.192000 222.100000 239.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 222.100000 251.192000 226.768000 239.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 226.804000 251.192000 232.120000 239.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 232.204000 251.192000 235.204000 239.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.204000 251.192000 241.204000 239.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 241.108000 251.192000 244.432000 239.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 244.504000 251.192000 249.820000 239.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 249.808000 251.192000 258.472000 239.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 258.508000 251.192000 261.508000 239.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.508000 251.192000 267.508000 239.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 267.508000 251.192000 271.504000 239.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 271.504000 251.192000 274.504000 239.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 274.504000 251.192000 277.828000 239.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 277.708000 251.192000 283.708000 239.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 283.804000 251.192000 289.120000 239.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 289.108000 251.192000 292.108000 239.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.108000 251.192000 300.100000 239.192000 1.000000 0.000000 0.000000 1.000000 B +drawChar 300.112000 251.192000 305.428000 239.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 305.416000 251.192000 311.416000 239.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 311.512000 251.192000 314.512000 239.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.512000 251.192000 317.836000 239.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 317.716000 251.192000 323.716000 239.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 323.812000 251.192000 329.128000 239.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 329.116000 251.192000 332.116000 239.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 332.116000 251.192000 340.780000 239.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 340.816000 251.192000 344.140000 239.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 344.116000 251.192000 350.116000 239.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 350.116000 251.192000 356.116000 239.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 356.020000 251.192000 362.020000 239.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 362.020000 251.192000 370.684000 239.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 370.816000 251.192000 373.816000 239.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.816000 251.192000 379.816000 239.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 379.816000 251.192000 383.812000 239.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 383.812000 251.192000 387.808000 239.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 387.808000 251.192000 393.124000 239.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 393.112000 251.192000 397.108000 239.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 397.108000 251.192000 401.776000 239.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 401.812000 251.192000 404.812000 239.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.812000 251.192000 407.812000 239.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 231.692000 192.820000 219.692000 1.000000 0.000000 0.000000 1.000000 T +drawChar 192.796000 231.692000 198.796000 219.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 198.892000 231.692000 204.208000 219.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 204.496000 231.692000 207.496000 219.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 207.796000 231.692000 211.120000 219.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 211.096000 231.692000 216.412000 219.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 216.400000 231.692000 220.396000 219.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 220.396000 231.692000 226.396000 219.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 226.396000 231.692000 231.712000 219.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 232.096000 231.692000 235.096000 219.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.396000 231.692000 239.392000 219.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 239.392000 231.692000 245.392000 219.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 245.392000 231.692000 251.392000 219.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 251.392000 231.692000 260.716000 219.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 261.088000 231.692000 264.088000 219.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.388000 231.692000 267.712000 219.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 267.784000 231.692000 272.452000 219.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 272.680000 231.692000 275.680000 219.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 276.076000 231.692000 282.076000 219.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 281.980000 231.692000 287.296000 219.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 287.284000 231.692000 291.280000 219.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 291.280000 231.692000 297.280000 219.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 297.676000 231.692000 300.676000 219.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 301.072000 231.692000 305.740000 219.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 305.776000 231.692000 311.776000 219.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 311.680000 231.692000 316.996000 219.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 316.984000 231.692000 320.980000 219.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 320.980000 231.692000 325.648000 219.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 325.684000 231.692000 331.000000 219.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 330.988000 231.692000 334.312000 219.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 334.288000 231.692000 340.288000 219.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 340.684000 231.692000 343.684000 219.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.984000 231.692000 347.980000 219.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 347.980000 231.692000 353.980000 219.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 353.980000 231.692000 357.976000 219.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 357.976000 231.692000 363.976000 219.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 363.976000 231.692000 367.300000 219.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 367.276000 231.692000 371.944000 219.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 371.980000 231.692000 377.980000 219.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 378.076000 231.692000 383.392000 219.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 383.380000 231.692000 389.380000 219.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 389.284000 231.692000 392.284000 219.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.680000 231.692000 395.680000 219.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 395.980000 231.692000 403.300000 219.692000 1.000000 0.000000 0.000000 1.000000 T +drawChar 403.276000 231.692000 409.276000 219.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 409.372000 231.692000 414.688000 219.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 414.976000 231.692000 417.976000 219.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 418.276000 231.692000 422.944000 219.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 422.980000 231.692000 426.304000 219.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 426.280000 231.692000 431.596000 219.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 431.584000 231.692000 434.908000 219.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 434.980000 231.692000 440.980000 219.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 440.980000 231.692000 446.296000 219.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 446.284000 231.692000 452.284000 219.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 452.980000 231.692000 455.980000 219.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 456.200000 231.692000 462.200000 219.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 462.200000 231.692000 467.516000 219.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 467.504000 231.692000 471.500000 219.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 471.500000 231.692000 477.500000 219.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 477.404000 231.692000 486.068000 219.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 486.104000 231.692000 492.104000 219.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 492.104000 231.692000 498.104000 219.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 498.104000 231.692000 504.104000 219.692000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 231.692000 507.100000 219.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 218.292000 189.496000 206.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 218.292000 192.820000 206.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 192.796000 218.292000 198.796000 206.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 198.796000 218.292000 204.796000 206.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 204.796000 218.292000 208.792000 206.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 209.896000 218.292000 212.896000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.892000 218.292000 217.216000 206.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 217.288000 218.292000 221.956000 206.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 222.988000 218.292000 225.988000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 226.984000 218.292000 232.984000 206.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 232.888000 218.292000 238.204000 206.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 238.192000 218.292000 243.508000 206.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 243.496000 218.292000 249.496000 206.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 249.496000 218.292000 253.492000 206.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 253.600000 218.292000 258.916000 206.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 258.904000 218.292000 262.228000 206.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 262.204000 218.292000 267.520000 206.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 267.604000 218.292000 273.604000 206.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 274.708000 218.292000 277.708000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 278.812000 218.292000 284.812000 206.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 284.812000 218.292000 290.812000 206.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 290.812000 218.292000 294.136000 206.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 294.112000 218.292000 300.112000 206.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 301.216000 218.292000 304.216000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.212000 218.292000 313.876000 206.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 313.912000 218.292000 317.236000 206.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 317.212000 218.292000 320.536000 206.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 320.512000 218.292000 326.512000 206.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 327.616000 218.292000 330.616000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 331.612000 218.292000 336.928000 206.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 338.008000 218.292000 341.008000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 342.112000 218.292000 346.108000 206.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 346.108000 218.292000 351.424000 206.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 351.412000 218.292000 360.076000 206.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 361.108000 218.292000 364.108000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.212000 218.292000 369.880000 206.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 369.916000 218.292000 379.240000 206.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 379.216000 218.292000 384.532000 206.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 384.520000 218.292000 387.844000 206.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 387.820000 218.292000 391.144000 206.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 393.316000 218.292000 396.316000 206.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 396.500000 218.292000 402.500000 206.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 402.404000 218.292000 406.400000 206.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 406.400000 218.292000 409.724000 206.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 409.796000 218.292000 415.112000 206.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 415.100000 218.292000 421.100000 206.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 421.100000 218.292000 424.424000 206.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 424.400000 218.292000 429.716000 206.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 429.704000 218.292000 433.028000 206.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 434.204000 218.292000 437.204000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 438.200000 218.292000 443.516000 206.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 443.504000 218.292000 448.820000 206.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 448.808000 218.292000 452.804000 206.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 452.804000 218.292000 458.804000 206.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 458.708000 218.292000 464.024000 206.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 464.108000 218.292000 467.432000 206.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 467.408000 218.292000 472.076000 206.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 472.112000 218.292000 475.112000 206.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.216000 218.292000 479.216000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 481.316000 218.292000 484.316000 206.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 485.420000 218.292000 492.740000 206.292000 1.000000 0.000000 0.000000 1.000000 T +drawChar 492.620000 218.292000 498.620000 206.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.716000 218.292000 504.032000 206.292000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 218.292000 507.100000 206.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 204.792000 188.824000 192.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 188.800000 204.792000 194.116000 192.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 194.104000 204.792000 199.420000 192.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 199.408000 204.792000 203.404000 192.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 203.404000 204.792000 209.404000 192.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 209.704000 204.792000 212.704000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.004000 204.792000 219.004000 192.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 218.908000 204.792000 224.224000 192.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 224.308000 204.792000 227.632000 192.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 227.608000 204.792000 236.932000 192.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 236.908000 204.792000 241.576000 192.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 242.008000 204.792000 245.008000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.308000 204.792000 251.308000 192.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 251.308000 204.792000 256.624000 192.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 256.612000 204.792000 262.612000 192.792000 1.000000 0.000000 0.000000 1.000000 x +drawChar 262.612000 204.792000 265.936000 192.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 266.212000 204.792000 269.212000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.512000 204.792000 272.836000 192.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 272.812000 204.792000 278.812000 192.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 279.112000 204.792000 282.112000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.412000 204.792000 285.736000 192.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 285.616000 204.792000 291.616000 192.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 291.712000 204.792000 297.028000 192.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 297.316000 204.792000 300.316000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 300.616000 204.792000 309.280000 192.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 309.220000 204.792000 312.544000 192.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 312.616000 204.792000 318.616000 192.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 318.616000 204.792000 324.616000 192.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 324.520000 204.792000 330.520000 192.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 330.520000 204.792000 339.184000 192.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 339.520000 204.792000 342.520000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 342.820000 204.792000 346.144000 192.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 346.120000 204.792000 351.436000 192.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 351.424000 204.792000 357.424000 192.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 357.424000 204.792000 363.424000 192.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 363.724000 204.792000 366.724000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.024000 204.792000 372.340000 192.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 372.628000 204.792000 375.628000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 375.928000 204.792000 381.244000 192.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 381.232000 204.792000 386.548000 192.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 386.536000 204.792000 390.532000 192.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 390.532000 204.792000 393.856000 192.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 393.832000 204.792000 399.148000 192.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 399.136000 204.792000 402.460000 192.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 402.532000 204.792000 408.532000 192.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 408.832000 204.792000 411.832000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 412.132000 204.792000 417.448000 192.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 417.436000 204.792000 423.436000 192.792000 1.000000 0.000000 0.000000 1.000000 x +drawChar 423.436000 204.792000 429.436000 192.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 429.436000 204.792000 432.760000 192.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 432.736000 204.792000 436.060000 192.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 436.132000 204.792000 441.448000 192.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 441.736000 204.792000 444.736000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 445.036000 204.792000 450.352000 192.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 450.340000 204.792000 459.664000 192.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 459.640000 204.792000 465.640000 192.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 465.640000 204.792000 468.964000 192.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 469.036000 204.792000 474.352000 192.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 474.340000 204.792000 480.340000 192.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 480.340000 204.792000 485.656000 192.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 485.644000 204.792000 490.960000 192.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 491.248000 204.792000 494.248000 192.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 494.548000 204.792000 497.872000 192.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 497.848000 204.792000 503.848000 192.792000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 204.792000 507.100000 192.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 191.392000 188.824000 179.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 191.392000 194.800000 179.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 194.896000 191.392000 200.212000 179.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.200000 191.392000 203.200000 179.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.200000 191.392000 206.200000 179.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 206.200000 191.392000 210.196000 179.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 210.196000 191.392000 216.196000 179.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 216.196000 191.392000 222.196000 179.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 222.196000 191.392000 231.520000 179.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 231.496000 191.392000 234.496000 179.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.496000 191.392000 237.496000 179.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 471.900000 85.992000 478.572000 73.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 478.596000 85.992000 483.912000 73.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 483.900000 85.992000 489.900000 73.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 489.900000 85.992000 495.216000 73.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.204000 85.992000 498.204000 73.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 498.200000 85.992000 504.200000 73.992000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +restoreState +updateFillColor 0.752930 0.752930 0.752930 1.000000 +eoFillPath subpath 1 76.900000 341.700000 0 169.600000 341.700000 0 169.600000 346.700000 0 76.900000 346.700000 0 76.900000 341.700000 0 +eoFillPath subpath 1 164.600000 346.600000 0 169.600000 346.600000 0 169.600000 450.700000 0 164.600000 450.700000 0 164.600000 346.600000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 346.700000 0 116.200000 346.700000 0 116.200000 455.600000 0 72.000000 455.600000 0 72.000000 346.700000 0 +saveState +eoClipPath subpath 1 72.000000 346.700000 0 164.600000 346.700000 0 164.600000 455.600000 0 72.000000 455.600000 0 72.000000 346.700000 0 +updateFillColor 0.752930 0.752930 0.752930 1.000000 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +updateFillColor 0.000000 0.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 416.500000 0 93.700000 416.500000 0 93.700000 435.200000 0 72.000000 435.200000 0 72.000000 416.500000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 93.700000 416.500000 0 169.600000 416.500000 0 169.600000 435.200000 0 93.700000 435.200000 0 93.700000 416.500000 0 +updateFillColor 0.000000 0.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 400.200000 0 93.700000 400.200000 0 93.700000 416.500000 0 72.000000 416.500000 0 72.000000 400.200000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 93.700000 400.200000 0 169.600000 400.200000 0 169.600000 416.500000 0 93.700000 416.500000 0 93.700000 400.200000 0 +updateFillColor 0.000000 0.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 381.500000 0 93.700000 381.500000 0 93.700000 400.200000 0 72.000000 400.200000 0 72.000000 381.500000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 93.700000 381.500000 0 169.600000 381.500000 0 169.600000 400.200000 0 93.700000 400.200000 0 93.700000 381.500000 0 +updateFillColor 1.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 72.000000 362.700000 0 93.700000 362.700000 0 93.700000 381.500000 0 72.000000 381.500000 0 72.000000 362.700000 0 +updateFillColor 1.000000 1.000000 0.000000 1.000000 +eoFillPath subpath 1 93.700000 362.700000 0 169.600000 362.700000 0 169.600000 381.500000 0 93.700000 381.500000 0 93.700000 362.700000 0 +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 451.219000 82.898000 442.219000 1.000000 0.000000 0.000000 1.000000 A +drawChar 82.898000 451.219000 85.895000 442.219000 1.000000 0.000000 0.000000 1.000000 r +drawChar 85.796000 451.219000 88.289000 442.219000 1.000000 0.000000 0.000000 1.000000 t +drawChar 88.397000 451.219000 90.890000 442.219000 1.000000 0.000000 0.000000 1.000000 i +drawChar 90.899000 451.219000 94.400000 442.219000 1.000000 0.000000 0.000000 1.000000 s +drawChar 94.499000 451.219000 96.992000 442.219000 1.000000 0.000000 0.000000 1.000000 t +drawChar 97.001000 451.219000 100.502000 442.219000 1.000000 0.000000 0.000000 1.000000 s +drawChar 100.700000 451.219000 102.950000 442.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 103.004000 451.219000 105.497000 442.219000 1.000000 0.000000 0.000000 1.000000 i +drawChar 105.506000 451.219000 110.006000 442.219000 1.000000 0.000000 0.000000 1.000000 n +drawChar 110.105000 451.219000 112.355000 442.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 112.409000 451.219000 114.902000 442.219000 1.000000 0.000000 0.000000 1.000000 t +drawChar 114.911000 451.219000 119.411000 442.219000 1.000000 0.000000 0.000000 1.000000 h +drawChar 119.411000 451.219000 123.398000 442.219000 1.000000 0.000000 0.000000 1.000000 e +drawChar 123.515000 451.219000 125.765000 442.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 125.819000 451.219000 130.319000 442.219000 1.000000 0.000000 0.000000 1.000000 h +drawChar 130.319000 451.219000 134.306000 442.219000 1.000000 0.000000 0.000000 1.000000 a +drawChar 134.216000 451.219000 136.709000 442.219000 1.000000 0.000000 0.000000 1.000000 l +drawChar 136.718000 451.219000 139.211000 442.219000 1.000000 0.000000 0.000000 1.000000 l +drawChar 139.220000 451.219000 145.718000 442.219000 1.000000 0.000000 0.000000 1.000000 w +drawChar 145.817000 451.219000 149.804000 442.219000 1.000000 0.000000 0.000000 1.000000 a +drawChar 149.813000 451.219000 154.313000 442.219000 1.000000 0.000000 0.000000 1.000000 y +drawChar 154.412000 451.219000 156.905000 442.219000 1.000000 0.000000 0.000000 1.000000 : +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 95.200000 431.219000 103.687000 422.219000 1.000000 0.000000 0.000000 1.000000 W +drawChar 103.597000 431.219000 107.584000 422.219000 1.000000 0.000000 0.000000 1.000000 a +drawChar 107.593000 431.219000 110.590000 422.219000 1.000000 0.000000 0.000000 1.000000 r +drawChar 110.590000 431.219000 115.090000 422.219000 1.000000 0.000000 0.000000 1.000000 h +drawChar 115.090000 431.219000 119.590000 422.219000 1.000000 0.000000 0.000000 1.000000 o +drawChar 119.689000 431.219000 122.182000 422.219000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 95.200000 414.919000 100.690000 405.919000 1.000000 0.000000 0.000000 1.000000 L +drawChar 100.600000 414.919000 103.093000 405.919000 1.000000 0.000000 0.000000 1.000000 i +drawChar 103.201000 414.919000 107.188000 405.919000 1.000000 0.000000 0.000000 1.000000 e +drawChar 107.197000 414.919000 111.184000 405.919000 1.000000 0.000000 0.000000 1.000000 c +drawChar 111.193000 414.919000 115.693000 405.919000 1.000000 0.000000 0.000000 1.000000 h +drawChar 115.693000 414.919000 118.186000 405.919000 1.000000 0.000000 0.000000 1.000000 t +drawChar 118.294000 414.919000 122.281000 405.919000 1.000000 0.000000 0.000000 1.000000 e +drawChar 122.290000 414.919000 126.790000 405.919000 1.000000 0.000000 0.000000 1.000000 n +drawChar 126.790000 414.919000 130.291000 405.919000 1.000000 0.000000 0.000000 1.000000 s +drawChar 130.291000 414.919000 132.784000 405.919000 1.000000 0.000000 0.000000 1.000000 t +drawChar 132.892000 414.919000 136.879000 405.919000 1.000000 0.000000 0.000000 1.000000 e +drawChar 136.888000 414.919000 139.381000 405.919000 1.000000 0.000000 0.000000 1.000000 i +drawChar 139.489000 414.919000 143.989000 405.919000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 95.200000 398.719000 101.698000 389.719000 1.000000 0.000000 0.000000 1.000000 H +drawChar 101.599000 398.719000 106.099000 389.719000 1.000000 0.000000 0.000000 1.000000 o +drawChar 106.099000 398.719000 110.086000 389.719000 1.000000 0.000000 0.000000 1.000000 c +drawChar 110.095000 398.719000 114.595000 389.719000 1.000000 0.000000 0.000000 1.000000 k +drawChar 114.595000 398.719000 119.095000 389.719000 1.000000 0.000000 0.000000 1.000000 n +drawChar 119.194000 398.719000 123.181000 389.719000 1.000000 0.000000 0.000000 1.000000 e +drawChar 123.190000 398.719000 127.690000 389.719000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 95.200000 379.919000 103.201000 370.919000 1.000000 0.000000 0.000000 1.000000 M +drawChar 103.102000 379.919000 107.602000 370.919000 1.000000 0.000000 0.000000 1.000000 o +drawChar 107.602000 379.919000 112.102000 370.919000 1.000000 0.000000 0.000000 1.000000 n +drawChar 112.102000 379.919000 116.602000 370.919000 1.000000 0.000000 0.000000 1.000000 d +drawChar 116.602000 379.919000 119.599000 370.919000 1.000000 0.000000 0.000000 1.000000 r +drawChar 119.599000 379.919000 122.092000 370.919000 1.000000 0.000000 0.000000 1.000000 i +drawChar 122.200000 379.919000 126.187000 370.919000 1.000000 0.000000 0.000000 1.000000 a +drawChar 126.304000 379.919000 130.804000 370.919000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 72.000000 346.600000 0 72.100000 346.600000 0 72.100000 455.600000 0 72.000000 455.600000 0 72.000000 346.600000 0 +eoFillPath subpath 1 164.600000 346.600000 0 164.700000 346.600000 0 164.700000 455.600000 0 164.600000 455.600000 0 164.600000 346.600000 0 +eoFillPath subpath 1 72.000000 455.500000 0 164.700000 455.500000 0 164.700000 455.600000 0 72.000000 455.600000 0 72.000000 455.500000 0 +eoFillPath subpath 1 72.000000 346.600000 0 164.700000 346.600000 0 164.700000 346.700000 0 72.000000 346.700000 0 72.000000 346.600000 0 +eoFillPath subpath 1 91.300000 362.700000 0 93.700000 362.700000 0 93.700000 435.200000 0 91.300000 435.200000 0 91.300000 362.700000 0 +eoFillPath subpath 1 72.000000 381.500000 0 169.600000 381.500000 0 169.600000 383.900000 0 72.000000 383.900000 0 72.000000 381.500000 0 +eoFillPath subpath 1 72.000000 432.800000 0 169.600000 432.800000 0 169.600000 435.200000 0 72.000000 435.200000 0 72.000000 432.800000 0 +eoFillPath subpath 1 72.000000 362.700000 0 169.600000 362.700000 0 169.600000 365.100000 0 72.000000 365.100000 0 72.000000 362.700000 0 +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 108.000000 550.900000 0 540.000000 550.900000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 550.900000 0 +eoFillPath subpath 1 108.000000 335.900000 0 152.200000 335.900000 0 152.200000 550.900000 0 108.000000 550.900000 0 108.000000 335.900000 0 +eoFillPath subpath 1 495.700000 335.900000 0 540.000000 335.900000 0 540.000000 550.900000 0 495.700000 550.900000 0 495.700000 335.900000 0 +restoreState +saveState +eoClipPath subpath 1 108.000000 335.900000 0 540.000000 335.900000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 335.900000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 15220.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 108.000000 72.000000 0 540.000000 72.000000 0 540.000000 209.000000 0 108.000000 209.000000 0 108.000000 72.000000 0 +eoFillPath subpath 1 108.000000 209.000000 0 112.300000 209.000000 0 112.300000 335.900000 0 108.000000 335.900000 0 108.000000 209.000000 0 +eoFillPath subpath 1 194.800000 209.000000 0 540.000000 209.000000 0 540.000000 241.100000 0 194.800000 241.100000 0 194.800000 209.000000 0 +eoFillPath subpath 1 495.700000 241.100000 0 540.000000 241.100000 0 540.000000 335.900000 0 495.700000 335.900000 0 495.700000 241.100000 0 +restoreState +saveState +eoClipPath subpath 1 194.800000 209.000000 0 540.000000 209.000000 0 540.000000 335.900000 0 194.800000 335.900000 0 194.800000 209.000000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 15220.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 108.000000 701.500000 0 540.000000 701.500000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 701.500000 0 +eoFillPath subpath 1 108.000000 76.700000 0 540.000000 76.700000 0 540.000000 90.100000 0 108.000000 90.100000 0 108.000000 76.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 108.100000 716.588000 121.428000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 121.396000 716.588000 129.396000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 129.492000 716.588000 133.940000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 133.988000 716.588000 145.540000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 145.588000 716.588000 154.484000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 154.484000 716.588000 163.380000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 163.380000 716.588000 171.380000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 171.380000 716.588000 180.276000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 180.484000 716.588000 184.932000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 184.884000 716.588000 190.212000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 190.292000 716.588000 194.740000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 194.800000 716.588000 204.576000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 204.496000 716.588000 208.048000 700.588000 1.000000 0.000000 0.000000 1.000000 i +drawChar 208.096000 716.588000 213.424000 700.588000 1.000000 0.000000 0.000000 1.000000 r +drawChar 213.392000 716.588000 221.392000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 221.392000 716.588000 225.840000 700.588000 1.000000 0.000000 0.000000 1.000000 t +drawChar 226.000000 716.588000 230.448000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 230.496000 716.588000 240.272000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 240.192000 716.588000 243.744000 700.588000 1.000000 0.000000 0.000000 1.000000 l +drawChar 243.792000 716.588000 252.688000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 252.688000 716.588000 261.584000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 261.584000 716.588000 266.912000 700.588000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 672.992000 228.172000 660.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 228.196000 672.992000 232.192000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 232.192000 672.992000 238.192000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 238.192000 672.992000 244.192000 660.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 244.096000 672.992000 247.420000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 247.492000 672.992000 253.492000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 253.396000 672.992000 256.720000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 256.792000 672.992000 262.792000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 262.792000 672.992000 268.792000 660.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 269.488000 672.992000 272.488000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.184000 672.992000 276.508000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 276.484000 672.992000 282.484000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 282.580000 672.992000 287.896000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 288.580000 672.992000 291.580000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.276000 672.992000 298.276000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 298.180000 672.992000 303.496000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 303.484000 672.992000 308.152000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 308.188000 672.992000 311.512000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 311.584000 672.992000 315.580000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 315.580000 672.992000 320.896000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.884000 672.992000 326.884000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 327.688000 672.992000 330.688000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 331.384000 672.992000 336.700000 660.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 336.688000 672.992000 342.688000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 342.688000 672.992000 348.688000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 348.688000 672.992000 352.012000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 351.988000 672.992000 355.984000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 355.984000 672.992000 361.300000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 361.288000 672.992000 365.956000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 365.992000 672.992000 369.316000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 370.096000 672.992000 373.096000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.792000 672.992000 379.792000 660.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 379.792000 672.992000 385.108000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 385.096000 672.992000 388.420000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 388.396000 672.992000 397.060000 660.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 397.096000 672.992000 402.412000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 402.400000 672.992000 407.716000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 407.704000 672.992000 413.704000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 414.400000 672.992000 417.400000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 418.096000 672.992000 424.096000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 424.096000 672.992000 427.420000 660.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 427.396000 672.992000 433.396000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 434.200000 672.992000 437.200000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.896000 672.992000 443.212000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 443.200000 672.992000 449.200000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 449.200000 672.992000 455.200000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 455.896000 672.992000 458.896000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.592000 672.992000 465.592000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 465.592000 672.992000 470.908000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 470.896000 672.992000 479.560000 660.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 479.596000 672.992000 482.596000 660.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 483.292000 672.992000 486.292000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.988000 672.992000 492.304000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 492.292000 672.992000 496.288000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 496.288000 672.992000 501.604000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 502.288000 672.992000 505.288000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 505.984000 672.992000 510.652000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 510.688000 672.992000 516.004000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 515.992000 672.992000 521.992000 660.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 521.896000 672.992000 527.212000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 527.200000 672.992000 531.196000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 531.196000 672.992000 536.512000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 536.596000 672.992000 539.920000 660.992000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 672.992000 543.100000 660.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 659.592000 226.816000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 226.804000 659.592000 232.804000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 232.804000 659.592000 236.128000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 236.104000 659.592000 239.428000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 239.500000 659.592000 245.500000 647.592000 1.000000 0.000000 0.000000 1.000000 q +drawChar 245.500000 659.592000 251.500000 647.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 251.500000 659.592000 256.816000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 256.804000 659.592000 261.472000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 261.508000 659.592000 264.508000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.604000 659.592000 269.272000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 269.308000 659.592000 275.308000 647.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 275.308000 659.592000 280.624000 647.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 280.504000 659.592000 286.504000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 286.600000 659.592000 289.600000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.696000 659.592000 295.012000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 295.000000 659.592000 299.668000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 299.704000 659.592000 302.704000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.800000 659.592000 306.124000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 306.004000 659.592000 312.004000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 312.100000 659.592000 317.416000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 317.500000 659.592000 320.500000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.596000 659.592000 325.912000 647.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 325.792000 659.592000 331.792000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 331.888000 659.592000 337.204000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 337.192000 659.592000 343.192000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 343.192000 659.592000 349.192000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 349.096000 659.592000 354.412000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.400000 659.592000 357.724000 647.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 357.700000 659.592000 361.024000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 361.096000 659.592000 366.412000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 366.400000 659.592000 370.396000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 370.600000 659.592000 373.600000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.600000 659.592000 379.600000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 379.696000 659.592000 385.012000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 385.000000 659.592000 391.000000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 391.000000 659.592000 397.000000 647.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 396.904000 659.592000 400.228000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 400.300000 659.592000 406.300000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 406.300000 659.592000 412.300000 647.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 412.300000 659.592000 415.300000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 415.396000 659.592000 419.392000 647.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 419.392000 659.592000 423.388000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 423.388000 659.592000 429.388000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 429.388000 659.592000 438.712000 647.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 438.784000 659.592000 441.784000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.784000 659.592000 445.108000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 445.084000 659.592000 451.084000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 451.180000 659.592000 456.496000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 456.484000 659.592000 459.484000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.580000 659.592000 465.580000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 465.580000 659.592000 468.904000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 468.976000 659.592000 474.976000 647.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 474.880000 659.592000 480.880000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 480.976000 659.592000 483.976000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 483.976000 659.592000 489.292000 647.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 489.280000 659.592000 494.596000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 494.584000 659.592000 497.908000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 497.980000 659.592000 501.304000 647.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 501.280000 659.592000 504.604000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 504.676000 659.592000 510.676000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 510.676000 659.592000 516.676000 647.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 516.676000 659.592000 519.676000 647.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 519.676000 659.592000 522.676000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 522.772000 659.592000 528.088000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 528.076000 659.592000 534.076000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 534.076000 659.592000 540.076000 647.592000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 659.592000 543.200000 647.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 646.092000 224.824000 634.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 646.092000 230.800000 634.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.896000 646.092000 236.212000 634.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.500000 646.092000 239.500000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.896000 646.092000 245.212000 634.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 245.200000 646.092000 251.200000 634.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 251.200000 646.092000 254.524000 634.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 254.500000 646.092000 260.500000 634.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 260.500000 646.092000 264.496000 634.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 264.496000 646.092000 268.492000 634.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 268.492000 646.092000 274.492000 634.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 274.492000 646.092000 277.816000 634.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 278.296000 646.092000 281.296000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.692000 646.092000 289.012000 634.092000 1.000000 0.000000 0.000000 1.000000 T +drawChar 288.892000 646.092000 292.216000 634.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 292.288000 646.092000 296.284000 634.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 296.284000 646.092000 300.280000 634.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 300.280000 646.092000 305.596000 634.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 305.584000 646.092000 311.584000 634.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 311.584000 646.092000 317.584000 634.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 317.980000 646.092000 320.980000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 321.376000 646.092000 324.700000 634.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 324.676000 646.092000 329.992000 634.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 329.980000 646.092000 339.304000 634.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 339.280000 646.092000 345.280000 634.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 345.184000 646.092000 349.852000 634.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 349.888000 646.092000 352.888000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.392000 646.092000 356.392000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 356.788000 646.092000 365.452000 634.092000 1.000000 0.000000 0.000000 1.000000 N +drawChar 365.392000 646.092000 370.708000 634.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 370.696000 646.092000 376.696000 634.092000 1.000000 0.000000 0.000000 1.000000 x +drawChar 376.696000 646.092000 380.020000 634.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 380.500000 646.092000 383.500000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 383.896000 646.092000 387.220000 634.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 387.196000 646.092000 393.196000 634.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 393.592000 646.092000 396.592000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 396.988000 646.092000 400.312000 634.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 400.192000 646.092000 406.192000 634.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 406.288000 646.092000 411.604000 634.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 411.988000 646.092000 414.988000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 415.384000 646.092000 424.708000 634.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 424.684000 646.092000 430.684000 634.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 430.684000 646.092000 436.684000 634.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 436.588000 646.092000 441.904000 634.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 441.892000 646.092000 445.888000 634.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 445.888000 646.092000 451.888000 634.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 452.392000 646.092000 455.392000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.788000 646.092000 461.788000 634.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 461.788000 646.092000 465.112000 634.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 465.088000 646.092000 470.404000 634.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 470.392000 646.092000 475.708000 634.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 475.696000 646.092000 481.696000 634.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 482.092000 646.092000 485.092000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 485.488000 646.092000 488.812000 634.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 488.788000 646.092000 494.104000 634.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 494.092000 646.092000 499.408000 634.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 499.396000 646.092000 502.720000 634.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 502.696000 646.092000 508.696000 634.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 508.792000 646.092000 514.108000 634.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 514.096000 646.092000 518.092000 634.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 518.500000 646.092000 521.500000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 521.896000 646.092000 525.892000 634.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 525.892000 646.092000 531.892000 634.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 531.892000 646.092000 535.888000 634.092000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 646.092000 540.196000 634.092000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 632.692000 227.500000 620.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 227.500000 632.692000 230.824000 620.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 230.896000 632.692000 234.220000 620.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 234.196000 632.692000 240.196000 620.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 240.196000 632.692000 244.192000 620.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 244.192000 632.692000 249.508000 620.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 249.688000 632.692000 252.688000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.988000 632.692000 258.304000 620.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 258.292000 632.692000 264.292000 620.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 264.292000 632.692000 270.292000 620.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 270.592000 632.692000 273.592000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.796000 632.692000 279.112000 620.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 279.100000 632.692000 282.424000 620.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 282.400000 632.692000 287.716000 620.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 287.704000 632.692000 293.020000 620.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 293.008000 632.692000 297.004000 620.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 297.412000 632.692000 300.412000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 300.616000 632.692000 306.616000 620.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 306.616000 632.692000 309.940000 620.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 309.916000 632.692000 315.232000 620.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 315.220000 632.692000 319.888000 620.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 319.924000 632.692000 324.592000 620.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 324.928000 632.692000 327.928000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 328.132000 632.692000 333.448000 620.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 333.436000 632.692000 339.436000 620.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 339.436000 632.692000 343.432000 620.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 343.432000 632.692000 347.428000 620.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 347.428000 632.692000 352.744000 620.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 352.732000 632.692000 358.048000 620.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 358.432000 632.692000 361.432000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.636000 632.692000 364.960000 620.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 364.936000 632.692000 370.252000 620.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 370.240000 632.692000 376.240000 620.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 376.240000 632.692000 379.564000 620.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 379.540000 632.692000 384.856000 620.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 384.844000 632.692000 387.844000 620.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 388.240000 632.692000 391.240000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.444000 632.692000 394.768000 620.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 394.744000 632.692000 400.744000 620.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 400.840000 632.692000 406.156000 620.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 406.444000 632.692000 409.444000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 409.648000 632.692000 415.648000 620.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 415.648000 632.692000 421.648000 620.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 421.648000 632.692000 427.648000 620.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 427.552000 632.692000 433.552000 620.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 433.552000 632.692000 438.220000 620.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 438.256000 632.692000 441.580000 620.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 441.652000 632.692000 444.976000 620.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 444.952000 632.692000 448.276000 620.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 448.348000 632.692000 454.348000 620.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 454.348000 632.692000 460.348000 620.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 460.552000 632.692000 463.552000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 463.852000 632.692000 467.176000 620.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 467.152000 632.692000 471.820000 620.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 472.048000 632.692000 475.048000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.348000 632.692000 480.016000 620.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 480.052000 632.692000 483.376000 620.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 483.352000 632.692000 487.348000 620.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 487.252000 632.692000 490.576000 620.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 490.648000 632.692000 496.648000 620.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 496.648000 632.692000 499.972000 620.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 500.044000 632.692000 506.044000 620.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 506.044000 632.692000 512.044000 620.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 512.044000 632.692000 515.368000 620.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 515.344000 632.692000 521.344000 620.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 521.548000 632.692000 524.548000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 524.848000 632.692000 530.164000 620.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 530.152000 632.692000 536.152000 620.692000 1.000000 0.000000 0.000000 1.000000 p +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 632.692000 540.196000 620.692000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 619.192000 227.500000 607.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 227.404000 619.192000 232.720000 607.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 232.708000 619.192000 238.024000 607.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 238.012000 619.192000 241.336000 607.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 241.312000 619.192000 244.636000 607.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 244.708000 619.192000 250.708000 607.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 250.708000 619.192000 256.708000 607.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 256.708000 619.192000 259.708000 607.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 108.100000 591.116000 115.432000 579.116000 1.000000 0.000000 0.000000 1.000000 F +drawChar 115.396000 591.116000 118.732000 579.116000 1.000000 0.000000 0.000000 1.000000 i +drawChar 118.792000 591.116000 123.460000 579.116000 1.000000 0.000000 0.000000 1.000000 r +drawChar 123.388000 591.116000 130.060000 579.116000 1.000000 0.000000 0.000000 1.000000 e +drawChar 130.084000 591.116000 137.416000 579.116000 1.000000 0.000000 0.000000 1.000000 p +drawChar 137.380000 591.116000 140.716000 579.116000 1.000000 0.000000 0.000000 1.000000 l +drawChar 140.776000 591.116000 147.448000 579.116000 1.000000 0.000000 0.000000 1.000000 a +drawChar 147.376000 591.116000 154.048000 579.116000 1.000000 0.000000 0.000000 1.000000 c +drawChar 154.072000 591.116000 160.744000 579.116000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 576.592000 230.164000 564.592000 1.000000 0.000000 0.000000 1.000000 A +drawChar 231.196000 576.592000 234.196000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.192000 576.592000 240.508000 564.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 240.496000 576.592000 244.492000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 244.492000 576.592000 249.808000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 249.796000 576.592000 255.112000 564.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 255.100000 576.592000 261.100000 564.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 261.100000 576.592000 264.424000 564.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 264.400000 576.592000 267.724000 564.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 267.796000 576.592000 273.796000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 273.796000 576.592000 279.796000 564.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 279.796000 576.592000 282.796000 564.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 283.900000 576.592000 286.900000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.896000 576.592000 293.896000 564.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 293.896000 576.592000 299.896000 564.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 299.896000 576.592000 303.892000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 303.892000 576.592000 309.892000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 309.892000 576.592000 313.216000 564.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 313.192000 576.592000 319.192000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 319.192000 576.592000 325.192000 564.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 326.188000 576.592000 329.188000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.292000 576.592000 334.288000 564.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 334.192000 576.592000 337.516000 564.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 337.588000 576.592000 341.584000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 341.584000 576.592000 346.900000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 347.980000 576.592000 350.980000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.976000 576.592000 357.976000 564.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 357.976000 576.592000 361.972000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 361.972000 576.592000 365.296000 564.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 365.272000 576.592000 371.272000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 371.272000 576.592000 377.272000 564.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 377.272000 576.592000 381.940000 564.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 382.972000 576.592000 385.972000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.076000 576.592000 392.392000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 393.376000 576.592000 396.376000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.372000 576.592000 406.036000 564.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 406.072000 576.592000 411.388000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 411.376000 576.592000 415.372000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 415.372000 576.592000 424.696000 564.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 424.672000 576.592000 427.672000 564.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 428.776000 576.592000 431.776000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 432.772000 576.592000 438.088000 564.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 438.076000 576.592000 444.076000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 444.076000 576.592000 449.392000 564.592000 1.000000 0.000000 0.000000 1.000000 z +drawChar 449.380000 576.592000 455.380000 564.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 456.484000 576.592000 459.484000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 460.480000 576.592000 464.476000 564.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 464.476000 576.592000 469.792000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 469.780000 576.592000 475.096000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 475.084000 576.592000 478.408000 564.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 478.384000 576.592000 481.708000 564.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 481.780000 576.592000 487.780000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 487.780000 576.592000 493.780000 564.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 494.776000 576.592000 497.776000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 498.880000 576.592000 502.204000 564.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 502.180000 576.592000 508.180000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 508.180000 576.592000 511.504000 564.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 511.480000 576.592000 517.480000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 518.584000 576.592000 521.584000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 522.580000 576.592000 527.896000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 527.884000 576.592000 533.884000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 533.884000 576.592000 539.884000 564.592000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 576.592000 543.200000 564.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 563.192000 225.496000 551.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 225.496000 563.192000 231.496000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.496000 563.192000 237.496000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 237.496000 563.192000 246.820000 551.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 246.796000 563.192000 249.796000 551.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.892000 563.192000 252.892000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.988000 563.192000 260.308000 551.192000 1.000000 0.000000 0.000000 1.000000 T +drawChar 260.188000 563.192000 266.188000 551.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 266.284000 563.192000 271.600000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 271.684000 563.192000 274.684000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 274.780000 563.192000 278.776000 551.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 278.680000 563.192000 282.004000 551.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 282.076000 563.192000 286.072000 551.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 286.072000 563.192000 291.388000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 291.376000 563.192000 297.376000 551.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 297.280000 563.192000 300.604000 551.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 300.676000 563.192000 305.992000 551.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 305.980000 563.192000 311.296000 551.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 311.284000 563.192000 316.600000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 316.780000 563.192000 319.780000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 319.876000 563.192000 323.200000 551.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 323.272000 563.192000 327.940000 551.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 327.976000 563.192000 330.976000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 331.072000 563.192000 336.388000 551.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 336.472000 563.192000 339.472000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 339.568000 563.192000 345.568000 551.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 345.472000 563.192000 350.788000 551.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 350.776000 563.192000 354.772000 551.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 354.772000 563.192000 358.096000 551.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 358.276000 563.192000 361.276000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.372000 563.192000 367.372000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 367.372000 563.192000 371.368000 551.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 371.368000 563.192000 374.368000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 374.464000 563.192000 377.788000 551.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 377.764000 563.192000 383.764000 551.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 383.860000 563.192000 389.176000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 389.164000 563.192000 392.164000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 392.260000 563.192000 398.260000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 398.260000 563.192000 402.256000 551.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 402.256000 563.192000 405.580000 551.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 405.652000 563.192000 411.652000 551.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 411.556000 563.192000 414.880000 551.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 414.952000 563.192000 420.952000 551.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 420.952000 563.192000 426.268000 551.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 426.256000 563.192000 429.580000 551.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 429.652000 563.192000 432.652000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 432.748000 563.192000 437.416000 551.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 437.452000 563.192000 440.776000 551.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 440.752000 563.192000 444.748000 551.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 444.748000 563.192000 450.748000 551.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 450.748000 563.192000 456.064000 551.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 456.052000 563.192000 459.376000 551.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 459.352000 563.192000 465.352000 551.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 465.352000 563.192000 469.348000 551.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 469.348000 563.192000 474.664000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 474.748000 563.192000 477.748000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 477.844000 563.192000 483.844000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 483.844000 563.192000 487.840000 551.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 487.948000 563.192000 490.948000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 491.044000 563.192000 494.368000 551.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 494.248000 563.192000 500.248000 551.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 500.344000 563.192000 505.660000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 505.744000 563.192000 508.744000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 508.840000 563.192000 514.840000 551.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 514.936000 563.192000 520.936000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 520.840000 563.192000 526.840000 551.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 526.840000 563.192000 531.508000 551.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 531.544000 563.192000 536.860000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 536.848000 563.192000 539.848000 551.192000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 563.192000 543.200000 551.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 549.692000 226.816000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 226.804000 549.692000 232.804000 537.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 232.804000 549.692000 238.804000 537.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 239.908000 549.692000 242.908000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 244.012000 549.692000 247.336000 537.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 247.408000 549.692000 250.732000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 250.612000 549.692000 255.280000 537.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 256.408000 549.692000 259.408000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 260.512000 549.692000 267.832000 537.692000 1.000000 0.000000 0.000000 1.000000 E +drawChar 267.808000 549.692000 273.124000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 273.112000 549.692000 277.108000 537.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 277.108000 549.692000 280.432000 537.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 280.408000 549.692000 286.408000 537.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 286.312000 549.692000 290.308000 537.692000 1.000000 0.000000 0.000000 1.000000 - +drawChar 290.512000 549.692000 299.176000 537.692000 1.000000 0.000000 0.000000 1.000000 A +drawChar 299.212000 549.692000 308.536000 537.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 308.512000 549.692000 313.828000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 313.816000 549.692000 317.812000 537.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 317.716000 549.692000 321.040000 537.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 321.112000 549.692000 326.428000 537.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 326.416000 549.692000 331.732000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 331.720000 549.692000 337.720000 537.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 338.824000 549.692000 341.824000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 342.928000 549.692000 348.928000 537.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 348.832000 549.692000 354.148000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.136000 549.692000 358.804000 537.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 358.840000 549.692000 362.164000 537.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 362.236000 549.692000 368.236000 537.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 368.236000 549.692000 374.236000 537.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 375.340000 549.692000 378.340000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.444000 549.692000 384.760000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 384.748000 549.692000 388.072000 537.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 388.048000 549.692000 392.716000 537.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 392.752000 549.692000 398.752000 537.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 399.856000 549.692000 402.856000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.960000 549.692000 409.276000 537.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 409.264000 549.692000 415.264000 537.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 415.264000 549.692000 421.264000 537.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 421.264000 549.692000 424.588000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 424.564000 549.692000 428.560000 537.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 428.560000 549.692000 433.876000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 433.864000 549.692000 438.532000 537.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 438.568000 549.692000 441.892000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 441.868000 549.692000 446.536000 537.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 447.664000 549.692000 450.664000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.768000 549.692000 457.084000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 457.072000 549.692000 460.396000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 460.372000 549.692000 463.696000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 463.672000 549.692000 467.668000 537.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 467.668000 549.692000 472.984000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 472.972000 549.692000 478.288000 537.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 478.276000 549.692000 481.600000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 481.576000 549.692000 484.900000 537.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 485.080000 549.692000 491.080000 537.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 490.984000 549.692000 496.300000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 496.288000 549.692000 499.612000 537.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 499.684000 549.692000 505.684000 537.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 506.788000 549.692000 509.788000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 510.892000 549.692000 514.216000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 514.192000 549.692000 520.192000 537.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 521.296000 549.692000 524.296000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 525.400000 549.692000 528.724000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 528.700000 549.692000 534.700000 537.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 534.796000 549.692000 540.112000 537.692000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 549.692000 543.200000 537.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 536.292000 230.824000 524.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 230.800000 536.292000 236.800000 524.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 236.800000 536.292000 242.800000 524.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 242.704000 536.292000 248.020000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.008000 536.292000 252.004000 524.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 252.004000 536.292000 258.004000 524.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 258.208000 536.292000 261.208000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.208000 536.292000 265.204000 524.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 265.204000 536.292000 271.204000 524.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 271.204000 536.292000 275.200000 524.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 275.200000 536.292000 281.200000 524.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 281.104000 536.292000 284.428000 524.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 284.500000 536.292000 287.824000 524.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 287.800000 536.292000 293.800000 524.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 293.800000 536.292000 297.796000 524.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 297.796000 536.292000 303.112000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 303.100000 536.292000 306.100000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 306.100000 536.292000 309.424000 524.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 309.496000 536.292000 315.496000 524.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 315.496000 536.292000 318.496000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 318.496000 536.292000 321.820000 524.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 321.700000 536.292000 327.700000 524.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 327.796000 536.292000 333.112000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 333.100000 536.292000 336.100000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 336.100000 536.292000 340.096000 524.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 340.096000 536.292000 346.096000 524.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 346.096000 536.292000 352.096000 524.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 352.096000 536.292000 361.420000 524.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 361.396000 536.292000 364.396000 524.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 108.100000 508.116000 116.764000 496.116000 1.000000 0.000000 0.000000 1.000000 B +drawChar 116.800000 508.116000 124.132000 496.116000 1.000000 0.000000 0.000000 1.000000 o +drawChar 124.096000 508.116000 131.428000 496.116000 1.000000 0.000000 0.000000 1.000000 o +drawChar 131.392000 508.116000 138.064000 496.116000 1.000000 0.000000 0.000000 1.000000 k +drawChar 138.088000 508.116000 144.760000 496.116000 1.000000 0.000000 0.000000 1.000000 c +drawChar 144.784000 508.116000 151.456000 496.116000 1.000000 0.000000 0.000000 1.000000 a +drawChar 151.384000 508.116000 158.056000 496.116000 1.000000 0.000000 0.000000 1.000000 s +drawChar 158.080000 508.116000 164.752000 496.116000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 493.692000 232.168000 481.692000 1.000000 0.000000 0.000000 1.000000 M +drawChar 232.204000 493.692000 238.204000 481.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 238.300000 493.692000 241.300000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.504000 493.692000 247.504000 481.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 247.504000 493.692000 253.504000 481.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 253.504000 493.692000 259.504000 481.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 259.504000 493.692000 265.504000 481.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 265.504000 493.692000 270.820000 481.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 270.808000 493.692000 276.124000 481.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 276.112000 493.692000 280.780000 481.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 280.816000 493.692000 286.132000 481.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 286.312000 493.692000 289.312000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.516000 493.692000 292.840000 481.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 292.912000 493.692000 297.580000 481.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 297.712000 493.692000 300.712000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 300.916000 493.692000 304.912000 481.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 304.816000 493.692000 308.140000 481.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 308.212000 493.692000 311.536000 481.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 311.512000 493.692000 314.836000 481.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 314.812000 493.692000 320.128000 481.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.212000 493.692000 326.212000 481.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 326.416000 493.692000 329.416000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.620000 493.692000 338.284000 481.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 338.224000 493.692000 341.548000 481.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 341.620000 493.692000 344.944000 481.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 344.824000 493.692000 350.824000 481.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 351.028000 493.692000 354.028000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 354.232000 493.692000 360.232000 481.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 360.136000 493.692000 365.452000 481.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 365.440000 493.692000 369.436000 481.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 369.436000 493.692000 372.760000 481.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 372.832000 493.692000 378.832000 481.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 378.832000 493.692000 384.832000 481.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 384.832000 493.692000 389.500000 481.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 389.728000 493.692000 392.728000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 392.932000 493.692000 401.596000 481.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 401.632000 493.692000 407.632000 481.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 407.632000 493.692000 411.628000 481.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 411.628000 493.692000 417.628000 481.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 417.532000 493.692000 422.200000 481.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 422.428000 493.692000 425.428000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.632000 493.692000 431.632000 481.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 431.632000 493.692000 435.628000 481.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 435.736000 493.692000 438.736000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 438.940000 493.692000 442.264000 481.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 442.240000 493.692000 445.564000 481.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 445.636000 493.692000 448.960000 481.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 448.936000 493.692000 454.252000 481.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 454.240000 493.692000 458.236000 481.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 458.236000 493.692000 463.552000 481.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 463.540000 493.692000 466.864000 481.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 466.840000 493.692000 472.840000 481.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 472.840000 493.692000 476.836000 481.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 476.836000 493.692000 482.152000 481.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 482.140000 493.692000 485.140000 481.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.440000 493.692000 488.440000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.644000 493.692000 492.640000 481.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 492.844000 493.692000 495.844000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 496.048000 493.692000 500.716000 481.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 500.752000 493.692000 504.076000 481.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 503.956000 493.692000 507.280000 481.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 507.352000 493.692000 510.676000 481.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 510.652000 493.692000 513.976000 481.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 514.156000 493.692000 517.156000 481.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 517.360000 493.692000 523.360000 481.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 523.456000 493.692000 528.772000 481.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 528.760000 493.692000 534.760000 481.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 534.664000 493.692000 539.980000 481.692000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 493.692000 543.100000 481.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 480.192000 224.824000 468.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 480.192000 230.800000 468.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.896000 480.192000 236.212000 468.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 238.000000 480.192000 241.000000 468.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 241.000000 480.192000 249.664000 468.192000 1.000000 0.000000 0.000000 1.000000 D +drawChar 249.604000 480.192000 253.600000 468.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 253.600000 480.192000 256.600000 468.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 257.596000 480.192000 260.596000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.496000 480.192000 268.168000 468.192000 1.000000 0.000000 0.000000 1.000000 S +drawChar 268.192000 480.192000 274.192000 468.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 274.192000 480.192000 279.508000 468.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 279.496000 480.192000 284.164000 468.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 284.092000 480.192000 288.760000 468.192000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 288.800000 480.192000 291.800000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.696000 480.192000 299.696000 468.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 299.696000 480.192000 305.696000 468.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 305.696000 480.192000 311.696000 468.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 311.696000 480.192000 317.696000 468.192000 1.000000 0.000000 0.000000 1.000000 k +drawChar 317.600000 480.192000 322.268000 468.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 323.204000 480.192000 326.204000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.200000 480.192000 331.196000 468.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 331.196000 480.192000 335.192000 468.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 335.192000 480.192000 341.192000 468.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 341.192000 480.192000 350.516000 468.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 351.392000 480.192000 354.392000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 355.292000 480.192000 364.616000 468.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 364.592000 480.192000 370.592000 468.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 371.588000 480.192000 374.588000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 375.488000 480.192000 380.804000 468.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 380.792000 480.192000 386.792000 468.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 386.792000 480.192000 390.116000 468.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 390.188000 480.192000 393.512000 468.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 393.488000 480.192000 399.488000 468.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 399.392000 480.192000 405.392000 468.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 405.488000 480.192000 411.488000 468.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 411.488000 480.192000 417.488000 468.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.488000 480.192000 423.488000 468.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 423.392000 480.192000 426.392000 468.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 427.388000 480.192000 430.388000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.384000 480.192000 436.700000 468.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 436.688000 480.192000 442.688000 468.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 442.688000 480.192000 448.688000 468.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 449.588000 480.192000 452.588000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 453.584000 480.192000 458.900000 468.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 459.788000 480.192000 462.788000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 463.688000 480.192000 472.352000 468.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 472.388000 480.192000 478.388000 468.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 478.388000 480.192000 484.388000 468.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 484.388000 480.192000 487.712000 468.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 487.688000 480.192000 493.004000 468.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 493.988000 480.192000 496.988000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 497.888000 480.192000 502.556000 468.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 502.592000 480.192000 507.908000 468.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 507.896000 480.192000 511.892000 468.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 511.892000 480.192000 515.216000 468.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 515.288000 480.192000 520.604000 468.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 520.484000 480.192000 525.152000 468.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 526.088000 480.192000 529.088000 468.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 530.084000 480.192000 536.084000 468.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 536.084000 480.192000 540.080000 468.192000 1.000000 0.000000 0.000000 1.000000 f +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 480.192000 543.100000 468.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 466.792000 230.164000 454.792000 1.000000 0.000000 0.000000 1.000000 A +drawChar 230.200000 466.792000 236.200000 454.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 236.200000 466.792000 241.516000 454.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 241.504000 466.792000 244.828000 454.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 244.708000 466.792000 250.708000 454.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 250.804000 466.792000 256.120000 454.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 257.404000 466.792000 260.404000 454.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.604000 466.792000 269.596000 454.792000 1.000000 0.000000 0.000000 1.000000 C +drawChar 269.608000 466.792000 275.608000 454.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 275.608000 466.792000 279.604000 454.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 279.604000 466.792000 282.928000 454.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 282.904000 466.792000 287.572000 454.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 287.608000 466.792000 290.932000 454.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 290.908000 466.792000 294.232000 454.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 294.304000 466.792000 299.620000 454.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 300.808000 466.792000 303.808000 454.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.104000 466.792000 314.428000 454.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 314.404000 466.792000 320.404000 454.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 320.308000 466.792000 324.976000 454.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 325.012000 466.792000 328.336000 454.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 328.312000 466.792000 333.628000 454.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 333.616000 466.792000 337.612000 454.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 337.612000 466.792000 340.936000 454.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 341.008000 466.792000 346.324000 454.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 346.312000 466.792000 350.980000 454.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 351.016000 466.792000 354.016000 454.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.312000 466.792000 358.312000 454.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 359.512000 466.792000 368.176000 454.792000 1.000000 0.000000 0.000000 1.000000 O +drawChar 368.116000 466.792000 374.116000 454.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 375.412000 466.792000 378.412000 454.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.612000 466.792000 382.936000 454.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 382.912000 466.792000 388.912000 454.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 389.008000 466.792000 394.324000 454.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.512000 466.792000 398.512000 454.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 399.712000 466.792000 405.712000 454.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 405.712000 466.792000 409.036000 454.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 409.012000 466.792000 415.012000 454.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 415.108000 466.792000 420.424000 454.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 420.412000 466.792000 424.408000 454.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 425.608000 466.792000 428.608000 454.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 429.808000 466.792000 435.808000 454.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 435.904000 466.792000 441.220000 454.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 441.208000 466.792000 447.208000 454.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 447.208000 466.792000 453.208000 454.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 453.112000 466.792000 456.112000 454.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 457.408000 466.792000 460.408000 454.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 461.608000 466.792000 466.504000 454.792000 1.000000 0.000000 0.000000 1.000000 " +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 466.500000 466.792000 474.492000 454.792000 1.000000 0.000000 0.000000 1.000000 C +drawChar 474.504000 466.792000 479.820000 454.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 479.808000 466.792000 485.808000 454.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 485.808000 466.792000 491.808000 454.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 491.808000 466.792000 497.124000 454.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 497.112000 466.792000 501.108000 454.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 501.108000 466.792000 507.108000 454.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 508.404000 466.792000 511.404000 454.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 512.604000 466.792000 520.596000 454.792000 1.000000 0.000000 0.000000 1.000000 R +drawChar 520.608000 466.792000 526.608000 454.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 526.608000 466.792000 535.272000 454.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 535.308000 466.792000 540.204000 454.792000 1.000000 0.000000 0.000000 1.000000 " +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 466.792000 543.200000 454.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 453.292000 225.496000 441.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 225.496000 453.292000 229.492000 441.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 229.492000 453.292000 235.492000 441.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 235.492000 453.292000 244.816000 441.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 244.792000 453.292000 247.792000 441.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 247.800000 453.292000 252.468000 441.292000 1.000000 0.000000 0.000000 1.000000 J +drawChar 252.396000 453.292000 258.396000 441.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 258.396000 453.292000 264.396000 441.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 264.492000 453.292000 270.492000 441.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 270.492000 453.292000 273.492000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.492000 453.292000 280.164000 441.292000 1.000000 0.000000 0.000000 1.000000 S +drawChar 280.188000 453.292000 283.512000 441.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 283.488000 453.292000 288.804000 441.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 288.684000 453.292000 292.008000 441.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 292.080000 453.292000 298.080000 441.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 298.080000 453.292000 304.080000 441.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 304.080000 453.292000 309.396000 441.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 309.384000 453.292000 314.700000 441.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 314.688000 453.292000 320.688000 441.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 320.784000 453.292000 323.784000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 323.784000 453.292000 327.108000 441.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 327.084000 453.292000 331.752000 441.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 331.788000 453.292000 334.788000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 334.788000 453.292000 338.112000 441.292000 1.000000 0.000000 0.000000 1.000000 j +drawChar 338.184000 453.292000 344.184000 441.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 344.088000 453.292000 348.756000 441.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 348.792000 453.292000 352.116000 441.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 352.092000 453.292000 355.092000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 355.092000 453.292000 358.416000 441.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 358.392000 453.292000 367.056000 441.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 367.092000 453.292000 373.092000 441.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 373.092000 453.292000 376.092000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 376.092000 453.292000 382.092000 441.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 381.996000 453.292000 387.312000 441.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 387.300000 453.292000 392.616000 441.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 392.604000 453.292000 396.600000 441.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 396.600000 453.292000 401.268000 441.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 401.496000 453.292000 404.496000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 404.496000 453.292000 410.496000 441.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 410.496000 453.292000 413.820000 441.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 413.796000 453.292000 419.796000 441.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 419.700000 453.292000 422.700000 441.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 422.796000 453.292000 425.796000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.796000 453.292000 431.112000 441.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 431.100000 453.292000 434.100000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.100000 453.292000 438.768000 441.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 438.804000 453.292000 444.804000 441.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 444.804000 453.292000 450.804000 441.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 450.804000 453.292000 456.804000 441.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 456.708000 453.292000 462.024000 441.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 462.012000 453.292000 468.012000 441.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 468.012000 453.292000 471.336000 441.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 471.408000 453.292000 475.404000 441.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 475.512000 453.292000 478.512000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 478.512000 453.292000 482.508000 441.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 482.412000 453.292000 486.408000 441.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 486.408000 453.292000 492.408000 441.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 492.408000 453.292000 501.732000 441.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 501.804000 453.292000 504.804000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 504.804000 453.292000 514.128000 441.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 514.104000 453.292000 520.104000 441.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 520.104000 453.292000 523.104000 441.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 523.104000 453.292000 526.428000 441.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 526.404000 453.292000 531.720000 441.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 531.708000 453.292000 536.376000 441.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 536.412000 453.292000 539.736000 441.292000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 453.292000 543.100000 441.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 439.892000 224.824000 427.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 439.892000 228.796000 427.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 228.796000 439.892000 232.120000 427.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 232.192000 439.892000 238.192000 427.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 239.296000 439.892000 242.296000 427.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.400000 439.892000 249.400000 427.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 249.304000 439.892000 255.304000 427.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 255.304000 439.892000 263.968000 427.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 264.004000 439.892000 270.004000 427.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 271.108000 439.892000 274.108000 427.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 275.212000 439.892000 278.536000 427.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 278.512000 439.892000 284.512000 427.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 286.816000 439.892000 289.816000 427.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 289.900000 439.892000 300.568000 427.892000 1.000000 0.000000 0.000000 1.000000 M +drawChar 300.496000 439.892000 306.496000 427.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 306.496000 439.892000 312.496000 427.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 312.496000 439.892000 315.820000 427.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 315.796000 439.892000 321.112000 427.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.100000 439.892000 325.096000 427.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 325.096000 439.892000 330.412000 427.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 330.496000 439.892000 336.496000 427.892000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 336.500000 439.892000 339.500000 427.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 340.604000 439.892000 343.604000 427.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 344.708000 439.892000 355.376000 427.892000 1.000000 0.000000 0.000000 1.000000 M +drawChar 355.412000 439.892000 360.728000 427.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 360.716000 439.892000 366.716000 427.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 366.716000 439.892000 372.716000 427.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 373.820000 439.892000 376.820000 427.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.924000 439.892000 383.240000 427.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 383.228000 439.892000 386.552000 427.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 386.528000 439.892000 391.844000 427.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 391.832000 439.892000 396.500000 427.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 396.536000 439.892000 401.204000 427.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 401.240000 439.892000 404.564000 427.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 404.636000 439.892000 409.952000 427.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 409.940000 439.892000 414.608000 427.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 415.736000 439.892000 418.736000 427.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 419.840000 439.892000 425.156000 427.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 425.144000 439.892000 430.460000 427.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 430.448000 439.892000 436.448000 427.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 437.552000 439.892000 440.552000 427.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.656000 439.892000 446.972000 427.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 446.960000 439.892000 450.284000 427.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 450.260000 439.892000 454.928000 427.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 454.964000 439.892000 460.964000 427.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 462.068000 439.892000 465.068000 427.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 466.172000 439.892000 472.172000 427.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 472.172000 439.892000 477.488000 427.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 478.676000 439.892000 481.676000 427.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 482.780000 439.892000 486.776000 427.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 486.776000 439.892000 492.776000 427.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 492.776000 439.892000 498.776000 427.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 498.776000 439.892000 504.776000 427.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 504.776000 439.892000 510.776000 427.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 511.880000 439.892000 514.880000 427.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 515.984000 439.892000 521.984000 427.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 521.984000 439.892000 527.300000 427.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 527.288000 439.892000 531.284000 427.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 531.284000 439.892000 536.600000 427.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 536.588000 439.892000 539.912000 427.892000 1.000000 0.000000 0.000000 1.000000 : +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 439.892000 543.100000 427.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 426.392000 226.396000 414.392000 1.000000 0.000000 0.000000 1.000000 " +drawChar 226.396000 426.392000 234.388000 414.392000 1.000000 0.000000 0.000000 1.000000 R +drawChar 234.400000 426.392000 240.400000 414.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 240.400000 426.392000 249.724000 414.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 249.700000 426.392000 255.016000 414.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.004000 426.392000 261.004000 414.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 261.400000 426.392000 264.400000 414.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.796000 426.392000 270.112000 414.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 270.100000 426.392000 276.100000 414.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 276.100000 426.392000 282.100000 414.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 282.496000 426.392000 285.496000 414.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 285.892000 426.392000 290.560000 414.392000 1.000000 0.000000 0.000000 1.000000 J +drawChar 290.488000 426.392000 296.488000 414.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 296.488000 426.392000 299.812000 414.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 299.788000 426.392000 303.112000 414.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 303.184000 426.392000 308.500000 414.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 308.488000 426.392000 311.812000 414.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 311.788000 426.392000 316.684000 414.392000 1.000000 0.000000 0.000000 1.000000 " +drawChar 317.092000 426.392000 320.092000 414.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.488000 426.392000 326.488000 414.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 326.488000 426.392000 332.488000 414.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 333.292000 426.392000 336.292000 414.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 336.300000 426.392000 347.616000 414.392000 1.000000 0.000000 0.000000 1.000000 W +drawChar 347.604000 426.392000 350.928000 414.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 351.000000 426.392000 354.324000 414.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 354.300000 426.392000 357.624000 414.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 357.600000 426.392000 360.924000 414.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 360.996000 426.392000 366.312000 414.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 366.300000 426.392000 375.624000 414.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 375.996000 426.392000 378.996000 414.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.392000 426.392000 386.064000 414.392000 1.000000 0.000000 0.000000 1.000000 S +drawChar 385.992000 426.392000 391.992000 414.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 392.088000 426.392000 397.404000 414.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 397.392000 426.392000 403.392000 414.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 403.392000 426.392000 408.708000 414.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 408.696000 426.392000 413.364000 414.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 413.400000 426.392000 419.400000 414.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 419.304000 426.392000 424.620000 414.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 424.608000 426.392000 429.924000 414.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 429.912000 426.392000 433.908000 414.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 433.908000 426.392000 439.224000 414.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 439.704000 426.392000 442.704000 414.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 443.100000 426.392000 448.416000 414.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 448.404000 426.392000 453.072000 414.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 453.504000 426.392000 456.504000 414.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 456.900000 426.392000 465.564000 414.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 465.600000 426.392000 470.916000 414.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 470.904000 426.392000 474.228000 414.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 474.204000 426.392000 477.528000 414.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 477.900000 426.392000 480.900000 414.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 481.296000 426.392000 486.612000 414.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 486.600000 426.392000 491.268000 414.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 491.604000 426.392000 494.604000 414.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 495.000000 426.392000 503.664000 414.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 503.700000 426.392000 509.700000 414.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 509.700000 426.392000 513.696000 414.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 513.696000 426.392000 519.696000 414.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 519.600000 426.392000 524.268000 414.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 524.700000 426.392000 527.700000 414.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 528.096000 426.392000 534.096000 414.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 534.096000 426.392000 540.096000 414.392000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 426.392000 543.100000 414.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 412.992000 228.820000 400.992000 1.000000 0.000000 0.000000 1.000000 E +drawChar 228.796000 412.992000 232.792000 400.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 232.792000 412.992000 238.792000 400.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 238.792000 412.992000 244.108000 400.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 244.096000 412.992000 248.764000 400.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 248.800000 412.992000 252.124000 400.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 252.700000 412.992000 255.700000 400.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 256.300000 412.992000 264.964000 400.992000 1.000000 0.000000 0.000000 1.000000 H +drawChar 265.000000 412.992000 270.316000 400.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 270.304000 412.992000 279.628000 400.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 279.508000 412.992000 282.832000 400.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 282.904000 412.992000 288.904000 400.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 288.904000 412.992000 294.904000 400.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 294.904000 412.992000 303.568000 400.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 303.604000 412.992000 308.920000 400.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 308.908000 412.992000 314.908000 400.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 315.508000 412.992000 318.508000 400.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 319.012000 412.992000 324.328000 400.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 324.316000 412.992000 330.316000 400.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 330.316000 412.992000 336.316000 400.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 337.420000 412.992000 340.420000 400.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 340.400000 412.992000 347.720000 400.992000 1.000000 0.000000 0.000000 1.000000 E +drawChar 347.696000 412.992000 353.696000 400.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 353.600000 412.992000 359.600000 400.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 359.600000 412.992000 364.916000 400.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 364.904000 412.992000 368.900000 400.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 369.608000 412.992000 372.608000 400.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.208000 412.992000 381.872000 400.992000 1.000000 0.000000 0.000000 1.000000 A +drawChar 381.908000 412.992000 385.232000 400.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 385.208000 412.992000 388.532000 400.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 388.508000 412.992000 393.824000 400.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 393.812000 412.992000 399.812000 400.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 400.412000 412.992000 403.412000 400.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.916000 412.992000 410.588000 400.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 410.612000 412.992000 416.612000 400.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 416.612000 412.992000 421.928000 400.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 422.516000 412.992000 425.516000 400.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.020000 412.992000 429.344000 400.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 429.320000 412.992000 435.320000 400.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 435.920000 412.992000 438.920000 400.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 439.520000 412.992000 445.520000 400.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 445.520000 412.992000 450.836000 400.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 450.824000 412.992000 460.148000 400.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 460.124000 412.992000 465.440000 400.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 466.028000 412.992000 469.028000 400.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 469.532000 412.992000 474.848000 400.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 475.436000 412.992000 478.436000 400.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 479.036000 412.992000 483.032000 400.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 483.032000 412.992000 488.348000 400.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 488.336000 412.992000 497.000000 400.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 497.036000 412.992000 500.036000 400.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 500.540000 412.992000 503.540000 400.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 504.140000 412.992000 512.804000 400.992000 1.000000 0.000000 0.000000 1.000000 A +drawChar 512.840000 412.992000 522.164000 400.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 522.140000 412.992000 528.140000 400.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 528.140000 412.992000 534.140000 400.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 534.140000 412.992000 540.140000 400.992000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 412.992000 543.100000 400.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 399.492000 224.824000 387.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 399.492000 230.800000 387.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.896000 399.492000 236.212000 387.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.800000 399.492000 239.800000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 240.400000 399.492000 246.400000 387.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 246.400000 399.492000 252.400000 387.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 252.400000 399.492000 258.400000 387.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 258.400000 399.492000 264.400000 387.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 264.304000 399.492000 268.972000 387.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 269.608000 399.492000 272.608000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.208000 399.492000 278.524000 387.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 278.512000 399.492000 282.508000 387.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 282.508000 399.492000 287.824000 387.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 288.508000 399.492000 291.508000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.108000 399.492000 297.424000 387.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 297.412000 399.492000 300.736000 387.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 300.712000 399.492000 305.380000 387.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 305.416000 399.492000 311.416000 387.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 312.016000 399.492000 315.016000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.616000 399.492000 320.932000 387.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 321.520000 399.492000 324.520000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.120000 399.492000 329.116000 387.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 329.116000 399.492000 334.432000 387.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 334.420000 399.492000 343.084000 387.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 343.720000 399.492000 346.720000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.320000 399.492000 353.320000 387.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 353.320000 399.492000 359.320000 387.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 359.320000 399.492000 364.636000 387.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 364.624000 399.492000 368.620000 387.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 368.620000 399.492000 374.620000 387.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 375.316000 399.492000 378.316000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.916000 399.492000 384.916000 387.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 384.916000 399.492000 390.232000 387.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 390.220000 399.492000 399.544000 387.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 399.520000 399.492000 404.836000 387.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 404.824000 399.492000 409.492000 387.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 409.528000 399.492000 412.528000 387.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 413.128000 399.492000 416.128000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 416.728000 399.492000 422.044000 387.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 422.032000 399.492000 426.700000 387.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 427.336000 399.492000 430.336000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.936000 399.492000 439.600000 387.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 439.636000 399.492000 444.952000 387.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 444.940000 399.492000 448.264000 387.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 448.240000 399.492000 451.564000 387.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 452.236000 399.492000 455.236000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.836000 399.492000 461.152000 387.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 461.140000 399.492000 465.808000 387.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 466.444000 399.492000 469.444000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.044000 399.492000 476.044000 387.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 475.948000 399.492000 481.264000 387.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 481.252000 399.492000 485.248000 387.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 485.248000 399.492000 488.572000 387.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 488.644000 399.492000 494.644000 387.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 494.644000 399.492000 500.644000 387.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 500.644000 399.492000 505.312000 387.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 505.948000 399.492000 508.948000 387.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 509.548000 399.492000 515.548000 387.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 515.548000 399.492000 521.548000 387.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 521.548000 399.492000 524.872000 387.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 524.944000 399.492000 530.260000 387.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 530.248000 399.492000 536.248000 387.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 536.248000 399.492000 540.244000 387.492000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 386.092000 227.500000 374.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 227.500000 386.092000 233.500000 374.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 233.500000 386.092000 238.816000 374.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 238.804000 386.092000 244.120000 374.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 244.108000 386.092000 250.108000 374.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 250.108000 386.092000 254.776000 374.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 254.812000 386.092000 257.812000 374.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 257.812000 386.092000 260.812000 374.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 260.812000 386.092000 265.480000 374.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 265.516000 386.092000 271.516000 374.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 271.516000 386.092000 276.832000 374.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 276.712000 386.092000 282.712000 374.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 282.808000 386.092000 285.808000 374.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 285.808000 386.092000 291.124000 374.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 291.112000 386.092000 295.780000 374.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 295.816000 386.092000 298.816000 374.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 298.816000 386.092000 304.132000 374.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 304.120000 386.092000 307.120000 374.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.120000 386.092000 315.784000 374.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 315.820000 386.092000 321.820000 374.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 321.820000 386.092000 327.820000 374.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 327.820000 386.092000 333.820000 374.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 333.724000 386.092000 339.040000 374.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 339.028000 386.092000 345.028000 374.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 345.124000 386.092000 348.124000 374.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 348.100000 386.092000 354.100000 374.092000 1.000000 0.000000 0.000000 1.000000 x +drawChar 354.100000 386.092000 360.100000 374.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 360.004000 386.092000 363.328000 374.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 363.304000 386.092000 369.304000 374.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 369.400000 386.092000 375.400000 374.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 375.304000 386.092000 381.304000 374.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 381.400000 386.092000 387.400000 374.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 387.400000 386.092000 393.400000 374.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 393.400000 386.092000 398.716000 374.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 398.800000 386.092000 401.800000 374.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 401.800000 386.092000 405.796000 374.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 405.796000 386.092000 409.792000 374.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 409.792000 386.092000 415.792000 374.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 415.792000 386.092000 425.116000 374.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 425.092000 386.092000 428.092000 374.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 428.092000 386.092000 436.756000 374.092000 1.000000 0.000000 0.000000 1.000000 A +drawChar 436.792000 386.092000 440.788000 374.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 440.692000 386.092000 444.688000 374.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 444.688000 386.092000 448.012000 374.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 448.084000 386.092000 453.400000 374.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 453.388000 386.092000 458.704000 374.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 458.692000 386.092000 461.692000 374.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 108.100000 357.916000 118.096000 345.916000 1.000000 0.000000 0.000000 1.000000 M +drawChar 118.096000 357.916000 121.432000 345.916000 1.000000 0.000000 0.000000 1.000000 i +drawChar 121.396000 357.916000 128.728000 345.916000 1.000000 0.000000 0.000000 1.000000 n +drawChar 128.800000 357.916000 132.136000 345.916000 1.000000 0.000000 0.000000 1.000000 i +drawChar 132.100000 357.916000 139.432000 345.916000 1.000000 0.000000 0.000000 1.000000 b +drawChar 139.396000 357.916000 146.068000 345.916000 1.000000 0.000000 0.000000 1.000000 a +drawChar 146.092000 357.916000 150.760000 345.916000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 343.492000 225.496000 331.492000 1.000000 0.000000 0.000000 1.000000 I +drawChar 226.504000 343.492000 229.504000 331.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 230.500000 343.492000 233.824000 331.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 233.800000 343.492000 239.800000 331.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 239.800000 343.492000 245.800000 331.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 245.704000 343.492000 251.020000 331.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 253.204000 343.492000 256.204000 331.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 256.200000 343.492000 259.524000 331.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 259.500000 343.492000 265.500000 331.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 265.500000 343.492000 271.500000 331.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 271.500000 343.492000 277.500000 331.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 277.500000 343.492000 283.500000 331.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 283.404000 343.492000 287.400000 331.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 287.400000 343.492000 290.724000 331.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 290.796000 343.492000 296.796000 331.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 296.796000 343.492000 302.796000 331.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 302.796000 343.492000 307.464000 331.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 307.500000 343.492000 310.500000 331.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 312.504000 343.492000 317.820000 331.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 317.808000 343.492000 323.808000 331.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 323.808000 343.492000 329.808000 331.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 331.812000 343.492000 334.812000 331.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.800000 343.492000 340.116000 331.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 340.104000 343.492000 346.104000 331.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 346.104000 343.492000 351.420000 331.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 351.408000 343.492000 357.408000 331.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 357.408000 343.492000 360.732000 331.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 360.708000 343.492000 366.024000 331.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 366.012000 343.492000 369.336000 331.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 369.408000 343.492000 372.732000 331.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 372.708000 343.492000 377.376000 331.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 377.412000 343.492000 380.412000 331.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 381.408000 343.492000 384.408000 331.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 385.404000 343.492000 390.720000 331.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 390.708000 343.492000 396.708000 331.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 396.708000 343.492000 402.708000 331.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 403.704000 343.492000 406.704000 331.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 407.700000 343.492000 417.024000 331.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 417.000000 343.492000 423.000000 331.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 424.104000 343.492000 427.104000 331.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 428.100000 343.492000 437.424000 331.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 437.304000 343.492000 440.628000 331.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 440.700000 343.492000 446.700000 331.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 446.700000 343.492000 450.024000 331.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 450.096000 343.492000 456.096000 331.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 456.096000 343.492000 461.412000 331.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 461.400000 343.492000 465.396000 331.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 466.404000 343.492000 469.404000 331.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.400000 343.492000 473.724000 331.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 473.796000 343.492000 478.464000 331.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 479.400000 343.492000 482.400000 331.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 483.396000 343.492000 488.712000 331.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 488.700000 343.492000 494.016000 331.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 494.004000 343.492000 499.320000 331.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 499.308000 343.492000 505.308000 331.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 505.308000 343.492000 509.304000 331.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 509.304000 343.492000 515.304000 331.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 515.208000 343.492000 518.532000 331.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 518.604000 343.492000 524.604000 331.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 524.604000 343.492000 530.604000 331.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 530.604000 343.492000 533.928000 331.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 534.000000 343.492000 540.000000 331.492000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 343.492000 543.100000 331.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 329.992000 226.168000 317.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 226.204000 329.992000 229.528000 317.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 229.504000 329.992000 235.504000 317.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 235.504000 329.992000 240.820000 317.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 240.808000 329.992000 246.808000 317.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 246.808000 329.992000 252.124000 317.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 252.112000 329.992000 258.112000 317.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 258.016000 329.992000 261.016000 317.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.220000 329.992000 264.220000 317.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.316000 329.992000 272.980000 317.992000 1.000000 0.000000 0.000000 1.000000 G +drawChar 272.920000 329.992000 276.244000 317.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 276.316000 329.992000 282.316000 317.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 282.316000 329.992000 285.316000 317.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 285.412000 329.992000 289.408000 317.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 289.408000 329.992000 295.408000 317.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 295.408000 329.992000 299.404000 317.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 299.404000 329.992000 302.404000 317.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.500000 329.992000 307.816000 317.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 307.900000 329.992000 310.900000 317.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 311.000000 329.992000 319.664000 317.992000 1.000000 0.000000 0.000000 1.000000 G +drawChar 319.604000 329.992000 322.928000 317.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 323.000000 329.992000 329.000000 317.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 329.000000 329.992000 332.000000 317.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 332.096000 329.992000 337.412000 317.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 337.400000 329.992000 343.400000 317.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 343.400000 329.992000 349.400000 317.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 349.400000 329.992000 352.400000 317.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 352.496000 329.992000 359.816000 317.992000 1.000000 0.000000 0.000000 1.000000 T +drawChar 359.792000 329.992000 365.792000 317.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 365.792000 329.992000 371.792000 317.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 371.696000 329.992000 375.020000 317.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 375.092000 329.992000 380.408000 317.992000 1.000000 0.000000 0.000000 1.000000 c +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 380.500000 329.992000 383.500000 317.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 383.596000 329.992000 386.596000 317.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 386.600000 329.992000 394.592000 317.992000 1.000000 0.000000 0.000000 1.000000 C +drawChar 394.604000 329.992000 399.920000 317.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 399.908000 329.992000 409.232000 317.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 409.208000 329.992000 415.208000 317.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 415.112000 329.992000 420.428000 317.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 420.416000 329.992000 424.412000 317.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 424.412000 329.992000 427.736000 317.992000 1.000000 0.000000 0.000000 1.000000 i +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 427.900000 329.992000 430.900000 317.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 430.996000 329.992000 433.996000 317.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 433.996000 329.992000 439.996000 317.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 439.900000 329.992000 445.216000 317.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 445.204000 329.992000 449.200000 317.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 449.200000 329.992000 452.524000 317.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 452.596000 329.992000 458.596000 317.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 458.596000 329.992000 464.596000 317.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 464.596000 329.992000 469.264000 317.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 469.396000 329.992000 472.396000 317.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 472.396000 329.992000 475.720000 317.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 475.696000 329.992000 479.020000 317.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 479.092000 329.992000 485.092000 317.992000 1.000000 0.000000 0.000000 1.000000 q +drawChar 485.092000 329.992000 491.092000 317.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 491.092000 329.992000 496.408000 317.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 496.396000 329.992000 502.396000 317.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 502.396000 329.992000 506.392000 317.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 506.392000 329.992000 511.060000 317.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 511.096000 329.992000 514.096000 317.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 514.192000 329.992000 519.508000 317.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 519.496000 329.992000 525.496000 317.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 525.496000 329.992000 531.496000 317.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 531.592000 329.992000 534.592000 317.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 534.592000 329.992000 539.908000 317.992000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.000000 329.992000 543.000000 317.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 316.592000 225.496000 304.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 225.496000 316.592000 230.812000 304.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 230.800000 316.592000 239.464000 304.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 240.100000 316.592000 243.100000 304.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.700000 316.592000 248.596000 304.592000 1.000000 0.000000 0.000000 1.000000 " +drawChar 248.500000 316.592000 254.500000 304.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 254.596000 316.592000 259.912000 304.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 259.900000 316.592000 263.896000 304.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 263.896000 316.592000 269.896000 304.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 269.800000 316.592000 274.696000 304.592000 1.000000 0.000000 0.000000 1.000000 " +drawChar 275.404000 316.592000 278.404000 304.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.004000 316.592000 285.004000 304.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 284.908000 316.592000 288.904000 304.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 288.904000 316.592000 292.228000 304.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 292.300000 316.592000 298.300000 304.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 298.300000 316.592000 304.300000 304.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 304.300000 316.592000 308.968000 304.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 309.604000 316.592000 312.604000 304.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 313.204000 316.592000 322.528000 304.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 322.504000 316.592000 327.820000 304.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 327.808000 316.592000 333.808000 304.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 333.808000 316.592000 339.124000 304.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 339.808000 316.592000 342.808000 304.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.408000 316.592000 349.408000 304.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 349.408000 316.592000 355.408000 304.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 356.008000 316.592000 359.008000 304.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 359.608000 316.592000 362.932000 304.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 362.812000 316.592000 368.812000 304.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 368.908000 316.592000 374.224000 304.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 374.908000 316.592000 377.908000 304.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.508000 316.592000 383.824000 304.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 383.812000 316.592000 387.136000 304.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 387.112000 316.592000 392.428000 304.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 392.416000 316.592000 398.416000 304.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 398.416000 316.592000 404.416000 304.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 404.512000 316.592000 410.512000 304.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 410.512000 316.592000 413.836000 304.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 413.716000 316.592000 417.040000 304.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 417.112000 316.592000 422.428000 304.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 423.112000 316.592000 426.112000 304.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.712000 316.592000 432.712000 304.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 432.616000 316.592000 438.616000 304.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 438.616000 316.592000 442.612000 304.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 442.612000 316.592000 445.936000 304.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 445.912000 316.592000 449.236000 304.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 449.308000 316.592000 455.308000 304.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 455.308000 316.592000 461.308000 304.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 461.308000 316.592000 464.308000 304.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.508000 316.592000 468.508000 304.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 468.700000 316.592000 477.364000 304.592000 1.000000 0.000000 0.000000 1.000000 G +drawChar 477.304000 316.592000 481.300000 304.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 481.300000 316.592000 486.616000 304.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 486.604000 316.592000 492.604000 304.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 492.604000 316.592000 497.920000 304.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 497.908000 316.592000 503.908000 304.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 503.812000 316.592000 507.136000 304.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 507.208000 316.592000 513.208000 304.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 513.208000 316.592000 518.524000 304.592000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 518.600000 316.592000 521.600000 304.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 522.800000 316.592000 528.116000 304.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 528.104000 316.592000 534.104000 304.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 534.104000 316.592000 540.104000 304.592000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 316.592000 543.100000 304.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 303.092000 224.824000 291.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 224.800000 303.092000 228.124000 291.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 228.196000 303.092000 237.520000 291.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 237.496000 303.092000 242.812000 291.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 243.892000 303.092000 246.892000 291.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.996000 303.092000 252.664000 291.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 252.700000 303.092000 258.700000 291.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 258.604000 303.092000 262.600000 291.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 262.600000 303.092000 268.600000 291.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 268.696000 303.092000 274.696000 291.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 275.800000 303.092000 278.800000 291.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.904000 303.092000 285.220000 291.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 285.208000 303.092000 289.204000 291.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 289.204000 303.092000 294.520000 291.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 295.708000 303.092000 298.708000 291.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 299.812000 303.092000 305.128000 291.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 305.116000 303.092000 308.440000 291.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 308.416000 303.092000 313.084000 291.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 313.120000 303.092000 319.120000 291.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 320.224000 303.092000 323.224000 291.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 324.328000 303.092000 329.644000 291.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 329.632000 303.092000 335.632000 291.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 335.536000 303.092000 340.852000 291.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 340.840000 303.092000 344.164000 291.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 344.236000 303.092000 347.560000 291.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 347.536000 303.092000 352.852000 291.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 352.840000 303.092000 358.840000 291.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 358.840000 303.092000 362.164000 291.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 362.236000 303.092000 367.552000 291.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 368.740000 303.092000 371.740000 291.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.844000 303.092000 376.840000 291.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 376.840000 303.092000 382.840000 291.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 382.840000 303.092000 386.836000 291.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 387.940000 303.092000 390.940000 291.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 392.044000 303.092000 398.044000 291.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 398.044000 303.092000 404.044000 291.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 404.044000 303.092000 410.044000 291.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 410.044000 303.092000 414.040000 291.092000 1.000000 0.000000 0.000000 1.000000 - +drawChar 414.040000 303.092000 419.356000 291.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 419.344000 303.092000 422.668000 291.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 422.644000 303.092000 427.960000 291.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 427.948000 303.092000 433.948000 291.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 433.948000 303.092000 439.948000 291.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 440.044000 303.092000 446.044000 291.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 446.044000 303.092000 449.368000 291.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 449.344000 303.092000 452.668000 291.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 452.740000 303.092000 458.056000 291.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 459.136000 303.092000 462.136000 291.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 463.240000 303.092000 467.908000 291.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 467.944000 303.092000 473.944000 291.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 473.848000 303.092000 479.164000 291.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 479.152000 303.092000 484.468000 291.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 484.456000 303.092000 487.780000 291.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 487.852000 303.092000 493.168000 291.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 493.156000 303.092000 496.480000 291.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 496.456000 303.092000 499.780000 291.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 499.756000 303.092000 503.080000 291.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 503.152000 303.092000 508.468000 291.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 508.456000 303.092000 513.124000 291.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 513.160000 303.092000 516.160000 291.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.360000 303.092000 520.360000 291.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 521.464000 303.092000 528.784000 291.092000 1.000000 0.000000 0.000000 1.000000 T +drawChar 528.664000 303.092000 534.664000 291.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 534.760000 303.092000 540.076000 291.092000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 303.092000 543.100000 291.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 289.692000 227.500000 277.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 227.500000 289.692000 232.816000 277.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 232.804000 289.692000 238.120000 277.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 238.108000 289.692000 243.424000 277.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 243.412000 289.692000 248.080000 277.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 248.116000 289.692000 252.784000 277.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 252.820000 289.692000 258.136000 277.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 258.124000 289.692000 262.120000 277.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 262.120000 289.692000 268.120000 277.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 268.624000 289.692000 271.624000 277.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.224000 289.692000 281.548000 277.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 281.524000 289.692000 284.848000 277.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 284.920000 289.692000 290.920000 277.692000 1.000000 0.000000 0.000000 1.000000 x +drawChar 290.824000 289.692000 294.148000 277.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 294.220000 289.692000 300.220000 277.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 300.220000 289.692000 306.220000 277.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 306.724000 289.692000 309.724000 277.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 310.324000 289.692000 316.324000 277.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 316.324000 289.692000 319.648000 277.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 319.624000 289.692000 324.940000 277.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 324.928000 289.692000 330.928000 277.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 330.928000 289.692000 335.596000 277.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 335.524000 289.692000 338.848000 277.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 338.920000 289.692000 342.244000 277.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 342.220000 289.692000 346.888000 277.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 347.416000 289.692000 350.416000 277.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.016000 289.692000 355.684000 277.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 355.612000 289.692000 361.612000 277.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 361.612000 289.692000 366.928000 277.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 366.916000 289.692000 372.916000 277.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 373.516000 289.692000 376.516000 277.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.020000 289.692000 382.336000 277.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 382.324000 289.692000 386.992000 277.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 387.520000 289.692000 390.520000 277.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.120000 289.692000 396.436000 277.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 397.420000 289.692000 400.420000 277.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 400.600000 289.692000 405.268000 277.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 405.196000 289.692000 411.196000 277.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 411.292000 289.692000 416.608000 277.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 416.488000 289.692000 422.488000 277.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 422.488000 289.692000 427.804000 277.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 427.792000 289.692000 431.788000 277.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 432.388000 289.692000 435.388000 277.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 435.892000 289.692000 441.208000 277.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 441.196000 289.692000 447.196000 277.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 447.196000 289.692000 453.196000 277.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 453.700000 289.692000 456.700000 277.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 457.300000 289.692000 462.616000 277.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 462.604000 289.692000 468.604000 277.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 469.708000 289.692000 472.708000 277.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 472.700000 289.692000 478.016000 277.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 478.004000 289.692000 481.328000 277.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 481.304000 289.692000 486.620000 277.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 486.608000 289.692000 491.924000 277.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 491.912000 289.692000 495.236000 277.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 495.212000 289.692000 499.208000 277.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 499.208000 289.692000 502.532000 277.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 502.604000 289.692000 507.920000 277.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 508.508000 289.692000 511.508000 277.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 512.108000 289.692000 521.432000 277.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 521.312000 289.692000 524.636000 277.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 524.708000 289.692000 530.708000 277.692000 1.000000 0.000000 0.000000 1.000000 x +drawChar 530.708000 289.692000 536.024000 277.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 536.012000 289.692000 540.008000 277.692000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 289.692000 543.100000 277.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 276.192000 225.496000 264.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 225.496000 276.192000 231.496000 264.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.496000 276.192000 235.492000 264.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 236.296000 276.192000 239.296000 264.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 239.300000 276.192000 243.296000 264.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 243.296000 276.192000 247.292000 264.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 247.292000 276.192000 253.292000 264.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 253.292000 276.192000 258.608000 264.192000 1.000000 0.000000 0.000000 1.000000 z +drawChar 258.596000 276.192000 263.912000 264.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.900000 276.192000 269.900000 264.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 270.296000 276.192000 273.296000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.800000 276.192000 283.124000 264.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 283.100000 276.192000 288.416000 264.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 288.404000 276.192000 292.400000 264.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 292.400000 276.192000 298.400000 264.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 298.400000 276.192000 303.716000 264.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 303.704000 276.192000 307.700000 264.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 307.700000 276.192000 311.024000 264.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 311.096000 276.192000 314.420000 264.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 314.396000 276.192000 319.712000 264.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 319.700000 276.192000 324.368000 264.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 324.896000 276.192000 327.896000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 328.292000 276.192000 333.608000 264.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 333.596000 276.192000 337.592000 264.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 337.592000 276.192000 342.908000 264.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.388000 276.192000 346.388000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.784000 276.192000 352.100000 264.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 352.088000 276.192000 355.412000 264.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 355.388000 276.192000 360.056000 264.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 360.092000 276.192000 366.092000 264.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 366.488000 276.192000 369.488000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.992000 276.192000 375.308000 264.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 375.296000 276.192000 378.620000 264.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 378.596000 276.192000 384.596000 264.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 384.596000 276.192000 389.264000 264.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 389.300000 276.192000 394.616000 264.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.000000 276.192000 398.000000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.504000 276.192000 403.820000 264.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 403.808000 276.192000 407.132000 264.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 407.612000 276.192000 410.612000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 411.008000 276.192000 417.008000 264.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 417.104000 276.192000 422.420000 264.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 422.300000 276.192000 428.300000 264.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 428.300000 276.192000 434.300000 264.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 434.204000 276.192000 437.204000 264.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.708000 276.192000 440.708000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.212000 276.192000 451.880000 264.192000 1.000000 0.000000 0.000000 1.000000 M +drawChar 451.916000 276.192000 457.916000 264.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 458.312000 276.192000 461.312000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 461.708000 276.192000 465.704000 264.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 465.704000 276.192000 471.020000 264.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 471.008000 276.192000 477.008000 264.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 476.912000 276.192000 482.912000 264.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 482.912000 276.192000 486.908000 264.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 486.908000 276.192000 490.232000 264.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 490.304000 276.192000 493.628000 264.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 493.604000 276.192000 498.920000 264.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 499.400000 276.192000 502.400000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 502.904000 276.192000 508.904000 264.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 508.808000 276.192000 512.804000 264.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 512.804000 276.192000 516.128000 264.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 516.200000 276.192000 522.200000 264.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 522.200000 276.192000 528.200000 264.192000 1.000000 0.000000 0.000000 1.000000 k +drawChar 528.596000 276.192000 531.596000 264.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 532.100000 276.192000 535.424000 264.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 535.400000 276.192000 540.068000 264.192000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 276.192000 543.100000 264.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 262.792000 224.824000 250.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 262.792000 230.800000 250.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.896000 262.792000 236.212000 250.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.200000 262.792000 239.200000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.200000 262.792000 243.868000 250.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 243.904000 262.792000 249.220000 250.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 249.208000 262.792000 258.532000 250.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 258.508000 262.792000 263.824000 250.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.908000 262.792000 266.908000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 266.908000 262.792000 272.224000 250.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 272.212000 262.792000 276.880000 250.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 276.916000 262.792000 279.916000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 280.012000 262.792000 284.680000 250.792000 1.000000 0.000000 0.000000 1.000000 J +drawChar 284.608000 262.792000 289.924000 250.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 289.912000 262.792000 299.236000 250.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 299.212000 262.792000 304.528000 250.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 304.516000 262.792000 309.184000 250.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 309.316000 262.792000 312.316000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 312.316000 262.792000 320.308000 250.792000 1.000000 0.000000 0.000000 1.000000 B +drawChar 320.320000 262.792000 326.320000 250.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 326.320000 262.792000 332.320000 250.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 332.320000 262.792000 338.320000 250.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 338.224000 262.792000 340.384000 250.792000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 340.420000 262.792000 345.088000 250.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 345.124000 262.792000 348.448000 250.792000 1.000000 0.000000 0.000000 1.000000 : +drawChar 348.520000 262.792000 351.520000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.616000 262.792000 356.932000 250.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 356.920000 262.792000 359.920000 250.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 360.000000 262.792000 369.324000 250.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 369.300000 262.792000 374.616000 250.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 374.604000 262.792000 378.600000 250.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 378.600000 262.792000 381.924000 250.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 381.900000 262.792000 385.224000 250.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 385.296000 262.792000 391.296000 250.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 391.296000 262.792000 394.620000 250.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 394.692000 262.792000 397.692000 250.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.692000 262.792000 400.692000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 400.692000 262.792000 409.356000 250.792000 1.000000 0.000000 0.000000 1.000000 H +drawChar 409.392000 262.792000 415.392000 250.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 415.296000 262.792000 423.960000 250.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 423.996000 262.792000 429.312000 250.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 429.300000 262.792000 435.300000 250.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 435.300000 262.792000 440.616000 250.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 440.604000 262.792000 444.600000 250.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 444.600000 262.792000 447.600000 250.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 447.696000 262.792000 450.696000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 450.696000 262.792000 454.020000 250.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 454.092000 262.792000 457.416000 250.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 457.392000 262.792000 460.392000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 460.488000 262.792000 466.488000 250.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 466.392000 262.792000 472.392000 250.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 472.392000 262.792000 477.708000 250.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 477.696000 262.792000 482.364000 250.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 482.400000 262.792000 488.400000 250.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 488.400000 262.792000 490.560000 250.792000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 490.596000 262.792000 493.920000 250.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 493.992000 262.792000 496.992000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 496.992000 262.792000 506.316000 250.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 506.292000 262.792000 511.608000 250.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 511.596000 262.792000 514.920000 250.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 514.896000 262.792000 518.220000 250.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 518.196000 262.792000 523.512000 250.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 523.500000 262.792000 527.496000 250.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 527.700000 262.792000 530.700000 250.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 530.700000 262.792000 534.024000 250.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 534.000000 262.792000 540.000000 250.792000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 262.792000 543.100000 250.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 249.292000 230.824000 237.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 230.800000 249.292000 236.116000 237.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.200000 249.292000 239.200000 237.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.200000 249.292000 247.864000 237.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 247.804000 249.292000 253.804000 237.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 253.900000 249.292000 259.216000 237.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 259.204000 249.292000 262.528000 237.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 262.408000 249.292000 268.408000 237.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 268.504000 249.292000 273.820000 237.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 273.808000 249.292000 277.804000 237.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 277.804000 249.292000 280.804000 237.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 280.804000 249.292000 284.128000 237.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 284.200000 249.292000 287.524000 237.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 287.404000 249.292000 289.564000 237.292000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 289.600000 249.292000 294.268000 237.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 294.304000 249.292000 297.304000 237.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 297.304000 249.292000 301.972000 237.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 302.008000 249.292000 308.008000 237.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 308.008000 249.292000 313.324000 237.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 313.312000 249.292000 319.312000 237.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 319.312000 249.292000 324.628000 237.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 324.616000 249.292000 330.616000 237.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 330.616000 249.292000 333.616000 237.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 333.616000 249.292000 339.616000 237.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 339.616000 249.292000 343.612000 237.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 343.612000 249.292000 346.612000 237.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.612000 249.292000 351.280000 237.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 351.316000 249.292000 354.640000 237.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 354.616000 249.292000 357.940000 237.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 358.012000 249.292000 362.008000 237.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 362.008000 249.292000 366.004000 237.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 366.004000 249.292000 371.320000 237.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 371.308000 249.292000 377.308000 237.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 377.212000 249.292000 380.212000 237.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.308000 249.292000 383.308000 237.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 229.892000 228.820000 217.892000 1.000000 0.000000 0.000000 1.000000 T +drawChar 228.796000 229.892000 234.796000 217.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 234.892000 229.892000 240.208000 217.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.292000 229.892000 243.292000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.388000 229.892000 248.056000 217.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 247.984000 229.892000 253.984000 217.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 254.080000 229.892000 260.080000 217.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 259.984000 229.892000 268.648000 217.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 268.684000 229.892000 274.684000 217.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 274.588000 229.892000 277.912000 217.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 277.984000 229.892000 283.300000 217.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 283.288000 229.892000 288.604000 217.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 288.592000 229.892000 293.908000 217.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 294.088000 229.892000 297.088000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 297.184000 229.892000 300.508000 217.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 300.580000 229.892000 306.580000 217.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 306.580000 229.892000 309.580000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.676000 229.892000 319.000000 217.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 318.976000 229.892000 324.976000 217.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 325.180000 229.892000 328.180000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 328.276000 229.892000 337.600000 217.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 337.576000 229.892000 340.900000 217.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 340.972000 229.892000 346.972000 217.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 346.876000 229.892000 350.200000 217.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 350.272000 229.892000 356.272000 217.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 356.272000 229.892000 361.588000 217.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 361.576000 229.892000 365.572000 217.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 365.680000 229.892000 368.680000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.776000 229.892000 372.100000 217.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 372.172000 229.892000 376.840000 217.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 376.876000 229.892000 379.876000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.972000 229.892000 385.288000 217.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 385.468000 229.892000 388.468000 217.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 388.700000 229.892000 393.368000 217.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 393.296000 229.892000 399.296000 217.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 399.296000 229.892000 405.296000 217.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 405.200000 229.892000 410.516000 217.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 410.696000 229.892000 413.696000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.792000 229.892000 418.460000 217.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 418.496000 229.892000 421.820000 217.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 421.892000 229.892000 427.892000 217.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 427.796000 229.892000 433.796000 217.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 433.892000 229.892000 439.892000 217.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 439.892000 229.892000 445.892000 217.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 445.988000 229.892000 448.988000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.084000 229.892000 458.408000 217.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 458.384000 229.892000 463.700000 217.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 463.688000 229.892000 469.688000 217.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 469.592000 229.892000 474.908000 217.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 475.088000 229.892000 478.088000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 478.184000 229.892000 484.184000 217.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 484.184000 229.892000 488.180000 217.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 488.288000 229.892000 491.288000 217.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 491.384000 229.892000 494.708000 217.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 494.684000 229.892000 500.684000 217.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 500.684000 229.892000 504.680000 217.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 504.680000 229.892000 510.680000 217.892000 1.000000 0.000000 0.000000 1.000000 q +drawChar 510.680000 229.892000 516.680000 217.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 516.680000 229.892000 522.680000 217.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 522.680000 229.892000 526.004000 217.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 526.076000 229.892000 530.744000 217.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 530.780000 229.892000 536.096000 217.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 536.084000 229.892000 540.080000 217.892000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 216.392000 226.816000 204.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 226.804000 216.392000 232.804000 204.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 232.804000 216.392000 236.128000 204.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 236.104000 216.392000 242.104000 204.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 242.104000 216.392000 246.100000 204.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 246.100000 216.392000 251.416000 204.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 251.404000 216.392000 257.404000 204.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 258.004000 216.392000 261.004000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.604000 216.392000 267.604000 204.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 267.604000 216.392000 270.928000 204.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 270.904000 216.392000 276.220000 204.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 276.208000 216.392000 280.876000 204.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 280.912000 216.392000 285.580000 204.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 285.616000 216.392000 288.616000 204.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 289.120000 216.392000 292.120000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.720000 216.392000 301.384000 204.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 301.324000 216.392000 307.324000 204.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 307.420000 216.392000 310.744000 204.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 310.720000 216.392000 316.036000 204.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 316.024000 216.392000 322.024000 204.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 322.624000 216.392000 325.624000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.128000 216.392000 330.124000 204.392000 1.000000 0.000000 0.000000 1.000000 I +drawChar 330.724000 216.392000 333.724000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 334.228000 216.392000 339.544000 204.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 339.532000 216.392000 344.848000 204.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 344.836000 216.392000 354.160000 204.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 354.136000 216.392000 359.452000 204.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 360.136000 216.392000 363.136000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.640000 216.392000 368.956000 204.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 368.944000 216.392000 374.260000 204.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 374.248000 216.392000 378.244000 204.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 378.244000 216.392000 384.244000 204.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 384.244000 216.392000 388.912000 204.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 388.948000 216.392000 393.616000 204.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 394.252000 216.392000 397.252000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.756000 216.392000 403.756000 204.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 403.660000 216.392000 408.976000 204.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 408.964000 216.392000 414.280000 204.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 414.268000 216.392000 418.264000 204.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 418.264000 216.392000 422.932000 204.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 423.664000 216.392000 426.664000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 427.168000 216.392000 432.484000 204.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 432.472000 216.392000 438.472000 204.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 438.472000 216.392000 444.472000 204.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 445.072000 216.392000 448.072000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 448.672000 216.392000 453.988000 204.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 453.976000 216.392000 457.300000 204.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 457.876000 216.392000 460.876000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 461.380000 216.392000 466.696000 204.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 467.284000 216.392000 470.284000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.884000 216.392000 474.880000 204.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 474.880000 216.392000 478.204000 204.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 478.180000 216.392000 483.496000 204.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 483.484000 216.392000 488.800000 204.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 489.388000 216.392000 492.388000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 492.892000 216.392000 502.216000 204.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 502.192000 216.392000 507.508000 204.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 507.496000 216.392000 511.492000 204.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 511.492000 216.392000 517.492000 204.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 517.492000 216.392000 522.808000 204.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 522.796000 216.392000 526.120000 204.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 526.792000 216.392000 529.792000 204.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 530.392000 216.392000 533.716000 204.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 533.692000 216.392000 539.692000 204.392000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 216.392000 543.100000 204.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 202.992000 230.164000 190.992000 1.000000 0.000000 0.000000 1.000000 N +drawChar 230.104000 202.992000 235.420000 190.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.408000 202.992000 244.072000 190.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 245.512000 202.992000 248.512000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 249.916000 202.992000 258.580000 190.992000 1.000000 0.000000 0.000000 1.000000 Y +drawChar 258.616000 202.992000 264.616000 190.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 264.616000 202.992000 268.612000 190.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 268.612000 202.992000 274.612000 190.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 274.612000 202.992000 277.612000 190.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 278.908000 202.992000 281.908000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 283.312000 202.992000 287.308000 190.992000 1.000000 0.000000 0.000000 1.000000 I +drawChar 287.308000 202.992000 290.632000 190.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 290.608000 202.992000 292.768000 190.992000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 292.804000 202.992000 297.472000 190.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 298.804000 202.992000 301.804000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 303.208000 202.992000 308.524000 190.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 309.904000 202.992000 312.904000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.308000 202.992000 322.972000 190.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 323.008000 202.992000 329.008000 190.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 329.008000 202.992000 335.008000 190.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 335.008000 202.992000 341.008000 190.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 340.912000 202.992000 346.228000 190.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 346.216000 202.992000 350.212000 190.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 350.212000 202.992000 354.208000 190.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 354.208000 202.992000 360.208000 190.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 360.208000 202.992000 363.532000 190.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 365.008000 202.992000 368.008000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.412000 202.992000 375.412000 190.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 375.316000 202.992000 378.640000 190.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 378.616000 202.992000 383.932000 190.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 383.920000 202.992000 389.236000 190.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 389.224000 202.992000 394.540000 190.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 396.028000 202.992000 399.028000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 400.432000 202.992000 403.756000 190.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 403.732000 202.992000 409.732000 190.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 411.136000 202.992000 414.136000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 415.540000 202.992000 419.536000 190.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 419.536000 202.992000 422.860000 190.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 422.932000 202.992000 428.932000 190.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 428.932000 202.992000 434.932000 190.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 436.228000 202.992000 439.228000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 440.632000 202.992000 443.956000 190.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 443.932000 202.992000 447.928000 190.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 447.928000 202.992000 453.244000 190.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 453.232000 202.992000 458.548000 190.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 458.536000 202.992000 463.204000 190.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 463.240000 202.992000 469.240000 190.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 469.240000 202.992000 473.236000 190.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 473.236000 202.992000 478.552000 190.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 478.540000 202.992000 483.208000 190.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 483.244000 202.992000 486.244000 190.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 487.648000 202.992000 490.648000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 492.052000 202.992000 497.368000 190.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 497.356000 202.992000 503.356000 190.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 503.356000 202.992000 509.356000 190.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 510.760000 202.992000 513.760000 190.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 515.164000 202.992000 518.488000 190.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 518.464000 202.992000 523.780000 190.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 523.768000 202.992000 529.768000 190.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 529.768000 202.992000 535.084000 190.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 535.072000 202.992000 539.740000 190.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 202.992000 543.200000 190.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 189.492000 227.500000 177.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 227.404000 189.492000 230.728000 177.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 230.704000 189.492000 236.020000 177.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 236.008000 189.492000 241.324000 177.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 241.408000 189.492000 246.724000 177.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 246.808000 189.492000 249.808000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 249.808000 189.492000 255.124000 177.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.112000 189.492000 261.112000 177.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 261.016000 189.492000 266.332000 177.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 266.320000 189.492000 270.316000 177.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 270.424000 189.492000 276.424000 177.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 276.520000 189.492000 279.520000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.520000 189.492000 286.192000 177.492000 1.000000 0.000000 0.000000 1.000000 S +drawChar 286.120000 189.492000 292.120000 177.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 292.120000 189.492000 298.120000 177.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 298.120000 189.492000 304.120000 177.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 304.024000 189.492000 309.340000 177.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 309.424000 189.492000 315.424000 177.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 315.520000 189.492000 318.520000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 318.520000 189.492000 323.836000 177.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 323.824000 189.492000 327.148000 177.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 327.124000 189.492000 330.124000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.124000 189.492000 333.448000 177.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 333.424000 189.492000 339.424000 177.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 339.520000 189.492000 344.836000 177.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.824000 189.492000 347.824000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.824000 189.492000 353.140000 177.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 353.128000 189.492000 359.128000 177.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 359.128000 189.492000 363.124000 177.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 363.124000 189.492000 369.124000 177.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 369.124000 189.492000 374.440000 177.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 374.428000 189.492000 378.424000 177.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 378.424000 189.492000 381.424000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 381.424000 189.492000 387.424000 177.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 387.424000 189.492000 391.420000 177.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 391.420000 189.492000 394.420000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 394.420000 189.492000 397.420000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.420000 189.492000 403.420000 177.492000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 403.420000 189.492000 406.744000 177.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 406.720000 189.492000 412.720000 177.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 412.816000 189.492000 415.816000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 415.816000 189.492000 424.480000 177.492000 1.000000 0.000000 0.000000 1.000000 A +drawChar 424.516000 189.492000 430.516000 177.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 430.420000 189.492000 435.736000 177.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 435.724000 189.492000 441.724000 177.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 441.724000 189.492000 447.724000 177.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 447.724000 189.492000 453.040000 177.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 453.124000 189.492000 456.124000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 456.124000 189.492000 461.440000 177.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 461.428000 189.492000 467.428000 177.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 467.428000 189.492000 473.428000 177.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 473.428000 189.492000 476.428000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 476.428000 189.492000 482.428000 177.492000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 482.428000 189.492000 488.428000 177.492000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 488.428000 189.492000 491.752000 177.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 491.728000 189.492000 497.728000 177.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 497.824000 189.492000 500.824000 177.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 500.824000 189.492000 507.496000 177.492000 1.000000 0.000000 0.000000 1.000000 S +drawChar 507.520000 189.492000 510.844000 177.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 510.820000 189.492000 514.816000 177.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 514.816000 189.492000 520.132000 177.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 520.120000 189.492000 525.436000 177.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 525.424000 189.492000 528.748000 177.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 528.724000 189.492000 531.724000 177.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 108.100000 89.992000 114.772000 77.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 114.796000 89.992000 120.112000 77.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 120.100000 89.992000 126.100000 77.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 126.100000 89.992000 131.416000 77.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 131.404000 89.992000 134.404000 77.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 134.400000 89.992000 140.400000 77.992000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +restoreState +updateFillColor 0.752930 0.752930 0.752930 1.000000 +eoFillPath subpath 1 112.900000 199.700000 0 204.100000 199.700000 0 204.100000 204.700000 0 112.900000 204.700000 0 112.900000 199.700000 0 +eoFillPath subpath 1 199.100000 204.600000 0 204.100000 204.600000 0 204.100000 335.300000 0 199.100000 335.300000 0 199.100000 204.600000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 108.000000 204.700000 0 199.100000 204.700000 0 199.100000 241.100000 0 108.000000 241.100000 0 108.000000 204.700000 0 +eoFillPath subpath 1 108.000000 241.100000 0 152.200000 241.100000 0 152.200000 340.200000 0 108.000000 340.200000 0 108.000000 241.100000 0 +saveState +eoClipPath subpath 1 108.000000 204.700000 0 199.100000 204.700000 0 199.100000 340.200000 0 108.000000 340.200000 0 108.000000 204.700000 0 +updateFillColor 0.752930 0.752930 0.752930 1.000000 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 15220.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 106 0 0 0 0 1000.000000 0 Helvetica +drawChar 119.300000 333.680000 127.630000 323.680000 1.000000 0.000000 0.000000 1.000000 M +drawChar 127.600000 333.680000 133.160000 323.680000 1.000000 0.000000 0.000000 1.000000 a +drawChar 133.100000 333.680000 136.430000 323.680000 1.000000 0.000000 0.000000 1.000000 r +drawChar 136.500000 333.680000 139.280000 323.680000 1.000000 0.000000 0.000000 1.000000 t +drawChar 139.300000 333.680000 141.520000 323.680000 1.000000 0.000000 0.000000 1.000000 i +drawChar 141.500000 333.680000 147.060000 323.680000 1.000000 0.000000 0.000000 1.000000 n +drawChar 147.100000 333.680000 149.320000 323.680000 1.000000 0.000000 0.000000 1.000000 i +drawChar 149.500000 333.680000 152.280000 323.680000 1.000000 0.000000 0.000000 1.000000 +drawChar 152.300000 333.680000 159.520000 323.680000 1.000000 0.000000 0.000000 1.000000 C +drawChar 159.500000 333.680000 165.060000 323.680000 1.000000 0.000000 0.000000 1.000000 o +drawChar 165.100000 333.680000 170.100000 323.680000 1.000000 0.000000 0.000000 1.000000 c +drawChar 170.100000 333.680000 175.100000 323.680000 1.000000 0.000000 0.000000 1.000000 k +drawChar 175.200000 333.680000 177.980000 323.680000 1.000000 0.000000 0.000000 1.000000 t +drawChar 177.900000 333.680000 183.460000 323.680000 1.000000 0.000000 0.000000 1.000000 a +drawChar 183.500000 333.680000 185.720000 323.680000 1.000000 0.000000 0.000000 1.000000 i +drawChar 185.800000 333.680000 188.020000 323.680000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 112.400000 277.219000 114.650000 268.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 115.802000 277.219000 120.806000 268.219000 1.000000 0.000000 0.000000 1.000000 S +drawChar 120.698000 277.219000 123.191000 268.219000 1.000000 0.000000 0.000000 1.000000 t +drawChar 123.299000 277.219000 125.792000 268.219000 1.000000 0.000000 0.000000 1.000000 i +drawChar 125.801000 277.219000 128.798000 268.219000 1.000000 0.000000 0.000000 1.000000 r +drawChar 129.500000 277.219000 131.750000 268.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 132.299000 277.219000 136.799000 268.219000 1.000000 0.000000 0.000000 1.000000 5 +drawChar 136.799000 277.219000 140.786000 268.219000 1.000000 0.000000 0.000000 1.000000 c +drawChar 140.795000 277.219000 143.288000 268.219000 1.000000 0.000000 0.000000 1.000000 l +drawChar 143.999000 277.219000 146.249000 268.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 146.897000 277.219000 153.395000 268.219000 1.000000 0.000000 0.000000 1.000000 D +drawChar 153.296000 277.219000 156.293000 268.219000 1.000000 0.000000 0.000000 1.000000 r +drawChar 156.293000 277.219000 160.793000 268.219000 1.000000 0.000000 0.000000 1.000000 y +drawChar 161.594000 277.219000 163.844000 268.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 164.393000 277.219000 170.891000 268.219000 1.000000 0.000000 0.000000 1.000000 G +drawChar 170.792000 277.219000 173.285000 268.219000 1.000000 0.000000 0.000000 1.000000 i +drawChar 173.393000 277.219000 177.893000 268.219000 1.000000 0.000000 0.000000 1.000000 n +drawChar 177.893000 277.219000 180.143000 268.219000 1.000000 0.000000 0.000000 1.000000 , +drawChar 180.890000 277.219000 183.140000 268.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 183.788000 277.219000 188.288000 268.219000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 188.189000 277.219000 192.176000 268.219000 1.000000 0.000000 0.000000 1.000000 c +drawChar 192.185000 277.219000 194.678000 268.219000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 195.000000 277.219000 197.250000 268.219000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 112.400000 267.119000 118.898000 258.119000 1.000000 0.000000 0.000000 1.000000 V +drawChar 118.898000 267.119000 122.885000 258.119000 1.000000 0.000000 0.000000 1.000000 e +drawChar 122.894000 267.119000 125.891000 258.119000 1.000000 0.000000 0.000000 1.000000 r +drawChar 125.891000 267.119000 132.884000 258.119000 1.000000 0.000000 0.000000 1.000000 m +drawChar 132.893000 267.119000 137.393000 258.119000 1.000000 0.000000 0.000000 1.000000 o +drawChar 137.393000 267.119000 141.893000 258.119000 1.000000 0.000000 0.000000 1.000000 u +drawChar 141.893000 267.119000 144.386000 258.119000 1.000000 0.000000 0.000000 1.000000 t +drawChar 144.494000 267.119000 148.994000 258.119000 1.000000 0.000000 0.000000 1.000000 h +drawChar 150.497000 267.119000 152.747000 258.119000 1.000000 0.000000 0.000000 1.000000 +drawChar 153.899000 267.119000 160.397000 258.119000 1.000000 0.000000 0.000000 1.000000 D +drawChar 160.298000 267.119000 163.295000 258.119000 1.000000 0.000000 0.000000 1.000000 r +drawChar 163.295000 267.119000 167.795000 258.119000 1.000000 0.000000 0.000000 1.000000 y +drawChar 169.199000 267.119000 171.449000 258.119000 1.000000 0.000000 0.000000 1.000000 +drawChar 172.601000 267.119000 176.588000 258.119000 1.000000 0.000000 0.000000 1.000000 a +drawChar 176.597000 267.119000 181.097000 258.119000 1.000000 0.000000 0.000000 1.000000 n +drawChar 181.097000 267.119000 185.597000 258.119000 1.000000 0.000000 0.000000 1.000000 d +drawChar 186.893000 267.119000 189.143000 258.119000 1.000000 0.000000 0.000000 1.000000 +drawChar 190.295000 267.119000 194.795000 258.119000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 194.900000 267.119000 197.150000 258.119000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 112.400000 257.019000 116.900000 248.019000 1.000000 0.000000 0.000000 1.000000 o +drawChar 116.900000 257.019000 119.897000 248.019000 1.000000 0.000000 0.000000 1.000000 r +drawChar 120.104000 257.019000 122.354000 248.019000 1.000000 0.000000 0.000000 1.000000 +drawChar 122.606000 257.019000 127.106000 248.019000 1.000000 0.000000 0.000000 1.000000 3 +drawChar 127.304000 257.019000 129.554000 248.019000 1.000000 0.000000 0.000000 1.000000 +drawChar 129.806000 257.019000 132.299000 248.019000 1.000000 0.000000 0.000000 1.000000 i +drawChar 132.407000 257.019000 136.394000 248.019000 1.000000 0.000000 0.000000 1.000000 c +drawChar 136.304000 257.019000 140.291000 248.019000 1.000000 0.000000 0.000000 1.000000 e +drawChar 140.300000 257.019000 144.287000 248.019000 1.000000 0.000000 0.000000 1.000000 c +drawChar 144.296000 257.019000 148.796000 248.019000 1.000000 0.000000 0.000000 1.000000 u +drawChar 148.796000 257.019000 153.296000 248.019000 1.000000 0.000000 0.000000 1.000000 b +drawChar 153.395000 257.019000 157.382000 248.019000 1.000000 0.000000 0.000000 1.000000 e +drawChar 157.391000 257.019000 160.892000 248.019000 1.000000 0.000000 0.000000 1.000000 s +drawChar 161.387000 257.019000 163.637000 248.019000 1.000000 0.000000 0.000000 1.000000 +drawChar 163.790000 257.019000 166.283000 248.019000 1.000000 0.000000 0.000000 1.000000 i +drawChar 166.391000 257.019000 170.891000 248.019000 1.000000 0.000000 0.000000 1.000000 n +drawChar 171.089000 257.019000 173.339000 248.019000 1.000000 0.000000 0.000000 1.000000 +drawChar 173.591000 257.019000 177.578000 248.019000 1.000000 0.000000 0.000000 1.000000 a +drawChar 177.794000 257.019000 180.044000 248.019000 1.000000 0.000000 0.000000 1.000000 +drawChar 180.296000 257.019000 183.797000 248.019000 1.000000 0.000000 0.000000 1.000000 s +drawChar 183.797000 257.019000 186.290000 248.019000 1.000000 0.000000 0.000000 1.000000 t +drawChar 186.299000 257.019000 188.792000 248.019000 1.000000 0.000000 0.000000 1.000000 i +drawChar 188.801000 257.019000 191.798000 248.019000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 192.000000 257.019000 194.997000 248.019000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 112.400000 246.919000 115.397000 237.919000 1.000000 0.000000 0.000000 1.000000 r +drawChar 115.298000 246.919000 117.791000 237.919000 1.000000 0.000000 0.000000 1.000000 i +drawChar 117.899000 246.919000 122.399000 237.919000 1.000000 0.000000 0.000000 1.000000 n +drawChar 122.399000 246.919000 126.899000 237.919000 1.000000 0.000000 0.000000 1.000000 g +drawChar 128.699000 246.919000 130.949000 237.919000 1.000000 0.000000 0.000000 1.000000 +drawChar 132.596000 246.919000 137.096000 237.919000 1.000000 0.000000 0.000000 1.000000 g +drawChar 136.997000 246.919000 139.490000 237.919000 1.000000 0.000000 0.000000 1.000000 l +drawChar 139.499000 246.919000 143.486000 237.919000 1.000000 0.000000 0.000000 1.000000 a +drawChar 143.495000 246.919000 146.996000 237.919000 1.000000 0.000000 0.000000 1.000000 s +drawChar 146.996000 246.919000 150.497000 237.919000 1.000000 0.000000 0.000000 1.000000 s +drawChar 150.596000 246.919000 152.846000 237.919000 1.000000 0.000000 0.000000 1.000000 , +drawChar 154.700000 246.919000 156.950000 237.919000 1.000000 0.000000 0.000000 1.000000 +drawChar 158.597000 246.919000 163.097000 237.919000 1.000000 0.000000 0.000000 1.000000 p +drawChar 162.998000 246.919000 167.498000 237.919000 1.000000 0.000000 0.000000 1.000000 o +drawChar 167.498000 246.919000 171.998000 237.919000 1.000000 0.000000 0.000000 1.000000 u +drawChar 171.998000 246.919000 174.995000 237.919000 1.000000 0.000000 0.000000 1.000000 r +drawChar 176.894000 246.919000 179.144000 237.919000 1.000000 0.000000 0.000000 1.000000 +drawChar 180.791000 246.919000 183.284000 237.919000 1.000000 0.000000 0.000000 1.000000 i +drawChar 183.293000 246.919000 187.793000 237.919000 1.000000 0.000000 0.000000 1.000000 n +drawChar 187.793000 246.919000 190.286000 237.919000 1.000000 0.000000 0.000000 1.000000 t +drawChar 190.295000 246.919000 194.795000 237.919000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 195.000000 246.919000 197.250000 237.919000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 112.400000 236.819000 116.387000 227.819000 1.000000 0.000000 0.000000 1.000000 a +drawChar 116.396000 236.819000 120.896000 227.819000 1.000000 0.000000 0.000000 1.000000 n +drawChar 121.400000 236.819000 123.650000 227.819000 1.000000 0.000000 0.000000 1.000000 +drawChar 124.100000 236.819000 126.593000 227.819000 1.000000 0.000000 0.000000 1.000000 i +drawChar 126.701000 236.819000 130.688000 227.819000 1.000000 0.000000 0.000000 1.000000 c +drawChar 130.598000 236.819000 134.585000 227.819000 1.000000 0.000000 0.000000 1.000000 e +drawChar 134.594000 236.819000 139.094000 227.819000 1.000000 0.000000 0.000000 1.000000 d +drawChar 139.697000 236.819000 141.947000 227.819000 1.000000 0.000000 0.000000 1.000000 +drawChar 142.496000 236.819000 146.483000 227.819000 1.000000 0.000000 0.000000 1.000000 c +drawChar 146.393000 236.819000 150.893000 227.819000 1.000000 0.000000 0.000000 1.000000 o +drawChar 150.893000 236.819000 154.880000 227.819000 1.000000 0.000000 0.000000 1.000000 c +drawChar 154.889000 236.819000 159.389000 227.819000 1.000000 0.000000 0.000000 1.000000 k +drawChar 159.389000 236.819000 161.882000 227.819000 1.000000 0.000000 0.000000 1.000000 t +drawChar 161.990000 236.819000 165.977000 227.819000 1.000000 0.000000 0.000000 1.000000 a +drawChar 165.986000 236.819000 168.479000 227.819000 1.000000 0.000000 0.000000 1.000000 i +drawChar 168.587000 236.819000 171.080000 227.819000 1.000000 0.000000 0.000000 1.000000 l +drawChar 171.683000 236.819000 173.933000 227.819000 1.000000 0.000000 0.000000 1.000000 +drawChar 174.482000 236.819000 178.982000 227.819000 1.000000 0.000000 0.000000 1.000000 g +drawChar 178.883000 236.819000 181.376000 227.819000 1.000000 0.000000 0.000000 1.000000 l +drawChar 181.385000 236.819000 185.372000 227.819000 1.000000 0.000000 0.000000 1.000000 a +drawChar 185.381000 236.819000 188.882000 227.819000 1.000000 0.000000 0.000000 1.000000 s +drawChar 188.882000 236.819000 192.383000 227.819000 1.000000 0.000000 0.000000 1.000000 s +drawChar 192.482000 236.819000 194.732000 227.819000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 195.000000 236.819000 197.250000 227.819000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 112.400000 226.719000 118.898000 217.719000 1.000000 0.000000 0.000000 1.000000 G +drawChar 118.799000 226.719000 122.786000 217.719000 1.000000 0.000000 0.000000 1.000000 a +drawChar 122.795000 226.719000 125.792000 217.719000 1.000000 0.000000 0.000000 1.000000 r +drawChar 125.792000 226.719000 130.292000 217.719000 1.000000 0.000000 0.000000 1.000000 n +drawChar 130.292000 226.719000 132.785000 217.719000 1.000000 0.000000 0.000000 1.000000 i +drawChar 132.893000 226.719000 136.394000 217.719000 1.000000 0.000000 0.000000 1.000000 s +drawChar 136.493000 226.719000 140.993000 217.719000 1.000000 0.000000 0.000000 1.000000 h +drawChar 141.290000 226.719000 143.540000 217.719000 1.000000 0.000000 0.000000 1.000000 +drawChar 143.594000 226.719000 150.092000 217.719000 1.000000 0.000000 0.000000 1.000000 w +drawChar 149.993000 226.719000 152.486000 217.719000 1.000000 0.000000 0.000000 1.000000 i +drawChar 152.594000 226.719000 155.087000 217.719000 1.000000 0.000000 0.000000 1.000000 t +drawChar 155.096000 226.719000 159.596000 217.719000 1.000000 0.000000 0.000000 1.000000 h +drawChar 159.794000 226.719000 162.044000 217.719000 1.000000 0.000000 0.000000 1.000000 +drawChar 161.990000 226.719000 165.977000 217.719000 1.000000 0.000000 0.000000 1.000000 a +drawChar 165.986000 226.719000 170.486000 217.719000 1.000000 0.000000 0.000000 1.000000 n +drawChar 170.684000 226.719000 172.934000 217.719000 1.000000 0.000000 0.000000 1.000000 +drawChar 172.880000 226.719000 177.380000 217.719000 1.000000 0.000000 0.000000 1.000000 o +drawChar 177.380000 226.719000 179.873000 217.719000 1.000000 0.000000 0.000000 1.000000 l +drawChar 179.783000 226.719000 182.276000 217.719000 1.000000 0.000000 0.000000 1.000000 i +drawChar 182.384000 226.719000 186.884000 217.719000 1.000000 0.000000 0.000000 1.000000 v +drawChar 186.884000 226.719000 190.871000 217.719000 1.000000 0.000000 0.000000 1.000000 e +drawChar 190.880000 226.719000 193.130000 217.719000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 108.000000 204.600000 0 108.100000 204.600000 0 108.100000 340.200000 0 108.000000 340.200000 0 108.000000 204.600000 0 +eoFillPath subpath 1 199.100000 204.600000 0 199.200000 204.600000 0 199.200000 340.200000 0 199.100000 340.200000 0 199.100000 204.600000 0 +eoFillPath subpath 1 108.000000 340.100000 0 199.200000 340.100000 0 199.200000 340.200000 0 108.000000 340.200000 0 108.000000 340.100000 0 +eoFillPath subpath 1 108.000000 204.600000 0 199.200000 204.600000 0 199.200000 204.700000 0 108.000000 204.700000 0 108.000000 204.600000 0 +saveState +eoClipPath subpath 1 132.900000 280.200000 0 174.300000 280.200000 0 174.300000 324.400000 0 132.900000 324.400000 0 132.900000 280.200000 0 +saveState +updateCtm 4140.000000 0.000000 0.000000 -4420.000000 13290.000000 51180.000000 +drawSoftMaskedImage 55 59 55 59 JPEG 2053 PPM 9748 +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 638.100000 0 504.000000 638.100000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 638.100000 0 +eoFillPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 241.100000 0 72.000000 241.100000 0 72.000000 72.000000 0 +eoFillPath subpath 1 72.000000 241.100000 0 116.200000 241.100000 0 116.200000 521.000000 0 72.000000 521.000000 0 72.000000 241.100000 0 +eoFillPath subpath 1 459.700000 241.100000 0 504.000000 241.100000 0 504.000000 521.000000 0 459.700000 521.000000 0 459.700000 241.100000 0 +restoreState +saveState +eoClipPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 521.000000 0 72.000000 521.000000 0 72.000000 72.000000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 521.000000 0 76.300000 521.000000 0 76.300000 638.100000 0 72.000000 638.100000 0 72.000000 521.000000 0 +eoFillPath subpath 1 156.200000 550.900000 0 504.000000 550.900000 0 504.000000 638.100000 0 156.200000 638.100000 0 156.200000 550.900000 0 +eoFillPath subpath 1 459.700000 521.000000 0 504.000000 521.000000 0 504.000000 550.900000 0 459.700000 550.900000 0 459.700000 521.000000 0 +restoreState +saveState +eoClipPath subpath 1 156.200000 521.000000 0 504.000000 521.000000 0 504.000000 638.100000 0 156.200000 638.100000 0 156.200000 521.000000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 701.500000 0 504.000000 701.500000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 701.500000 0 +eoFillPath subpath 1 72.000000 72.700000 0 504.000000 72.700000 0 504.000000 86.100000 0 72.000000 86.100000 0 72.000000 72.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 345.200000 716.588000 358.528000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 358.496000 716.588000 366.496000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 366.592000 716.588000 371.040000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 371.088000 716.588000 382.640000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 382.592000 716.588000 391.488000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 391.488000 716.588000 400.384000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 400.384000 716.588000 408.384000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 408.480000 716.588000 417.376000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 417.488000 716.588000 421.936000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 421.984000 716.588000 427.312000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 427.392000 716.588000 431.840000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 431.800000 716.588000 441.576000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 441.608000 716.588000 445.160000 700.588000 1.000000 0.000000 0.000000 1.000000 i +drawChar 445.112000 716.588000 450.440000 700.588000 1.000000 0.000000 0.000000 1.000000 r +drawChar 450.520000 716.588000 458.520000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 458.520000 716.588000 462.968000 700.588000 1.000000 0.000000 0.000000 1.000000 t +drawChar 463.128000 716.588000 467.576000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.528000 716.588000 477.304000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 477.336000 716.588000 480.888000 700.588000 1.000000 0.000000 0.000000 1.000000 l +drawChar 480.840000 716.588000 489.736000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 489.848000 716.588000 498.744000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 498.744000 716.588000 504.072000 700.588000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 72.100000 669.752000 82.208000 655.752000 1.000000 0.000000 0.000000 1.000000 K +drawChar 82.194000 669.752000 86.086000 655.752000 1.000000 0.000000 0.000000 1.000000 i +drawChar 85.988000 669.752000 90.650000 655.752000 1.000000 0.000000 0.000000 1.000000 t +drawChar 90.594000 669.752000 98.378000 655.752000 1.000000 0.000000 0.000000 1.000000 c +drawChar 98.294000 669.752000 106.848000 655.752000 1.000000 0.000000 0.000000 1.000000 h +drawChar 106.890000 669.752000 114.674000 655.752000 1.000000 0.000000 0.000000 1.000000 e +drawChar 114.590000 669.752000 123.144000 655.752000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 650.492000 196.168000 638.492000 1.000000 0.000000 0.000000 1.000000 M +drawChar 196.204000 650.492000 202.204000 638.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 203.200000 650.492000 206.200000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 207.304000 650.492000 213.304000 638.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 213.304000 650.492000 216.628000 638.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 216.700000 650.492000 220.024000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 220.000000 650.492000 225.316000 638.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 225.196000 650.492000 231.196000 638.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 231.292000 650.492000 236.608000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.596000 650.492000 242.596000 638.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 243.700000 650.492000 246.700000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.804000 650.492000 253.804000 638.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 253.804000 650.492000 259.120000 638.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 259.108000 650.492000 263.776000 638.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 264.808000 650.492000 267.808000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 268.912000 650.492000 274.228000 638.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 274.216000 650.492000 277.540000 638.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 277.516000 650.492000 280.840000 638.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 282.016000 650.492000 285.016000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.120000 650.492000 292.120000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 292.120000 650.492000 296.116000 638.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 297.124000 650.492000 300.124000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 301.228000 650.492000 304.552000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 304.528000 650.492000 310.528000 638.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 310.624000 650.492000 315.940000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 317.020000 650.492000 320.020000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 321.124000 650.492000 326.440000 638.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 326.428000 650.492000 332.428000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 332.428000 650.492000 338.428000 638.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 338.428000 650.492000 344.428000 638.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 344.332000 650.492000 349.648000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 349.636000 650.492000 355.636000 638.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 355.636000 650.492000 358.960000 638.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 359.032000 650.492000 364.348000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 364.336000 650.492000 370.336000 638.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 370.336000 650.492000 375.652000 638.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 375.640000 650.492000 380.956000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 380.944000 650.492000 385.612000 638.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 386.740000 650.492000 389.740000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 390.844000 650.492000 396.844000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 396.844000 650.492000 400.840000 638.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 401.944000 650.492000 404.944000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 406.048000 650.492000 415.372000 638.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 415.348000 650.492000 421.348000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 421.348000 650.492000 427.348000 638.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 427.252000 650.492000 432.568000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 432.556000 650.492000 436.552000 638.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 436.552000 650.492000 442.552000 638.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 443.752000 650.492000 446.752000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 447.856000 650.492000 451.180000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 451.156000 650.492000 456.472000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 456.460000 650.492000 461.776000 638.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 461.764000 650.492000 467.764000 638.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 467.860000 650.492000 473.860000 638.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 473.860000 650.492000 479.860000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 479.860000 650.492000 483.184000 638.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 483.160000 650.492000 489.160000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 489.160000 650.492000 495.160000 638.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 495.160000 650.492000 501.160000 638.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 501.064000 650.492000 504.064000 638.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 650.492000 507.100000 638.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 637.092000 196.168000 625.092000 1.000000 0.000000 0.000000 1.000000 M +drawChar 196.204000 637.092000 202.204000 625.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 202.504000 637.092000 205.504000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 205.804000 637.092000 215.128000 625.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 215.104000 637.092000 221.104000 625.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 221.104000 637.092000 225.772000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 225.808000 637.092000 229.132000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 229.108000 637.092000 233.104000 625.092000 1.000000 0.000000 0.000000 1.000000 - +drawChar 233.104000 637.092000 238.420000 625.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 238.408000 637.092000 244.408000 625.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 244.504000 637.092000 249.820000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 249.808000 637.092000 253.804000 625.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 253.708000 637.092000 257.032000 625.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 257.104000 637.092000 261.772000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 261.700000 637.092000 267.700000 625.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 267.796000 637.092000 273.112000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 273.100000 637.092000 279.100000 625.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 279.400000 637.092000 282.400000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.700000 637.092000 288.016000 625.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 288.004000 637.092000 294.004000 625.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 293.908000 637.092000 299.908000 625.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 299.908000 637.092000 303.232000 625.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 303.208000 637.092000 306.532000 625.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 306.604000 637.092000 311.920000 625.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 311.908000 637.092000 317.908000 625.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 317.908000 637.092000 323.224000 625.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 323.212000 637.092000 328.528000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 329.008000 637.092000 332.008000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 332.308000 637.092000 335.632000 625.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 335.608000 637.092000 340.276000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 340.612000 637.092000 343.612000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.912000 637.092000 347.236000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 347.116000 637.092000 353.116000 625.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 353.212000 637.092000 358.528000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 358.816000 637.092000 361.816000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.716000 637.092000 365.716000 625.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 365.700000 637.092000 371.700000 625.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 371.604000 637.092000 374.928000 625.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 375.000000 637.092000 379.668000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 379.704000 637.092000 385.704000 625.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 385.704000 637.092000 394.368000 625.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 394.404000 637.092000 399.720000 625.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 399.708000 637.092000 404.376000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 404.304000 637.092000 410.304000 625.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 410.400000 637.092000 415.716000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 415.704000 637.092000 419.700000 625.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 419.700000 637.092000 422.700000 625.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.000000 637.092000 426.000000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.300000 637.092000 430.296000 625.092000 1.000000 0.000000 0.000000 1.000000 I +drawChar 430.596000 637.092000 433.596000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 433.896000 637.092000 438.564000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 438.600000 637.092000 441.924000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 441.804000 637.092000 445.128000 625.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 445.200000 637.092000 448.524000 625.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 448.500000 637.092000 451.824000 625.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 452.196000 637.092000 455.196000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.496000 637.092000 459.492000 625.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 459.492000 637.092000 464.808000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 464.796000 637.092000 474.120000 625.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 474.096000 637.092000 479.412000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 479.400000 637.092000 488.724000 625.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 488.700000 637.092000 494.700000 625.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 494.700000 637.092000 500.016000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 500.004000 637.092000 504.000000 625.092000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 637.092000 507.100000 625.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 623.592000 194.164000 611.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 194.200000 623.592000 197.524000 611.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 197.500000 623.592000 200.824000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 200.800000 623.592000 206.800000 611.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 207.400000 623.592000 210.400000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 211.000000 623.592000 217.000000 611.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 217.000000 623.592000 223.000000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 223.000000 623.592000 226.996000 611.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 226.996000 623.592000 230.992000 611.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 230.992000 623.592000 236.992000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 236.992000 623.592000 240.988000 611.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 241.492000 623.592000 244.492000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.092000 623.592000 254.416000 611.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 254.392000 623.592000 260.392000 611.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 260.992000 623.592000 263.992000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.592000 623.592000 269.908000 611.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 269.896000 623.592000 275.896000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 275.896000 623.592000 279.220000 611.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 279.196000 623.592000 282.520000 611.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 282.496000 623.592000 287.812000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 287.800000 623.592000 293.800000 611.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 293.800000 623.592000 299.116000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 299.800000 623.592000 302.800000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 303.400000 623.592000 309.400000 611.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 309.304000 623.592000 314.620000 611.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 314.704000 623.592000 320.704000 611.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 320.608000 623.592000 325.276000 611.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 326.008000 623.592000 329.008000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.608000 623.592000 334.924000 611.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 334.912000 623.592000 340.912000 611.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 340.912000 623.592000 346.912000 611.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 347.416000 623.592000 350.416000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.016000 623.592000 354.340000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 354.316000 623.592000 360.316000 611.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 360.412000 623.592000 365.728000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 366.316000 623.592000 369.316000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.916000 623.592000 379.240000 611.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 379.216000 623.592000 385.216000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 385.216000 623.592000 391.216000 611.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 391.216000 623.592000 397.216000 611.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 397.216000 623.592000 400.540000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 400.516000 623.592000 405.832000 611.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 405.820000 623.592000 409.144000 611.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 409.216000 623.592000 415.216000 611.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 415.720000 623.592000 418.720000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 419.320000 623.592000 425.320000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 425.320000 623.592000 429.316000 611.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 429.916000 623.592000 432.916000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 433.516000 623.592000 439.516000 611.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 439.420000 623.592000 442.744000 611.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 442.816000 623.592000 446.812000 611.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 446.812000 623.592000 450.136000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 450.112000 623.592000 456.112000 611.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 456.712000 623.592000 459.712000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 460.312000 623.592000 466.312000 611.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 466.216000 623.592000 469.540000 611.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 469.612000 623.592000 474.280000 611.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 474.316000 623.592000 480.316000 611.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 480.316000 623.592000 485.632000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 485.620000 623.592000 490.288000 611.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 490.924000 623.592000 493.924000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 494.524000 623.592000 497.848000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 497.824000 623.592000 503.824000 611.592000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 623.592000 507.100000 611.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 610.192000 194.164000 598.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 194.200000 610.192000 199.516000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 199.504000 610.192000 204.172000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 204.100000 610.192000 210.100000 598.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 210.400000 610.192000 213.400000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.700000 610.192000 219.016000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 219.004000 610.192000 223.000000 598.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 223.000000 610.192000 226.324000 598.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 226.300000 610.192000 231.616000 598.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 231.604000 610.192000 235.600000 598.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 235.900000 610.192000 238.900000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.200000 610.192000 245.200000 598.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 245.104000 610.192000 250.420000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 250.408000 610.192000 254.404000 598.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 254.512000 610.192000 257.836000 598.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 257.812000 610.192000 261.136000 598.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 261.208000 610.192000 266.524000 598.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 266.512000 610.192000 271.180000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 271.216000 610.192000 274.216000 598.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 274.516000 610.192000 277.516000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.816000 610.192000 286.480000 598.192000 1.000000 0.000000 0.000000 1.000000 N +drawChar 286.420000 610.192000 292.420000 598.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 292.420000 610.192000 301.084000 598.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 301.120000 610.192000 306.436000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 306.424000 610.192000 312.424000 598.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 312.328000 610.192000 317.644000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 317.728000 610.192000 323.728000 598.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 323.632000 610.192000 328.300000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 328.732000 610.192000 331.732000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 332.032000 610.192000 335.356000 598.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 335.236000 610.192000 341.236000 598.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 341.332000 610.192000 346.648000 598.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 346.936000 610.192000 349.936000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.236000 610.192000 359.560000 598.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 359.536000 610.192000 364.852000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 364.840000 610.192000 368.164000 598.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 368.236000 610.192000 374.236000 598.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 374.536000 610.192000 377.536000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.836000 610.192000 383.836000 598.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 383.740000 610.192000 388.408000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 388.444000 610.192000 393.760000 598.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.048000 610.192000 397.048000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.348000 610.192000 401.344000 598.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 401.344000 610.192000 407.344000 598.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 407.344000 610.192000 411.340000 598.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 411.544000 610.192000 414.544000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.844000 610.192000 424.168000 598.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 424.144000 610.192000 430.144000 598.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 430.444000 610.192000 433.444000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 433.744000 610.192000 439.744000 598.192000 1.000000 0.000000 0.000000 1.000000 k +drawChar 439.744000 610.192000 443.068000 598.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 443.140000 610.192000 446.464000 598.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 446.440000 610.192000 451.756000 598.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 451.636000 610.192000 457.636000 598.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 457.732000 610.192000 463.048000 598.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 463.036000 610.192000 469.036000 598.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 469.336000 610.192000 472.336000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 472.636000 610.192000 477.304000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 477.340000 610.192000 480.664000 598.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 480.640000 610.192000 486.640000 598.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 486.640000 610.192000 492.640000 598.192000 1.000000 0.000000 0.000000 1.000000 k +drawChar 492.940000 610.192000 495.940000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 496.240000 610.192000 499.564000 598.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 499.540000 610.192000 504.208000 598.192000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 610.192000 507.200000 598.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 596.692000 188.824000 584.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 596.692000 194.800000 584.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 194.896000 596.692000 200.212000 584.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.200000 596.692000 203.200000 584.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.200000 596.692000 209.200000 584.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 209.200000 596.692000 215.200000 584.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 215.104000 596.692000 218.428000 584.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 218.500000 596.692000 221.824000 584.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 221.800000 596.692000 225.124000 584.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 225.100000 596.692000 229.096000 584.692000 1.000000 0.000000 0.000000 1.000000 - +drawChar 229.204000 596.692000 232.528000 584.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 232.504000 596.692000 238.504000 584.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 238.504000 596.692000 241.504000 584.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 241.500000 596.692000 247.500000 584.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 247.500000 596.692000 252.816000 584.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 252.804000 596.692000 256.800000 584.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 256.800000 596.692000 262.800000 584.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 262.800000 596.692000 268.116000 584.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 268.104000 596.692000 274.104000 584.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 274.104000 596.692000 279.420000 584.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 279.504000 596.692000 282.504000 584.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.504000 596.692000 288.504000 584.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 288.408000 596.692000 291.732000 584.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 291.804000 596.692000 296.472000 584.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 296.508000 596.692000 302.508000 584.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 302.412000 596.692000 308.412000 584.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 308.412000 596.692000 313.080000 584.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 313.116000 596.692000 318.432000 584.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 318.420000 596.692000 321.744000 584.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 321.720000 596.692000 324.720000 584.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 324.816000 596.692000 327.816000 584.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 577.292000 189.496000 565.292000 1.000000 0.000000 0.000000 1.000000 I +drawChar 189.496000 577.292000 195.496000 565.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 196.600000 577.292000 199.600000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 200.704000 577.292000 204.028000 565.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 204.004000 577.292000 210.004000 565.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 210.100000 577.292000 215.416000 565.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 216.496000 577.292000 219.496000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 220.696000 577.292000 230.020000 565.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 229.900000 577.292000 233.224000 565.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.296000 577.292000 239.296000 565.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 239.296000 577.292000 245.296000 565.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 245.200000 577.292000 248.524000 565.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 248.500000 577.292000 253.816000 565.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.100000 577.292000 258.100000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.204000 577.292000 265.204000 565.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 265.204000 577.292000 269.200000 565.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 270.304000 577.292000 273.304000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 274.504000 577.292000 277.828000 565.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 277.708000 577.292000 283.708000 565.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 283.804000 577.292000 289.120000 565.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 290.308000 577.292000 293.308000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 294.412000 577.292000 300.412000 565.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 300.412000 577.292000 303.736000 565.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 303.808000 577.292000 307.132000 565.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 307.108000 577.292000 312.424000 565.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 312.304000 577.292000 318.304000 565.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 318.400000 577.292000 323.716000 565.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 323.704000 577.292000 329.704000 565.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 330.808000 577.292000 333.808000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 335.008000 577.292000 338.332000 565.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 338.308000 577.292000 342.976000 565.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 344.104000 577.292000 347.104000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.208000 577.292000 353.524000 565.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 354.712000 577.292000 357.712000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.816000 577.292000 368.140000 565.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 368.116000 577.292000 373.432000 565.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 373.420000 577.292000 378.088000 565.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 378.124000 577.292000 382.792000 565.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 382.828000 577.292000 386.152000 565.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 386.224000 577.292000 392.224000 565.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 392.128000 577.292000 397.444000 565.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 398.632000 577.292000 401.632000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 402.736000 577.292000 411.400000 565.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 411.436000 577.292000 417.436000 565.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.436000 577.292000 423.436000 565.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 423.436000 577.292000 429.436000 565.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 429.340000 577.292000 434.656000 565.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 434.644000 577.292000 440.644000 565.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 441.844000 577.292000 444.844000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 446.044000 577.292000 449.368000 565.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 449.344000 577.292000 454.660000 565.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 454.648000 577.292000 460.648000 565.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 460.648000 577.292000 463.972000 565.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 463.948000 577.292000 469.264000 565.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 470.452000 577.292000 473.452000 565.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 474.652000 577.292000 483.316000 565.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 483.256000 577.292000 489.256000 565.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 489.352000 577.292000 492.676000 565.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 492.652000 577.292000 497.968000 565.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 497.956000 577.292000 503.956000 565.292000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 577.292000 507.100000 565.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 563.792000 190.168000 551.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 563.792000 195.520000 551.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 195.508000 563.792000 199.504000 551.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 199.504000 563.792000 205.504000 551.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 205.408000 563.792000 210.724000 551.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 210.712000 563.792000 215.380000 551.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 216.916000 563.792000 219.916000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 221.320000 563.792000 226.636000 551.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 226.624000 563.792000 231.292000 551.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 232.720000 563.792000 235.720000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 237.124000 563.792000 242.440000 551.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 243.820000 563.792000 246.820000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 248.224000 563.792000 253.540000 551.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 253.528000 563.792000 259.528000 551.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 259.528000 563.792000 262.852000 551.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 262.828000 563.792000 266.152000 551.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 266.128000 563.792000 269.452000 551.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 269.524000 563.792000 275.524000 551.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 275.524000 563.792000 281.524000 551.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 282.928000 563.792000 285.928000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.332000 563.792000 293.332000 551.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 293.332000 563.792000 296.656000 551.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 296.632000 563.792000 302.632000 551.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 302.632000 563.792000 307.948000 551.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 307.936000 563.792000 313.936000 551.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 313.936000 563.792000 316.936000 551.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 318.436000 563.792000 321.436000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 322.840000 563.792000 331.504000 551.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 331.540000 563.792000 334.864000 551.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 334.840000 563.792000 338.164000 551.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 338.140000 563.792000 344.140000 551.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 345.544000 563.792000 348.544000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.948000 563.792000 355.264000 551.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 355.252000 563.792000 361.252000 551.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 361.252000 563.792000 367.252000 551.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 367.252000 563.792000 373.252000 551.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 373.156000 563.792000 378.472000 551.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 378.556000 563.792000 382.552000 551.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 384.052000 563.792000 387.052000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 388.456000 563.792000 394.456000 551.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 394.360000 563.792000 400.360000 551.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 400.360000 563.792000 403.684000 551.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 403.660000 563.792000 408.328000 551.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 409.864000 563.792000 412.864000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.268000 563.792000 419.584000 551.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 419.572000 563.792000 425.572000 551.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 425.572000 563.792000 431.572000 551.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 432.976000 563.792000 435.976000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.380000 563.792000 443.380000 551.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 443.284000 563.792000 448.600000 551.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 448.588000 563.792000 454.588000 551.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 454.588000 563.792000 459.256000 551.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 460.792000 563.792000 463.792000 551.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 465.196000 563.792000 471.196000 551.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 471.292000 563.792000 476.608000 551.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 476.596000 563.792000 482.596000 551.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 482.596000 563.792000 488.596000 551.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 488.500000 563.792000 491.824000 551.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 491.896000 563.792000 497.896000 551.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 497.896000 563.792000 503.896000 551.792000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 563.792000 507.200000 551.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 550.392000 190.816000 538.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 550.392000 196.804000 538.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 196.804000 550.392000 202.804000 538.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 202.804000 550.392000 208.804000 538.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 208.708000 550.392000 214.024000 538.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 216.508000 550.392000 219.508000 538.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 221.908000 550.392000 230.572000 538.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 230.608000 550.392000 233.932000 538.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.908000 550.392000 237.232000 538.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 237.208000 550.392000 243.208000 538.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 243.208000 550.392000 246.532000 538.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 246.604000 550.392000 252.604000 538.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 254.908000 550.392000 257.908000 538.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 260.308000 550.392000 265.624000 538.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 265.612000 550.392000 270.928000 538.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 270.916000 550.392000 275.584000 538.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 275.620000 550.392000 281.620000 538.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 284.020000 550.392000 287.020000 538.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.420000 550.392000 293.416000 538.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 293.416000 550.392000 298.732000 538.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 298.720000 550.392000 304.036000 538.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 304.024000 550.392000 309.340000 538.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 309.328000 550.392000 315.328000 538.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 315.424000 550.392000 318.424000 538.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 320.728000 550.392000 323.728000 538.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.128000 550.392000 330.124000 538.392000 1.000000 0.000000 0.000000 1.000000 I +drawChar 330.124000 550.392000 333.448000 538.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 333.424000 550.392000 335.584000 538.392000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 335.620000 550.392000 340.288000 538.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 342.616000 550.392000 345.616000 538.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.016000 550.392000 354.016000 538.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 353.920000 550.392000 359.236000 538.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 359.224000 550.392000 363.220000 538.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 363.328000 550.392000 369.328000 538.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 371.728000 550.392000 374.728000 538.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.128000 550.392000 382.444000 538.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 382.432000 550.392000 388.432000 538.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 388.432000 550.392000 394.432000 538.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 394.432000 550.392000 400.432000 538.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 400.336000 550.392000 405.652000 538.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 405.640000 550.392000 411.640000 538.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 411.640000 550.392000 414.964000 538.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 415.036000 550.392000 420.352000 538.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 420.340000 550.392000 426.340000 538.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 426.340000 550.392000 429.664000 538.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 432.136000 550.392000 435.136000 538.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.536000 550.392000 442.852000 538.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 442.840000 550.392000 448.840000 538.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 448.840000 550.392000 454.840000 538.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 457.240000 550.392000 460.240000 538.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.640000 550.392000 467.308000 538.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 467.344000 550.392000 473.344000 538.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 473.248000 550.392000 478.564000 538.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 478.552000 550.392000 483.868000 538.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 483.856000 550.392000 487.180000 538.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 487.252000 550.392000 493.252000 538.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 493.252000 550.392000 499.252000 538.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 499.252000 550.392000 503.920000 538.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 550.392000 507.100000 538.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 536.892000 190.816000 524.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 190.804000 536.892000 196.804000 524.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 196.804000 536.892000 202.804000 524.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 202.804000 536.892000 208.804000 524.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 208.804000 536.892000 214.804000 524.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 214.804000 536.892000 220.804000 524.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 221.008000 536.892000 224.008000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.212000 536.892000 228.208000 524.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 228.208000 536.892000 234.208000 524.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 234.208000 536.892000 238.204000 524.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 238.312000 536.892000 241.312000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.516000 536.892000 250.840000 524.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 250.816000 536.892000 256.816000 524.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 256.816000 536.892000 260.812000 524.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 260.812000 536.892000 266.128000 524.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 266.308000 536.892000 269.308000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.512000 536.892000 272.836000 524.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 272.812000 536.892000 278.812000 524.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 278.908000 536.892000 284.224000 524.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 284.212000 536.892000 290.212000 524.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 290.308000 536.892000 293.308000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.512000 536.892000 299.512000 524.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 299.512000 536.892000 305.512000 524.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 305.512000 536.892000 310.828000 524.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 311.008000 536.892000 314.008000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.212000 536.892000 319.528000 524.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 319.516000 536.892000 325.516000 524.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 325.612000 536.892000 330.928000 524.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 330.916000 536.892000 334.912000 524.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 335.020000 536.892000 338.020000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.224000 536.892000 341.548000 524.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 341.524000 536.892000 347.524000 524.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 347.728000 536.892000 350.728000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.932000 536.892000 359.596000 524.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 359.632000 536.892000 365.632000 524.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 365.632000 536.892000 369.628000 524.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 369.628000 536.892000 375.628000 524.892000 1.000000 0.000000 0.000000 1.000000 k +drawChar 375.724000 536.892000 378.724000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.928000 536.892000 384.244000 524.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 384.232000 536.892000 387.556000 524.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 387.736000 536.892000 390.736000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 390.940000 536.892000 394.264000 524.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 394.240000 536.892000 400.240000 524.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 400.336000 536.892000 405.652000 524.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 405.736000 536.892000 408.736000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 408.940000 536.892000 413.608000 524.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 413.644000 536.892000 418.960000 524.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 418.948000 536.892000 428.272000 524.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 428.248000 536.892000 433.564000 524.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 433.852000 536.892000 436.852000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.056000 536.892000 440.380000 524.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 440.260000 536.892000 443.584000 524.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 443.656000 536.892000 452.980000 524.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 452.956000 536.892000 458.272000 524.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 458.260000 536.892000 461.260000 524.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.464000 536.892000 464.464000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.668000 536.892000 471.988000 524.892000 1.000000 0.000000 0.000000 1.000000 T +drawChar 471.964000 536.892000 477.964000 524.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 478.060000 536.892000 483.376000 524.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 483.364000 536.892000 487.360000 524.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 487.360000 536.892000 492.676000 524.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 492.856000 536.892000 495.856000 524.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 496.060000 536.892000 499.384000 524.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 499.360000 536.892000 504.028000 524.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 536.892000 507.100000 524.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 523.492000 190.816000 511.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 191.404000 523.492000 194.404000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 194.908000 523.492000 199.576000 511.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 199.612000 523.492000 208.936000 511.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 208.912000 523.492000 214.228000 511.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 214.216000 523.492000 217.540000 511.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 217.516000 523.492000 220.840000 511.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 221.512000 523.492000 224.512000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 225.016000 523.492000 228.340000 511.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 228.316000 523.492000 233.632000 511.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 233.620000 523.492000 239.620000 511.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 239.620000 523.492000 242.944000 511.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 242.920000 523.492000 248.236000 511.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.920000 523.492000 251.920000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.520000 523.492000 255.844000 511.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 255.820000 523.492000 261.820000 511.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 262.324000 523.492000 265.324000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.924000 523.492000 269.248000 511.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 269.128000 523.492000 275.128000 511.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 275.224000 523.492000 280.540000 511.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 281.128000 523.492000 284.128000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 284.728000 523.492000 290.728000 511.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 290.632000 523.492000 293.956000 511.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 294.028000 523.492000 297.352000 511.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 297.328000 523.492000 302.644000 511.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 302.632000 523.492000 308.632000 511.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 308.728000 523.492000 314.044000 511.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 314.032000 523.492000 320.032000 511.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 320.536000 523.492000 323.536000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 324.136000 523.492000 329.452000 511.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 329.440000 523.492000 334.108000 511.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 334.636000 523.492000 337.636000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.236000 523.492000 346.900000 511.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 346.936000 523.492000 352.252000 511.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 352.240000 523.492000 355.564000 511.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 355.540000 523.492000 358.864000 511.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 358.840000 523.492000 361.840000 511.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 362.440000 523.492000 365.440000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.944000 523.492000 369.268000 511.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 369.340000 523.492000 375.340000 511.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 375.844000 523.492000 378.844000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.444000 523.492000 384.760000 511.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 385.348000 523.492000 388.348000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 388.852000 523.492000 393.520000 511.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 393.556000 523.492000 399.556000 511.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 399.556000 523.492000 405.556000 511.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 405.556000 523.492000 411.556000 511.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 411.556000 523.492000 417.556000 511.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 418.060000 523.492000 421.060000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 421.660000 523.492000 427.660000 511.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 427.660000 523.492000 433.660000 511.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 433.660000 523.492000 439.660000 511.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 439.660000 523.492000 445.660000 511.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 445.660000 523.492000 448.660000 511.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 449.164000 523.492000 452.164000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 452.764000 523.492000 458.764000 511.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 458.668000 523.492000 463.984000 511.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 463.972000 523.492000 467.968000 511.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 467.968000 523.492000 471.964000 511.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 471.964000 523.492000 477.280000 511.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 477.268000 523.492000 482.584000 511.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 482.572000 523.492000 485.896000 511.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 486.568000 523.492000 489.568000 511.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 490.168000 523.492000 494.164000 511.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 494.164000 523.492000 500.164000 511.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 500.164000 523.492000 504.160000 511.492000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 523.492000 507.100000 511.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 509.992000 191.500000 497.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 191.500000 509.992000 195.496000 497.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 195.496000 509.992000 200.812000 497.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.800000 509.992000 206.116000 497.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 206.104000 509.992000 212.104000 497.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 212.104000 509.992000 216.100000 497.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 216.100000 509.992000 221.416000 497.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 221.404000 509.992000 226.072000 497.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 226.108000 509.992000 229.432000 497.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 229.504000 509.992000 232.504000 497.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 232.504000 509.992000 236.500000 497.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 236.500000 509.992000 242.500000 497.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 242.500000 509.992000 246.496000 497.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 246.496000 509.992000 249.496000 497.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 249.496000 509.992000 252.820000 497.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 252.796000 509.992000 261.460000 497.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 261.496000 509.992000 267.496000 497.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 267.496000 509.992000 270.496000 497.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.496000 509.992000 273.496000 497.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 490.592000 194.164000 478.592000 1.000000 0.000000 0.000000 1.000000 N +drawChar 194.104000 490.592000 199.420000 478.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 199.408000 490.592000 205.408000 478.592000 1.000000 0.000000 0.000000 1.000000 x +drawChar 205.408000 490.592000 208.732000 478.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 209.812000 490.592000 212.812000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.916000 490.592000 217.240000 478.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 217.216000 490.592000 223.216000 478.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 224.212000 490.592000 227.212000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 228.316000 490.592000 231.640000 478.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 231.520000 490.592000 237.520000 478.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 237.616000 490.592000 242.932000 478.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 243.916000 490.592000 246.916000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 248.020000 490.592000 254.020000 478.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 254.020000 490.592000 258.016000 478.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 258.016000 490.592000 263.332000 478.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.320000 490.592000 268.636000 478.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 268.624000 490.592000 274.624000 478.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 274.624000 490.592000 278.620000 478.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 278.620000 490.592000 283.936000 478.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 283.924000 490.592000 288.592000 478.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 288.628000 490.592000 291.952000 478.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 293.032000 490.592000 296.032000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 297.028000 490.592000 303.028000 478.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 303.028000 490.592000 309.028000 478.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 309.028000 490.592000 315.028000 478.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 315.028000 490.592000 321.028000 478.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 322.024000 490.592000 325.024000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.128000 490.592000 331.444000 478.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 331.432000 490.592000 335.428000 478.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 335.428000 490.592000 340.744000 478.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.728000 490.592000 344.728000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.832000 490.592000 349.156000 478.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 349.036000 490.592000 355.036000 478.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 355.132000 490.592000 360.448000 478.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 361.432000 490.592000 364.432000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.536000 490.592000 371.536000 478.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 371.440000 490.592000 377.440000 478.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 377.440000 490.592000 383.440000 478.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 383.440000 490.592000 387.436000 478.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 387.436000 490.592000 392.104000 478.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 393.136000 490.592000 396.136000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.240000 490.592000 400.564000 478.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 400.540000 490.592000 406.540000 478.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 407.536000 490.592000 410.536000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 411.640000 490.592000 414.964000 478.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 414.844000 490.592000 420.844000 478.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 420.940000 490.592000 426.256000 478.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 427.240000 490.592000 430.240000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.344000 490.592000 437.344000 478.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 437.248000 490.592000 442.564000 478.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 442.552000 490.592000 448.552000 478.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 448.552000 490.592000 451.876000 478.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 451.852000 490.592000 455.848000 478.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 455.956000 490.592000 461.956000 478.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 462.952000 490.592000 465.952000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.056000 490.592000 472.372000 478.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 472.360000 490.592000 478.360000 478.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 478.360000 490.592000 484.360000 478.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 485.356000 490.592000 488.356000 478.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.460000 490.592000 492.784000 478.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.664000 490.592000 498.664000 478.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.760000 490.592000 504.076000 478.592000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 490.592000 507.200000 478.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 477.092000 188.824000 465.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 188.800000 477.092000 194.116000 465.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 194.104000 477.092000 200.104000 465.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 200.104000 477.092000 206.104000 465.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 206.104000 477.092000 212.104000 465.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 212.008000 477.092000 216.004000 465.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 216.112000 477.092000 222.112000 465.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 222.508000 477.092000 225.508000 465.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 225.904000 477.092000 229.900000 465.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 229.900000 477.092000 235.900000 465.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 235.900000 477.092000 241.900000 465.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 241.900000 477.092000 251.224000 465.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 251.200000 477.092000 254.200000 465.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.596000 477.092000 257.596000 465.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 257.992000 477.092000 266.656000 465.092000 1.000000 0.000000 0.000000 1.000000 A +drawChar 266.992000 477.092000 269.992000 465.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 270.388000 477.092000 273.712000 465.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 273.688000 477.092000 279.004000 465.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 278.992000 477.092000 282.988000 465.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 282.988000 477.092000 288.988000 465.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 288.988000 477.092000 294.304000 465.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 294.292000 477.092000 298.288000 465.092000 1.000000 0.000000 0.000000 1.000000 - +drawChar 298.396000 477.092000 302.392000 465.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 302.392000 477.092000 307.708000 465.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 307.696000 477.092000 313.012000 465.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 313.000000 477.092000 318.316000 465.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 318.304000 477.092000 324.304000 465.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 325.108000 477.092000 328.108000 465.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 328.300000 477.092000 334.300000 465.092000 1.000000 0.000000 0.000000 1.000000 q +drawChar 334.300000 477.092000 340.300000 465.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 340.300000 477.092000 345.616000 465.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 345.604000 477.092000 349.600000 465.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 349.600000 477.092000 352.924000 465.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 352.900000 477.092000 358.216000 465.092000 1.000000 0.000000 0.000000 1.000000 z +drawChar 358.600000 477.092000 361.600000 465.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.996000 477.092000 367.312000 465.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 367.300000 477.092000 370.624000 465.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 370.600000 477.092000 376.600000 465.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 376.600000 477.092000 381.916000 465.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 381.904000 477.092000 387.904000 465.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 388.300000 477.092000 391.300000 465.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.696000 477.092000 397.696000 465.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 397.792000 477.092000 403.108000 465.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 403.096000 477.092000 409.096000 465.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 409.096000 477.092000 415.096000 465.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 415.000000 477.092000 419.668000 465.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 420.100000 477.092000 423.100000 465.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 423.496000 477.092000 428.812000 465.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 428.800000 477.092000 434.800000 465.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 434.800000 477.092000 440.800000 465.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 440.800000 477.092000 446.800000 465.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 446.704000 477.092000 452.020000 465.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 452.500000 477.092000 455.500000 465.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.896000 477.092000 459.220000 465.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 459.100000 477.092000 465.100000 465.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 465.196000 477.092000 470.512000 465.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 470.896000 477.092000 473.896000 465.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 474.292000 477.092000 480.292000 465.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 480.196000 477.092000 486.196000 465.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 486.196000 477.092000 492.196000 465.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 492.196000 477.092000 496.192000 465.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 496.192000 477.092000 500.860000 465.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 500.896000 477.092000 503.896000 465.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 477.092000 507.100000 465.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 463.692000 194.164000 451.692000 1.000000 0.000000 0.000000 1.000000 O +drawChar 194.104000 463.692000 200.104000 451.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 200.404000 463.692000 203.404000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.704000 463.692000 207.028000 451.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 207.004000 463.692000 213.004000 451.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 213.100000 463.692000 218.416000 451.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 218.596000 463.692000 221.596000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 221.896000 463.692000 225.892000 451.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 225.892000 463.692000 229.216000 451.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 229.288000 463.692000 235.288000 451.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 235.192000 463.692000 241.192000 451.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 241.288000 463.692000 244.612000 451.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 244.792000 463.692000 247.792000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 248.092000 463.692000 252.760000 451.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 252.796000 463.692000 256.120000 451.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 256.192000 463.692000 262.192000 451.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 262.096000 463.692000 267.412000 451.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 267.700000 463.692000 270.700000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.000000 463.692000 274.324000 451.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 274.396000 463.692000 279.064000 451.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 279.292000 463.692000 282.292000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.592000 463.692000 287.908000 451.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 288.196000 463.692000 291.196000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.496000 463.692000 300.160000 451.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 300.100000 463.692000 303.424000 451.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 303.496000 463.692000 309.496000 451.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 309.496000 463.692000 315.496000 451.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 315.400000 463.692000 321.400000 451.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 321.400000 463.692000 330.064000 451.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 330.400000 463.692000 333.400000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 333.700000 463.692000 339.016000 451.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 339.004000 463.692000 345.004000 451.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 345.004000 463.692000 351.004000 451.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 351.304000 463.692000 354.304000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 354.604000 463.692000 359.920000 451.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 360.100000 463.692000 363.100000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.400000 463.692000 368.068000 451.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 368.104000 463.692000 371.428000 451.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 371.404000 463.692000 374.728000 451.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 374.800000 463.692000 380.800000 451.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 380.704000 463.692000 384.028000 451.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 384.100000 463.692000 390.100000 451.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 390.100000 463.692000 396.100000 451.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 396.400000 463.692000 399.400000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 399.700000 463.692000 405.700000 451.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 405.604000 463.692000 411.604000 451.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 411.604000 463.692000 417.604000 451.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.604000 463.692000 421.600000 451.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 421.900000 463.692000 424.900000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.200000 463.692000 428.524000 451.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 428.500000 463.692000 433.816000 451.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 433.804000 463.692000 439.120000 451.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 439.108000 463.692000 445.108000 451.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 445.012000 463.692000 448.336000 451.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 448.408000 463.692000 454.408000 451.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 454.408000 463.692000 460.408000 451.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 460.804000 463.692000 463.804000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.104000 463.692000 470.104000 451.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 470.104000 463.692000 476.104000 451.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 476.104000 463.692000 479.428000 451.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 479.404000 463.692000 485.404000 451.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 485.704000 463.692000 488.704000 451.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.004000 463.692000 492.328000 451.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.208000 463.692000 498.208000 451.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.304000 463.692000 503.620000 451.692000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 463.692000 507.100000 451.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 450.192000 188.824000 438.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 450.192000 194.116000 438.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 194.104000 450.192000 198.100000 438.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 198.100000 450.192000 202.096000 438.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 202.096000 450.192000 207.412000 438.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 207.400000 450.192000 212.716000 438.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 212.704000 450.192000 218.020000 438.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 218.008000 450.192000 221.008000 438.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 72.100000 422.116000 80.104000 410.116000 1.000000 0.000000 0.000000 1.000000 P +drawChar 80.104000 422.116000 86.776000 410.116000 1.000000 0.000000 0.000000 1.000000 a +drawChar 86.800000 422.116000 94.132000 410.116000 1.000000 0.000000 0.000000 1.000000 n +drawChar 94.096000 422.116000 98.092000 410.116000 1.000000 0.000000 0.000000 1.000000 t +drawChar 98.092000 422.116000 102.760000 410.116000 1.000000 0.000000 0.000000 1.000000 r +drawChar 102.796000 422.116000 109.468000 410.116000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 407.592000 188.500000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 189.004000 407.592000 196.324000 395.592000 1.000000 0.000000 0.000000 1.000000 T +drawChar 196.300000 407.592000 202.300000 395.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 202.396000 407.592000 207.712000 395.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 207.892000 407.592000 210.892000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 211.192000 407.592000 217.192000 395.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 217.096000 407.592000 222.412000 395.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 222.400000 407.592000 228.400000 395.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 228.400000 407.592000 231.724000 395.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 231.700000 407.592000 235.696000 395.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 235.696000 407.592000 241.696000 395.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 242.092000 407.592000 245.092000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.296000 407.592000 248.620000 395.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 248.692000 407.592000 253.360000 395.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 253.588000 407.592000 256.588000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 256.792000 407.592000 262.108000 395.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 262.396000 407.592000 265.396000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.696000 407.592000 270.364000 395.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 270.400000 407.592000 279.724000 395.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 279.700000 407.592000 285.016000 395.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 285.004000 407.592000 288.328000 395.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 288.304000 407.592000 291.628000 395.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 291.904000 407.592000 294.904000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.204000 407.592000 300.520000 395.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 300.508000 407.592000 306.508000 395.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 306.508000 407.592000 315.832000 395.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 315.808000 407.592000 321.808000 395.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 321.712000 407.592000 327.028000 395.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 327.016000 407.592000 331.012000 395.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 331.012000 407.592000 334.336000 395.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 334.408000 407.592000 343.732000 395.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 343.708000 407.592000 349.024000 395.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 349.012000 407.592000 355.012000 395.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 355.012000 407.592000 358.336000 395.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 358.708000 407.592000 361.708000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.008000 407.592000 368.008000 395.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 368.008000 407.592000 373.324000 395.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 373.312000 407.592000 379.312000 395.592000 1.000000 0.000000 0.000000 1.000000 x +drawChar 379.312000 407.592000 382.636000 395.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 382.912000 407.592000 385.912000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.116000 407.592000 389.440000 395.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 389.416000 407.592000 395.416000 395.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 395.716000 407.592000 398.716000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 399.016000 407.592000 402.340000 395.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 402.220000 407.592000 408.220000 395.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 408.316000 407.592000 413.632000 395.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.920000 407.592000 416.920000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.124000 407.592000 423.124000 395.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 423.124000 407.592000 426.448000 395.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 426.520000 407.592000 429.844000 395.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 429.820000 407.592000 435.136000 395.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 435.016000 407.592000 441.016000 395.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 441.112000 407.592000 446.428000 395.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 446.416000 407.592000 452.416000 395.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 452.416000 407.592000 455.416000 395.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 455.716000 407.592000 458.716000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.016000 407.592000 467.680000 395.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 467.620000 407.592000 473.620000 395.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 473.716000 407.592000 479.032000 395.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 479.020000 407.592000 483.016000 395.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 483.016000 407.592000 488.332000 395.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 488.512000 407.592000 491.512000 395.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 491.812000 407.592000 497.128000 395.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 497.116000 407.592000 500.440000 395.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 500.416000 407.592000 503.740000 395.592000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 407.592000 507.100000 395.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 394.192000 191.500000 382.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 191.500000 394.192000 197.500000 382.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 197.500000 394.192000 203.500000 382.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 203.500000 394.192000 207.496000 382.192000 1.000000 0.000000 0.000000 1.000000 - +drawChar 207.496000 394.192000 213.496000 382.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 213.400000 394.192000 218.716000 382.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 218.704000 394.192000 222.700000 382.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 222.700000 394.192000 226.024000 382.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 226.096000 394.192000 230.764000 382.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 230.692000 394.192000 236.692000 382.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 236.788000 394.192000 242.104000 382.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 242.092000 394.192000 248.092000 382.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 248.092000 394.192000 251.416000 382.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 251.392000 394.192000 256.708000 382.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 257.992000 394.192000 260.992000 382.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.192000 394.192000 266.188000 382.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 266.188000 394.192000 272.188000 382.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 272.188000 394.192000 278.188000 382.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 278.188000 394.192000 284.188000 382.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 284.092000 394.192000 288.760000 382.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 289.996000 394.192000 292.996000 382.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 294.196000 394.192000 299.512000 382.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 299.500000 394.192000 303.496000 382.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 303.496000 394.192000 308.812000 382.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 310.000000 394.192000 313.000000 382.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.200000 394.192000 318.868000 382.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 318.904000 394.192000 322.228000 382.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 322.204000 394.192000 328.204000 382.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 328.204000 394.192000 332.200000 382.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 332.200000 394.192000 337.516000 382.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 337.504000 394.192000 343.504000 382.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 343.408000 394.192000 346.408000 382.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.704000 394.192000 350.704000 382.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.904000 394.192000 359.224000 382.192000 1.000000 0.000000 0.000000 1.000000 T +drawChar 359.104000 394.192000 365.104000 382.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 365.200000 394.192000 368.524000 382.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 368.500000 394.192000 373.168000 382.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 374.296000 394.192000 377.296000 382.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.496000 394.192000 381.820000 382.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 381.892000 394.192000 387.892000 382.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 387.892000 394.192000 393.208000 382.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 393.196000 394.192000 396.520000 382.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 396.496000 394.192000 402.496000 382.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 402.496000 394.192000 408.496000 382.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 408.400000 394.192000 413.716000 382.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.704000 394.192000 418.372000 382.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 419.704000 394.192000 422.704000 382.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 423.904000 394.192000 429.220000 382.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 429.208000 394.192000 435.208000 382.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 435.112000 394.192000 440.428000 382.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 440.416000 394.192000 444.412000 382.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 444.412000 394.192000 450.412000 382.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 450.412000 394.192000 453.736000 382.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 453.712000 394.192000 459.712000 382.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 459.808000 394.192000 463.132000 382.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 463.204000 394.192000 469.204000 382.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 469.204000 394.192000 475.204000 382.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 476.404000 394.192000 479.404000 382.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 480.604000 394.192000 484.600000 382.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 484.600000 394.192000 488.596000 382.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 488.596000 394.192000 494.596000 382.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 494.596000 394.192000 503.920000 382.192000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 394.192000 507.100000 382.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 380.692000 190.816000 368.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 380.692000 196.120000 368.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 196.108000 380.692000 202.108000 368.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 202.108000 380.692000 208.108000 368.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 208.108000 380.692000 213.424000 368.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 213.412000 380.692000 219.412000 368.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 219.508000 380.692000 222.508000 368.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 222.604000 380.692000 228.604000 368.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 228.604000 380.692000 234.604000 368.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 234.604000 380.692000 240.604000 368.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 240.604000 380.692000 246.604000 368.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 246.508000 380.692000 251.176000 368.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 251.404000 380.692000 254.404000 368.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 254.500000 380.692000 257.824000 368.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 257.800000 380.692000 263.800000 368.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 263.896000 380.692000 266.896000 368.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 267.000000 380.692000 272.316000 368.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 272.304000 380.692000 277.620000 368.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 277.608000 380.692000 281.604000 368.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 281.604000 380.692000 286.920000 368.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 286.908000 380.692000 292.224000 368.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 292.212000 380.692000 295.536000 368.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 295.512000 380.692000 300.180000 368.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 300.216000 380.692000 303.216000 368.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 303.420000 380.692000 306.420000 368.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 306.400000 380.692000 312.400000 368.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 312.304000 380.692000 317.620000 368.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 317.608000 380.692000 322.276000 368.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 322.312000 380.692000 325.636000 368.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 325.612000 380.692000 330.928000 368.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 330.916000 380.692000 333.916000 368.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 334.216000 380.692000 337.216000 368.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 337.200000 380.692000 343.200000 368.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 343.104000 380.692000 349.104000 368.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 349.104000 380.692000 352.428000 368.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 352.404000 380.692000 357.720000 368.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 357.804000 380.692000 361.128000 368.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 361.104000 380.692000 367.104000 368.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 367.104000 380.692000 372.420000 368.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 372.408000 380.692000 377.076000 368.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 377.112000 380.692000 380.112000 368.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 380.208000 380.692000 383.208000 368.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 383.304000 380.692000 388.620000 368.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 388.608000 380.692000 391.932000 368.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 391.908000 380.692000 397.224000 368.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 397.212000 380.692000 400.212000 368.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.416000 380.692000 403.416000 368.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.512000 380.692000 407.508000 368.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 407.508000 380.692000 410.508000 368.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 410.604000 380.692000 413.928000 368.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 413.904000 380.692000 417.228000 368.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 417.300000 380.692000 423.300000 368.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 423.300000 380.692000 428.616000 368.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 428.700000 380.692000 431.700000 368.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.796000 380.692000 435.120000 368.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 435.096000 380.692000 441.096000 368.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 441.192000 380.692000 444.192000 368.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 444.288000 380.692000 450.288000 368.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 450.288000 380.692000 455.604000 368.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 455.592000 380.692000 460.908000 368.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 460.896000 380.692000 466.896000 368.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 466.992000 380.692000 469.992000 368.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.088000 380.692000 475.404000 368.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 475.488000 380.692000 478.488000 368.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 478.584000 380.692000 483.252000 368.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 483.288000 380.692000 486.612000 368.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 486.588000 380.692000 492.588000 368.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 492.588000 380.692000 497.904000 368.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 497.892000 380.692000 503.892000 368.692000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 380.692000 507.100000 368.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 367.292000 191.500000 355.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 191.500000 367.292000 197.500000 355.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 198.100000 367.292000 201.100000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 201.700000 367.292000 207.700000 355.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 207.700000 367.292000 213.016000 355.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 213.004000 367.292000 219.004000 355.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 219.004000 367.292000 225.004000 355.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 225.508000 367.292000 228.508000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 229.108000 367.292000 233.776000 355.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 233.812000 367.292000 239.812000 355.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 240.316000 367.292000 243.316000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.916000 367.292000 247.912000 355.292000 1.000000 0.000000 0.000000 1.000000 I +drawChar 248.512000 367.292000 251.512000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.112000 367.292000 258.112000 355.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 258.016000 367.292000 264.016000 355.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 264.016000 367.292000 270.016000 355.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 270.016000 367.292000 272.176000 355.292000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 272.212000 367.292000 275.536000 355.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 276.112000 367.292000 279.112000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.712000 367.292000 285.712000 355.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 285.808000 367.292000 291.124000 355.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 291.112000 367.292000 297.112000 355.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 297.016000 367.292000 302.332000 355.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 302.920000 367.292000 305.920000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 306.520000 367.292000 309.844000 355.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 309.820000 367.292000 315.820000 355.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 316.420000 367.292000 319.420000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.020000 367.292000 324.016000 355.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 324.016000 367.292000 330.016000 355.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 330.016000 367.292000 336.016000 355.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 336.616000 367.292000 339.616000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.216000 367.292000 343.540000 355.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 343.516000 367.292000 349.516000 355.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 350.116000 367.292000 353.116000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 353.716000 367.292000 357.040000 355.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 356.920000 367.292000 362.920000 355.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 363.016000 367.292000 368.332000 355.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 368.920000 367.292000 371.920000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.520000 367.292000 377.188000 355.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 377.224000 367.292000 380.548000 355.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 380.524000 367.292000 386.524000 355.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 386.524000 367.292000 390.520000 355.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 390.520000 367.292000 395.836000 355.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 396.424000 367.292000 399.424000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 400.024000 367.292000 405.340000 355.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 405.328000 367.292000 408.652000 355.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 409.228000 367.292000 412.228000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 412.828000 367.292000 416.152000 355.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 416.032000 367.292000 422.032000 355.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 422.128000 367.292000 427.444000 355.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 428.032000 367.292000 431.032000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.632000 367.292000 434.956000 355.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 434.932000 367.292000 440.248000 355.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 440.236000 367.292000 444.904000 355.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 444.940000 367.292000 448.264000 355.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 448.840000 367.292000 451.840000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 452.440000 367.292000 461.764000 355.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 461.740000 367.292000 465.064000 355.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 465.136000 367.292000 471.136000 355.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 471.136000 367.292000 477.136000 355.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 477.136000 367.292000 480.460000 355.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 480.436000 367.292000 485.752000 355.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 486.340000 367.292000 489.340000 355.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.940000 367.292000 493.936000 355.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 493.936000 367.292000 499.936000 355.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 499.936000 367.292000 503.932000 355.292000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 367.292000 507.200000 355.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 353.792000 190.168000 341.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 353.792000 196.204000 341.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 196.204000 353.792000 205.528000 341.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 205.504000 353.792000 210.820000 341.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 210.808000 353.792000 214.132000 341.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 214.108000 353.792000 220.108000 341.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 220.108000 353.792000 223.432000 341.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 223.504000 353.792000 229.504000 341.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 229.504000 353.792000 235.504000 341.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 235.504000 353.792000 238.504000 341.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 238.804000 353.792000 241.804000 341.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 242.200000 353.792000 249.520000 341.792000 1.000000 0.000000 0.000000 1.000000 T +drawChar 249.400000 353.792000 255.400000 341.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 255.496000 353.792000 260.812000 341.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 260.800000 353.792000 264.796000 341.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 264.796000 353.792000 270.112000 341.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 270.400000 353.792000 273.400000 341.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.796000 353.792000 279.112000 341.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 279.100000 353.792000 283.096000 341.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 283.096000 353.792000 288.412000 341.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 288.700000 353.792000 291.700000 341.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.096000 353.792000 297.412000 341.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 297.400000 353.792000 303.400000 341.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 303.400000 353.792000 309.400000 341.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 309.400000 353.792000 314.068000 341.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 314.104000 353.792000 319.420000 341.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 319.408000 353.792000 323.404000 341.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 323.404000 353.792000 329.404000 341.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 329.308000 353.792000 334.624000 341.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 334.612000 353.792000 339.280000 341.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 339.712000 353.792000 342.712000 341.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.108000 353.792000 346.432000 341.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 346.408000 353.792000 352.408000 341.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 352.408000 353.792000 358.408000 341.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 358.408000 353.792000 361.408000 341.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 361.708000 353.792000 364.708000 341.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.008000 353.792000 369.676000 341.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 369.712000 353.792000 375.712000 341.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 375.712000 353.792000 381.028000 341.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 381.016000 353.792000 387.016000 341.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 387.316000 353.792000 390.316000 341.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 390.712000 353.792000 396.028000 341.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 396.016000 353.792000 400.684000 341.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 401.320000 353.792000 404.320000 341.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 404.300000 353.792000 407.624000 341.792000 1.000000 0.000000 0.000000 1.000000 j +drawChar 407.696000 353.792000 413.012000 341.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 413.000000 353.792000 422.324000 341.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 422.300000 353.792000 426.968000 341.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 427.304000 353.792000 430.304000 341.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.604000 353.792000 435.920000 341.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 435.908000 353.792000 441.908000 341.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 441.908000 353.792000 447.908000 341.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 448.604000 353.792000 451.604000 341.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 451.600000 353.792000 454.924000 341.792000 1.000000 0.000000 0.000000 1.000000 j +drawChar 454.900000 353.792000 460.216000 341.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 460.204000 353.792000 463.528000 341.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 463.504000 353.792000 466.828000 341.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 466.804000 353.792000 470.128000 341.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 470.200000 353.792000 475.516000 341.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 475.504000 353.792000 480.172000 341.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 480.208000 353.792000 483.208000 341.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 483.508000 353.792000 486.508000 341.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.904000 353.792000 492.220000 341.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 492.208000 353.792000 498.208000 341.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.208000 353.792000 504.208000 341.792000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 353.792000 507.200000 341.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 340.392000 190.816000 328.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 340.392000 196.120000 328.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 196.108000 340.392000 202.108000 328.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 202.108000 340.392000 208.108000 328.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 208.108000 340.392000 213.424000 328.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 213.412000 340.392000 219.412000 328.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 220.516000 340.392000 223.516000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.512000 340.392000 228.508000 328.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 228.508000 340.392000 232.504000 328.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 232.504000 340.392000 238.504000 328.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 238.408000 340.392000 241.732000 328.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 241.804000 340.392000 245.128000 328.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 245.104000 340.392000 249.772000 328.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 250.804000 340.392000 253.804000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 254.800000 340.392000 260.116000 328.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 260.104000 340.392000 266.104000 328.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 266.104000 340.392000 272.104000 328.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 273.100000 340.392000 276.100000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.096000 340.392000 283.096000 328.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 283.000000 340.392000 288.316000 328.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 288.304000 340.392000 294.304000 328.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 294.400000 340.392000 299.716000 328.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 299.704000 340.392000 303.028000 328.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 303.004000 340.392000 308.320000 328.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 308.308000 340.392000 314.308000 328.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 314.404000 340.392000 317.728000 328.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 317.704000 340.392000 323.020000 328.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 323.008000 340.392000 327.676000 328.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 328.804000 340.392000 331.804000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 332.800000 340.392000 336.796000 328.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 336.796000 340.392000 340.792000 328.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 340.792000 340.392000 346.792000 328.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 346.792000 340.392000 356.116000 328.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 357.088000 340.392000 360.088000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.084000 340.392000 370.408000 328.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 370.384000 340.392000 376.384000 328.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 377.488000 340.392000 380.488000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 381.484000 340.392000 387.484000 328.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 387.388000 340.392000 396.052000 328.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 396.088000 340.392000 402.088000 328.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 403.084000 340.392000 406.084000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 407.080000 340.392000 413.080000 328.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 413.080000 340.392000 418.396000 328.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 418.384000 340.392000 422.380000 328.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 422.380000 340.392000 428.380000 328.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 428.284000 340.392000 433.600000 328.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 433.588000 340.392000 439.588000 328.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 439.588000 340.392000 442.588000 328.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.788000 340.392000 446.788000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 447.784000 340.392000 451.780000 328.392000 1.000000 0.000000 0.000000 1.000000 I +drawChar 452.788000 340.392000 455.788000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 456.784000 340.392000 462.100000 328.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 462.088000 340.392000 465.412000 328.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 465.388000 340.392000 470.056000 328.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 470.092000 340.392000 476.092000 328.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 477.088000 340.392000 480.088000 328.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 481.084000 340.392000 487.084000 328.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 487.084000 340.392000 492.400000 328.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 492.388000 340.392000 497.704000 328.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 497.692000 340.392000 503.692000 328.392000 1.000000 0.000000 0.000000 1.000000 p +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 340.392000 507.200000 328.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 326.892000 190.816000 314.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 326.892000 196.120000 314.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 196.108000 326.892000 202.108000 314.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 202.108000 326.892000 208.108000 314.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 208.012000 326.892000 211.336000 314.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 211.408000 326.892000 216.724000 314.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 216.712000 326.892000 221.380000 314.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 221.512000 326.892000 224.512000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.512000 326.892000 229.828000 314.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 229.816000 326.892000 235.816000 314.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 235.816000 326.892000 241.816000 314.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 241.816000 326.892000 244.816000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 244.816000 326.892000 250.132000 314.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 250.120000 326.892000 253.120000 314.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 253.100000 326.892000 257.096000 314.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 257.096000 326.892000 260.420000 314.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 260.396000 326.892000 264.392000 314.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 264.392000 326.892000 269.060000 314.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 269.096000 326.892000 272.420000 314.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 272.396000 326.892000 275.396000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 275.396000 326.892000 280.712000 314.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 280.700000 326.892000 284.024000 314.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 284.096000 326.892000 290.096000 314.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 290.096000 326.892000 293.096000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.096000 326.892000 299.096000 314.892000 1.000000 0.000000 0.000000 1.000000 k +drawChar 299.000000 326.892000 302.324000 314.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 302.396000 326.892000 305.720000 314.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 305.792000 326.892000 308.792000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 308.792000 326.892000 314.792000 314.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 314.792000 326.892000 320.108000 314.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.096000 326.892000 324.092000 314.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 324.092000 326.892000 329.408000 314.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 329.396000 326.892000 332.396000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 332.396000 326.892000 335.720000 314.892000 1.000000 0.000000 0.000000 1.000000 j +drawChar 335.792000 326.892000 341.792000 314.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 341.696000 326.892000 346.364000 314.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 346.400000 326.892000 349.724000 314.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 349.796000 326.892000 352.796000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 352.796000 326.892000 356.120000 314.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 356.096000 326.892000 362.096000 314.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 362.096000 326.892000 365.096000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.096000 326.892000 370.412000 314.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 370.400000 326.892000 375.716000 314.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 375.704000 326.892000 380.372000 314.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 380.408000 326.892000 385.724000 314.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 385.712000 326.892000 388.712000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 388.712000 326.892000 394.712000 314.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 394.712000 326.892000 398.708000 314.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 398.708000 326.892000 401.708000 314.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 401.708000 326.892000 407.024000 314.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 407.012000 326.892000 416.336000 314.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 416.312000 326.892000 421.628000 314.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 421.616000 326.892000 425.612000 314.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 425.612000 326.892000 431.612000 314.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 431.612000 326.892000 436.928000 314.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 436.916000 326.892000 442.916000 314.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 442.916000 326.892000 448.232000 314.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 448.220000 326.892000 451.544000 314.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 451.616000 326.892000 456.932000 314.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 456.920000 326.892000 461.588000 314.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 461.624000 326.892000 464.624000 314.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 72.100000 298.816000 79.432000 286.816000 1.000000 0.000000 0.000000 1.000000 L +drawChar 79.396000 298.816000 86.068000 286.816000 1.000000 0.000000 0.000000 1.000000 a +drawChar 86.092000 298.816000 93.424000 286.816000 1.000000 0.000000 0.000000 1.000000 u +drawChar 93.388000 298.816000 100.720000 286.816000 1.000000 0.000000 0.000000 1.000000 n +drawChar 100.792000 298.816000 108.124000 286.816000 1.000000 0.000000 0.000000 1.000000 d +drawChar 108.088000 298.816000 112.756000 286.816000 1.000000 0.000000 0.000000 1.000000 r +drawChar 112.792000 298.816000 119.464000 286.816000 1.000000 0.000000 0.000000 1.000000 y +drawChar 119.392000 298.816000 122.728000 286.816000 1.000000 0.000000 0.000000 1.000000 +drawChar 122.788000 298.816000 131.452000 286.816000 1.000000 0.000000 0.000000 1.000000 R +drawChar 131.392000 298.816000 138.724000 286.816000 1.000000 0.000000 0.000000 1.000000 o +drawChar 138.796000 298.816000 146.128000 286.816000 1.000000 0.000000 0.000000 1.000000 o +drawChar 146.092000 298.816000 156.760000 286.816000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 284.292000 192.820000 272.292000 1.000000 0.000000 0.000000 1.000000 L +drawChar 192.904000 284.292000 198.220000 272.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 198.208000 284.292000 203.524000 272.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 203.512000 284.292000 209.512000 272.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 209.416000 284.292000 212.740000 272.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 212.812000 284.292000 218.812000 272.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 218.812000 284.292000 224.812000 272.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 225.016000 284.292000 228.016000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 228.220000 284.292000 234.220000 272.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 234.220000 284.292000 238.216000 272.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 238.216000 284.292000 242.212000 272.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 242.320000 284.292000 245.320000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.524000 284.292000 249.520000 272.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 249.520000 284.292000 253.516000 272.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 253.516000 284.292000 259.516000 272.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 259.516000 284.292000 268.840000 272.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 269.020000 284.292000 272.020000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.224000 284.292000 275.548000 272.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 275.428000 284.292000 281.428000 272.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 281.524000 284.292000 286.840000 272.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 287.020000 284.292000 290.020000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 290.224000 284.292000 296.224000 272.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 296.224000 284.292000 299.548000 272.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 299.620000 284.292000 302.944000 272.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 302.920000 284.292000 308.236000 272.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 308.116000 284.292000 314.116000 272.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 314.212000 284.292000 319.528000 272.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 319.516000 284.292000 325.516000 272.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 325.720000 284.292000 328.720000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 328.924000 284.292000 332.248000 272.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 332.224000 284.292000 336.892000 272.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 337.024000 284.292000 340.024000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.228000 284.292000 345.544000 272.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 345.532000 284.292000 351.532000 272.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 351.532000 284.292000 357.532000 272.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.532000 284.292000 360.856000 272.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 360.832000 284.292000 366.832000 272.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 366.928000 284.292000 372.244000 272.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 372.232000 284.292000 376.228000 272.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 376.432000 284.292000 379.432000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.636000 284.292000 385.636000 272.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 385.540000 284.292000 391.540000 272.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 391.540000 284.292000 397.540000 272.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 397.540000 284.292000 401.536000 272.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 401.740000 284.292000 404.740000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 404.944000 284.292000 408.268000 272.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 408.244000 284.292000 414.244000 272.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 414.448000 284.292000 417.448000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.652000 284.292000 420.976000 272.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 420.952000 284.292000 426.952000 272.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 427.048000 284.292000 432.364000 272.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 432.448000 284.292000 435.448000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 435.652000 284.292000 438.976000 272.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 438.952000 284.292000 444.268000 272.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 444.256000 284.292000 450.256000 272.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 450.256000 284.292000 456.256000 272.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 456.256000 284.292000 462.256000 272.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 462.160000 284.292000 466.156000 272.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 466.264000 284.292000 472.264000 272.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 472.468000 284.292000 475.468000 272.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.672000 284.292000 479.668000 272.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 479.668000 284.292000 485.668000 272.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 485.668000 284.292000 491.668000 272.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 491.668000 284.292000 500.992000 272.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 500.968000 284.292000 503.968000 272.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 284.292000 507.100000 272.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 270.892000 189.496000 258.892000 1.000000 0.000000 0.000000 1.000000 I +drawChar 189.496000 270.892000 195.496000 258.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 196.600000 270.892000 199.600000 258.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 200.704000 270.892000 204.028000 258.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 204.004000 270.892000 210.004000 258.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 210.004000 270.892000 213.328000 258.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 213.400000 270.892000 218.068000 258.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 219.196000 270.892000 222.196000 258.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 223.300000 270.892000 227.296000 258.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 227.296000 270.892000 233.296000 258.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 233.296000 270.892000 239.296000 258.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 239.296000 270.892000 248.620000 258.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 249.796000 270.892000 252.796000 258.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 253.900000 270.892000 257.224000 258.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 257.296000 270.892000 261.964000 258.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 262.996000 270.892000 265.996000 258.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 267.196000 270.892000 272.512000 258.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 273.592000 270.892000 276.592000 258.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.792000 270.892000 283.108000 258.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 283.096000 270.892000 289.096000 258.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 289.096000 270.892000 295.096000 258.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 295.096000 270.892000 301.096000 258.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 301.000000 270.892000 306.316000 258.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 306.304000 270.892000 312.304000 258.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 312.304000 270.892000 315.628000 258.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 315.604000 270.892000 318.928000 258.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 319.000000 270.892000 325.000000 258.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 325.000000 270.892000 331.000000 258.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 331.000000 270.892000 336.316000 258.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 336.304000 270.892000 339.628000 258.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 342.004000 270.892000 345.004000 258.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 345.000000 270.892000 353.664000 258.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 353.604000 270.892000 358.920000 258.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 358.908000 270.892000 363.576000 258.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 363.612000 270.892000 369.612000 258.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 369.612000 270.892000 374.928000 258.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 374.916000 270.892000 378.912000 258.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 380.016000 270.892000 383.016000 258.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.216000 270.892000 389.532000 258.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 389.520000 270.892000 395.520000 258.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 395.520000 270.892000 401.520000 258.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 403.824000 270.892000 406.824000 258.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 406.800000 270.892000 412.800000 258.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 412.704000 270.892000 416.700000 258.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 416.700000 270.892000 422.700000 258.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 422.604000 270.892000 427.920000 258.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 427.908000 270.892000 431.904000 258.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 431.904000 270.892000 434.904000 258.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 436.200000 270.892000 439.200000 258.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 440.304000 270.892000 445.620000 258.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 445.608000 270.892000 448.932000 258.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 448.908000 270.892000 454.908000 258.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 454.908000 270.892000 460.908000 258.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 460.908000 270.892000 466.908000 258.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 468.108000 270.892000 471.108000 258.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 472.212000 270.892000 480.876000 258.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 480.912000 270.892000 484.236000 258.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 484.308000 270.892000 487.632000 258.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 487.512000 270.892000 493.512000 258.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 494.712000 270.892000 497.712000 258.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 498.816000 270.892000 504.132000 258.892000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 270.892000 507.100000 258.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 257.392000 194.164000 245.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 194.200000 257.392000 199.516000 245.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 199.504000 257.392000 204.172000 245.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 204.100000 257.392000 210.100000 245.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 210.196000 257.392000 216.196000 245.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 216.196000 257.392000 221.512000 245.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 221.500000 257.392000 226.168000 245.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 226.096000 257.392000 229.420000 245.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 229.492000 257.392000 235.492000 245.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 235.492000 257.392000 238.492000 245.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 238.588000 257.392000 243.904000 245.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 243.892000 257.392000 249.892000 245.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 249.892000 257.392000 255.892000 245.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 255.988000 257.392000 258.988000 245.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.084000 257.392000 264.400000 245.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 264.388000 257.392000 267.712000 245.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 267.688000 257.392000 273.688000 245.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 273.688000 257.392000 277.012000 245.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 276.988000 257.392000 282.988000 245.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 283.084000 257.392000 288.400000 245.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 288.388000 257.392000 293.056000 245.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 293.092000 257.392000 297.088000 245.392000 1.000000 0.000000 0.000000 1.000000 - +drawChar 297.088000 257.392000 301.084000 245.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 301.084000 257.392000 306.400000 245.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 306.388000 257.392000 311.704000 245.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 311.692000 257.392000 317.692000 245.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 317.788000 257.392000 320.788000 245.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.884000 257.392000 324.880000 245.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 324.880000 257.392000 330.880000 245.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 330.880000 257.392000 334.876000 245.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 334.984000 257.392000 337.984000 245.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.080000 257.392000 344.080000 245.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 344.080000 257.392000 349.396000 245.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 349.384000 257.392000 355.384000 245.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 355.384000 257.392000 361.384000 245.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 361.288000 257.392000 365.284000 245.392000 1.000000 0.000000 0.000000 1.000000 - +drawChar 365.392000 257.392000 374.056000 245.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 374.092000 257.392000 379.408000 245.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 379.288000 257.392000 383.956000 245.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 383.992000 257.392000 389.992000 245.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 390.088000 257.392000 395.404000 245.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 395.392000 257.392000 401.392000 245.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 401.392000 257.392000 404.716000 245.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 404.692000 257.392000 410.008000 245.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.996000 257.392000 414.664000 245.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 414.700000 257.392000 417.700000 245.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.796000 257.392000 420.796000 245.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 420.892000 257.392000 428.884000 245.392000 1.000000 0.000000 0.000000 1.000000 B +drawChar 428.896000 257.392000 434.212000 245.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 434.200000 257.392000 437.524000 245.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 437.404000 257.392000 443.404000 245.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 443.608000 257.392000 446.608000 245.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 446.704000 257.392000 450.028000 245.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 450.004000 257.392000 456.004000 245.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 456.004000 257.392000 464.668000 245.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 464.704000 257.392000 470.020000 245.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 470.008000 257.392000 473.332000 245.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 473.308000 257.392000 477.976000 245.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 478.012000 257.392000 481.012000 245.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 481.216000 257.392000 484.216000 245.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 484.200000 257.392000 490.200000 245.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 490.104000 257.392000 493.428000 245.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 493.500000 257.392000 498.168000 245.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 498.096000 257.392000 504.096000 245.392000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 257.392000 507.200000 245.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 243.992000 188.824000 231.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 243.992000 194.800000 231.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 194.800000 243.992000 203.464000 231.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 203.500000 243.992000 208.816000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 208.804000 243.992000 212.128000 231.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 212.104000 243.992000 216.772000 231.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 217.108000 243.992000 220.108000 231.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 220.408000 243.992000 225.724000 231.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 225.712000 243.992000 231.712000 231.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 231.712000 243.992000 237.712000 231.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 238.012000 243.992000 241.012000 231.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.312000 243.992000 245.980000 231.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 245.908000 243.992000 251.908000 231.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 252.004000 243.992000 257.320000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 257.308000 243.992000 262.624000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 262.612000 243.992000 265.936000 231.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 265.912000 243.992000 270.580000 231.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 270.808000 243.992000 273.808000 231.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 274.108000 243.992000 279.424000 231.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 279.412000 243.992000 283.408000 231.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 283.408000 243.992000 288.724000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 289.012000 243.992000 292.012000 231.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.312000 243.992000 297.628000 231.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 297.616000 243.992000 300.940000 231.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 300.916000 243.992000 304.240000 231.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 304.612000 243.992000 307.612000 231.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.912000 243.992000 312.580000 231.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 312.616000 243.992000 315.940000 231.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 315.916000 243.992000 321.916000 231.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 321.916000 243.992000 325.912000 231.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 325.912000 243.992000 331.228000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 331.216000 243.992000 337.216000 231.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 337.516000 243.992000 340.516000 231.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.816000 243.992000 346.816000 231.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 346.816000 243.992000 352.132000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 352.120000 243.992000 356.116000 231.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 356.116000 243.992000 361.432000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 361.420000 243.992000 364.420000 231.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.720000 243.992000 367.720000 231.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.020000 243.992000 375.340000 231.992000 1.000000 0.000000 0.000000 1.000000 T +drawChar 375.220000 243.992000 381.220000 231.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 381.316000 243.992000 386.632000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 387.220000 243.992000 390.220000 231.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 390.200000 243.992000 396.200000 231.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 396.104000 243.992000 401.420000 231.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 401.408000 243.992000 406.724000 231.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 406.712000 243.992000 412.712000 231.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 412.712000 243.992000 418.712000 231.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 418.712000 243.992000 428.036000 231.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 428.408000 243.992000 431.408000 231.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.708000 243.992000 437.024000 231.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 437.012000 243.992000 440.336000 231.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 440.312000 243.992000 445.628000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 445.616000 243.992000 450.932000 231.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 450.920000 243.992000 456.920000 231.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 456.920000 243.992000 462.236000 231.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 462.224000 243.992000 466.220000 231.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 466.220000 243.992000 469.220000 231.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 469.916000 243.992000 472.916000 231.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 472.900000 243.992000 478.900000 231.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 478.804000 243.992000 482.800000 231.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 482.800000 243.992000 488.800000 231.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 488.800000 243.992000 494.800000 231.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 494.800000 243.992000 504.124000 231.992000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 243.992000 507.200000 231.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 230.492000 190.816000 218.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 230.492000 196.804000 218.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 196.804000 230.492000 202.804000 218.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 204.400000 230.492000 207.400000 218.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 207.400000 230.492000 213.400000 218.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 213.304000 230.492000 219.304000 218.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 219.304000 230.492000 223.972000 218.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 224.008000 230.492000 227.332000 218.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 227.404000 230.492000 233.404000 218.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 233.308000 230.492000 238.624000 218.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 238.612000 230.492000 244.612000 218.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 244.612000 230.492000 247.612000 218.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 249.316000 230.492000 252.316000 218.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 252.300000 230.492000 255.624000 218.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 255.696000 230.492000 259.692000 218.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 259.596000 230.492000 265.596000 218.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 265.596000 230.492000 271.596000 218.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 271.596000 230.492000 274.920000 218.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 274.992000 230.492000 280.992000 218.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 280.992000 230.492000 286.992000 218.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 287.796000 230.492000 290.796000 218.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.600000 230.492000 297.600000 218.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 297.600000 230.492000 303.600000 218.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 303.600000 230.492000 308.916000 218.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 308.904000 230.492000 312.900000 218.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 312.900000 230.492000 318.900000 218.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 318.804000 230.492000 321.804000 218.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 322.704000 230.492000 325.704000 218.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.508000 230.492000 331.824000 218.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 331.812000 230.492000 337.812000 218.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 337.812000 230.492000 343.812000 218.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 344.616000 230.492000 347.616000 218.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.420000 230.492000 354.420000 218.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 354.420000 230.492000 357.744000 218.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 357.720000 230.492000 363.720000 218.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 363.816000 230.492000 369.132000 218.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 369.120000 230.492000 373.116000 218.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 373.920000 230.492000 376.920000 218.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.724000 230.492000 383.724000 218.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 383.724000 230.492000 389.724000 218.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 389.724000 230.492000 395.724000 218.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 395.628000 230.492000 400.296000 218.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 400.332000 230.492000 405.648000 218.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 405.636000 230.492000 411.636000 218.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 411.732000 230.492000 417.732000 218.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.732000 230.492000 421.056000 218.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 421.032000 230.492000 427.032000 218.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 427.836000 230.492000 430.836000 218.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.640000 230.492000 436.956000 218.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 436.944000 230.492000 442.944000 218.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 442.944000 230.492000 448.944000 218.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 448.848000 230.492000 452.172000 218.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 452.148000 230.492000 455.472000 218.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 455.544000 230.492000 460.860000 218.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 460.848000 230.492000 466.848000 218.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 466.848000 230.492000 472.164000 218.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 472.152000 230.492000 477.468000 218.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 477.456000 230.492000 482.124000 218.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 483.156000 230.492000 486.156000 218.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.960000 230.492000 492.276000 218.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 492.264000 230.492000 498.264000 218.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.264000 230.492000 504.264000 218.492000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 230.492000 507.200000 218.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 217.092000 190.816000 205.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 217.092000 194.128000 205.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 194.104000 217.092000 199.420000 205.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 199.408000 217.092000 204.724000 205.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 204.712000 217.092000 210.712000 205.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 210.712000 217.092000 216.028000 205.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 216.016000 217.092000 220.012000 205.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 220.012000 217.092000 224.680000 205.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 224.812000 217.092000 227.812000 205.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 227.812000 217.092000 233.128000 205.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 233.116000 217.092000 237.112000 205.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.112000 217.092000 242.428000 205.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 242.512000 217.092000 245.512000 205.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.512000 217.092000 251.512000 205.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 251.512000 217.092000 256.828000 205.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 256.816000 217.092000 262.816000 205.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 262.720000 217.092000 266.044000 205.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 266.116000 217.092000 269.116000 205.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.116000 217.092000 275.116000 205.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 275.212000 217.092000 280.528000 205.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 280.516000 217.092000 284.512000 205.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 284.512000 217.092000 289.828000 205.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 289.816000 217.092000 292.816000 205.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.816000 217.092000 298.132000 205.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 298.120000 217.092000 302.788000 205.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 302.824000 217.092000 305.824000 205.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.824000 217.092000 314.488000 205.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 314.524000 217.092000 319.840000 205.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 319.828000 217.092000 323.152000 205.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 323.128000 217.092000 326.452000 205.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 326.428000 217.092000 329.428000 205.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 471.900000 85.992000 478.572000 73.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 478.596000 85.992000 483.912000 73.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 483.900000 85.992000 489.900000 73.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 489.900000 85.992000 495.216000 73.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.204000 85.992000 498.204000 73.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 498.200000 85.992000 504.200000 73.992000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +restoreState +updateFillColor 0.752930 0.752930 0.752930 1.000000 +eoFillPath subpath 1 76.900000 511.700000 0 165.500000 511.700000 0 165.500000 516.700000 0 76.900000 516.700000 0 76.900000 511.700000 0 +eoFillPath subpath 1 160.500000 516.600000 0 165.500000 516.600000 0 165.500000 637.500000 0 160.500000 637.500000 0 160.500000 516.600000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 550.900000 0 160.500000 550.900000 0 160.500000 642.400000 0 72.000000 642.400000 0 72.000000 550.900000 0 +eoFillPath subpath 1 72.000000 516.700000 0 116.200000 516.700000 0 116.200000 550.900000 0 72.000000 550.900000 0 72.000000 516.700000 0 +saveState +eoClipPath subpath 1 72.000000 516.700000 0 160.500000 516.700000 0 160.500000 642.400000 0 72.000000 642.400000 0 72.000000 516.700000 0 +updateFillColor 0.752930 0.752930 0.752930 1.000000 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 106 0 0 0 0 1000.000000 0 Helvetica +drawChar 86.700000 635.980000 93.920000 625.980000 1.000000 0.000000 0.000000 1.000000 C +drawChar 93.900000 635.980000 99.460000 625.980000 1.000000 0.000000 0.000000 1.000000 u +drawChar 99.500000 635.980000 102.280000 625.980000 1.000000 0.000000 0.000000 1.000000 t +drawChar 102.300000 635.980000 104.520000 625.980000 1.000000 0.000000 0.000000 1.000000 l +drawChar 104.500000 635.980000 110.060000 625.980000 1.000000 0.000000 0.000000 1.000000 e +drawChar 110.100000 635.980000 113.430000 625.980000 1.000000 0.000000 0.000000 1.000000 r +drawChar 113.500000 635.980000 118.500000 625.980000 1.000000 0.000000 0.000000 1.000000 y +drawChar 118.600000 635.980000 121.380000 625.980000 1.000000 0.000000 0.000000 1.000000 +drawChar 121.400000 635.980000 123.620000 625.980000 1.000000 0.000000 0.000000 1.000000 i +drawChar 123.600000 635.980000 129.160000 625.980000 1.000000 0.000000 0.000000 1.000000 n +drawChar 129.300000 635.980000 132.080000 625.980000 1.000000 0.000000 0.000000 1.000000 +drawChar 132.100000 635.980000 134.880000 625.980000 1.000000 0.000000 0.000000 1.000000 t +drawChar 134.800000 635.980000 140.360000 625.980000 1.000000 0.000000 0.000000 1.000000 h +drawChar 140.400000 635.980000 145.960000 625.980000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 106 0 0 0 0 1000.000000 0 Helvetica +drawChar 146.100000 635.980000 148.880000 625.980000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 106 0 0 0 0 1000.000000 0 Helvetica +drawChar 90.100000 624.480000 97.320000 614.480000 1.000000 0.000000 0.000000 1.000000 D +drawChar 97.300000 624.480000 99.520000 614.480000 1.000000 0.000000 0.000000 1.000000 i +drawChar 99.500000 624.480000 104.500000 614.480000 1.000000 0.000000 0.000000 1.000000 s +drawChar 104.500000 624.480000 110.060000 614.480000 1.000000 0.000000 0.000000 1.000000 h +drawChar 110.100000 624.480000 117.320000 614.480000 1.000000 0.000000 0.000000 1.000000 w +drawChar 117.400000 624.480000 122.960000 614.480000 1.000000 0.000000 0.000000 1.000000 a +drawChar 123.000000 624.480000 128.000000 614.480000 1.000000 0.000000 0.000000 1.000000 s +drawChar 128.000000 624.480000 133.560000 614.480000 1.000000 0.000000 0.000000 1.000000 h +drawChar 133.600000 624.480000 139.160000 614.480000 1.000000 0.000000 0.000000 1.000000 e +drawChar 139.200000 624.480000 142.530000 614.480000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 611.919000 81.890000 602.919000 1.000000 0.000000 0.000000 1.000000 E +drawChar 81.899000 611.919000 85.400000 602.919000 1.000000 0.000000 0.000000 1.000000 s +drawChar 85.400000 611.919000 89.900000 602.919000 1.000000 0.000000 0.000000 1.000000 p +drawChar 89.900000 611.919000 93.887000 602.919000 1.000000 0.000000 0.000000 1.000000 e +drawChar 93.896000 611.919000 97.883000 602.919000 1.000000 0.000000 0.000000 1.000000 c +drawChar 97.892000 611.919000 100.385000 602.919000 1.000000 0.000000 0.000000 1.000000 i +drawChar 100.493000 611.919000 104.480000 602.919000 1.000000 0.000000 0.000000 1.000000 a +drawChar 104.489000 611.919000 106.982000 602.919000 1.000000 0.000000 0.000000 1.000000 l +drawChar 106.991000 611.919000 109.484000 602.919000 1.000000 0.000000 0.000000 1.000000 l +drawChar 109.493000 611.919000 113.993000 602.919000 1.000000 0.000000 0.000000 1.000000 y +drawChar 122.093000 611.919000 124.343000 602.919000 1.000000 0.000000 0.000000 1.000000 +drawChar 132.092000 611.919000 136.592000 602.919000 1.000000 0.000000 0.000000 1.000000 p +drawChar 136.493000 611.919000 140.480000 602.919000 1.000000 0.000000 0.000000 1.000000 e +drawChar 140.489000 611.919000 144.989000 602.919000 1.000000 0.000000 0.000000 1.000000 o +drawChar 144.989000 611.919000 149.489000 602.919000 1.000000 0.000000 0.000000 1.000000 p +drawChar 149.489000 611.919000 151.982000 602.919000 1.000000 0.000000 0.000000 1.000000 l +drawChar 151.991000 611.919000 155.978000 602.919000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.400000 611.919000 158.650000 602.919000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 601.819000 82.898000 592.819000 1.000000 0.000000 0.000000 1.000000 w +drawChar 82.898000 601.819000 87.398000 592.819000 1.000000 0.000000 0.000000 1.000000 h +drawChar 87.398000 601.819000 91.898000 592.819000 1.000000 0.000000 0.000000 1.000000 o +drawChar 92.402000 601.819000 94.652000 592.819000 1.000000 0.000000 0.000000 1.000000 +drawChar 94.904000 601.819000 97.901000 592.819000 1.000000 0.000000 0.000000 1.000000 f +drawChar 97.901000 601.819000 100.394000 592.819000 1.000000 0.000000 0.000000 1.000000 i +drawChar 100.502000 601.819000 102.995000 592.819000 1.000000 0.000000 0.000000 1.000000 l +drawChar 102.905000 601.819000 105.398000 592.819000 1.000000 0.000000 0.000000 1.000000 l +drawChar 105.803000 601.819000 108.053000 592.819000 1.000000 0.000000 0.000000 1.000000 +drawChar 108.404000 601.819000 112.391000 592.819000 1.000000 0.000000 0.000000 1.000000 a +drawChar 112.706000 601.819000 114.956000 592.819000 1.000000 0.000000 0.000000 1.000000 +drawChar 115.307000 601.819000 119.807000 592.819000 1.000000 0.000000 0.000000 1.000000 d +drawChar 119.708000 601.819000 122.201000 592.819000 1.000000 0.000000 0.000000 1.000000 i +drawChar 122.309000 601.819000 125.810000 592.819000 1.000000 0.000000 0.000000 1.000000 s +drawChar 125.810000 601.819000 130.310000 592.819000 1.000000 0.000000 0.000000 1.000000 h +drawChar 130.310000 601.819000 136.808000 592.819000 1.000000 0.000000 0.000000 1.000000 w +drawChar 136.808000 601.819000 140.795000 592.819000 1.000000 0.000000 0.000000 1.000000 a +drawChar 140.804000 601.819000 144.305000 592.819000 1.000000 0.000000 0.000000 1.000000 s +drawChar 144.404000 601.819000 148.904000 592.819000 1.000000 0.000000 0.000000 1.000000 h +drawChar 148.904000 601.819000 152.891000 592.819000 1.000000 0.000000 0.000000 1.000000 e +drawChar 153.008000 601.819000 156.005000 592.819000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.300000 601.819000 158.550000 592.819000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 591.719000 79.397000 582.719000 1.000000 0.000000 0.000000 1.000000 f +drawChar 79.397000 591.719000 83.897000 582.719000 1.000000 0.000000 0.000000 1.000000 o +drawChar 83.897000 591.719000 86.894000 582.719000 1.000000 0.000000 0.000000 1.000000 r +drawChar 88.397000 591.719000 90.647000 582.719000 1.000000 0.000000 0.000000 1.000000 +drawChar 92.096000 591.719000 94.589000 582.719000 1.000000 0.000000 0.000000 1.000000 t +drawChar 94.598000 591.719000 99.098000 582.719000 1.000000 0.000000 0.000000 1.000000 h +drawChar 99.098000 591.719000 103.085000 582.719000 1.000000 0.000000 0.000000 1.000000 e +drawChar 104.597000 591.719000 106.847000 582.719000 1.000000 0.000000 0.000000 1.000000 +drawChar 108.197000 591.719000 111.194000 582.719000 1.000000 0.000000 0.000000 1.000000 f +drawChar 111.194000 591.719000 113.687000 582.719000 1.000000 0.000000 0.000000 1.000000 i +drawChar 113.795000 591.719000 116.792000 582.719000 1.000000 0.000000 0.000000 1.000000 r +drawChar 116.693000 591.719000 120.194000 582.719000 1.000000 0.000000 0.000000 1.000000 s +drawChar 120.293000 591.719000 122.786000 582.719000 1.000000 0.000000 0.000000 1.000000 t +drawChar 124.289000 591.719000 126.539000 582.719000 1.000000 0.000000 0.000000 1.000000 +drawChar 127.988000 591.719000 130.481000 582.719000 1.000000 0.000000 0.000000 1.000000 t +drawChar 130.490000 591.719000 132.983000 582.719000 1.000000 0.000000 0.000000 1.000000 i +drawChar 132.992000 591.719000 139.985000 582.719000 1.000000 0.000000 0.000000 1.000000 m +drawChar 139.994000 591.719000 143.981000 582.719000 1.000000 0.000000 0.000000 1.000000 e +drawChar 145.493000 591.719000 147.743000 582.719000 1.000000 0.000000 0.000000 1.000000 +drawChar 149.192000 591.719000 151.685000 582.719000 1.000000 0.000000 0.000000 1.000000 i +drawChar 151.793000 591.719000 156.293000 582.719000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.400000 591.719000 158.650000 582.719000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 581.619000 78.893000 572.619000 1.000000 0.000000 0.000000 1.000000 t +drawChar 78.902000 581.619000 83.402000 572.619000 1.000000 0.000000 0.000000 1.000000 h +drawChar 83.402000 581.619000 87.389000 572.619000 1.000000 0.000000 0.000000 1.000000 e +drawChar 87.299000 581.619000 89.792000 572.619000 1.000000 0.000000 0.000000 1.000000 i +drawChar 89.900000 581.619000 92.897000 572.619000 1.000000 0.000000 0.000000 1.000000 r +drawChar 93.401000 581.619000 95.651000 572.619000 1.000000 0.000000 0.000000 1.000000 +drawChar 95.903000 581.619000 98.396000 572.619000 1.000000 0.000000 0.000000 1.000000 l +drawChar 98.306000 581.619000 100.799000 572.619000 1.000000 0.000000 0.000000 1.000000 i +drawChar 100.907000 581.619000 103.904000 572.619000 1.000000 0.000000 0.000000 1.000000 f +drawChar 103.904000 581.619000 107.891000 572.619000 1.000000 0.000000 0.000000 1.000000 e +drawChar 108.305000 581.619000 110.555000 572.619000 1.000000 0.000000 0.000000 1.000000 +drawChar 110.807000 581.619000 113.300000 572.619000 1.000000 0.000000 0.000000 1.000000 t +drawChar 113.408000 581.619000 117.395000 572.619000 1.000000 0.000000 0.000000 1.000000 e +drawChar 117.305000 581.619000 121.805000 572.619000 1.000000 0.000000 0.000000 1.000000 n +drawChar 121.805000 581.619000 126.305000 572.619000 1.000000 0.000000 0.000000 1.000000 d +drawChar 126.809000 581.619000 129.059000 572.619000 1.000000 0.000000 0.000000 1.000000 +drawChar 129.311000 581.619000 131.804000 572.619000 1.000000 0.000000 0.000000 1.000000 t +drawChar 131.912000 581.619000 136.412000 572.619000 1.000000 0.000000 0.000000 1.000000 o +drawChar 136.709000 581.619000 138.959000 572.619000 1.000000 0.000000 0.000000 1.000000 +drawChar 139.211000 581.619000 143.711000 572.619000 1.000000 0.000000 0.000000 1.000000 d +drawChar 143.612000 581.619000 148.112000 572.619000 1.000000 0.000000 0.000000 1.000000 o +drawChar 148.616000 581.619000 150.866000 572.619000 1.000000 0.000000 0.000000 1.000000 +drawChar 151.118000 581.619000 153.611000 572.619000 1.000000 0.000000 0.000000 1.000000 i +drawChar 153.620000 581.619000 156.113000 572.619000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.400000 581.619000 158.650000 572.619000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 571.519000 82.898000 562.519000 1.000000 0.000000 0.000000 1.000000 w +drawChar 82.898000 571.519000 85.895000 562.519000 1.000000 0.000000 0.000000 1.000000 r +drawChar 85.895000 571.519000 90.395000 562.519000 1.000000 0.000000 0.000000 1.000000 o +drawChar 90.395000 571.519000 94.895000 562.519000 1.000000 0.000000 0.000000 1.000000 n +drawChar 94.895000 571.519000 99.395000 562.519000 1.000000 0.000000 0.000000 1.000000 g +drawChar 99.395000 571.519000 101.888000 562.519000 1.000000 0.000000 0.000000 1.000000 : +drawChar 102.293000 571.519000 104.543000 562.519000 1.000000 0.000000 0.000000 1.000000 +drawChar 104.696000 571.519000 110.690000 562.519000 1.000000 0.000000 0.000000 1.000000 C +drawChar 110.699000 571.519000 115.199000 562.519000 1.000000 0.000000 0.000000 1.000000 u +drawChar 115.100000 571.519000 117.593000 562.519000 1.000000 0.000000 0.000000 1.000000 t +drawChar 117.701000 571.519000 120.194000 562.519000 1.000000 0.000000 0.000000 1.000000 l +drawChar 120.203000 571.519000 124.190000 562.519000 1.000000 0.000000 0.000000 1.000000 e +drawChar 124.199000 571.519000 127.196000 562.519000 1.000000 0.000000 0.000000 1.000000 r +drawChar 127.196000 571.519000 131.696000 562.519000 1.000000 0.000000 0.000000 1.000000 y +drawChar 132.200000 571.519000 134.450000 562.519000 1.000000 0.000000 0.000000 1.000000 +drawChar 134.603000 571.519000 139.103000 562.519000 1.000000 0.000000 0.000000 1.000000 h +drawChar 139.004000 571.519000 142.991000 562.519000 1.000000 0.000000 0.000000 1.000000 a +drawChar 143.000000 571.519000 146.501000 562.519000 1.000000 0.000000 0.000000 1.000000 s +drawChar 146.798000 571.519000 149.048000 562.519000 1.000000 0.000000 0.000000 1.000000 +drawChar 149.201000 571.519000 151.694000 562.519000 1.000000 0.000000 0.000000 1.000000 t +drawChar 151.703000 571.519000 156.203000 562.519000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.300000 571.519000 158.550000 562.519000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 561.419000 80.900000 552.419000 1.000000 0.000000 0.000000 1.000000 b +drawChar 80.999000 561.419000 84.986000 552.419000 1.000000 0.000000 0.000000 1.000000 e +drawChar 86.399000 561.419000 88.649000 552.419000 1.000000 0.000000 0.000000 1.000000 +drawChar 89.999000 561.419000 92.492000 552.419000 1.000000 0.000000 0.000000 1.000000 i +drawChar 92.600000 561.419000 97.100000 552.419000 1.000000 0.000000 0.000000 1.000000 n +drawChar 97.001000 561.419000 100.502000 552.419000 1.000000 0.000000 0.000000 1.000000 s +drawChar 100.601000 561.419000 104.588000 552.419000 1.000000 0.000000 0.000000 1.000000 e +drawChar 104.597000 561.419000 107.594000 552.419000 1.000000 0.000000 0.000000 1.000000 r +drawChar 107.495000 561.419000 109.988000 552.419000 1.000000 0.000000 0.000000 1.000000 t +drawChar 110.096000 561.419000 114.083000 552.419000 1.000000 0.000000 0.000000 1.000000 e +drawChar 114.092000 561.419000 118.592000 552.419000 1.000000 0.000000 0.000000 1.000000 d +drawChar 120.293000 561.419000 122.543000 552.419000 1.000000 0.000000 0.000000 1.000000 +drawChar 123.893000 561.419000 130.391000 552.419000 1.000000 0.000000 0.000000 1.000000 w +drawChar 130.391000 561.419000 132.884000 552.419000 1.000000 0.000000 0.000000 1.000000 i +drawChar 132.893000 561.419000 135.386000 552.419000 1.000000 0.000000 0.000000 1.000000 t +drawChar 135.494000 561.419000 139.994000 552.419000 1.000000 0.000000 0.000000 1.000000 h +drawChar 141.497000 561.419000 143.747000 552.419000 1.000000 0.000000 0.000000 1.000000 +drawChar 145.196000 561.419000 147.689000 552.419000 1.000000 0.000000 0.000000 1.000000 t +drawChar 147.698000 561.419000 152.198000 552.419000 1.000000 0.000000 0.000000 1.000000 h +drawChar 152.198000 561.419000 156.185000 552.419000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.300000 561.419000 158.550000 552.419000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 551.319000 80.900000 542.319000 1.000000 0.000000 0.000000 1.000000 h +drawChar 80.900000 551.319000 84.887000 542.319000 1.000000 0.000000 0.000000 1.000000 a +drawChar 84.896000 551.319000 89.396000 542.319000 1.000000 0.000000 0.000000 1.000000 n +drawChar 89.396000 551.319000 93.896000 542.319000 1.000000 0.000000 0.000000 1.000000 d +drawChar 93.896000 551.319000 96.389000 542.319000 1.000000 0.000000 0.000000 1.000000 l +drawChar 96.398000 551.319000 100.385000 542.319000 1.000000 0.000000 0.000000 1.000000 e +drawChar 100.394000 551.319000 103.895000 542.319000 1.000000 0.000000 0.000000 1.000000 s +drawChar 109.097000 551.319000 111.347000 542.319000 1.000000 0.000000 0.000000 1.000000 +drawChar 116.099000 551.319000 120.599000 542.319000 1.000000 0.000000 0.000000 1.000000 d +drawChar 120.599000 551.319000 125.099000 542.319000 1.000000 0.000000 0.000000 1.000000 o +drawChar 125.099000 551.319000 131.597000 542.319000 1.000000 0.000000 0.000000 1.000000 w +drawChar 131.597000 551.319000 136.097000 542.319000 1.000000 0.000000 0.000000 1.000000 n +drawChar 141.200000 551.319000 143.450000 542.319000 1.000000 0.000000 0.000000 1.000000 +drawChar 148.301000 551.319000 151.802000 542.319000 1.000000 0.000000 0.000000 1.000000 s +drawChar 151.802000 551.319000 156.302000 542.319000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.400000 551.319000 158.650000 542.319000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 541.219000 78.893000 532.219000 1.000000 0.000000 0.000000 1.000000 t +drawChar 78.902000 541.219000 83.402000 532.219000 1.000000 0.000000 0.000000 1.000000 h +drawChar 83.402000 541.219000 87.389000 532.219000 1.000000 0.000000 0.000000 1.000000 e +drawChar 87.398000 541.219000 90.395000 532.219000 1.000000 0.000000 0.000000 1.000000 r +drawChar 90.395000 541.219000 94.382000 532.219000 1.000000 0.000000 0.000000 1.000000 e +drawChar 95.498000 541.219000 97.748000 532.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 98.801000 541.219000 105.299000 532.219000 1.000000 0.000000 0.000000 1.000000 w +drawChar 105.200000 541.219000 109.700000 532.219000 1.000000 0.000000 0.000000 1.000000 o +drawChar 109.700000 541.219000 114.200000 532.219000 1.000000 0.000000 0.000000 1.000000 n +drawChar 114.200000 541.219000 115.820000 532.219000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 115.901000 541.219000 118.394000 532.219000 1.000000 0.000000 0.000000 1.000000 t +drawChar 119.501000 541.219000 121.751000 532.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 122.804000 541.219000 127.304000 532.219000 1.000000 0.000000 0.000000 1.000000 b +drawChar 127.304000 541.219000 131.291000 532.219000 1.000000 0.000000 0.000000 1.000000 e +drawChar 132.308000 541.219000 134.558000 532.219000 1.000000 0.000000 0.000000 1.000000 +drawChar 135.512000 541.219000 139.013000 532.219000 1.000000 0.000000 0.000000 1.000000 s +drawChar 139.013000 541.219000 141.506000 532.219000 1.000000 0.000000 0.000000 1.000000 t +drawChar 141.614000 541.219000 145.601000 532.219000 1.000000 0.000000 0.000000 1.000000 a +drawChar 145.511000 541.219000 148.004000 532.219000 1.000000 0.000000 0.000000 1.000000 i +drawChar 148.112000 541.219000 152.612000 532.219000 1.000000 0.000000 0.000000 1.000000 n +drawChar 152.513000 541.219000 156.014000 532.219000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.300000 541.219000 158.550000 532.219000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 531.119000 82.898000 522.119000 1.000000 0.000000 0.000000 1.000000 w +drawChar 82.898000 531.119000 87.398000 522.119000 1.000000 0.000000 0.000000 1.000000 h +drawChar 87.398000 531.119000 91.385000 522.119000 1.000000 0.000000 0.000000 1.000000 e +drawChar 91.394000 531.119000 95.894000 522.119000 1.000000 0.000000 0.000000 1.000000 n +drawChar 96.191000 531.119000 98.441000 522.119000 1.000000 0.000000 0.000000 1.000000 +drawChar 98.387000 531.119000 102.887000 522.119000 1.000000 0.000000 0.000000 1.000000 d +drawChar 102.887000 531.119000 105.884000 522.119000 1.000000 0.000000 0.000000 1.000000 r +drawChar 105.884000 531.119000 110.384000 522.119000 1.000000 0.000000 0.000000 1.000000 y +drawChar 110.285000 531.119000 112.778000 522.119000 1.000000 0.000000 0.000000 1.000000 i +drawChar 112.886000 531.119000 117.386000 522.119000 1.000000 0.000000 0.000000 1.000000 n +drawChar 117.386000 531.119000 121.886000 522.119000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 122.200000 531.119000 124.450000 522.119000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 72.000000 516.600000 0 72.100000 516.600000 0 72.100000 642.400000 0 72.000000 642.400000 0 72.000000 516.600000 0 +eoFillPath subpath 1 160.500000 516.600000 0 160.600000 516.600000 0 160.600000 642.400000 0 160.500000 642.400000 0 160.500000 516.600000 0 +eoFillPath subpath 1 72.000000 642.300000 0 160.600000 642.300000 0 160.600000 642.400000 0 72.000000 642.400000 0 72.000000 642.300000 0 +eoFillPath subpath 1 72.000000 516.600000 0 160.600000 516.600000 0 160.600000 516.700000 0 72.000000 516.700000 0 72.000000 516.600000 0 +saveState +eoClipPath subpath 1 72.000000 333.400000 0 142.900000 333.400000 0 142.900000 390.100000 0 72.000000 390.100000 0 72.000000 333.400000 0 +saveState +updateCtm 7080.000000 0.000000 0.000000 -5660.000000 7200.000000 45850.000000 +drawSoftMaskedImage 75 59 75 59 JPEG 3139 PPM 13288 +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 108.000000 550.900000 0 540.000000 550.900000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 550.900000 0 +eoFillPath subpath 1 108.000000 72.000000 0 540.000000 72.000000 0 540.000000 241.100000 0 108.000000 241.100000 0 108.000000 72.000000 0 +eoFillPath subpath 1 108.000000 241.100000 0 152.200000 241.100000 0 152.200000 550.900000 0 108.000000 550.900000 0 108.000000 241.100000 0 +eoFillPath subpath 1 495.700000 241.100000 0 540.000000 241.100000 0 540.000000 550.900000 0 495.700000 550.900000 0 495.700000 241.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 15220.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 108.000000 701.500000 0 540.000000 701.500000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 701.500000 0 +eoFillPath subpath 1 108.000000 76.700000 0 540.000000 76.700000 0 540.000000 90.100000 0 108.000000 90.100000 0 108.000000 76.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 108.100000 716.588000 121.428000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 121.396000 716.588000 129.396000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 129.492000 716.588000 133.940000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 133.988000 716.588000 145.540000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 145.588000 716.588000 154.484000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 154.484000 716.588000 163.380000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 163.380000 716.588000 171.380000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 171.380000 716.588000 180.276000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 180.484000 716.588000 184.932000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 184.884000 716.588000 190.212000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 190.292000 716.588000 194.740000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 194.800000 716.588000 204.576000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 204.496000 716.588000 208.048000 700.588000 1.000000 0.000000 0.000000 1.000000 i +drawChar 208.096000 716.588000 213.424000 700.588000 1.000000 0.000000 0.000000 1.000000 r +drawChar 213.392000 716.588000 221.392000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 221.392000 716.588000 225.840000 700.588000 1.000000 0.000000 0.000000 1.000000 t +drawChar 226.000000 716.588000 230.448000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 230.496000 716.588000 240.272000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 240.192000 716.588000 243.744000 700.588000 1.000000 0.000000 0.000000 1.000000 l +drawChar 243.792000 716.588000 252.688000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 252.688000 716.588000 261.584000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 261.584000 716.588000 266.912000 700.588000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 108.100000 669.752000 118.992000 655.752000 1.000000 0.000000 0.000000 1.000000 G +drawChar 118.894000 669.752000 127.448000 655.752000 1.000000 0.000000 0.000000 1.000000 u +drawChar 127.392000 669.752000 135.176000 655.752000 1.000000 0.000000 0.000000 1.000000 e +drawChar 135.190000 669.752000 142.974000 655.752000 1.000000 0.000000 0.000000 1.000000 s +drawChar 142.890000 669.752000 147.552000 655.752000 1.000000 0.000000 0.000000 1.000000 t +drawChar 147.496000 669.752000 151.388000 655.752000 1.000000 0.000000 0.000000 1.000000 +drawChar 151.402000 669.752000 161.510000 655.752000 1.000000 0.000000 0.000000 1.000000 B +drawChar 161.496000 669.752000 169.280000 655.752000 1.000000 0.000000 0.000000 1.000000 a +drawChar 169.196000 669.752000 173.858000 655.752000 1.000000 0.000000 0.000000 1.000000 t +drawChar 173.802000 669.752000 182.356000 655.752000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 650.492000 230.164000 638.492000 1.000000 0.000000 0.000000 1.000000 D +drawChar 230.104000 650.492000 233.428000 638.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.500000 650.492000 237.496000 638.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.496000 650.492000 242.812000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 242.800000 650.492000 248.116000 638.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 248.104000 650.492000 251.428000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 251.404000 650.492000 254.728000 638.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 254.704000 650.492000 260.704000 638.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 261.808000 650.492000 264.808000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.804000 650.492000 271.804000 638.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 271.804000 650.492000 277.120000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 277.108000 650.492000 283.108000 638.492000 1.000000 0.000000 0.000000 1.000000 x +drawChar 283.108000 650.492000 286.432000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 287.404000 650.492000 290.404000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.400000 650.492000 294.724000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 294.700000 650.492000 300.700000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 301.696000 650.492000 304.696000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.692000 650.492000 309.016000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 308.896000 650.492000 314.896000 638.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 314.992000 650.492000 320.308000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.292000 650.492000 324.292000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.288000 650.492000 331.288000 638.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 331.192000 650.492000 336.508000 638.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 336.496000 650.492000 342.496000 638.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 342.496000 650.492000 345.820000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 345.796000 650.492000 349.792000 638.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 349.900000 650.492000 355.900000 638.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 356.896000 650.492000 359.896000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 360.892000 650.492000 364.216000 638.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 364.192000 650.492000 368.860000 638.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 369.892000 650.492000 372.892000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.888000 650.492000 379.204000 638.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 380.092000 650.492000 383.092000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.088000 650.492000 390.088000 638.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 390.088000 650.492000 396.088000 638.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 396.088000 650.492000 401.404000 638.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 401.392000 650.492000 406.060000 638.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 406.096000 650.492000 409.420000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 410.392000 650.492000 413.392000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.388000 650.492000 420.388000 638.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 420.388000 650.492000 425.704000 638.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 425.692000 650.492000 429.016000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 428.992000 650.492000 434.992000 638.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 435.088000 650.492000 439.084000 638.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 439.084000 650.492000 445.084000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 445.084000 650.492000 451.084000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 451.084000 650.492000 460.408000 638.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 460.384000 650.492000 463.384000 638.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.380000 650.492000 467.380000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 468.376000 650.492000 475.048000 638.492000 1.000000 0.000000 0.000000 1.000000 S +drawChar 474.976000 650.492000 480.976000 638.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 480.976000 650.492000 486.292000 638.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 486.280000 650.492000 492.280000 638.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 493.276000 650.492000 496.276000 638.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 497.272000 650.492000 502.588000 638.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 502.576000 650.492000 508.576000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 508.576000 650.492000 517.900000 638.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 517.876000 650.492000 521.872000 638.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 521.872000 650.492000 527.872000 638.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 527.872000 650.492000 531.868000 638.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 531.868000 650.492000 535.192000 638.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 535.168000 650.492000 539.836000 638.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 650.492000 543.200000 638.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 637.092000 230.164000 625.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 230.200000 637.092000 235.516000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.504000 637.092000 239.500000 625.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 239.500000 637.092000 244.816000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 244.996000 637.092000 247.996000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 248.296000 637.092000 254.296000 625.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 254.296000 637.092000 260.296000 625.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 260.296000 637.092000 263.620000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 263.800000 637.092000 266.800000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 267.100000 637.092000 271.768000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 271.804000 637.092000 275.128000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 275.104000 637.092000 280.420000 625.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 280.408000 637.092000 286.408000 625.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 286.408000 637.092000 292.408000 625.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 292.312000 637.092000 297.628000 625.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 297.616000 637.092000 301.612000 625.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 301.612000 637.092000 307.612000 625.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 307.912000 637.092000 310.912000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 311.212000 637.092000 316.528000 625.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 316.516000 637.092000 319.840000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 320.020000 637.092000 323.020000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 323.320000 637.092000 326.644000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 326.524000 637.092000 332.524000 625.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 332.620000 637.092000 337.936000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 338.116000 637.092000 341.116000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 341.416000 637.092000 344.740000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 344.716000 637.092000 348.040000 625.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 348.112000 637.092000 357.436000 625.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 357.412000 637.092000 362.728000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 362.908000 637.092000 365.908000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 366.208000 637.092000 369.532000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 369.412000 637.092000 375.412000 625.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 375.508000 637.092000 378.832000 625.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 378.808000 637.092000 383.476000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 383.704000 637.092000 386.704000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.004000 637.092000 393.004000 625.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 393.004000 637.092000 399.004000 625.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 399.004000 637.092000 405.004000 625.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 404.908000 637.092000 409.576000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 409.612000 637.092000 414.928000 625.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 415.216000 637.092000 418.216000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 418.420000 637.092000 427.084000 625.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 427.120000 637.092000 432.436000 625.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 432.424000 637.092000 437.092000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 437.320000 637.092000 440.320000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 440.524000 637.092000 446.524000 625.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 446.524000 637.092000 452.524000 625.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 452.524000 637.092000 455.848000 625.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 455.920000 637.092000 459.244000 625.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 459.220000 637.092000 462.544000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 462.520000 637.092000 465.520000 625.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 465.724000 637.092000 468.724000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 469.024000 637.092000 473.692000 625.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 473.620000 637.092000 479.620000 625.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 479.824000 637.092000 482.824000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 483.124000 637.092000 488.440000 625.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 488.620000 637.092000 491.620000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 491.920000 637.092000 497.920000 625.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 497.824000 637.092000 503.824000 625.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 503.824000 637.092000 507.820000 625.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 507.820000 637.092000 511.144000 625.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 511.120000 637.092000 514.444000 625.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 514.516000 637.092000 520.516000 625.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 520.516000 637.092000 526.516000 625.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 526.720000 637.092000 529.720000 625.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 530.020000 637.092000 536.020000 625.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 536.020000 637.092000 540.016000 625.092000 1.000000 0.000000 0.000000 1.000000 f +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 637.092000 543.100000 625.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 623.592000 224.824000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 623.592000 230.800000 611.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.896000 623.592000 236.212000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.800000 623.592000 239.800000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 240.496000 623.592000 246.496000 611.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 246.400000 623.592000 251.716000 611.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 251.704000 623.592000 257.704000 611.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 257.704000 623.592000 261.028000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 261.004000 623.592000 265.000000 611.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 265.108000 623.592000 271.108000 611.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 271.804000 623.592000 274.804000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 275.500000 623.592000 281.500000 611.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 281.596000 623.592000 286.912000 611.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 286.900000 623.592000 292.900000 611.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 293.500000 623.592000 296.500000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 297.196000 623.592000 300.520000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 300.496000 623.592000 306.496000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 307.192000 623.592000 310.192000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 310.888000 623.592000 316.888000 611.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 316.888000 623.592000 322.204000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 322.888000 623.592000 325.888000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.584000 623.592000 330.580000 611.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 330.580000 623.592000 335.896000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.884000 623.592000 345.208000 611.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 345.184000 623.592000 351.184000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 351.184000 623.592000 357.184000 611.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 357.088000 623.592000 362.404000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 362.488000 623.592000 368.488000 611.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 369.184000 623.592000 372.184000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.880000 623.592000 376.204000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 376.180000 623.592000 382.180000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 382.876000 623.592000 385.876000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.572000 623.592000 395.896000 611.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 395.872000 623.592000 401.188000 611.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 401.176000 623.592000 407.176000 611.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 407.176000 623.592000 412.492000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.176000 623.592000 416.176000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 416.872000 623.592000 420.868000 611.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 420.868000 623.592000 426.868000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 426.868000 623.592000 432.868000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 432.868000 623.592000 442.192000 611.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 442.864000 623.592000 445.864000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 446.560000 623.592000 450.556000 611.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 450.556000 623.592000 456.556000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 456.556000 623.592000 460.552000 611.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 461.260000 623.592000 464.260000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.956000 623.592000 468.280000 611.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 468.256000 623.592000 471.580000 611.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 471.556000 623.592000 474.556000 611.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.252000 623.592000 478.252000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 478.948000 623.592000 486.268000 611.592000 1.000000 0.000000 0.000000 1.000000 T +drawChar 486.148000 623.592000 492.148000 611.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 492.244000 623.592000 497.560000 611.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 498.244000 623.592000 501.244000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 501.940000 623.592000 505.936000 611.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 505.936000 623.592000 511.936000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 511.936000 623.592000 517.936000 611.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 517.936000 623.592000 527.260000 611.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 527.932000 623.592000 530.932000 611.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 531.628000 623.592000 534.952000 611.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 534.928000 623.592000 539.596000 611.592000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 623.592000 543.100000 611.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 610.192000 227.500000 598.192000 1.000000 0.000000 0.000000 1.000000 q +drawChar 227.500000 610.192000 233.500000 598.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 233.500000 610.192000 236.824000 598.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 236.896000 610.192000 240.220000 598.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 240.196000 610.192000 245.512000 598.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 245.800000 610.192000 248.800000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 249.100000 610.192000 253.768000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 253.804000 610.192000 263.128000 598.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 263.104000 610.192000 268.420000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 268.408000 610.192000 271.732000 598.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 271.708000 610.192000 275.032000 598.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 275.008000 610.192000 278.008000 598.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 278.404000 610.192000 281.404000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.704000 610.192000 287.020000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 287.008000 610.192000 293.008000 598.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 293.008000 610.192000 299.008000 598.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 299.308000 610.192000 302.308000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.608000 610.192000 307.276000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 307.312000 610.192000 313.312000 598.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 313.216000 610.192000 318.532000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 318.520000 610.192000 322.516000 598.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 322.516000 610.192000 327.184000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 327.220000 610.192000 332.536000 598.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.524000 610.192000 335.848000 598.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 335.920000 610.192000 341.920000 598.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 342.316000 610.192000 345.316000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.616000 610.192000 349.612000 598.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 349.612000 610.192000 355.612000 598.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 355.516000 610.192000 359.512000 598.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 359.512000 610.192000 365.512000 598.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 365.512000 610.192000 368.836000 598.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 368.908000 610.192000 373.576000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 373.504000 610.192000 379.504000 598.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 379.600000 610.192000 384.916000 598.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 384.904000 610.192000 390.904000 598.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 391.204000 610.192000 394.204000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 394.504000 610.192000 403.168000 598.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 403.108000 610.192000 406.432000 598.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 406.504000 610.192000 409.828000 598.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 409.804000 610.192000 415.804000 598.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 416.104000 610.192000 419.104000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 419.404000 610.192000 425.404000 598.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 425.404000 610.192000 431.404000 598.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 431.404000 610.192000 434.728000 598.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 434.704000 610.192000 440.704000 598.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 441.100000 610.192000 444.100000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 444.400000 610.192000 449.716000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 450.004000 610.192000 453.004000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 453.304000 610.192000 456.628000 598.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 456.604000 610.192000 462.604000 598.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 462.604000 610.192000 465.928000 598.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 466.000000 610.192000 469.324000 598.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 469.300000 610.192000 474.616000 598.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 474.604000 610.192000 477.928000 598.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 478.300000 610.192000 481.300000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 481.600000 610.192000 486.916000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 486.904000 610.192000 492.904000 598.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 492.904000 610.192000 498.904000 598.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 499.204000 610.192000 502.204000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 502.504000 610.192000 507.820000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 508.108000 610.192000 511.108000 598.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 511.408000 610.192000 520.072000 598.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 520.108000 610.192000 525.424000 598.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 525.412000 610.192000 530.080000 598.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 530.008000 610.192000 536.008000 598.192000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 610.192000 540.196000 598.192000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 596.692000 227.500000 584.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 227.500000 596.692000 232.816000 584.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 232.804000 596.692000 237.472000 584.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 237.400000 596.692000 240.724000 584.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 240.796000 596.692000 246.796000 584.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 246.796000 596.692000 249.796000 584.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 108.100000 562.152000 118.208000 548.152000 1.000000 0.000000 0.000000 1.000000 D +drawChar 118.194000 562.152000 122.086000 548.152000 1.000000 0.000000 0.000000 1.000000 i +drawChar 121.988000 562.152000 130.542000 548.152000 1.000000 0.000000 0.000000 1.000000 n +drawChar 130.486000 562.152000 134.378000 548.152000 1.000000 0.000000 0.000000 1.000000 i +drawChar 134.280000 562.152000 142.834000 548.152000 1.000000 0.000000 0.000000 1.000000 n +drawChar 142.876000 562.152000 151.430000 548.152000 1.000000 0.000000 0.000000 1.000000 g +drawChar 151.374000 562.152000 155.266000 548.152000 1.000000 0.000000 0.000000 1.000000 +drawChar 155.280000 562.152000 165.388000 548.152000 1.000000 0.000000 0.000000 1.000000 R +drawChar 165.374000 562.152000 173.928000 548.152000 1.000000 0.000000 0.000000 1.000000 o +drawChar 173.872000 562.152000 182.426000 548.152000 1.000000 0.000000 0.000000 1.000000 o +drawChar 182.370000 562.152000 194.816000 548.152000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 542.892000 228.820000 530.892000 1.000000 0.000000 0.000000 1.000000 T +drawChar 228.796000 542.892000 234.796000 530.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 234.892000 542.892000 240.208000 530.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 241.696000 542.892000 244.696000 530.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 246.292000 542.892000 255.616000 530.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 255.592000 542.892000 261.592000 530.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 261.592000 542.892000 266.260000 530.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 266.296000 542.892000 269.620000 530.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 271.192000 542.892000 274.192000 530.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 275.788000 542.892000 281.788000 530.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 281.788000 542.892000 287.788000 530.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 287.788000 542.892000 291.112000 530.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 291.088000 542.892000 296.404000 530.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 296.392000 542.892000 302.392000 530.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 302.392000 542.892000 305.716000 530.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 305.692000 542.892000 311.008000 530.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 312.688000 542.892000 315.688000 530.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 317.284000 542.892000 323.284000 530.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 323.188000 542.892000 326.512000 530.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 326.584000 542.892000 331.900000 530.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 331.888000 542.892000 337.204000 530.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 337.192000 542.892000 342.508000 530.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.092000 542.892000 347.092000 530.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.688000 542.892000 354.688000 530.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 354.688000 542.892000 358.684000 530.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 360.292000 542.892000 363.292000 530.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 364.888000 542.892000 368.884000 530.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 368.884000 542.892000 374.884000 530.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 374.884000 542.892000 378.880000 530.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 378.880000 542.892000 384.880000 530.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 384.784000 542.892000 388.108000 530.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 388.180000 542.892000 391.504000 530.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 391.480000 542.892000 397.480000 530.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 397.480000 542.892000 401.476000 530.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 401.476000 542.892000 406.792000 530.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 408.376000 542.892000 411.376000 530.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 412.972000 542.892000 418.972000 530.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 418.972000 542.892000 424.972000 530.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 424.876000 542.892000 430.876000 530.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 430.876000 542.892000 436.876000 530.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 438.580000 542.892000 441.580000 530.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 443.176000 542.892000 448.492000 530.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 448.480000 542.892000 454.480000 530.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 454.480000 542.892000 457.804000 530.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 457.780000 542.892000 463.096000 530.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 463.084000 542.892000 467.080000 530.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 467.080000 542.892000 470.404000 530.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 470.476000 542.892000 476.476000 530.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 476.476000 542.892000 482.476000 530.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 484.072000 542.892000 487.072000 530.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.668000 542.892000 491.992000 530.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 491.872000 542.892000 497.872000 530.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 497.968000 542.892000 503.284000 530.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 504.868000 542.892000 507.868000 530.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 509.464000 542.892000 515.464000 530.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 515.368000 542.892000 518.692000 530.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 518.764000 542.892000 524.764000 530.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 524.668000 542.892000 527.992000 530.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 528.064000 542.892000 534.064000 530.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 534.064000 542.892000 540.064000 530.892000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 542.892000 543.100000 530.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 529.492000 225.496000 517.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 225.496000 529.492000 231.496000 517.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.496000 529.492000 237.496000 517.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 237.496000 529.492000 246.820000 517.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 247.096000 529.492000 250.096000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 250.396000 529.492000 253.720000 517.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 253.792000 529.492000 258.460000 517.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 258.688000 529.492000 261.688000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.988000 529.492000 267.304000 517.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 267.988000 529.492000 270.988000 517.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 271.100000 529.492000 279.764000 517.492000 1.000000 0.000000 0.000000 1.000000 V +drawChar 279.704000 529.492000 283.028000 517.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 283.100000 529.492000 288.416000 517.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 288.404000 529.492000 291.728000 517.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 291.704000 529.492000 297.704000 517.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 297.704000 529.492000 301.700000 517.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 301.604000 529.492000 304.928000 517.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 305.000000 529.492000 310.316000 517.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 310.304000 529.492000 316.304000 517.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 316.700000 529.492000 319.700000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.000000 529.492000 324.668000 517.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 324.704000 529.492000 328.028000 517.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 328.004000 529.492000 334.004000 517.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 333.908000 529.492000 337.232000 517.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 337.208000 529.492000 342.524000 517.492000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 342.600000 529.492000 345.600000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.200000 529.492000 349.524000 517.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 349.500000 529.492000 354.816000 517.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 354.804000 529.492000 360.804000 517.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 360.804000 529.492000 364.128000 517.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 364.104000 529.492000 369.420000 517.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 369.408000 529.492000 372.408000 517.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 372.804000 529.492000 375.804000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 376.104000 529.492000 382.104000 517.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 382.104000 529.492000 388.104000 517.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 388.104000 529.492000 394.104000 517.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 394.104000 529.492000 400.104000 517.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 400.104000 529.492000 406.104000 517.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 406.200000 529.492000 409.524000 517.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 409.800000 529.492000 412.800000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.400000 529.492000 416.400000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 416.700000 529.492000 420.696000 517.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 420.696000 529.492000 424.692000 517.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 424.692000 529.492000 430.692000 517.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 430.692000 529.492000 440.016000 517.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 440.292000 529.492000 443.292000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 443.592000 529.492000 448.908000 517.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 448.896000 529.492000 454.896000 517.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 455.196000 529.492000 458.196000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 458.496000 529.492000 463.812000 517.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 463.800000 529.492000 469.800000 517.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 469.800000 529.492000 473.124000 517.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 473.100000 529.492000 476.424000 517.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 476.496000 529.492000 482.496000 517.492000 1.000000 0.000000 0.000000 1.000000 q +drawChar 482.496000 529.492000 488.496000 517.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 488.496000 529.492000 493.812000 517.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 494.100000 529.492000 497.100000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 497.400000 529.492000 503.400000 517.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 503.304000 529.492000 508.620000 517.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 508.704000 529.492000 514.020000 517.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 514.008000 529.492000 517.332000 517.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 517.308000 529.492000 522.624000 517.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 522.612000 529.492000 526.608000 517.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 527.112000 529.492000 530.112000 517.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 530.412000 529.492000 533.736000 517.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 533.712000 529.492000 539.712000 517.492000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 529.492000 543.100000 517.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 515.992000 228.820000 503.992000 1.000000 0.000000 0.000000 1.000000 E +drawChar 228.796000 515.992000 234.796000 503.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 234.796000 515.992000 240.796000 503.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 240.796000 515.992000 244.120000 503.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 244.096000 515.992000 249.412000 503.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 249.400000 515.992000 255.400000 503.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 255.400000 515.992000 261.400000 503.992000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 261.500000 515.992000 264.500000 503.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.500000 515.992000 267.500000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 267.500000 515.992000 274.820000 503.992000 1.000000 0.000000 0.000000 1.000000 E +drawChar 274.700000 515.992000 278.024000 503.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 278.096000 515.992000 284.096000 503.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 284.096000 515.992000 290.096000 503.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 290.192000 515.992000 293.516000 503.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 293.492000 515.992000 296.492000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 296.492000 515.992000 301.808000 503.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 301.688000 515.992000 307.688000 503.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 307.784000 515.992000 313.100000 503.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 313.088000 515.992000 316.412000 503.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 316.388000 515.992000 320.384000 503.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 320.384000 515.992000 325.052000 503.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 325.088000 515.992000 328.088000 503.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 328.088000 515.992000 331.088000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 331.088000 515.992000 334.412000 503.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 334.388000 515.992000 343.052000 503.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 343.088000 515.992000 349.088000 503.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 349.088000 515.992000 352.088000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 352.088000 515.992000 358.088000 503.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 358.088000 515.992000 362.084000 503.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 362.084000 515.992000 365.084000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.084000 515.992000 370.400000 503.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 370.388000 515.992000 375.704000 503.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 375.692000 515.992000 381.008000 503.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 380.996000 515.992000 386.996000 503.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 387.092000 515.992000 390.092000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 390.092000 515.992000 396.092000 503.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 396.092000 515.992000 400.088000 503.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 400.088000 515.992000 403.088000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.088000 515.992000 406.412000 503.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 406.292000 515.992000 412.292000 503.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 412.388000 515.992000 417.704000 503.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 417.788000 515.992000 420.788000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 420.788000 515.992000 424.784000 503.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 424.688000 515.992000 430.688000 503.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 430.688000 515.992000 436.688000 503.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 436.688000 515.992000 440.684000 503.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 440.684000 515.992000 443.684000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 443.684000 515.992000 449.684000 503.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 449.588000 515.992000 452.912000 503.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 452.984000 515.992000 456.980000 503.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 456.980000 515.992000 460.976000 503.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 460.976000 515.992000 466.292000 503.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 466.280000 515.992000 470.276000 503.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 470.276000 515.992000 475.592000 503.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 475.580000 515.992000 481.580000 503.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 481.580000 515.992000 484.904000 503.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 485.084000 515.992000 488.084000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.084000 515.992000 492.752000 503.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 492.788000 515.992000 496.112000 503.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 496.088000 515.992000 502.088000 503.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 501.992000 515.992000 505.316000 503.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 505.292000 515.992000 510.608000 503.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 510.596000 515.992000 515.264000 503.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 515.300000 515.992000 518.300000 503.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 518.396000 515.992000 521.396000 503.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 521.396000 515.992000 526.064000 503.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 526.100000 515.992000 532.100000 503.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 532.100000 515.992000 536.096000 503.992000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 515.992000 540.196000 503.992000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 502.592000 225.496000 490.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 225.496000 502.592000 231.496000 490.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.496000 502.592000 237.496000 490.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 237.496000 502.592000 243.496000 490.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 243.496000 502.592000 249.496000 490.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 249.496000 502.592000 252.496000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.592000 502.592000 255.916000 490.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 255.892000 502.592000 261.892000 490.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 261.988000 502.592000 267.304000 490.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 267.388000 502.592000 270.388000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 270.484000 502.592000 273.808000 490.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 273.784000 502.592000 279.100000 490.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 279.088000 502.592000 283.084000 490.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 283.084000 502.592000 289.084000 490.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 289.084000 502.592000 294.400000 490.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 294.484000 502.592000 297.484000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 297.580000 502.592000 303.580000 490.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 303.580000 502.592000 309.580000 490.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 309.484000 502.592000 314.800000 490.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 314.788000 502.592000 318.112000 490.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 318.292000 502.592000 321.292000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 321.388000 502.592000 324.712000 490.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 324.688000 502.592000 330.004000 490.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 329.992000 502.592000 335.992000 490.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 335.992000 502.592000 339.316000 490.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 339.292000 502.592000 344.608000 490.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.596000 502.592000 347.596000 490.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.800000 502.592000 350.800000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.896000 502.592000 357.568000 490.592000 1.000000 0.000000 0.000000 1.000000 S +drawChar 357.496000 502.592000 360.820000 490.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 360.892000 502.592000 366.892000 490.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 366.892000 502.592000 372.208000 490.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 372.196000 502.592000 377.512000 490.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 377.596000 502.592000 380.596000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.692000 502.592000 384.016000 490.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 383.992000 502.592000 389.992000 490.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 390.088000 502.592000 395.404000 490.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.392000 502.592000 401.392000 490.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 401.392000 502.592000 404.392000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 404.488000 502.592000 409.804000 490.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 409.792000 502.592000 413.788000 490.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 413.788000 502.592000 419.104000 490.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 419.188000 502.592000 422.188000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.284000 502.592000 427.600000 490.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 427.588000 502.592000 430.912000 490.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 430.888000 502.592000 434.212000 490.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 434.392000 502.592000 437.392000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.488000 502.592000 441.484000 490.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 441.484000 502.592000 445.480000 490.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 445.480000 502.592000 451.480000 490.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 451.480000 502.592000 460.804000 490.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 460.780000 502.592000 463.780000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 463.876000 502.592000 467.200000 490.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 467.176000 502.592000 473.176000 490.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 473.272000 502.592000 478.588000 490.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 478.672000 502.592000 481.672000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 481.768000 502.592000 486.436000 490.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 486.472000 502.592000 491.788000 490.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 491.776000 502.592000 501.100000 490.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 501.076000 502.592000 506.392000 490.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 506.476000 502.592000 509.476000 490.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 509.572000 502.592000 518.896000 490.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 518.872000 502.592000 524.188000 490.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 524.176000 502.592000 530.176000 490.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 530.176000 502.592000 536.176000 490.592000 1.000000 0.000000 0.000000 1.000000 u +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 502.592000 540.196000 490.592000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 489.092000 225.496000 477.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 225.496000 489.092000 230.812000 477.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 230.800000 489.092000 236.116000 477.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 236.104000 489.092000 239.428000 477.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 239.404000 489.092000 245.404000 477.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 245.404000 489.092000 249.400000 477.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 249.400000 489.092000 254.716000 477.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 254.704000 489.092000 258.700000 477.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 258.700000 489.092000 261.700000 477.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 261.796000 489.092000 264.796000 477.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.796000 489.092000 268.120000 477.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 268.096000 489.092000 274.096000 477.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 274.096000 489.092000 280.096000 477.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 280.096000 489.092000 286.096000 477.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 286.096000 489.092000 292.096000 477.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 292.096000 489.092000 298.096000 477.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 298.096000 489.092000 301.096000 477.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 301.096000 489.092000 304.096000 477.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 304.096000 489.092000 307.420000 477.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 307.396000 489.092000 313.396000 477.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 313.492000 489.092000 318.808000 477.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 318.796000 489.092000 324.796000 477.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 324.796000 489.092000 327.796000 477.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.796000 489.092000 337.120000 477.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 337.096000 489.092000 342.412000 477.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 342.400000 489.092000 345.724000 477.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 345.700000 489.092000 351.016000 477.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 351.004000 489.092000 357.004000 477.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 357.100000 489.092000 360.100000 477.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 360.100000 489.092000 368.764000 477.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 368.800000 489.092000 374.116000 477.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 374.104000 489.092000 377.428000 477.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 377.404000 489.092000 380.728000 477.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 380.704000 489.092000 383.704000 477.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 469.692000 230.164000 457.692000 1.000000 0.000000 0.000000 1.000000 Y +drawChar 230.200000 469.692000 236.200000 457.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 236.200000 469.692000 242.200000 457.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 242.800000 469.692000 245.800000 457.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 246.400000 469.692000 255.064000 457.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 255.100000 469.692000 261.100000 457.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 261.100000 469.692000 267.100000 457.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 267.100000 469.692000 270.424000 457.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 270.400000 469.692000 276.400000 457.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 277.000000 469.692000 280.000000 457.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 280.696000 469.692000 286.012000 457.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 286.000000 469.692000 292.000000 457.692000 1.000000 0.000000 0.000000 1.000000 x +drawChar 292.000000 469.692000 298.000000 457.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 297.904000 469.692000 303.220000 457.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 303.208000 469.692000 308.524000 457.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 308.512000 469.692000 311.836000 457.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 312.616000 469.692000 315.616000 457.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 316.216000 469.692000 319.540000 457.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 319.516000 469.692000 325.516000 457.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 326.212000 469.692000 329.212000 457.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.812000 469.692000 333.808000 457.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 333.808000 469.692000 337.132000 457.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 337.204000 469.692000 343.204000 457.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 343.204000 469.692000 349.204000 457.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 349.804000 469.692000 352.804000 457.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 353.404000 469.692000 358.720000 457.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 358.708000 469.692000 364.708000 457.692000 1.000000 0.000000 0.000000 1.000000 x +drawChar 364.708000 469.692000 370.708000 457.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 370.612000 469.692000 375.928000 457.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 375.916000 469.692000 381.916000 457.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 381.916000 469.692000 386.584000 457.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 386.620000 469.692000 389.944000 457.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 390.016000 469.692000 396.016000 457.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 395.920000 469.692000 401.236000 457.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 401.224000 469.692000 404.224000 457.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 405.028000 469.692000 408.028000 457.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 408.628000 469.692000 413.944000 457.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 413.932000 469.692000 419.932000 457.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 419.932000 469.692000 423.256000 457.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 423.232000 469.692000 426.556000 457.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 426.628000 469.692000 432.628000 457.692000 1.000000 0.000000 0.000000 1.000000 q +drawChar 432.628000 469.692000 438.628000 457.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 438.628000 469.692000 443.944000 457.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 445.228000 469.692000 448.228000 457.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 448.300000 469.692000 454.300000 457.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 454.204000 469.692000 460.204000 457.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 460.204000 469.692000 464.200000 457.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 464.200000 469.692000 469.516000 457.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 469.504000 469.692000 474.820000 457.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 474.808000 469.692000 478.132000 457.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 478.204000 469.692000 483.520000 457.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 483.508000 469.692000 486.832000 457.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 486.904000 469.692000 492.904000 457.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 493.600000 469.692000 496.600000 457.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 497.200000 469.692000 500.524000 457.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 500.500000 469.692000 506.500000 457.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 507.100000 469.692000 510.100000 457.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 510.796000 469.692000 520.120000 457.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 520.096000 469.692000 525.412000 457.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 525.400000 469.692000 528.724000 457.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 528.700000 469.692000 534.016000 457.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 534.004000 469.692000 540.004000 457.692000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 469.692000 543.100000 457.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 456.192000 224.824000 444.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 456.192000 230.800000 444.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.896000 456.192000 236.212000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 237.196000 456.192000 240.196000 444.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.192000 456.192000 246.508000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 246.496000 456.192000 252.496000 444.192000 1.000000 0.000000 0.000000 1.000000 x +drawChar 252.496000 456.192000 258.496000 444.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 258.400000 456.192000 263.716000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.704000 456.192000 269.704000 444.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 269.704000 456.192000 274.372000 444.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 274.408000 456.192000 277.732000 444.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 277.804000 456.192000 283.804000 444.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 283.708000 456.192000 289.024000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 289.012000 456.192000 292.012000 444.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 293.212000 456.192000 296.212000 444.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 297.208000 456.192000 302.524000 444.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 302.512000 456.192000 308.512000 444.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 308.512000 456.192000 311.836000 444.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 311.812000 456.192000 315.136000 444.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 315.208000 456.192000 321.208000 444.192000 1.000000 0.000000 0.000000 1.000000 q +drawChar 321.208000 456.192000 327.208000 444.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 327.208000 456.192000 332.524000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 333.508000 456.192000 336.508000 444.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.504000 456.192000 340.828000 444.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 340.804000 456.192000 346.120000 444.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 346.108000 456.192000 352.108000 444.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 352.108000 456.192000 355.432000 444.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 355.408000 456.192000 360.724000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 360.712000 456.192000 363.712000 444.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.816000 456.192000 367.816000 444.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.812000 456.192000 376.804000 444.192000 1.000000 0.000000 0.000000 1.000000 B +drawChar 376.816000 456.192000 382.816000 444.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 382.816000 456.192000 386.140000 444.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 387.112000 456.192000 390.112000 444.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.108000 456.192000 395.104000 444.192000 1.000000 0.000000 0.000000 1.000000 I +drawChar 396.112000 456.192000 399.112000 444.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 400.108000 456.192000 406.108000 444.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 406.108000 456.192000 411.424000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 411.412000 456.192000 417.412000 444.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 417.412000 456.192000 422.728000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 422.716000 456.192000 426.712000 444.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 426.712000 456.192000 432.028000 444.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 432.016000 456.192000 435.340000 444.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 435.316000 456.192000 438.640000 444.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 438.712000 456.192000 444.712000 444.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 445.816000 456.192000 448.816000 444.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.812000 456.192000 455.812000 444.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 455.716000 456.192000 459.712000 444.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 459.712000 456.192000 465.028000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 465.016000 456.192000 469.012000 444.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 469.012000 456.192000 474.328000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 474.316000 456.192000 478.312000 444.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 479.416000 456.192000 482.416000 444.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 483.412000 456.192000 486.736000 444.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 486.712000 456.192000 492.712000 444.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 492.808000 456.192000 498.124000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 499.108000 456.192000 502.108000 444.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 503.104000 456.192000 512.428000 444.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 512.404000 456.192000 518.404000 444.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 518.404000 456.192000 524.404000 444.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 524.308000 456.192000 529.624000 444.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 529.612000 456.192000 533.608000 444.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 533.608000 456.192000 539.608000 444.192000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 456.192000 543.100000 444.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 442.792000 226.168000 430.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 226.204000 442.792000 229.528000 430.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 229.504000 442.792000 235.504000 430.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 235.408000 442.792000 238.732000 430.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 238.708000 442.792000 244.024000 430.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 245.512000 442.792000 248.512000 430.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 249.808000 442.792000 255.808000 430.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 255.808000 442.792000 259.804000 430.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 261.112000 442.792000 264.112000 430.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.408000 442.792000 268.732000 430.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 268.612000 442.792000 274.612000 430.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 274.708000 442.792000 280.024000 430.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 281.308000 442.792000 284.308000 430.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 285.604000 442.792000 291.604000 430.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 291.604000 442.792000 297.604000 430.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 297.604000 442.792000 303.604000 430.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 303.508000 442.792000 307.504000 430.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 307.504000 442.792000 312.820000 430.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 312.808000 442.792000 316.132000 430.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 316.204000 442.792000 321.520000 430.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.508000 442.792000 327.508000 430.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 327.508000 442.792000 330.832000 430.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 330.808000 442.792000 334.132000 430.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 334.204000 442.792000 340.204000 430.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 340.204000 442.792000 346.204000 430.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 346.204000 442.792000 350.872000 430.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 350.908000 442.792000 353.908000 430.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 355.312000 442.792000 358.312000 430.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 359.608000 442.792000 368.272000 430.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 368.212000 442.792000 374.212000 430.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 374.308000 442.792000 377.632000 430.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 377.608000 442.792000 380.932000 430.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 380.908000 442.792000 386.224000 430.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 388.804000 442.792000 391.804000 430.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 392.000000 442.792000 398.000000 430.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 398.000000 442.792000 404.000000 430.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 404.000000 442.792000 410.000000 430.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 410.000000 442.792000 415.316000 430.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 416.600000 442.792000 419.600000 430.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 420.896000 442.792000 426.212000 430.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 426.092000 442.792000 432.092000 430.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 432.188000 442.792000 435.512000 430.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 435.488000 442.792000 441.488000 430.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 441.488000 442.792000 446.804000 430.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 446.792000 442.792000 449.792000 430.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 451.196000 442.792000 454.196000 430.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.492000 442.792000 459.488000 430.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 459.488000 442.792000 463.484000 430.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 463.484000 442.792000 469.484000 430.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 469.484000 442.792000 478.808000 430.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 480.080000 442.792000 483.080000 430.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 484.376000 442.792000 491.696000 430.792000 1.000000 0.000000 0.000000 1.000000 E +drawChar 491.672000 442.792000 497.672000 430.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 497.672000 442.792000 503.672000 430.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 503.672000 442.792000 506.996000 430.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 506.972000 442.792000 512.288000 430.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 512.276000 442.792000 518.276000 430.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 518.276000 442.792000 524.276000 430.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 525.680000 442.792000 528.680000 430.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 529.976000 442.792000 535.292000 430.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 535.280000 442.792000 539.948000 430.792000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 442.792000 543.100000 430.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 429.292000 230.164000 417.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 230.200000 429.292000 235.516000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.504000 429.292000 238.828000 417.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 238.804000 429.292000 242.128000 417.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 242.104000 429.292000 245.104000 417.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.500000 429.292000 248.500000 417.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 248.896000 429.292000 256.216000 417.292000 1.000000 0.000000 0.000000 1.000000 T +drawChar 256.192000 429.292000 262.192000 417.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 262.288000 429.292000 267.604000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 268.288000 429.292000 271.288000 417.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 271.300000 429.292000 275.968000 417.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 276.004000 429.292000 279.328000 417.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 279.304000 429.292000 282.628000 417.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 282.604000 429.292000 288.604000 417.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 288.508000 429.292000 293.824000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 293.812000 429.292000 297.808000 417.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 297.808000 429.292000 306.472000 417.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 306.508000 429.292000 311.824000 417.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 311.812000 429.292000 315.808000 417.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 315.808000 429.292000 321.124000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.604000 429.292000 324.604000 417.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.000000 429.292000 328.324000 417.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 328.396000 429.292000 333.064000 417.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 332.992000 429.292000 338.992000 417.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 338.992000 429.292000 341.152000 417.292000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 341.188000 429.292000 344.512000 417.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 344.884000 429.292000 347.884000 417.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.280000 429.292000 352.276000 417.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 352.276000 429.292000 357.592000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 357.580000 429.292000 362.896000 417.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 362.884000 429.292000 366.208000 417.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 366.580000 429.292000 369.580000 417.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.976000 429.292000 374.644000 417.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 374.680000 429.292000 378.004000 417.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 378.076000 429.292000 381.400000 417.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 381.376000 429.292000 387.376000 417.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 387.280000 429.292000 392.596000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 392.584000 429.292000 396.580000 417.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 396.580000 429.292000 399.580000 417.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 399.976000 429.292000 402.976000 417.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.372000 429.292000 409.372000 417.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 409.372000 429.292000 415.372000 417.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 415.372000 429.292000 418.696000 417.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 419.068000 429.292000 422.068000 417.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.464000 429.292000 425.788000 417.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 425.764000 429.292000 429.088000 417.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 429.160000 429.292000 438.484000 417.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 438.460000 429.292000 443.776000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 443.764000 429.292000 447.088000 417.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 447.064000 429.292000 452.380000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 452.368000 429.292000 457.036000 417.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 457.072000 429.292000 461.740000 417.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 461.776000 429.292000 465.100000 417.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 465.076000 429.292000 471.076000 417.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 471.472000 429.292000 474.472000 417.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 474.868000 429.292000 480.184000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 480.172000 429.292000 483.496000 417.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 483.472000 429.292000 488.788000 417.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 488.776000 429.292000 494.776000 417.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 494.776000 429.292000 500.092000 417.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 500.080000 429.292000 506.080000 417.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 506.080000 429.292000 509.404000 417.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 509.884000 429.292000 512.884000 417.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 513.280000 429.292000 517.948000 417.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 517.984000 429.292000 521.308000 417.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 521.284000 429.292000 526.600000 417.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 526.588000 429.292000 529.912000 417.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 529.984000 429.292000 535.984000 417.292000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 429.292000 540.196000 417.292000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 415.892000 224.824000 403.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 224.800000 415.892000 230.116000 403.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 230.104000 415.892000 234.772000 403.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 234.808000 415.892000 239.476000 403.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 240.304000 415.892000 243.304000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 244.204000 415.892000 248.872000 403.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 248.908000 415.892000 252.232000 403.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 252.208000 415.892000 257.524000 403.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 257.512000 415.892000 262.828000 403.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 262.816000 415.892000 266.140000 403.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 266.920000 415.892000 269.920000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 270.820000 415.892000 276.136000 403.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 276.124000 415.892000 282.124000 403.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 282.124000 415.892000 285.448000 403.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 285.424000 415.892000 288.748000 403.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 288.724000 415.892000 294.040000 403.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 294.028000 415.892000 298.024000 403.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 298.024000 415.892000 304.024000 403.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 304.024000 415.892000 307.024000 403.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 307.924000 415.892000 310.924000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 311.824000 415.892000 319.816000 403.892000 1.000000 0.000000 0.000000 1.000000 R +drawChar 319.828000 415.892000 325.144000 403.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 325.132000 415.892000 330.448000 403.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 330.436000 415.892000 333.760000 403.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 334.636000 415.892000 337.636000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.440000 415.892000 343.108000 403.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 343.144000 415.892000 346.468000 403.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 346.540000 415.892000 349.864000 403.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 349.840000 415.892000 355.840000 403.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 355.744000 415.892000 361.060000 403.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 361.048000 415.892000 365.044000 403.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 365.944000 415.892000 368.944000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.748000 415.892000 379.072000 403.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 379.048000 415.892000 385.048000 403.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 385.048000 415.892000 389.716000 403.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 389.752000 415.892000 393.076000 403.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 393.952000 415.892000 396.952000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.756000 415.892000 403.756000 403.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 403.756000 415.892000 409.072000 403.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.852000 415.892000 412.852000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.752000 415.892000 417.748000 403.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 417.748000 415.892000 423.064000 403.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 423.052000 415.892000 429.052000 403.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 429.052000 415.892000 435.052000 403.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 435.052000 415.892000 438.376000 403.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 438.352000 415.892000 443.668000 403.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 443.656000 415.892000 447.652000 403.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 447.652000 415.892000 450.976000 403.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 450.952000 415.892000 456.952000 403.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 457.852000 415.892000 460.852000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 461.752000 415.892000 467.752000 403.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 467.656000 415.892000 473.656000 403.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 473.656000 415.892000 476.980000 403.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 476.956000 415.892000 480.280000 403.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 480.352000 415.892000 485.020000 403.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 484.948000 415.892000 490.948000 403.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 491.044000 415.892000 496.360000 403.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 496.348000 415.892000 502.348000 403.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 502.252000 415.892000 505.252000 403.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 506.152000 415.892000 509.152000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 510.052000 415.892000 515.368000 403.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 515.356000 415.892000 521.356000 403.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 521.356000 415.892000 527.356000 403.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 528.160000 415.892000 531.160000 403.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 532.060000 415.892000 535.384000 403.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 535.360000 415.892000 540.028000 403.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 415.892000 543.200000 403.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 402.392000 227.500000 390.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 227.500000 402.392000 233.500000 390.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 233.500000 402.392000 236.824000 390.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 236.800000 402.392000 239.800000 390.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.800000 402.392000 245.800000 390.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 245.704000 402.392000 251.020000 390.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 251.008000 402.392000 255.004000 390.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 255.004000 402.392000 258.328000 390.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 258.304000 402.392000 261.628000 390.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 261.700000 402.392000 267.016000 390.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 267.004000 402.392000 273.004000 390.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 273.004000 402.392000 276.328000 390.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 276.400000 402.392000 281.716000 390.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 281.704000 402.392000 285.700000 390.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 285.700000 402.392000 289.024000 390.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 289.096000 402.392000 295.096000 390.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 295.192000 402.392000 298.192000 390.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 298.192000 402.392000 302.860000 390.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 302.788000 402.392000 308.788000 390.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 308.788000 402.392000 312.112000 390.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 312.184000 402.392000 315.508000 390.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 315.484000 402.392000 320.800000 390.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.788000 402.392000 326.788000 390.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 326.788000 402.392000 329.788000 390.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.788000 402.392000 333.784000 390.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 333.784000 402.392000 339.784000 390.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 339.784000 402.392000 343.780000 390.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 343.780000 402.392000 346.780000 390.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.780000 402.392000 350.104000 390.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 350.080000 402.392000 356.080000 390.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 356.176000 402.392000 361.492000 390.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 361.480000 402.392000 364.480000 390.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 364.480000 402.392000 370.480000 390.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 370.384000 402.392000 373.708000 390.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 373.780000 402.392000 378.448000 390.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 378.376000 402.392000 384.376000 390.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 384.472000 402.392000 393.136000 390.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 393.172000 402.392000 398.488000 390.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 398.368000 402.392000 403.036000 390.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 403.072000 402.392000 409.072000 390.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 409.168000 402.392000 414.484000 390.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 414.472000 402.392000 418.468000 390.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 418.468000 402.392000 421.468000 390.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 421.468000 402.392000 426.784000 390.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 426.664000 402.392000 429.988000 390.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 430.060000 402.392000 433.384000 390.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 433.360000 402.392000 439.360000 390.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 439.456000 402.392000 444.772000 390.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 444.760000 402.392000 448.756000 390.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 448.756000 402.392000 451.756000 390.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 108.100000 361.388000 118.772000 345.388000 1.000000 0.000000 0.000000 1.000000 S +drawChar 118.804000 361.388000 127.700000 345.388000 1.000000 0.000000 0.000000 1.000000 e +drawChar 127.700000 361.388000 136.596000 345.388000 1.000000 0.000000 0.000000 1.000000 c +drawChar 136.596000 361.388000 146.372000 345.388000 1.000000 0.000000 0.000000 1.000000 o +drawChar 146.404000 361.388000 156.180000 345.388000 1.000000 0.000000 0.000000 1.000000 n +drawChar 156.308000 361.388000 166.084000 345.388000 1.000000 0.000000 0.000000 1.000000 d +drawChar 166.212000 361.388000 170.660000 345.388000 1.000000 0.000000 0.000000 1.000000 +drawChar 170.708000 361.388000 180.484000 345.388000 1.000000 0.000000 0.000000 1.000000 F +drawChar 180.516000 361.388000 184.964000 345.388000 1.000000 0.000000 0.000000 1.000000 l +drawChar 184.916000 361.388000 194.692000 345.388000 1.000000 0.000000 0.000000 1.000000 o +drawChar 194.724000 361.388000 204.500000 345.388000 1.000000 0.000000 0.000000 1.000000 o +drawChar 204.532000 361.388000 210.756000 345.388000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 340.292000 228.172000 328.292000 1.000000 0.000000 0.000000 1.000000 F +drawChar 228.100000 340.292000 232.096000 328.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 232.096000 340.292000 238.096000 328.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 238.096000 340.292000 247.420000 328.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 248.200000 340.292000 251.200000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.004000 340.292000 255.328000 328.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 255.208000 340.292000 261.208000 328.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 261.304000 340.292000 266.620000 328.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 267.304000 340.292000 270.304000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.108000 340.292000 277.108000 328.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 277.108000 340.292000 282.424000 328.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 282.412000 340.292000 285.736000 328.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 285.712000 340.292000 289.036000 328.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 289.012000 340.292000 297.676000 328.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 297.712000 340.292000 303.028000 328.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 303.016000 340.292000 309.016000 328.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 309.820000 340.292000 312.820000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 313.516000 340.292000 319.516000 328.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 319.516000 340.292000 325.516000 328.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 326.212000 340.292000 329.212000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.016000 340.292000 333.340000 328.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 333.220000 340.292000 339.220000 328.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 339.316000 340.292000 344.632000 328.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 345.316000 340.292000 348.316000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.120000 340.292000 353.788000 328.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 353.824000 340.292000 359.140000 328.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 359.128000 340.292000 364.444000 328.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 364.432000 340.292000 370.432000 328.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 370.432000 340.292000 376.432000 328.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 376.432000 340.292000 382.432000 328.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 383.128000 340.292000 386.128000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.824000 340.292000 390.820000 328.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 390.820000 340.292000 394.144000 328.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 394.120000 340.292000 400.120000 328.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 400.120000 340.292000 406.120000 328.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 406.120000 340.292000 410.116000 328.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 410.920000 340.292000 413.920000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.616000 340.292000 417.940000 328.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 417.916000 340.292000 423.916000 328.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 424.012000 340.292000 429.328000 328.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 429.316000 340.292000 433.312000 328.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 433.312000 340.292000 438.628000 328.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 439.312000 340.292000 442.312000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 443.116000 340.292000 448.432000 328.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 448.420000 340.292000 452.416000 328.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 452.416000 340.292000 457.732000 328.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 458.416000 340.292000 461.416000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.220000 340.292000 468.220000 328.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 468.220000 340.292000 474.220000 328.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 474.220000 340.292000 477.544000 328.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 477.520000 340.292000 483.520000 328.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 484.216000 340.292000 487.216000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.020000 340.292000 491.344000 328.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 491.320000 340.292000 499.984000 328.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 500.020000 340.292000 506.020000 328.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 506.716000 340.292000 509.716000 328.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 510.412000 340.292000 516.412000 328.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 516.316000 340.292000 522.316000 328.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 522.316000 340.292000 528.316000 328.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 528.316000 340.292000 532.312000 328.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 532.312000 340.292000 536.980000 328.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 537.016000 340.292000 540.016000 328.292000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 340.292000 543.100000 328.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 326.792000 227.500000 314.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 227.500000 326.792000 233.500000 314.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 233.500000 326.792000 238.816000 314.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 239.104000 326.792000 242.104000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 242.404000 326.792000 245.728000 314.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 245.704000 326.792000 251.020000 314.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 251.008000 326.792000 256.324000 314.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 256.312000 326.792000 262.312000 314.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 262.216000 326.792000 265.540000 314.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 265.612000 326.792000 271.612000 314.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 271.612000 326.792000 277.612000 314.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 278.008000 326.792000 281.008000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.308000 326.792000 284.632000 314.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 284.608000 326.792000 290.608000 314.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 290.812000 326.792000 293.812000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 294.112000 326.792000 297.436000 314.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 297.412000 326.792000 303.412000 314.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 303.508000 326.792000 308.824000 314.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 309.112000 326.792000 312.112000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 312.412000 326.792000 315.736000 314.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 315.712000 326.792000 321.028000 314.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.016000 326.792000 325.012000 314.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 325.012000 326.792000 328.336000 314.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 328.612000 326.792000 331.612000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 331.912000 326.792000 337.228000 314.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 337.216000 326.792000 343.216000 314.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 343.216000 326.792000 349.216000 314.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 349.516000 326.792000 352.516000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 352.816000 326.792000 356.140000 314.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 356.020000 326.792000 362.020000 314.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 362.116000 326.792000 367.432000 314.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 367.720000 326.792000 370.720000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 371.020000 326.792000 377.020000 314.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 377.020000 326.792000 380.344000 314.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 380.224000 326.792000 386.224000 314.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 386.320000 326.792000 391.636000 314.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 391.624000 326.792000 395.620000 314.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 395.920000 326.792000 398.920000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 399.220000 326.792000 402.544000 314.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 402.520000 326.792000 408.520000 314.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 408.820000 326.792000 411.820000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 412.120000 326.792000 415.444000 314.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 415.324000 326.792000 421.324000 314.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 421.420000 326.792000 426.736000 314.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 427.024000 326.792000 430.024000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.324000 326.792000 434.320000 314.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 434.320000 326.792000 437.644000 314.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 437.620000 326.792000 443.620000 314.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 443.620000 326.792000 449.620000 314.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 449.716000 326.792000 453.040000 314.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 453.016000 326.792000 456.016000 314.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.220000 326.792000 459.220000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.520000 326.792000 468.184000 314.792000 1.000000 0.000000 0.000000 1.000000 A +drawChar 468.424000 326.792000 471.424000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 471.724000 326.792000 480.388000 314.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 480.424000 326.792000 486.424000 314.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 486.424000 326.792000 492.424000 314.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 492.424000 326.792000 498.424000 314.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 498.328000 326.792000 503.644000 314.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 503.632000 326.792000 509.632000 314.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 510.028000 326.792000 513.028000 314.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 513.328000 326.792000 517.996000 314.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 518.032000 326.792000 524.032000 314.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 523.936000 326.792000 527.260000 314.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 527.332000 326.792000 531.328000 314.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 531.328000 326.792000 536.644000 314.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 536.632000 326.792000 539.956000 314.792000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 326.792000 543.100000 314.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 313.392000 226.168000 301.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 226.204000 313.392000 229.528000 301.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 229.504000 313.392000 234.820000 301.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 234.808000 313.392000 238.132000 301.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 238.204000 313.392000 242.200000 301.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 242.200000 313.392000 247.516000 301.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 247.504000 313.392000 252.820000 301.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 252.808000 313.392000 257.476000 301.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 257.512000 313.392000 262.828000 301.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 262.816000 313.392000 265.816000 301.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.816000 313.392000 269.140000 301.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 269.116000 313.392000 274.432000 301.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 274.420000 313.392000 279.736000 301.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 279.820000 313.392000 285.820000 301.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 285.724000 313.392000 290.392000 301.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 290.524000 313.392000 293.524000 301.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.524000 313.392000 299.524000 301.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 299.524000 313.392000 305.524000 301.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 305.524000 313.392000 308.524000 301.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 308.524000 313.392000 311.848000 301.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 311.824000 313.392000 317.824000 301.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 317.824000 313.392000 320.824000 301.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.824000 313.392000 324.148000 301.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 324.124000 313.392000 330.124000 301.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 330.220000 313.392000 335.536000 301.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.524000 313.392000 338.524000 301.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.524000 313.392000 343.840000 301.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 343.828000 313.392000 347.152000 301.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 347.128000 313.392000 350.452000 301.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 350.428000 313.392000 353.752000 301.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 353.824000 313.392000 359.140000 301.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 359.128000 313.392000 362.128000 301.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 108.100000 278.752000 117.438000 264.752000 1.000000 0.000000 0.000000 1.000000 S +drawChar 117.396000 278.752000 122.058000 264.752000 1.000000 0.000000 0.000000 1.000000 t +drawChar 122.002000 278.752000 130.556000 264.752000 1.000000 0.000000 0.000000 1.000000 u +drawChar 130.500000 278.752000 139.054000 264.752000 1.000000 0.000000 0.000000 1.000000 d +drawChar 138.998000 278.752000 146.782000 264.752000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 259.592000 228.820000 247.592000 1.000000 0.000000 0.000000 1.000000 T +drawChar 228.796000 259.592000 234.796000 247.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 235.792000 259.592000 238.792000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.788000 259.592000 243.112000 247.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 242.992000 259.592000 248.992000 247.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 249.088000 259.592000 254.404000 247.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.388000 259.592000 258.388000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.384000 259.592000 263.380000 247.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 263.284000 259.592000 266.608000 247.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 266.680000 259.592000 272.680000 247.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 272.680000 259.592000 278.680000 247.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 278.776000 259.592000 282.100000 247.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 282.076000 259.592000 285.076000 247.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 285.976000 259.592000 288.976000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.972000 259.592000 295.288000 247.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 296.272000 259.592000 299.272000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 300.268000 259.592000 306.268000 247.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 306.268000 259.592000 311.584000 247.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 311.572000 259.592000 314.896000 247.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 314.872000 259.592000 318.196000 247.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 318.172000 259.592000 326.836000 247.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 326.872000 259.592000 332.188000 247.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 332.176000 259.592000 338.176000 247.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 339.172000 259.592000 342.172000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.168000 259.592000 346.492000 247.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 346.468000 259.592000 351.784000 247.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 351.772000 259.592000 357.088000 247.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 357.172000 259.592000 363.172000 247.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 363.076000 259.592000 367.744000 247.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 368.776000 259.592000 371.776000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.772000 259.592000 376.096000 247.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 376.072000 259.592000 382.072000 247.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 383.068000 259.592000 386.068000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.064000 259.592000 396.388000 247.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 396.364000 259.592000 402.364000 247.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 403.360000 259.592000 406.360000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 407.356000 259.592000 412.024000 247.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 412.060000 259.592000 415.384000 247.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 415.360000 259.592000 421.360000 247.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 421.360000 259.592000 427.360000 247.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 427.360000 259.592000 433.360000 247.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 433.264000 259.592000 436.264000 247.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.368000 259.592000 440.368000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.364000 259.592000 448.684000 247.592000 1.000000 0.000000 0.000000 1.000000 T +drawChar 448.564000 259.592000 454.564000 247.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 454.660000 259.592000 459.976000 247.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 460.960000 259.592000 463.960000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.956000 259.592000 474.280000 247.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 474.256000 259.592000 480.256000 247.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 480.256000 259.592000 484.924000 247.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 484.960000 259.592000 488.284000 247.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 489.256000 259.592000 492.256000 247.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 493.252000 259.592000 496.576000 247.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 496.552000 259.592000 505.876000 247.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 505.852000 259.592000 511.852000 247.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 511.756000 259.592000 517.756000 247.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 517.756000 259.592000 521.752000 247.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 521.752000 259.592000 525.076000 247.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 525.148000 259.592000 530.464000 247.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 530.452000 259.592000 536.452000 247.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 536.452000 259.592000 539.776000 247.592000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 259.592000 543.100000 247.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 246.092000 227.500000 234.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 227.404000 246.092000 230.728000 234.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 230.800000 246.092000 236.116000 234.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.104000 246.092000 241.420000 234.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 241.408000 246.092000 246.724000 234.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.104000 246.092000 251.104000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.400000 246.092000 258.400000 234.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 258.400000 246.092000 262.396000 234.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 263.704000 246.092000 266.704000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 268.000000 246.092000 271.996000 234.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 271.996000 246.092000 277.996000 234.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 277.996000 246.092000 281.992000 234.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 281.992000 246.092000 287.992000 234.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 287.992000 246.092000 291.316000 234.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 291.388000 246.092000 294.712000 234.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 294.688000 246.092000 300.688000 234.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 300.688000 246.092000 304.684000 234.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 304.684000 246.092000 310.000000 234.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 311.284000 246.092000 314.284000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.580000 246.092000 318.904000 234.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 318.976000 246.092000 324.976000 234.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 326.176000 246.092000 329.176000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.472000 246.092000 333.796000 234.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 333.772000 246.092000 339.772000 234.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 339.772000 246.092000 343.096000 234.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 343.168000 246.092000 347.836000 234.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 349.168000 246.092000 352.168000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 353.464000 246.092000 357.460000 234.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 357.460000 246.092000 363.460000 234.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 363.460000 246.092000 369.460000 234.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 369.460000 246.092000 378.784000 234.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 380.056000 246.092000 383.056000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.352000 246.092000 387.676000 234.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 387.748000 246.092000 392.416000 234.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 393.652000 246.092000 396.652000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.948000 246.092000 401.272000 234.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 401.248000 246.092000 407.248000 234.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 407.344000 246.092000 412.660000 234.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.944000 246.092000 416.944000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 418.240000 246.092000 423.556000 234.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 423.544000 246.092000 429.544000 234.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 429.544000 246.092000 435.544000 234.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 435.544000 246.092000 440.212000 234.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 440.140000 246.092000 443.464000 234.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 443.536000 246.092000 449.536000 234.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 449.440000 246.092000 454.756000 234.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 454.744000 246.092000 458.740000 234.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 458.740000 246.092000 464.056000 234.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 464.044000 246.092000 470.044000 234.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 470.140000 246.092000 473.464000 234.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 473.440000 246.092000 479.440000 234.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 480.844000 246.092000 483.844000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 485.140000 246.092000 488.464000 234.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 488.440000 246.092000 493.756000 234.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 493.744000 246.092000 497.740000 234.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 497.740000 246.092000 503.740000 234.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 503.740000 246.092000 509.056000 234.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 510.436000 246.092000 513.436000 234.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 514.732000 246.092000 520.732000 234.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 520.636000 246.092000 525.952000 234.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 525.940000 246.092000 530.608000 234.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 530.644000 246.092000 536.644000 234.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 536.644000 246.092000 539.644000 234.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 246.092000 543.200000 234.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 232.692000 229.492000 220.692000 1.000000 0.000000 0.000000 1.000000 B +drawChar 229.504000 232.692000 232.828000 220.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 232.804000 232.692000 238.120000 220.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 238.108000 232.692000 243.424000 220.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 243.412000 232.692000 249.412000 220.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 249.508000 232.692000 252.508000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.508000 232.692000 257.824000 220.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 257.812000 232.692000 263.812000 220.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 263.812000 232.692000 269.812000 220.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 269.908000 232.692000 272.908000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.908000 232.692000 281.572000 220.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 281.608000 232.692000 287.608000 220.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 287.608000 232.692000 290.932000 220.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 291.004000 232.692000 294.328000 220.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 294.304000 232.692000 299.620000 220.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 299.608000 232.692000 302.608000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.608000 232.692000 308.608000 220.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 308.512000 232.692000 314.512000 220.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 314.608000 232.692000 320.608000 220.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 320.608000 232.692000 323.932000 220.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 323.908000 232.692000 329.908000 220.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 329.908000 232.692000 334.576000 220.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 334.612000 232.692000 337.612000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.708000 232.692000 343.708000 220.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 343.708000 232.692000 347.704000 220.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 347.704000 232.692000 350.704000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.800000 232.692000 353.800000 220.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 353.900000 232.692000 362.564000 220.692000 1.000000 0.000000 0.000000 1.000000 N +drawChar 362.504000 232.692000 367.820000 220.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 367.808000 232.692000 376.472000 220.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 376.604000 232.692000 379.604000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.604000 232.692000 388.268000 220.692000 1.000000 0.000000 0.000000 1.000000 Y +drawChar 388.304000 232.692000 394.304000 220.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 394.304000 232.692000 398.300000 220.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 398.300000 232.692000 404.300000 220.692000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 404.300000 232.692000 407.300000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 407.300000 232.692000 410.624000 220.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 410.696000 232.692000 416.696000 220.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 416.600000 232.692000 419.600000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 419.696000 232.692000 423.020000 220.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 422.900000 232.692000 428.900000 220.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 428.996000 232.692000 434.312000 220.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 434.396000 232.692000 437.396000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.396000 232.692000 443.396000 220.692000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 443.396000 232.692000 449.396000 220.692000 1.000000 0.000000 0.000000 1.000000 0 +drawChar 449.396000 232.692000 451.556000 220.692000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 451.496000 232.692000 456.164000 220.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 456.200000 232.692000 459.200000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.296000 232.692000 464.612000 220.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 464.600000 232.692000 470.600000 220.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 470.600000 232.692000 476.600000 220.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 476.600000 232.692000 479.600000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 479.696000 232.692000 485.696000 220.692000 1.000000 0.000000 0.000000 1.000000 3 +drawChar 485.696000 232.692000 491.696000 220.692000 1.000000 0.000000 0.000000 1.000000 0 +drawChar 491.696000 232.692000 493.856000 220.692000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 493.796000 232.692000 498.464000 220.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 498.500000 232.692000 501.500000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 501.500000 232.692000 507.500000 220.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 507.596000 232.692000 512.912000 220.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 512.900000 232.692000 518.900000 220.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 518.900000 232.692000 524.900000 220.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 524.900000 232.692000 527.900000 220.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 527.900000 232.692000 533.900000 220.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 533.900000 232.692000 539.900000 220.692000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 232.692000 543.100000 220.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 219.192000 224.824000 207.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 219.192000 230.800000 207.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.896000 219.192000 236.212000 207.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.500000 219.192000 239.500000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.896000 219.192000 248.560000 207.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 248.596000 219.192000 253.912000 207.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 253.900000 219.192000 257.224000 207.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 257.200000 219.192000 260.524000 207.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 260.500000 219.192000 265.168000 207.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 265.204000 219.192000 268.204000 207.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 268.600000 219.192000 271.600000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.996000 219.192000 279.316000 207.192000 1.000000 0.000000 0.000000 1.000000 T +drawChar 279.196000 219.192000 285.196000 207.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 285.292000 219.192000 290.608000 207.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 290.992000 219.192000 293.992000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 294.388000 219.192000 302.380000 207.192000 1.000000 0.000000 0.000000 1.000000 B +drawChar 302.392000 219.192000 307.708000 207.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 307.696000 219.192000 313.696000 207.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 314.092000 219.192000 317.092000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 317.488000 219.192000 322.804000 207.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 322.792000 219.192000 328.108000 207.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 328.096000 219.192000 334.096000 207.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 334.492000 219.192000 337.492000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.888000 219.192000 343.204000 207.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 343.192000 219.192000 346.516000 207.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 346.492000 219.192000 351.160000 207.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 351.196000 219.192000 357.196000 207.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.592000 219.192000 360.592000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 360.988000 219.192000 366.988000 207.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 366.988000 219.192000 372.304000 207.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 372.688000 219.192000 375.688000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 376.084000 219.192000 381.400000 207.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 381.388000 219.192000 387.388000 207.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 387.292000 219.192000 396.616000 207.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 396.592000 219.192000 399.916000 207.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 399.988000 219.192000 403.984000 207.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 403.984000 219.192000 409.300000 207.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.288000 219.192000 415.288000 207.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 415.684000 219.192000 418.684000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 419.080000 219.192000 423.076000 207.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 423.076000 219.192000 427.072000 207.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 427.072000 219.192000 433.072000 207.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 433.072000 219.192000 442.396000 207.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 442.768000 219.192000 445.768000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 446.164000 219.192000 449.488000 207.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 449.464000 219.192000 455.464000 207.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 455.560000 219.192000 460.876000 207.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 461.164000 219.192000 464.164000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.560000 219.192000 473.224000 207.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 473.260000 219.192000 476.584000 207.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 476.560000 219.192000 482.560000 207.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 482.560000 219.192000 488.560000 207.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 488.464000 219.192000 494.464000 207.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 494.464000 219.192000 503.128000 207.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 503.560000 219.192000 506.560000 207.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 506.956000 219.192000 512.956000 207.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 512.956000 219.192000 518.272000 207.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 518.260000 219.192000 524.260000 207.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 524.260000 219.192000 527.584000 207.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 527.656000 219.192000 533.656000 207.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 533.656000 219.192000 539.656000 207.192000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 219.192000 543.100000 207.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 205.792000 224.824000 193.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 205.792000 230.800000 193.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.896000 205.792000 236.212000 193.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 237.592000 205.792000 240.592000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.996000 205.792000 247.996000 193.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 247.900000 205.792000 253.216000 193.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 253.204000 205.792000 257.872000 193.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 257.908000 205.792000 263.908000 193.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 263.908000 205.792000 266.908000 193.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 268.408000 205.792000 271.408000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.908000 205.792000 281.572000 193.792000 1.000000 0.000000 0.000000 1.000000 O +drawChar 281.512000 205.792000 287.512000 193.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 288.916000 205.792000 291.916000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.416000 205.792000 296.740000 193.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 296.620000 205.792000 302.620000 193.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 302.716000 205.792000 308.032000 193.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 309.412000 205.792000 312.412000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 313.912000 205.792000 319.912000 193.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 319.912000 205.792000 325.912000 193.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 325.912000 205.792000 331.228000 193.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.608000 205.792000 335.608000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.108000 205.792000 343.108000 193.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 343.108000 205.792000 348.424000 193.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 348.412000 205.792000 354.412000 193.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 354.412000 205.792000 360.412000 193.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 360.316000 205.792000 363.316000 193.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 364.816000 205.792000 367.816000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.220000 205.792000 372.544000 193.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 372.520000 205.792000 378.520000 193.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 378.520000 205.792000 381.844000 193.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 381.916000 205.792000 386.584000 193.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 388.012000 205.792000 391.012000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 392.416000 205.792000 397.732000 193.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 397.720000 205.792000 403.036000 193.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 403.024000 205.792000 409.024000 193.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 410.524000 205.792000 413.524000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.928000 205.792000 419.596000 193.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 419.632000 205.792000 425.632000 193.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 425.632000 205.792000 434.956000 193.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 434.932000 205.792000 440.248000 193.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 440.236000 205.792000 443.560000 193.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 443.536000 205.792000 446.860000 193.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 446.932000 205.792000 456.256000 193.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 456.232000 205.792000 461.548000 193.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 461.536000 205.792000 466.204000 193.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 467.740000 205.792000 470.740000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 472.144000 205.792000 478.144000 193.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 478.144000 205.792000 483.460000 193.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 484.948000 205.792000 487.948000 193.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.352000 205.792000 495.352000 193.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 495.256000 205.792000 498.580000 193.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 498.652000 205.792000 503.320000 193.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 503.356000 205.792000 506.680000 193.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 506.656000 205.792000 510.652000 193.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 510.652000 205.792000 515.968000 193.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 515.956000 205.792000 521.272000 193.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 521.260000 205.792000 524.584000 193.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 524.560000 205.792000 527.884000 193.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 527.956000 205.792000 533.956000 193.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 533.956000 205.792000 539.956000 193.792000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 205.792000 543.200000 193.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 192.292000 230.164000 180.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 230.200000 192.292000 236.200000 180.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 236.200000 192.292000 241.516000 180.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 241.504000 192.292000 247.504000 180.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 247.900000 192.292000 250.900000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 251.296000 192.292000 255.292000 180.292000 1.000000 0.000000 0.000000 1.000000 I +drawChar 255.196000 192.292000 257.356000 180.292000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 257.392000 192.292000 266.716000 180.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 267.196000 192.292000 270.196000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 270.592000 192.292000 273.916000 180.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 273.892000 192.292000 277.888000 180.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 277.888000 192.292000 283.888000 180.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 283.792000 192.292000 287.116000 180.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 287.188000 192.292000 293.188000 180.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 293.188000 192.292000 299.188000 180.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 299.692000 192.292000 302.692000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 303.088000 192.292000 306.412000 180.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 306.388000 192.292000 312.388000 180.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 312.784000 192.292000 315.784000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 316.180000 192.292000 324.844000 180.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 324.880000 192.292000 330.880000 180.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 330.784000 192.292000 334.780000 180.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 334.780000 192.292000 340.780000 180.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 340.780000 192.292000 343.780000 180.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.176000 192.292000 347.176000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.572000 192.292000 355.564000 180.292000 1.000000 0.000000 0.000000 1.000000 B +drawChar 355.576000 192.292000 361.576000 180.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 361.576000 192.292000 364.900000 180.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 365.380000 192.292000 368.380000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.776000 192.292000 374.776000 180.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 374.776000 192.292000 380.776000 180.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 381.172000 192.292000 384.172000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.568000 192.292000 387.892000 180.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 387.772000 192.292000 393.772000 180.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 393.868000 192.292000 399.184000 180.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 399.664000 192.292000 402.664000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.060000 192.292000 409.060000 180.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 409.060000 192.292000 412.384000 180.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 412.264000 192.292000 418.264000 180.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 418.360000 192.292000 423.676000 180.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 423.664000 192.292000 427.660000 180.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 428.068000 192.292000 431.068000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.464000 192.292000 437.464000 180.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 437.560000 192.292000 442.876000 180.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 442.756000 192.292000 448.756000 180.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 448.756000 192.292000 454.756000 180.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 454.660000 192.292000 457.660000 180.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 458.164000 192.292000 461.164000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 461.560000 192.292000 464.884000 180.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 464.956000 192.292000 468.280000 180.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 468.652000 192.292000 471.652000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 472.048000 192.292000 477.364000 180.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 477.352000 192.292000 482.668000 180.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 482.656000 192.292000 488.656000 180.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 489.160000 192.292000 492.160000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 492.556000 192.292000 498.556000 180.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 498.556000 192.292000 503.872000 180.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 504.256000 192.292000 507.256000 180.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 507.652000 192.292000 512.968000 180.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 512.956000 192.292000 518.956000 180.292000 1.000000 0.000000 0.000000 1.000000 x +drawChar 518.956000 192.292000 524.272000 180.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 524.260000 192.292000 529.576000 180.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 529.564000 192.292000 535.564000 180.292000 1.000000 0.000000 0.000000 1.000000 p +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 192.292000 540.196000 180.292000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 178.892000 224.824000 166.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 178.892000 228.124000 166.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 228.196000 178.892000 234.196000 166.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 234.196000 178.892000 240.196000 166.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 240.196000 178.892000 245.512000 166.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 245.500000 178.892000 248.824000 166.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 248.800000 178.892000 252.124000 166.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 252.100000 178.892000 258.100000 166.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 258.700000 178.892000 261.700000 166.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.204000 178.892000 267.520000 166.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 267.508000 178.892000 272.824000 166.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 272.812000 178.892000 276.136000 166.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 276.112000 178.892000 285.436000 166.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 285.412000 178.892000 288.736000 166.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 288.808000 178.892000 294.808000 166.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 294.808000 178.892000 300.808000 166.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 301.312000 178.892000 304.312000 166.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 304.816000 178.892000 308.812000 166.892000 1.000000 0.000000 0.000000 1.000000 ( +drawChar 308.812000 178.892000 314.128000 166.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 314.116000 178.892000 320.116000 166.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 320.116000 178.892000 326.116000 166.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 326.716000 178.892000 329.716000 166.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.220000 178.892000 335.536000 166.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 335.524000 178.892000 338.848000 166.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 338.824000 178.892000 343.492000 166.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 343.528000 178.892000 349.528000 166.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 350.032000 178.892000 353.032000 166.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 353.536000 178.892000 359.536000 166.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 359.440000 178.892000 363.436000 166.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 363.436000 178.892000 369.436000 166.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 369.436000 178.892000 378.760000 166.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 378.736000 178.892000 384.736000 166.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 384.736000 178.892000 388.060000 166.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 388.036000 178.892000 393.352000 166.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 393.340000 178.892000 398.008000 166.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 398.740000 178.892000 401.740000 166.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 402.244000 178.892000 408.244000 166.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 408.244000 178.892000 413.560000 166.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.548000 178.892000 416.872000 166.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 416.848000 178.892000 420.172000 166.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 420.148000 178.892000 425.464000 166.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 425.452000 178.892000 429.448000 166.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 430.048000 178.892000 433.048000 166.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 433.552000 178.892000 438.868000 166.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 438.856000 178.892000 444.856000 166.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 444.856000 178.892000 450.856000 166.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 450.856000 178.892000 456.172000 166.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 456.160000 178.892000 461.476000 166.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 461.464000 178.892000 467.464000 166.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 467.464000 178.892000 470.788000 166.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 470.764000 178.892000 474.760000 166.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 474.760000 178.892000 480.076000 166.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 480.064000 178.892000 483.388000 166.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 483.364000 178.892000 486.688000 166.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 486.760000 178.892000 492.760000 166.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 492.760000 178.892000 498.760000 166.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.760000 178.892000 502.756000 166.892000 1.000000 0.000000 0.000000 1.000000 ) +drawChar 503.356000 178.892000 506.356000 166.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 506.860000 178.892000 510.184000 166.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 510.160000 178.892000 516.160000 166.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 516.664000 178.892000 519.664000 166.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 520.168000 178.892000 523.492000 166.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 523.468000 178.892000 528.784000 166.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 528.772000 178.892000 534.772000 166.892000 1.000000 0.000000 0.000000 1.000000 k +drawChar 534.772000 178.892000 540.088000 166.892000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 178.892000 543.100000 166.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 108.100000 89.992000 114.772000 77.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 114.796000 89.992000 120.112000 77.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 120.100000 89.992000 126.100000 77.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 126.100000 89.992000 131.416000 77.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 131.404000 89.992000 134.404000 77.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 134.400000 89.992000 140.400000 77.992000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 550.900000 0 504.000000 550.900000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 550.900000 0 +eoFillPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 241.100000 0 72.000000 241.100000 0 72.000000 72.000000 0 +eoFillPath subpath 1 72.000000 241.100000 0 116.200000 241.100000 0 116.200000 550.900000 0 72.000000 550.900000 0 72.000000 241.100000 0 +eoFillPath subpath 1 459.700000 241.100000 0 504.000000 241.100000 0 504.000000 550.900000 0 459.700000 550.900000 0 459.700000 241.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 701.500000 0 504.000000 701.500000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 701.500000 0 +eoFillPath subpath 1 72.000000 72.700000 0 504.000000 72.700000 0 504.000000 86.100000 0 72.000000 86.100000 0 72.000000 72.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 321.900000 716.588000 335.228000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 335.196000 716.588000 343.196000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 343.292000 716.588000 347.740000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.788000 716.588000 359.340000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 359.388000 716.588000 368.284000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 368.284000 716.588000 377.180000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 377.180000 716.588000 385.180000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 385.180000 716.588000 394.076000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.284000 716.588000 398.732000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.684000 716.588000 404.012000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 404.092000 716.588000 408.540000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 408.600000 716.588000 419.272000 700.588000 1.000000 0.000000 0.000000 1.000000 S +drawChar 419.208000 716.588000 428.104000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 428.104000 716.588000 436.104000 700.588000 1.000000 0.000000 0.000000 1.000000 c +drawChar 436.104000 716.588000 445.000000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 445.112000 716.588000 454.008000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 454.008000 716.588000 462.904000 700.588000 1.000000 0.000000 0.000000 1.000000 d +drawChar 463.112000 716.588000 467.560000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.512000 716.588000 477.288000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 477.320000 716.588000 480.872000 700.588000 1.000000 0.000000 0.000000 1.000000 l +drawChar 480.824000 716.588000 489.720000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 489.832000 716.588000 498.728000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 498.728000 716.588000 504.056000 700.588000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 672.992000 190.816000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 672.992000 196.804000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 197.008000 672.992000 200.008000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 200.212000 672.992000 206.212000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 206.212000 672.992000 211.528000 660.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 211.516000 672.992000 216.832000 660.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 216.820000 672.992000 222.136000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 222.124000 672.992000 226.792000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 226.828000 672.992000 230.152000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 230.224000 672.992000 236.224000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 236.224000 672.992000 242.224000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 242.224000 672.992000 247.540000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 247.528000 672.992000 250.852000 660.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 251.032000 672.992000 254.032000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 254.236000 672.992000 260.236000 660.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 260.236000 672.992000 264.232000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 264.232000 672.992000 269.548000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 269.536000 672.992000 274.852000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 274.840000 672.992000 280.840000 660.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 281.044000 672.992000 284.044000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 284.248000 672.992000 290.248000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 290.248000 672.992000 296.248000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 296.152000 672.992000 304.816000 660.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 305.056000 672.992000 308.056000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 308.260000 672.992000 313.576000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 313.564000 672.992000 319.564000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 319.564000 672.992000 325.564000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 325.768000 672.992000 328.768000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 328.972000 672.992000 332.296000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 332.176000 672.992000 338.176000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 338.272000 672.992000 343.588000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.576000 672.992000 349.576000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 349.780000 672.992000 352.780000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 352.984000 672.992000 356.308000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 356.284000 672.992000 362.284000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 362.488000 672.992000 365.488000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.692000 672.992000 370.360000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 370.288000 672.992000 373.612000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 373.684000 672.992000 383.008000 660.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 382.984000 672.992000 388.984000 660.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 388.888000 672.992000 392.212000 660.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 392.284000 672.992000 398.284000 660.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 398.488000 672.992000 401.488000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 401.692000 672.992000 410.356000 660.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 410.392000 672.992000 415.708000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 415.696000 672.992000 419.020000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 418.996000 672.992000 424.312000 660.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 424.300000 672.992000 430.300000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 430.504000 672.992000 433.504000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 433.708000 672.992000 437.032000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 437.008000 672.992000 443.008000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 443.104000 672.992000 448.420000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 448.504000 672.992000 451.504000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.900000 672.992000 454.900000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.200000 672.992000 458.200000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 458.404000 672.992000 463.072000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 463.108000 672.992000 469.108000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 469.108000 672.992000 472.432000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 472.504000 672.992000 478.504000 660.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 478.408000 672.992000 483.076000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 483.208000 672.992000 486.208000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.412000 672.992000 491.728000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 491.716000 672.992000 497.716000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 497.716000 672.992000 503.716000 660.992000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 672.992000 507.100000 660.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 659.592000 191.500000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 191.500000 659.592000 197.500000 647.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 197.500000 659.592000 206.824000 647.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 206.800000 659.592000 212.116000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 212.104000 659.592000 216.100000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 216.100000 659.592000 222.100000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 222.100000 659.592000 228.100000 647.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 228.100000 659.592000 232.768000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 232.804000 659.592000 235.804000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.804000 659.592000 240.472000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 240.508000 659.592000 245.824000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 245.812000 659.592000 249.136000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 249.208000 659.592000 252.532000 647.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 252.508000 659.592000 258.508000 647.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 258.508000 659.592000 264.508000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 264.508000 659.592000 269.824000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 269.812000 659.592000 273.136000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 273.112000 659.592000 277.780000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 277.816000 659.592000 280.816000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 280.816000 659.592000 286.132000 647.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 286.120000 659.592000 290.116000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 290.116000 659.592000 293.440000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 293.512000 659.592000 298.180000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 298.108000 659.592000 302.776000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 302.812000 659.592000 306.808000 647.592000 1.000000 0.000000 0.000000 1.000000 - +drawChar 306.808000 659.592000 312.124000 647.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 312.112000 659.592000 316.108000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 316.108000 659.592000 322.108000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 322.108000 659.592000 326.776000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 326.812000 659.592000 331.480000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 331.408000 659.592000 334.732000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 334.804000 659.592000 340.804000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 340.804000 659.592000 346.804000 647.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 346.804000 659.592000 349.804000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.804000 659.592000 353.128000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 353.104000 659.592000 359.104000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 359.200000 659.592000 364.516000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 364.504000 659.592000 367.504000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.504000 659.592000 373.504000 647.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 373.504000 659.592000 378.820000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 378.808000 659.592000 384.808000 647.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 384.712000 659.592000 387.712000 647.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 72.100000 631.416000 83.428000 619.416000 1.000000 0.000000 0.000000 1.000000 W +drawChar 83.404000 631.416000 88.072000 619.416000 1.000000 0.000000 0.000000 1.000000 r +drawChar 88.108000 631.416000 91.444000 619.416000 1.000000 0.000000 0.000000 1.000000 i +drawChar 91.408000 631.416000 95.404000 619.416000 1.000000 0.000000 0.000000 1.000000 t +drawChar 95.404000 631.416000 98.740000 619.416000 1.000000 0.000000 0.000000 1.000000 i +drawChar 98.800000 631.416000 106.132000 619.416000 1.000000 0.000000 0.000000 1.000000 n +drawChar 106.096000 631.416000 113.428000 619.416000 1.000000 0.000000 0.000000 1.000000 g +drawChar 113.392000 631.416000 116.728000 619.416000 1.000000 0.000000 0.000000 1.000000 +drawChar 116.788000 631.416000 125.452000 619.416000 1.000000 0.000000 0.000000 1.000000 D +drawChar 125.392000 631.416000 132.064000 619.416000 1.000000 0.000000 0.000000 1.000000 e +drawChar 132.088000 631.416000 138.760000 619.416000 1.000000 0.000000 0.000000 1.000000 s +drawChar 138.784000 631.416000 145.456000 619.416000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 616.992000 189.496000 604.992000 1.000000 0.000000 0.000000 1.000000 I +drawChar 189.904000 616.992000 192.904000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 193.408000 616.992000 199.408000 604.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 199.312000 616.992000 204.628000 604.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 204.616000 616.992000 207.940000 604.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 207.916000 616.992000 211.240000 604.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 211.312000 616.992000 217.312000 604.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 217.312000 616.992000 222.628000 604.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 222.616000 616.992000 226.612000 604.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 226.612000 616.992000 231.928000 604.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 231.916000 616.992000 235.240000 604.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 235.312000 616.992000 240.628000 604.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.616000 616.992000 243.940000 604.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 243.916000 616.992000 249.916000 604.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 250.516000 616.992000 253.516000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 253.912000 616.992000 259.912000 604.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 259.816000 616.992000 265.816000 604.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 265.816000 616.992000 269.812000 604.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 269.812000 616.992000 275.128000 604.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 275.116000 616.992000 281.116000 604.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 281.212000 616.992000 286.528000 604.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 286.516000 616.992000 291.184000 604.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 291.220000 616.992000 296.536000 604.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 296.524000 616.992000 302.524000 604.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 303.028000 616.992000 306.028000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 306.532000 616.992000 311.848000 604.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 312.328000 616.992000 315.328000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.724000 616.992000 321.724000 604.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 321.628000 616.992000 326.944000 604.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 326.932000 616.992000 330.928000 604.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 331.036000 616.992000 337.036000 604.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 337.540000 616.992000 340.540000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.936000 616.992000 344.260000 604.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 344.236000 616.992000 349.552000 604.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 349.540000 616.992000 353.536000 604.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 353.536000 616.992000 359.536000 604.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 359.536000 616.992000 364.852000 604.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 365.440000 616.992000 368.440000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.836000 616.992000 374.836000 604.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 374.740000 616.992000 380.056000 604.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 380.044000 616.992000 384.712000 604.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 384.748000 616.992000 390.748000 604.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 390.748000 616.992000 393.748000 604.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 394.348000 616.992000 397.348000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.744000 616.992000 402.412000 604.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 402.448000 616.992000 405.772000 604.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 405.748000 616.992000 411.748000 604.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 411.748000 616.992000 417.064000 604.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 417.052000 616.992000 422.368000 604.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 422.848000 616.992000 425.848000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.352000 616.992000 430.348000 604.992000 1.000000 0.000000 0.000000 1.000000 I +drawChar 430.756000 616.992000 433.756000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.260000 616.992000 439.576000 604.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 439.564000 616.992000 448.888000 604.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 449.368000 616.992000 452.368000 604.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 452.872000 616.992000 458.188000 604.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 458.176000 616.992000 464.176000 604.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 464.080000 616.992000 473.404000 604.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 473.380000 616.992000 476.704000 604.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 476.776000 616.992000 480.100000 604.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 480.076000 616.992000 483.400000 604.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 483.376000 616.992000 488.692000 604.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 488.776000 616.992000 494.776000 604.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 494.680000 616.992000 498.004000 604.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 498.076000 616.992000 504.076000 604.992000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 616.992000 507.200000 604.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 603.492000 190.816000 591.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 603.492000 196.804000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 196.900000 603.492000 199.900000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 199.996000 603.492000 205.312000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 205.300000 603.492000 210.616000 591.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 210.604000 603.492000 215.272000 591.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 215.308000 603.492000 221.308000 591.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 221.212000 603.492000 227.212000 591.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 227.212000 603.492000 233.212000 591.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 233.212000 603.492000 236.536000 591.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 236.608000 603.492000 242.608000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 242.608000 603.492000 248.608000 591.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 248.704000 603.492000 251.704000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 251.800000 603.492000 257.800000 591.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 257.704000 603.492000 263.020000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.008000 603.492000 267.004000 591.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 267.004000 603.492000 271.672000 591.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 271.708000 603.492000 277.708000 591.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 277.708000 603.492000 283.708000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 283.708000 603.492000 286.708000 591.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 286.804000 603.492000 289.804000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.900000 603.492000 295.900000 591.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 295.900000 603.492000 301.900000 591.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 301.900000 603.492000 305.224000 591.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 305.296000 603.492000 308.296000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 308.392000 603.492000 314.392000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 314.392000 603.492000 320.392000 591.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 320.392000 603.492000 323.716000 591.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 323.788000 603.492000 326.788000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.884000 603.492000 332.200000 591.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 332.284000 603.492000 335.284000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 335.380000 603.492000 340.696000 591.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 340.684000 603.492000 344.008000 591.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 343.984000 603.492000 349.300000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 349.288000 603.492000 354.604000 591.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 354.592000 603.492000 360.592000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 360.796000 603.492000 363.796000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.892000 603.492000 367.888000 591.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 367.792000 603.492000 371.788000 591.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 371.788000 603.492000 377.104000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 377.092000 603.492000 382.408000 591.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 382.396000 603.492000 388.396000 591.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 388.396000 603.492000 391.396000 591.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.492000 603.492000 394.492000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 394.588000 603.492000 398.584000 591.492000 1.000000 0.000000 0.000000 1.000000 I +drawChar 398.692000 603.492000 401.692000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 401.788000 603.492000 407.788000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 407.788000 603.492000 413.104000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.092000 603.492000 418.408000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 418.396000 603.492000 424.396000 591.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 424.492000 603.492000 427.492000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 427.588000 603.492000 432.904000 591.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 432.988000 603.492000 435.988000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 436.084000 603.492000 439.408000 591.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 439.384000 603.492000 445.384000 591.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 445.384000 603.492000 448.708000 591.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 448.780000 603.492000 451.780000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.876000 603.492000 457.876000 591.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 457.876000 603.492000 461.872000 591.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 461.872000 603.492000 464.872000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.968000 603.492000 469.636000 591.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 469.672000 603.492000 475.672000 591.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 475.576000 603.492000 480.892000 591.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 480.880000 603.492000 486.196000 591.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 486.184000 603.492000 491.500000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 491.680000 603.492000 494.680000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 494.776000 603.492000 498.100000 591.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 498.076000 603.492000 504.076000 591.492000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 603.492000 507.200000 591.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 590.092000 190.168000 578.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 590.092000 196.204000 578.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 196.108000 590.092000 200.104000 578.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 200.104000 590.092000 205.420000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 205.408000 590.092000 210.724000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 210.808000 590.092000 216.808000 578.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 217.708000 590.092000 220.708000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 221.608000 590.092000 227.608000 578.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 227.608000 590.092000 233.608000 578.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 233.608000 590.092000 236.932000 578.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 237.904000 590.092000 240.904000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.804000 590.092000 247.120000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 247.108000 590.092000 250.432000 578.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 250.408000 590.092000 253.732000 578.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 254.704000 590.092000 257.704000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.604000 590.092000 267.928000 578.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 267.904000 590.092000 273.904000 578.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 274.804000 590.092000 277.804000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 278.704000 590.092000 284.704000 578.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 284.608000 590.092000 289.924000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 289.912000 590.092000 295.912000 578.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 295.912000 590.092000 301.228000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 301.216000 590.092000 305.212000 578.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 305.212000 590.092000 309.880000 578.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 309.916000 590.092000 312.916000 578.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.912000 590.092000 316.912000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 317.812000 590.092000 325.132000 578.092000 1.000000 0.000000 0.000000 1.000000 T +drawChar 325.108000 590.092000 331.108000 578.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 331.204000 590.092000 336.520000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 336.508000 590.092000 340.504000 578.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 340.504000 590.092000 345.820000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 345.808000 590.092000 349.804000 578.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 349.804000 590.092000 355.804000 578.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 355.804000 590.092000 359.800000 578.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 359.800000 590.092000 365.116000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 365.104000 590.092000 368.104000 578.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 369.004000 590.092000 372.004000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.904000 590.092000 376.900000 578.092000 1.000000 0.000000 0.000000 1.000000 I +drawChar 377.800000 590.092000 380.800000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 381.700000 590.092000 387.700000 578.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 387.604000 590.092000 393.604000 578.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 393.604000 590.092000 399.604000 578.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 399.604000 590.092000 401.764000 578.092000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 401.800000 590.092000 405.124000 578.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 406.096000 590.092000 409.096000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 409.996000 590.092000 415.996000 578.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 416.092000 590.092000 421.408000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 421.396000 590.092000 427.396000 578.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 427.300000 590.092000 432.616000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 433.600000 590.092000 436.600000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.500000 590.092000 440.824000 578.092000 1.000000 0.000000 0.000000 1.000000 j +drawChar 440.800000 590.092000 446.800000 578.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 446.800000 590.092000 451.468000 578.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 451.504000 590.092000 454.828000 578.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 455.704000 590.092000 458.704000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.604000 590.092000 464.920000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 465.808000 590.092000 468.808000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 469.708000 590.092000 475.708000 578.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 475.708000 590.092000 481.708000 578.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 481.708000 590.092000 485.704000 578.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 485.704000 590.092000 495.028000 578.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 495.004000 590.092000 500.320000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 500.308000 590.092000 503.632000 578.092000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 590.092000 507.100000 578.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 576.592000 190.168000 564.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 576.592000 196.204000 564.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 196.204000 576.592000 201.520000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 201.508000 576.592000 207.508000 564.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 207.412000 576.592000 212.728000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 212.812000 576.592000 218.812000 564.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 219.412000 576.592000 222.412000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 222.916000 576.592000 228.916000 564.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 228.820000 576.592000 234.136000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 234.124000 576.592000 238.792000 564.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 238.828000 576.592000 244.828000 564.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 244.828000 576.592000 248.152000 564.592000 1.000000 0.000000 0.000000 1.000000 ; +drawChar 248.824000 576.592000 251.824000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.424000 576.592000 261.748000 564.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 261.724000 576.592000 267.724000 564.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 268.228000 576.592000 271.228000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.828000 576.592000 277.828000 564.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 277.732000 576.592000 283.048000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 283.036000 576.592000 287.704000 564.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 287.740000 576.592000 293.740000 564.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 294.340000 576.592000 297.340000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 297.940000 576.592000 301.936000 564.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 301.936000 576.592000 307.936000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 307.936000 576.592000 311.932000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 311.932000 576.592000 321.256000 564.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 321.232000 576.592000 325.900000 564.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 326.428000 576.592000 329.428000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.028000 576.592000 335.344000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 335.932000 576.592000 338.932000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 339.436000 576.592000 344.332000 564.592000 1.000000 0.000000 0.000000 1.000000 " +drawChar 344.332000 576.592000 352.996000 564.592000 1.000000 0.000000 0.000000 1.000000 U +drawChar 353.032000 576.592000 357.928000 564.592000 1.000000 0.000000 0.000000 1.000000 " +drawChar 358.432000 576.592000 361.432000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.032000 576.592000 366.700000 564.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 366.628000 576.592000 372.628000 564.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 372.724000 576.592000 378.040000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 378.028000 576.592000 384.028000 564.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 383.932000 576.592000 389.248000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 389.836000 576.592000 392.836000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.436000 576.592000 398.752000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 398.740000 576.592000 402.736000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 402.736000 576.592000 408.736000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 408.736000 576.592000 414.736000 564.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 414.736000 576.592000 420.736000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 420.736000 576.592000 426.736000 564.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 427.336000 576.592000 430.336000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.840000 576.592000 440.164000 564.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 440.140000 576.592000 445.456000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 445.444000 576.592000 448.444000 564.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.044000 576.592000 452.044000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 452.644000 576.592000 456.640000 564.592000 1.000000 0.000000 0.000000 1.000000 I +drawChar 456.640000 576.592000 462.640000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 463.144000 576.592000 466.144000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 466.744000 576.592000 470.740000 564.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 470.740000 576.592000 474.736000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 474.736000 576.592000 480.736000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 480.736000 576.592000 486.736000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 486.736000 576.592000 490.060000 564.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 490.636000 576.592000 493.636000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 494.140000 576.592000 500.140000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 500.140000 576.592000 504.136000 564.592000 1.000000 0.000000 0.000000 1.000000 f +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 576.592000 507.100000 564.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 563.192000 194.824000 551.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 194.800000 563.192000 200.116000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.800000 563.192000 203.800000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 204.400000 563.192000 207.724000 551.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 207.700000 563.192000 212.368000 551.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 213.004000 563.192000 216.004000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 216.604000 563.192000 222.604000 551.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 222.508000 563.192000 225.832000 551.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 225.808000 563.192000 231.124000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 231.112000 563.192000 237.112000 551.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 237.112000 563.192000 240.436000 551.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 240.508000 563.192000 246.508000 551.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 247.204000 563.192000 250.204000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 250.804000 563.192000 256.804000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 256.804000 563.192000 260.800000 551.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 261.400000 563.192000 264.400000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.000000 563.192000 268.996000 551.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 268.996000 563.192000 274.996000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 274.996000 563.192000 280.996000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 280.996000 563.192000 290.320000 551.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 290.896000 563.192000 293.896000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 294.496000 563.192000 297.820000 551.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 297.796000 563.192000 303.796000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 304.396000 563.192000 307.396000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.996000 563.192000 316.660000 551.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 316.696000 563.192000 320.692000 551.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 320.596000 563.192000 323.920000 551.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 323.992000 563.192000 327.316000 551.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 327.292000 563.192000 332.608000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 333.292000 563.192000 336.292000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 336.892000 563.192000 342.208000 551.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 342.196000 563.192000 348.196000 551.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 348.196000 563.192000 354.196000 551.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 354.796000 563.192000 357.796000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.396000 563.192000 362.392000 551.192000 1.000000 0.000000 0.000000 1.000000 I +drawChar 362.992000 563.192000 365.992000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 366.592000 563.192000 371.908000 551.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 371.896000 563.192000 375.220000 551.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 375.196000 563.192000 379.864000 551.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 379.900000 563.192000 385.900000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 386.500000 563.192000 389.500000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 390.100000 563.192000 396.100000 551.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 396.196000 563.192000 401.512000 551.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 401.500000 563.192000 407.500000 551.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 407.404000 563.192000 412.720000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.404000 563.192000 416.404000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.004000 563.192000 421.000000 551.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 421.000000 563.192000 424.996000 551.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 424.996000 563.192000 430.312000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 430.300000 563.192000 435.616000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 436.300000 563.192000 439.300000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 439.900000 563.192000 445.216000 551.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 445.204000 563.192000 450.520000 551.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 450.508000 563.192000 455.824000 551.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 455.812000 563.192000 461.128000 551.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 461.116000 563.192000 465.784000 551.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 465.820000 563.192000 470.488000 551.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 471.124000 563.192000 474.124000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 474.724000 563.192000 478.048000 551.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 478.024000 563.192000 484.024000 551.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 484.624000 563.192000 487.624000 551.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.224000 563.192000 497.548000 551.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 497.524000 563.192000 503.524000 551.192000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 563.192000 507.100000 551.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 549.692000 194.164000 537.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 194.200000 549.692000 198.196000 537.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 198.100000 549.692000 201.424000 537.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 201.496000 549.692000 204.820000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 204.796000 549.692000 208.120000 537.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 208.192000 549.692000 214.192000 537.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 214.192000 549.692000 220.192000 537.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 220.696000 549.692000 223.696000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.200000 549.692000 230.200000 537.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 230.200000 549.692000 233.524000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 233.500000 549.692000 238.816000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 238.804000 549.692000 244.804000 537.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 244.804000 549.692000 249.472000 537.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 249.400000 549.692000 252.724000 537.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 252.796000 549.692000 256.120000 537.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 256.096000 549.692000 260.764000 537.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 261.292000 549.692000 264.292000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.796000 549.692000 270.112000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 270.100000 549.692000 276.100000 537.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 276.100000 549.692000 282.100000 537.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 282.700000 549.692000 285.700000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.204000 549.692000 289.528000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 289.408000 549.692000 295.408000 537.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 295.504000 549.692000 300.820000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 301.804000 549.692000 304.804000 537.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 304.800000 549.692000 308.124000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 308.100000 549.692000 313.416000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 313.404000 549.692000 316.728000 537.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 316.704000 549.692000 322.020000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 322.104000 549.692000 328.104000 537.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 328.008000 549.692000 334.008000 537.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 334.104000 549.692000 340.104000 537.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 340.104000 549.692000 346.104000 537.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 346.104000 549.692000 351.420000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 351.408000 549.692000 354.408000 537.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.008000 549.692000 358.008000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.512000 549.692000 365.832000 537.692000 1.000000 0.000000 0.000000 1.000000 T +drawChar 365.808000 549.692000 371.808000 537.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 372.312000 549.692000 375.312000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 375.816000 549.692000 379.140000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 379.020000 549.692000 385.020000 537.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 385.116000 549.692000 390.432000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 391.020000 549.692000 394.020000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 394.524000 549.692000 398.520000 537.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 398.424000 549.692000 401.748000 537.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 401.820000 549.692000 407.820000 537.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 407.724000 549.692000 413.724000 537.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 413.820000 549.692000 417.144000 537.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 417.120000 549.692000 420.120000 537.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 420.624000 549.692000 423.624000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 424.128000 549.692000 428.124000 537.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 428.628000 549.692000 431.628000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 432.132000 549.692000 438.132000 537.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 438.228000 549.692000 443.544000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 443.532000 549.692000 449.532000 537.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 449.436000 549.692000 454.752000 537.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 455.340000 549.692000 458.340000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 458.844000 549.692000 464.160000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 465.144000 549.692000 468.144000 537.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 468.200000 549.692000 474.872000 537.692000 1.000000 0.000000 0.000000 1.000000 P +drawChar 474.800000 549.692000 482.792000 537.692000 1.000000 0.000000 0.000000 1.000000 C +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 482.800000 549.692000 485.800000 537.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.796000 549.692000 492.112000 537.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 492.100000 549.692000 498.100000 537.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.100000 549.692000 504.100000 537.692000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 549.692000 507.100000 537.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 536.292000 190.816000 524.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 536.292000 196.804000 524.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 198.508000 536.292000 201.508000 524.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 201.500000 536.292000 210.164000 524.292000 1.000000 0.000000 0.000000 1.000000 A +drawChar 210.200000 536.292000 216.200000 524.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 216.104000 536.292000 222.104000 524.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 222.104000 536.292000 225.428000 524.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 225.404000 536.292000 230.720000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 231.704000 536.292000 234.704000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.508000 536.292000 246.176000 524.292000 1.000000 0.000000 0.000000 1.000000 M +drawChar 246.212000 536.292000 251.528000 524.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 251.516000 536.292000 256.832000 524.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 256.820000 536.292000 260.144000 524.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 260.216000 536.292000 266.216000 524.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 266.216000 536.292000 269.540000 524.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 269.516000 536.292000 275.516000 524.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 275.516000 536.292000 280.184000 524.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 280.112000 536.292000 286.112000 524.292000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.200000 536.292000 289.200000 524.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 290.004000 536.292000 293.004000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.904000 536.292000 300.576000 524.292000 1.000000 0.000000 0.000000 1.000000 S +drawChar 300.504000 536.292000 303.828000 524.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 303.900000 536.292000 309.900000 524.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 309.900000 536.292000 315.216000 524.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 315.204000 536.292000 320.520000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.408000 536.292000 324.408000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.212000 536.292000 329.208000 524.292000 1.000000 0.000000 0.000000 1.000000 I +drawChar 330.108000 536.292000 333.108000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 333.912000 536.292000 339.912000 524.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 340.008000 536.292000 345.324000 524.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 345.312000 536.292000 351.312000 524.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 351.216000 536.292000 356.532000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 357.420000 536.292000 360.420000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.320000 536.292000 364.644000 524.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 364.524000 536.292000 370.524000 524.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 370.620000 536.292000 375.936000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 376.824000 536.292000 379.824000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.628000 536.292000 385.944000 524.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 385.932000 536.292000 391.932000 524.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 391.932000 536.292000 401.256000 524.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 401.232000 536.292000 407.232000 524.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 407.136000 536.292000 413.136000 524.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 413.232000 536.292000 416.556000 524.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 416.532000 536.292000 421.848000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 421.836000 536.292000 425.832000 524.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 425.832000 536.292000 430.500000 524.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 431.532000 536.292000 434.532000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 435.336000 536.292000 441.336000 524.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 441.336000 536.292000 446.652000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 446.640000 536.292000 449.964000 524.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 449.940000 536.292000 458.604000 524.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 458.640000 536.292000 464.640000 524.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 464.640000 536.292000 468.636000 524.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 468.636000 536.292000 474.636000 524.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 474.636000 536.292000 479.952000 524.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 479.940000 536.292000 485.940000 524.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 486.840000 536.292000 489.840000 524.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 490.740000 536.292000 494.064000 524.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 494.040000 536.292000 500.040000 524.292000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 536.292000 504.196000 524.292000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 522.792000 191.500000 510.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 191.500000 522.792000 196.816000 510.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 196.804000 522.792000 200.128000 510.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 200.104000 522.792000 206.104000 510.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 206.200000 522.792000 211.516000 510.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 211.504000 522.792000 215.500000 510.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 215.500000 522.792000 218.500000 510.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 218.896000 522.792000 221.896000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 222.400000 522.792000 227.716000 510.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 227.704000 522.792000 233.704000 510.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 233.704000 522.792000 239.704000 510.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 240.208000 522.792000 243.208000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.604000 522.792000 249.604000 510.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 249.604000 522.792000 253.600000 510.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 253.600000 522.792000 256.924000 510.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 256.900000 522.792000 262.216000 510.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 262.204000 522.792000 268.204000 510.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 268.708000 522.792000 271.708000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.212000 522.792000 281.536000 510.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 281.512000 522.792000 287.512000 510.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 287.512000 522.792000 292.180000 510.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 292.216000 522.792000 295.540000 510.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 296.020000 522.792000 299.020000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 299.416000 522.792000 302.740000 510.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 302.716000 522.792000 306.712000 510.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 306.712000 522.792000 312.028000 510.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 312.016000 522.792000 318.016000 510.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 318.016000 522.792000 322.684000 510.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 322.720000 522.792000 326.716000 510.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 326.716000 522.792000 332.032000 510.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.020000 522.792000 336.016000 510.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 336.520000 522.792000 339.520000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.024000 522.792000 346.024000 510.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 345.928000 522.792000 351.928000 510.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 351.928000 522.792000 357.244000 510.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 357.232000 522.792000 363.232000 510.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 363.232000 522.792000 372.556000 510.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 372.532000 522.792000 377.848000 510.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 377.836000 522.792000 383.836000 510.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 383.836000 522.792000 387.160000 510.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 387.136000 522.792000 391.804000 510.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 392.440000 522.792000 395.440000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 395.944000 522.792000 399.940000 510.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 399.940000 522.792000 403.936000 510.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 403.936000 522.792000 409.936000 510.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 409.936000 522.792000 419.260000 510.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 419.632000 522.792000 422.632000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 423.136000 522.792000 429.136000 510.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 429.136000 522.792000 435.136000 510.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 435.136000 522.792000 440.452000 510.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 440.932000 522.792000 443.932000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 444.328000 522.792000 447.652000 510.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 447.628000 522.792000 453.628000 510.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 454.132000 522.792000 457.132000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 457.636000 522.792000 460.960000 510.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 460.840000 522.792000 466.840000 510.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 466.936000 522.792000 472.252000 510.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 472.732000 522.792000 475.732000 510.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 476.128000 522.792000 482.128000 510.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 482.128000 522.792000 485.452000 510.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 485.428000 522.792000 491.428000 510.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 491.524000 522.792000 496.840000 510.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 496.828000 522.792000 500.824000 510.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 500.824000 522.792000 503.824000 510.792000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 522.792000 507.200000 510.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 509.392000 188.824000 497.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 509.392000 194.800000 497.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 194.896000 509.392000 200.212000 497.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.992000 509.392000 203.992000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 204.796000 509.392000 208.792000 497.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 208.696000 509.392000 212.020000 497.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 212.092000 509.392000 216.088000 497.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 216.088000 509.392000 220.756000 497.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 220.792000 509.392000 224.116000 497.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.896000 509.392000 227.896000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 228.700000 509.392000 234.700000 497.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 234.700000 509.392000 238.696000 497.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 238.696000 509.392000 242.692000 497.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 242.596000 509.392000 245.920000 497.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 245.992000 509.392000 251.308000 497.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 251.296000 509.392000 256.612000 497.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 257.500000 509.392000 260.500000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.304000 509.392000 265.972000 497.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 265.900000 509.392000 271.900000 497.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 271.900000 509.392000 275.224000 497.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 275.296000 509.392000 278.620000 497.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 278.596000 509.392000 283.912000 497.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 284.692000 509.392000 287.692000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 288.496000 509.392000 291.820000 497.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 291.796000 509.392000 297.796000 497.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 298.696000 509.392000 301.696000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.500000 509.392000 307.816000 497.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 307.804000 509.392000 313.804000 497.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 313.804000 509.392000 323.128000 497.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 323.104000 509.392000 328.420000 497.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 329.308000 509.392000 332.308000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 333.112000 509.392000 336.436000 497.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 336.412000 509.392000 342.412000 497.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 342.412000 509.392000 345.736000 497.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 345.712000 509.392000 351.712000 497.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 352.516000 509.392000 355.516000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 356.320000 509.392000 361.636000 497.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 361.624000 509.392000 367.624000 497.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 367.624000 509.392000 373.624000 497.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 373.624000 509.392000 378.292000 497.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 378.328000 509.392000 381.652000 497.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 381.724000 509.392000 387.724000 497.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 387.628000 509.392000 392.944000 497.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 392.932000 509.392000 396.928000 497.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 396.928000 509.392000 402.244000 497.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 402.232000 509.392000 405.556000 497.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 405.532000 509.392000 408.856000 497.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 408.928000 509.392000 414.928000 497.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 414.928000 509.392000 420.928000 497.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 421.828000 509.392000 424.828000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.632000 509.392000 429.628000 497.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 429.628000 509.392000 435.628000 497.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 435.628000 509.392000 439.624000 497.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 440.428000 509.392000 443.428000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 444.232000 509.392000 453.556000 497.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 453.532000 509.392000 458.848000 497.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 459.736000 509.392000 462.736000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 463.540000 509.392000 472.204000 497.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 472.240000 509.392000 477.556000 497.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 477.436000 509.392000 482.104000 497.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 482.932000 509.392000 485.932000 497.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.736000 509.392000 490.060000 497.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 490.036000 509.392000 496.036000 497.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 496.036000 509.392000 499.360000 497.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 499.432000 509.392000 504.100000 497.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 509.392000 507.100000 497.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 495.892000 191.500000 483.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 191.404000 495.892000 195.400000 483.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 195.400000 495.892000 201.400000 483.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 201.400000 495.892000 207.400000 483.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 207.304000 495.892000 213.304000 483.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 213.400000 495.892000 218.716000 483.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 218.704000 495.892000 222.028000 483.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 222.004000 495.892000 225.004000 483.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 476.492000 192.820000 464.492000 1.000000 0.000000 0.000000 1.000000 T +drawChar 192.796000 476.492000 198.796000 464.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 198.892000 476.492000 204.208000 464.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 204.688000 476.492000 207.688000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 208.288000 476.492000 211.612000 464.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 211.588000 476.492000 216.904000 464.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 216.892000 476.492000 220.888000 464.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 220.888000 476.492000 224.212000 464.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.788000 476.492000 227.788000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 228.388000 476.492000 233.704000 464.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 233.692000 476.492000 237.688000 464.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.688000 476.492000 247.012000 464.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 247.588000 476.492000 250.588000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 251.092000 476.492000 257.092000 464.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 257.092000 476.492000 261.088000 464.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 261.688000 476.492000 264.688000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.192000 476.492000 274.516000 464.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 274.492000 476.492000 280.492000 464.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 281.092000 476.492000 284.092000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 284.596000 476.492000 290.596000 464.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 290.500000 476.492000 295.816000 464.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 295.804000 476.492000 300.472000 464.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 300.508000 476.492000 306.508000 464.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 307.204000 476.492000 310.204000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 310.708000 476.492000 316.024000 464.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 316.012000 476.492000 321.328000 464.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 321.316000 476.492000 327.316000 464.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 328.012000 476.492000 331.012000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 331.516000 476.492000 337.516000 464.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 337.516000 476.492000 342.832000 464.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.420000 476.492000 346.420000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.924000 476.492000 352.924000 464.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 352.924000 476.492000 357.592000 464.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 357.628000 476.492000 362.944000 464.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 362.932000 476.492000 368.932000 464.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 369.532000 476.492000 372.532000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.036000 476.492000 376.360000 464.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 376.336000 476.492000 382.336000 464.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 382.936000 476.492000 385.936000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.536000 476.492000 392.536000 464.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 392.536000 476.492000 397.852000 464.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 397.840000 476.492000 403.156000 464.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 403.144000 476.492000 409.144000 464.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 409.048000 476.492000 412.048000 464.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 412.744000 476.492000 415.744000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 416.248000 476.492000 420.916000 464.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 420.952000 476.492000 424.276000 464.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 424.252000 476.492000 429.568000 464.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 429.556000 476.492000 434.872000 464.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 434.860000 476.492000 440.860000 464.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 441.460000 476.492000 444.460000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 445.060000 476.492000 450.376000 464.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 450.364000 476.492000 456.364000 464.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 456.364000 476.492000 462.364000 464.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 462.964000 476.492000 465.964000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 466.468000 476.492000 472.468000 464.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 472.372000 476.492000 475.696000 464.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 475.768000 476.492000 479.092000 464.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 479.068000 476.492000 484.384000 464.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 485.068000 476.492000 488.068000 464.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.572000 476.492000 494.572000 464.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 494.476000 476.492000 499.792000 464.492000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 476.492000 504.196000 464.492000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 462.992000 191.500000 450.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 191.404000 462.992000 196.720000 450.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 196.708000 462.992000 200.704000 450.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 200.704000 462.992000 205.372000 450.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 206.200000 462.992000 209.200000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 210.004000 462.992000 213.328000 450.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 213.304000 462.992000 219.304000 450.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 220.108000 462.992000 223.108000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 223.804000 462.992000 233.128000 450.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 233.104000 462.992000 239.104000 450.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 239.908000 462.992000 242.908000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.712000 462.992000 249.712000 450.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 249.712000 462.992000 255.028000 450.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.016000 462.992000 260.332000 450.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 260.320000 462.992000 264.316000 450.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 264.316000 462.992000 267.640000 450.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 267.616000 462.992000 269.776000 450.992000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 269.812000 462.992000 274.480000 450.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 275.212000 462.992000 278.212000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.016000 462.992000 284.332000 450.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 284.320000 462.992000 290.320000 450.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 290.320000 462.992000 296.320000 450.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 296.320000 462.992000 299.644000 450.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 299.620000 462.992000 304.936000 450.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 304.924000 462.992000 310.924000 450.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 310.924000 462.992000 314.248000 450.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 314.224000 462.992000 317.224000 450.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 318.124000 462.992000 321.124000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 322.624000 462.992000 325.624000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.320000 462.992000 333.640000 450.992000 1.000000 0.000000 0.000000 1.000000 T +drawChar 333.616000 462.992000 339.616000 450.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 339.712000 462.992000 345.028000 450.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 345.712000 462.992000 348.712000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.516000 462.992000 354.832000 450.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 354.820000 462.992000 360.136000 450.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 360.124000 462.992000 363.448000 450.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 363.424000 462.992000 369.424000 450.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 369.424000 462.992000 374.740000 450.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 374.728000 462.992000 378.052000 450.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 378.928000 462.992000 381.928000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 382.624000 462.992000 387.940000 450.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 387.928000 462.992000 393.928000 450.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 393.928000 462.992000 397.252000 450.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 397.228000 462.992000 403.228000 450.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 403.228000 462.992000 407.224000 450.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 408.028000 462.992000 411.028000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 411.832000 462.992000 417.832000 450.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.832000 462.992000 421.828000 450.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 422.536000 462.992000 425.536000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.340000 462.992000 429.664000 450.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 429.544000 462.992000 435.544000 450.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 435.640000 462.992000 440.956000 450.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 441.736000 462.992000 444.736000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 445.432000 462.992000 451.432000 450.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 451.336000 462.992000 456.652000 450.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 456.640000 462.992000 461.308000 450.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 461.344000 462.992000 467.344000 450.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 467.344000 462.992000 470.668000 450.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 470.644000 462.992000 476.644000 450.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 476.740000 462.992000 482.740000 450.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 483.544000 462.992000 486.544000 450.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 487.348000 462.992000 492.664000 450.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 492.652000 462.992000 497.968000 450.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 497.956000 462.992000 503.956000 450.992000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 462.992000 507.100000 450.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 449.592000 191.500000 437.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 191.500000 449.592000 197.500000 437.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 197.500000 449.592000 200.824000 437.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 200.800000 449.592000 206.800000 437.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 206.800000 449.592000 209.800000 437.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 209.800000 449.592000 215.800000 437.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 215.800000 449.592000 221.116000 437.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 221.200000 449.592000 224.200000 437.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.200000 449.592000 229.516000 437.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 229.504000 449.592000 234.172000 437.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 234.208000 449.592000 239.524000 437.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 239.512000 449.592000 244.828000 437.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 244.816000 449.592000 248.812000 437.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 248.812000 449.592000 252.136000 437.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 252.112000 449.592000 257.428000 437.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 257.416000 449.592000 260.740000 437.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 260.812000 449.592000 266.812000 437.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 266.812000 449.592000 272.128000 437.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 272.116000 449.592000 278.116000 437.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 278.116000 449.592000 281.116000 437.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.116000 449.592000 286.432000 437.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 286.420000 449.592000 290.416000 437.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 290.416000 449.592000 293.740000 437.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 293.716000 449.592000 299.032000 437.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 299.020000 449.592000 303.016000 437.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 303.124000 449.592000 306.124000 437.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 306.124000 449.592000 311.440000 437.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 311.524000 449.592000 314.524000 437.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.524000 449.592000 317.848000 437.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 317.728000 449.592000 323.728000 437.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 323.824000 449.592000 329.824000 437.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 329.824000 449.592000 333.820000 437.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 333.820000 449.592000 339.820000 437.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 339.820000 449.592000 345.820000 437.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 345.820000 449.592000 351.820000 437.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 351.724000 449.592000 357.724000 437.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 357.820000 449.592000 360.820000 437.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 360.820000 449.592000 366.136000 437.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 366.124000 449.592000 372.124000 437.592000 1.000000 0.000000 0.000000 1.000000 x +drawChar 372.124000 449.592000 377.440000 437.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 377.428000 449.592000 382.744000 437.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 382.732000 449.592000 388.732000 437.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 388.636000 449.592000 393.952000 437.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 394.036000 449.592000 397.360000 437.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 397.336000 449.592000 400.660000 437.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 400.732000 449.592000 406.732000 437.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 406.732000 449.592000 412.732000 437.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 412.732000 449.592000 415.732000 437.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.828000 449.592000 418.828000 437.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 72.100000 414.952000 82.208000 400.952000 1.000000 0.000000 0.000000 1.000000 B +drawChar 82.194000 414.952000 89.978000 400.952000 1.000000 0.000000 0.000000 1.000000 e +drawChar 89.894000 414.952000 98.448000 400.952000 1.000000 0.000000 0.000000 1.000000 d +drawChar 98.392000 414.952000 103.838000 400.952000 1.000000 0.000000 0.000000 1.000000 r +drawChar 103.796000 414.952000 112.350000 400.952000 1.000000 0.000000 0.000000 1.000000 o +drawChar 112.294000 414.952000 120.848000 400.952000 1.000000 0.000000 0.000000 1.000000 o +drawChar 120.792000 414.952000 133.238000 400.952000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 395.792000 192.172000 383.792000 1.000000 0.000000 0.000000 1.000000 F +drawChar 192.100000 395.792000 198.100000 383.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 198.100000 395.792000 202.096000 383.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 202.096000 395.792000 205.420000 383.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 205.396000 395.792000 211.396000 383.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 211.492000 395.792000 216.808000 383.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 216.796000 395.792000 220.792000 383.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 220.900000 395.792000 223.900000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 223.900000 395.792000 229.900000 383.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 229.804000 395.792000 235.804000 383.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 235.804000 395.792000 244.468000 383.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 244.504000 395.792000 250.504000 383.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 250.600000 395.792000 253.600000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 253.696000 395.792000 257.020000 383.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 256.900000 395.792000 262.900000 383.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 262.996000 395.792000 268.312000 383.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 268.396000 395.792000 271.396000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.492000 395.792000 277.492000 383.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 277.492000 395.792000 282.808000 383.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 282.796000 395.792000 286.120000 383.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 286.096000 395.792000 289.420000 383.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 289.492000 395.792000 292.492000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.588000 395.792000 295.912000 383.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 295.888000 395.792000 300.556000 383.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 300.592000 395.792000 303.592000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 303.688000 395.792000 313.012000 383.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 312.988000 395.792000 318.988000 383.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 318.988000 395.792000 321.988000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 322.084000 395.792000 328.084000 383.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 328.084000 395.792000 333.400000 383.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 333.388000 395.792000 339.388000 383.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 339.292000 395.792000 343.288000 383.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 343.288000 395.792000 349.288000 383.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 349.288000 395.792000 355.288000 383.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 355.288000 395.792000 364.612000 383.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 364.588000 395.792000 367.588000 383.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.792000 395.792000 370.792000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 370.888000 395.792000 378.208000 383.792000 1.000000 0.000000 0.000000 1.000000 T +drawChar 378.088000 395.792000 384.088000 383.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 384.184000 395.792000 387.508000 383.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 387.484000 395.792000 392.152000 383.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 392.188000 395.792000 395.188000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 395.284000 395.792000 398.608000 383.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 398.584000 395.792000 403.252000 383.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 403.288000 395.792000 406.288000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 406.384000 395.792000 409.708000 383.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 409.588000 395.792000 415.588000 383.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 415.684000 395.792000 421.000000 383.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 421.084000 395.792000 424.084000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 424.180000 395.792000 430.180000 383.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 430.180000 395.792000 436.180000 383.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 436.180000 395.792000 439.504000 383.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 439.480000 395.792000 445.480000 383.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 445.480000 395.792000 448.480000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 448.576000 395.792000 452.572000 383.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 452.572000 395.792000 458.572000 383.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 458.572000 395.792000 464.572000 383.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 464.572000 395.792000 473.896000 383.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 473.968000 395.792000 476.968000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 476.968000 395.792000 480.292000 383.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 480.364000 395.792000 486.364000 383.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 486.364000 395.792000 489.364000 383.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.460000 395.792000 492.784000 383.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.664000 395.792000 498.664000 383.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.760000 395.792000 504.076000 383.792000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 395.792000 507.100000 383.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 382.292000 191.500000 370.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 191.596000 382.292000 197.596000 370.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 197.500000 382.292000 203.500000 370.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 203.500000 382.292000 208.168000 370.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 208.204000 382.292000 213.520000 370.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 214.000000 382.292000 217.000000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 217.600000 382.292000 220.924000 370.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 220.900000 382.292000 226.900000 370.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 226.996000 382.292000 232.312000 370.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 232.300000 382.292000 235.624000 370.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 236.200000 382.292000 239.200000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.800000 382.292000 243.124000 370.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 243.100000 382.292000 247.768000 370.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 248.404000 382.292000 251.404000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.004000 382.292000 257.320000 370.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 257.308000 382.292000 262.624000 370.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 262.612000 382.292000 266.608000 370.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 266.608000 382.292000 272.608000 370.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 272.512000 382.292000 277.828000 370.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 277.816000 382.292000 281.140000 370.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 281.116000 382.292000 286.432000 370.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 286.516000 382.292000 292.516000 370.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 292.420000 382.292000 295.420000 370.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.116000 382.292000 299.116000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 299.716000 382.292000 308.380000 370.292000 1.000000 0.000000 0.000000 1.000000 H +drawChar 308.416000 382.292000 313.732000 370.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 313.720000 382.292000 317.716000 370.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 317.716000 382.292000 323.716000 370.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 323.620000 382.292000 332.284000 370.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 332.320000 382.292000 338.320000 370.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 338.320000 382.292000 344.320000 370.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 344.320000 382.292000 350.320000 370.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 350.920000 382.292000 353.920000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 354.520000 382.292000 358.516000 370.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 358.516000 382.292000 361.840000 370.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 361.816000 382.292000 367.816000 370.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 367.816000 382.292000 373.816000 370.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 373.816000 382.292000 377.812000 370.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 377.812000 382.292000 382.480000 370.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 383.116000 382.292000 386.116000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.716000 382.292000 392.032000 370.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 392.020000 382.292000 396.016000 370.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 396.016000 382.292000 401.332000 370.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 401.920000 382.292000 404.920000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 405.520000 382.292000 410.836000 370.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 410.824000 382.292000 416.140000 370.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 416.128000 382.292000 420.796000 370.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 420.832000 382.292000 426.832000 370.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 427.432000 382.292000 430.432000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.032000 382.292000 434.356000 370.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 434.332000 382.292000 440.332000 370.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 440.932000 382.292000 443.932000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 444.532000 382.292000 449.848000 370.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 449.836000 382.292000 455.152000 370.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 455.140000 382.292000 459.136000 370.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 459.136000 382.292000 464.452000 370.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 465.040000 382.292000 468.040000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 468.640000 382.292000 472.636000 370.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 472.636000 382.292000 478.636000 370.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 478.636000 382.292000 482.632000 370.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 483.136000 382.292000 486.136000 370.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.736000 382.292000 492.052000 370.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 492.040000 382.292000 498.040000 370.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.040000 382.292000 504.040000 370.292000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 382.292000 507.100000 370.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 368.892000 188.824000 356.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 188.800000 368.892000 194.800000 356.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 194.800000 368.892000 200.800000 356.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 200.800000 368.892000 206.800000 356.892000 1.000000 0.000000 0.000000 1.000000 k +drawChar 206.800000 368.892000 209.800000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 209.800000 368.892000 215.800000 356.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 215.800000 368.892000 219.124000 356.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 219.196000 368.892000 224.512000 356.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 224.500000 368.892000 229.816000 356.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 229.804000 368.892000 232.804000 356.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 232.804000 368.892000 235.804000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.804000 368.892000 241.804000 356.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 241.804000 368.892000 247.804000 356.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 247.804000 368.892000 251.128000 356.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 251.200000 368.892000 254.200000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 254.200000 368.892000 259.516000 356.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 259.504000 368.892000 264.820000 356.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 264.808000 368.892000 268.804000 356.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 268.804000 368.892000 274.804000 356.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 274.708000 368.892000 280.024000 356.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 280.012000 368.892000 283.336000 356.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 283.312000 368.892000 286.636000 356.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 286.708000 368.892000 292.708000 356.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 292.708000 368.892000 298.708000 356.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 298.804000 368.892000 301.804000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 301.804000 368.892000 305.128000 356.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 305.200000 368.892000 309.868000 356.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 309.796000 368.892000 312.796000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 312.796000 368.892000 322.120000 356.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 322.096000 368.892000 328.096000 356.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 328.096000 368.892000 333.412000 356.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 333.400000 368.892000 339.400000 356.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 339.496000 368.892000 342.496000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 342.496000 368.892000 351.820000 356.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 351.796000 368.892000 357.796000 356.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.796000 368.892000 361.792000 356.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 361.792000 368.892000 367.108000 356.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 367.096000 368.892000 370.096000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 370.096000 368.892000 376.096000 356.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 376.000000 368.892000 379.324000 356.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 379.396000 368.892000 384.712000 356.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 384.700000 368.892000 390.016000 356.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 390.004000 368.892000 394.672000 356.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 394.708000 368.892000 400.024000 356.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 400.012000 368.892000 406.012000 356.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 406.012000 368.892000 409.336000 356.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 409.516000 368.892000 412.516000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 412.516000 368.892000 416.512000 356.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 416.512000 368.892000 422.512000 356.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 422.512000 368.892000 426.508000 356.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 426.508000 368.892000 429.508000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 429.508000 368.892000 435.508000 356.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 435.508000 368.892000 440.824000 356.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 440.812000 368.892000 444.808000 356.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 444.808000 368.892000 450.124000 356.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 450.112000 368.892000 453.112000 356.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 453.112000 368.892000 457.108000 356.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 457.108000 368.892000 462.424000 356.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 462.412000 368.892000 467.728000 356.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 467.716000 368.892000 471.040000 356.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 471.016000 368.892000 474.016000 356.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 349.392000 189.496000 337.392000 1.000000 0.000000 0.000000 1.000000 I +drawChar 189.496000 349.392000 195.496000 337.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 196.096000 349.392000 199.096000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 199.696000 349.392000 209.020000 337.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 208.996000 349.392000 214.996000 337.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 215.596000 349.392000 218.596000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 219.196000 349.392000 225.196000 337.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 225.196000 349.392000 230.512000 337.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 230.500000 349.392000 236.500000 337.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 236.404000 349.392000 240.400000 337.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 240.400000 349.392000 246.400000 337.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 246.400000 349.392000 252.400000 337.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 252.400000 349.392000 261.724000 337.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 262.504000 349.392000 265.504000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 266.104000 349.392000 269.428000 337.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 269.404000 349.392000 274.072000 337.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 274.708000 349.392000 277.708000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 278.308000 349.392000 283.624000 337.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 284.812000 349.392000 287.812000 337.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 287.900000 349.392000 293.900000 337.392000 1.000000 0.000000 0.000000 1.000000 q +drawChar 293.900000 349.392000 299.900000 337.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 299.900000 349.392000 305.216000 337.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 305.204000 349.392000 310.520000 337.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 310.508000 349.392000 316.508000 337.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 316.508000 349.392000 320.504000 337.392000 1.000000 0.000000 0.000000 1.000000 - +drawChar 320.504000 349.392000 325.172000 337.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 325.208000 349.392000 328.532000 337.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 328.508000 349.392000 333.824000 337.392000 1.000000 0.000000 0.000000 1.000000 z +drawChar 333.812000 349.392000 339.128000 337.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 339.812000 349.392000 342.812000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.412000 349.392000 349.412000 337.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 349.412000 349.392000 354.728000 337.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.716000 349.392000 360.716000 337.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 361.316000 349.392000 364.316000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 364.916000 349.392000 370.232000 337.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 370.220000 349.392000 376.220000 337.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 376.220000 349.392000 382.220000 337.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 382.820000 349.392000 385.820000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.420000 349.392000 389.744000 337.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 389.720000 349.392000 398.384000 337.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 398.420000 349.392000 404.420000 337.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 405.020000 349.392000 408.020000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 408.620000 349.392000 414.620000 337.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 414.620000 349.392000 417.944000 337.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 418.016000 349.392000 424.016000 337.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 423.920000 349.392000 429.920000 337.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 430.016000 349.392000 433.340000 337.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 433.916000 349.392000 436.916000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.516000 349.392000 442.184000 337.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 442.220000 349.392000 445.544000 337.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 445.520000 349.392000 450.836000 337.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 450.824000 349.392000 456.824000 337.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 456.824000 349.392000 462.824000 337.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 462.728000 349.392000 467.396000 337.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 467.432000 349.392000 470.432000 337.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 471.128000 349.392000 474.128000 337.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 474.728000 349.392000 483.392000 337.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 483.332000 349.392000 489.332000 337.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 489.428000 349.392000 492.752000 337.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 492.728000 349.392000 498.044000 337.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 498.032000 349.392000 504.032000 337.392000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 349.392000 507.100000 337.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 335.992000 188.824000 323.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 335.992000 194.116000 323.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 194.104000 335.992000 200.104000 323.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 200.104000 335.992000 205.420000 323.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 205.408000 335.992000 210.076000 323.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 210.412000 335.992000 213.412000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.616000 335.992000 219.616000 323.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 219.616000 335.992000 225.616000 323.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 225.820000 335.992000 228.820000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 229.120000 335.992000 238.444000 323.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 238.420000 335.992000 244.420000 323.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 244.420000 335.992000 249.088000 323.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 249.124000 335.992000 252.448000 323.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 252.628000 335.992000 255.628000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 255.928000 335.992000 261.928000 323.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 261.832000 335.992000 265.828000 323.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 266.032000 335.992000 269.032000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.332000 335.992000 272.656000 323.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 272.536000 335.992000 278.536000 323.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 278.632000 335.992000 283.948000 323.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 284.236000 335.992000 287.236000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.440000 335.992000 291.436000 323.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 291.436000 335.992000 297.436000 323.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 297.436000 335.992000 303.436000 323.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 303.436000 335.992000 312.760000 323.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 312.736000 335.992000 315.736000 323.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 315.940000 335.992000 318.940000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 319.240000 335.992000 327.904000 323.992000 1.000000 0.000000 0.000000 1.000000 O +drawChar 327.844000 335.992000 333.844000 323.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 334.144000 335.992000 337.144000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.348000 335.992000 342.664000 323.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 342.652000 335.992000 347.968000 323.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 347.956000 335.992000 353.272000 323.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 353.260000 335.992000 359.260000 323.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 359.560000 335.992000 362.560000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.764000 335.992000 367.432000 323.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 367.468000 335.992000 370.792000 323.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 370.864000 335.992000 376.864000 323.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 376.768000 335.992000 382.084000 323.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 382.372000 335.992000 385.372000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 385.576000 335.992000 391.576000 323.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 391.576000 335.992000 395.572000 323.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 395.776000 335.992000 398.776000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 399.076000 335.992000 402.400000 323.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 402.280000 335.992000 408.280000 323.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 408.376000 335.992000 413.692000 323.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.872000 335.992000 416.872000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.172000 335.992000 423.172000 323.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 423.172000 335.992000 428.488000 323.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 428.476000 335.992000 434.476000 323.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 434.680000 335.992000 437.680000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.980000 335.992000 441.304000 323.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 441.280000 335.992000 445.948000 323.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 446.176000 335.992000 449.176000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.380000 335.992000 454.696000 323.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 454.876000 335.992000 457.876000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 458.176000 335.992000 464.176000 323.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 464.080000 335.992000 470.080000 323.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 470.080000 335.992000 476.080000 323.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 476.080000 335.992000 480.076000 323.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 480.076000 335.992000 483.076000 323.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 483.376000 335.992000 486.376000 323.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.580000 335.992000 492.580000 323.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 492.580000 335.992000 498.580000 323.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.580000 335.992000 503.896000 323.992000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 335.992000 507.200000 323.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 322.492000 188.824000 310.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 188.800000 322.492000 194.116000 310.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 194.104000 322.492000 199.420000 310.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 199.408000 322.492000 205.408000 310.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 205.312000 322.492000 209.980000 310.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 211.108000 322.492000 214.108000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 215.008000 322.492000 218.332000 310.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 218.308000 322.492000 224.308000 310.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 225.208000 322.492000 228.208000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 229.204000 322.492000 234.520000 310.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 235.408000 322.492000 238.408000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.404000 322.492000 248.068000 310.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 248.104000 322.492000 253.420000 310.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 253.408000 322.492000 256.732000 310.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 256.708000 322.492000 262.708000 310.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 262.708000 322.492000 266.704000 310.492000 1.000000 0.000000 0.000000 1.000000 - +drawChar 266.704000 322.492000 270.028000 310.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 270.004000 322.492000 276.004000 310.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 276.904000 322.492000 279.904000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 280.900000 322.492000 286.216000 310.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 286.204000 322.492000 289.528000 310.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 289.504000 322.492000 295.504000 310.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 295.504000 322.492000 300.172000 310.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 300.208000 322.492000 305.524000 310.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 305.512000 322.492000 308.836000 310.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 308.812000 322.492000 311.812000 310.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 312.808000 322.492000 315.808000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 316.708000 322.492000 322.024000 310.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 322.012000 322.492000 328.012000 310.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 328.012000 322.492000 334.012000 310.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 335.008000 322.492000 338.008000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.908000 322.492000 342.232000 310.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 342.208000 322.492000 348.208000 310.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 348.304000 322.492000 353.620000 310.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.508000 322.492000 357.508000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.408000 322.492000 364.408000 310.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 364.408000 322.492000 367.732000 310.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 367.708000 322.492000 373.708000 310.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 373.804000 322.492000 379.120000 310.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 379.108000 322.492000 383.104000 310.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 384.004000 322.492000 387.004000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.904000 322.492000 391.228000 310.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 391.204000 322.492000 397.204000 310.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 398.200000 322.492000 401.200000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 402.100000 322.492000 405.424000 310.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 405.400000 322.492000 411.400000 310.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 411.496000 322.492000 416.812000 310.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 417.700000 322.492000 420.700000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 421.600000 322.492000 427.600000 310.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 427.600000 322.492000 432.916000 310.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 432.904000 322.492000 436.228000 310.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 436.204000 322.492000 442.204000 310.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 442.300000 322.492000 446.296000 310.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 446.296000 322.492000 452.296000 310.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 452.296000 322.492000 458.296000 310.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 458.296000 322.492000 467.620000 310.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 467.596000 322.492000 470.596000 310.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.496000 322.492000 474.496000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.492000 322.492000 479.488000 310.492000 1.000000 0.000000 0.000000 1.000000 I +drawChar 480.388000 322.492000 483.388000 310.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 484.288000 322.492000 489.604000 310.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 489.592000 322.492000 492.916000 310.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 492.892000 322.492000 497.560000 310.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 497.596000 322.492000 503.596000 310.492000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 322.492000 507.100000 310.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 309.092000 191.500000 297.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 191.596000 309.092000 196.912000 297.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 196.900000 309.092000 202.900000 297.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 202.804000 309.092000 208.120000 297.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 208.204000 309.092000 211.204000 297.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 211.300000 309.092000 216.616000 297.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 216.796000 309.092000 219.796000 297.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 219.800000 309.092000 223.124000 297.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 223.100000 309.092000 228.416000 297.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 228.404000 309.092000 231.728000 297.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 231.704000 309.092000 237.020000 297.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 237.104000 309.092000 243.104000 297.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 243.008000 309.092000 246.332000 297.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 246.404000 309.092000 251.072000 297.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 251.108000 309.092000 254.432000 297.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 254.504000 309.092000 260.504000 297.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 260.504000 309.092000 266.504000 297.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 266.504000 309.092000 269.504000 297.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.600000 309.092000 272.924000 297.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 272.996000 309.092000 278.996000 297.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 278.996000 309.092000 281.996000 297.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.092000 309.092000 291.416000 297.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 291.392000 309.092000 297.392000 297.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 297.488000 309.092000 300.488000 297.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 300.584000 309.092000 306.584000 297.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 306.584000 309.092000 311.900000 297.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 311.888000 309.092000 317.888000 297.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 317.792000 309.092000 321.788000 297.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 321.788000 309.092000 327.788000 297.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 327.788000 309.092000 333.788000 297.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 333.788000 309.092000 343.112000 297.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 343.088000 309.092000 346.088000 297.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 346.292000 309.092000 349.292000 297.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.388000 309.092000 354.704000 297.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.692000 309.092000 359.360000 297.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 359.396000 309.092000 365.396000 297.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 365.300000 309.092000 370.616000 297.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 370.604000 309.092000 375.920000 297.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 375.908000 309.092000 379.232000 297.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 379.304000 309.092000 384.620000 297.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 384.608000 309.092000 387.932000 297.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 387.908000 309.092000 391.232000 297.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 391.304000 309.092000 397.304000 297.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 397.400000 309.092000 400.400000 297.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 400.496000 309.092000 404.492000 297.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 404.492000 309.092000 410.492000 297.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 410.492000 309.092000 414.488000 297.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 414.596000 309.092000 417.596000 297.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.692000 309.092000 426.356000 297.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 426.392000 309.092000 431.708000 297.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 431.696000 309.092000 435.020000 297.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 434.996000 309.092000 440.312000 297.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 440.192000 309.092000 446.192000 297.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 446.288000 309.092000 449.612000 297.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 449.684000 309.092000 455.684000 297.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 455.684000 309.092000 461.684000 297.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 461.684000 309.092000 464.684000 297.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.780000 309.092000 468.104000 297.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 468.080000 309.092000 474.080000 297.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 474.176000 309.092000 479.492000 297.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 479.480000 309.092000 482.480000 297.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 482.576000 309.092000 485.900000 297.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 485.876000 309.092000 491.192000 297.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 491.180000 309.092000 494.504000 297.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 494.480000 309.092000 499.796000 297.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 499.784000 309.092000 503.780000 297.092000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 295.592000 191.500000 283.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 191.500000 295.592000 194.824000 283.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 194.800000 295.592000 200.800000 283.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 200.800000 295.592000 206.800000 283.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 206.896000 295.592000 210.220000 283.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 210.496000 295.592000 213.496000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.796000 295.592000 223.120000 283.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 223.096000 295.592000 229.096000 283.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 229.096000 295.592000 235.096000 283.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 235.000000 295.592000 238.324000 283.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 238.396000 295.592000 243.712000 283.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 243.700000 295.592000 248.368000 283.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 248.404000 295.592000 251.404000 283.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.704000 295.592000 254.704000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 255.004000 295.592000 259.000000 283.592000 1.000000 0.000000 0.000000 1.000000 I +drawChar 259.000000 295.592000 262.324000 283.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 262.300000 295.592000 264.460000 283.592000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 264.496000 295.592000 269.164000 283.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 269.500000 295.592000 272.500000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.800000 295.592000 278.116000 283.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 278.104000 295.592000 281.428000 283.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 281.404000 295.592000 286.072000 283.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 286.108000 295.592000 292.108000 283.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 292.408000 295.592000 295.408000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.708000 295.592000 301.708000 283.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 301.612000 295.592000 307.612000 283.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 307.612000 295.592000 312.280000 283.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 312.316000 295.592000 316.984000 283.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 317.020000 295.592000 320.344000 283.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 320.416000 295.592000 326.416000 283.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 326.416000 295.592000 329.740000 283.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 329.716000 295.592000 335.032000 283.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.416000 295.592000 338.416000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.716000 295.592000 342.040000 283.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 342.016000 295.592000 348.016000 283.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 348.316000 295.592000 351.316000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.616000 295.592000 354.940000 283.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 354.916000 295.592000 358.240000 283.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 358.216000 295.592000 362.884000 283.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 362.920000 295.592000 366.244000 283.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 366.220000 295.592000 371.536000 283.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 371.524000 295.592000 377.524000 283.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 377.920000 295.592000 380.920000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 381.220000 295.592000 384.544000 283.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 384.520000 295.592000 390.520000 283.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 390.820000 295.592000 393.820000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 394.120000 295.592000 403.444000 283.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 403.420000 295.592000 409.420000 283.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 409.420000 295.592000 414.088000 283.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 414.124000 295.592000 417.448000 283.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 417.520000 295.592000 422.836000 283.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 423.124000 295.592000 426.124000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.424000 295.592000 429.748000 283.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 429.820000 295.592000 435.820000 283.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 436.024000 295.592000 439.024000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 439.324000 295.592000 448.648000 283.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 448.624000 295.592000 454.624000 283.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 455.020000 295.592000 458.020000 283.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 458.320000 295.592000 464.320000 283.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 464.320000 295.592000 469.636000 283.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 469.624000 295.592000 475.624000 283.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 475.528000 295.592000 479.524000 283.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 479.524000 295.592000 485.524000 283.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 485.524000 295.592000 491.524000 283.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 491.524000 295.592000 500.848000 283.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 500.824000 295.592000 503.824000 283.592000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 295.592000 507.100000 283.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 282.192000 190.816000 270.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 282.192000 195.472000 270.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 196.300000 282.192000 199.300000 270.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 200.104000 282.192000 209.428000 270.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 209.404000 282.192000 215.404000 270.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 217.000000 282.192000 220.000000 270.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 220.100000 282.192000 224.768000 270.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 224.804000 282.192000 228.128000 270.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 228.104000 282.192000 233.420000 270.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 233.408000 282.192000 237.404000 270.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.404000 282.192000 242.720000 270.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 242.708000 282.192000 248.708000 270.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 249.512000 282.192000 252.512000 270.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 253.316000 282.192000 257.984000 270.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 258.020000 282.192000 264.020000 270.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 263.924000 282.192000 268.592000 270.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 268.628000 282.192000 271.952000 270.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 271.928000 282.192000 277.244000 270.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 277.232000 282.192000 286.556000 270.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 287.432000 282.192000 290.432000 270.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.236000 282.192000 294.560000 270.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 294.632000 282.192000 299.300000 270.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 300.032000 282.192000 303.032000 270.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 303.836000 282.192000 307.160000 270.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 307.232000 282.192000 313.232000 270.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 313.232000 282.192000 316.556000 270.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 316.532000 282.192000 321.848000 270.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.836000 282.192000 327.836000 270.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 327.836000 282.192000 331.832000 270.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 331.832000 282.192000 337.148000 270.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 337.136000 282.192000 340.460000 270.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 340.436000 282.192000 345.752000 270.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 345.740000 282.192000 351.740000 270.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 352.640000 282.192000 355.640000 270.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 356.444000 282.192000 365.108000 270.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 365.144000 282.192000 368.468000 270.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 368.540000 282.192000 371.864000 270.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 371.744000 282.192000 377.744000 270.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 378.644000 282.192000 381.644000 270.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 382.448000 282.192000 385.772000 270.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 385.652000 282.192000 391.652000 270.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 391.748000 282.192000 397.064000 270.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 397.844000 282.192000 400.844000 270.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 401.648000 282.192000 404.972000 270.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 404.948000 282.192000 410.264000 270.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 410.252000 282.192000 413.576000 270.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 413.552000 282.192000 418.868000 270.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 418.952000 282.192000 424.952000 270.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 424.856000 282.192000 428.180000 270.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 428.252000 282.192000 432.920000 270.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 432.956000 282.192000 436.280000 270.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 436.352000 282.192000 442.352000 270.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 442.352000 282.192000 448.352000 270.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 448.352000 282.192000 451.352000 270.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.156000 282.192000 455.156000 270.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.960000 282.192000 464.624000 270.192000 1.000000 0.000000 0.000000 1.000000 U +drawChar 464.660000 282.192000 469.328000 270.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 469.256000 282.192000 472.580000 270.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 472.652000 282.192000 478.652000 270.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 478.652000 282.192000 484.652000 270.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 485.456000 282.192000 488.456000 270.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.260000 282.192000 492.584000 270.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.464000 282.192000 498.464000 270.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.560000 282.192000 503.876000 270.192000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 282.192000 507.100000 270.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 268.692000 189.496000 256.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 189.496000 268.692000 194.812000 256.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 194.800000 268.692000 204.124000 256.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 204.100000 268.692000 210.100000 256.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 210.100000 268.692000 213.424000 256.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 213.400000 268.692000 218.716000 256.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 218.896000 268.692000 221.896000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 221.992000 268.692000 227.308000 256.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 227.296000 268.692000 233.296000 256.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 233.296000 268.692000 239.296000 256.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 239.296000 268.692000 242.620000 256.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 242.596000 268.692000 246.592000 256.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 246.592000 268.692000 252.592000 256.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 252.592000 268.692000 255.916000 256.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 255.892000 268.692000 258.892000 256.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 259.096000 268.692000 262.096000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.192000 268.692000 266.188000 256.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 266.296000 268.692000 269.296000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.392000 268.692000 274.708000 256.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 274.696000 268.692000 280.012000 256.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 280.000000 268.692000 286.000000 256.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 286.204000 268.692000 289.204000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.300000 268.692000 295.300000 256.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 295.300000 268.692000 301.300000 256.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 301.204000 268.692000 306.520000 256.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 306.508000 268.692000 310.504000 256.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 310.504000 268.692000 315.820000 256.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 315.808000 268.692000 319.132000 256.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 319.108000 268.692000 324.424000 256.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 324.712000 268.692000 327.712000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.808000 268.692000 331.132000 256.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 331.012000 268.692000 337.012000 256.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 337.108000 268.692000 342.424000 256.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 342.604000 268.692000 345.604000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.700000 268.692000 350.368000 256.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 350.404000 268.692000 353.728000 256.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 353.704000 268.692000 359.020000 256.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 359.008000 268.692000 363.004000 256.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 363.004000 268.692000 368.320000 256.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 368.308000 268.692000 374.308000 256.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 374.404000 268.692000 377.404000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.500000 268.692000 382.168000 256.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 382.204000 268.692000 388.204000 256.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 388.108000 268.692000 392.776000 256.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 392.812000 268.692000 396.136000 256.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 396.112000 268.692000 401.428000 256.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 401.416000 268.692000 410.740000 256.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 410.920000 268.692000 413.920000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.016000 268.692000 417.340000 256.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 417.412000 268.692000 423.412000 256.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 423.508000 268.692000 426.508000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.604000 268.692000 429.928000 256.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 429.808000 268.692000 435.808000 256.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 435.904000 268.692000 441.220000 256.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 441.304000 268.692000 444.304000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 444.400000 268.692000 447.724000 256.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 447.700000 268.692000 451.024000 256.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 451.096000 268.692000 457.096000 256.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 457.000000 268.692000 460.324000 256.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 460.396000 268.692000 466.396000 256.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 466.396000 268.692000 472.396000 256.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 472.600000 268.692000 475.600000 256.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.696000 268.692000 479.692000 256.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 479.596000 268.692000 485.596000 256.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 485.596000 268.692000 491.596000 256.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 491.596000 268.692000 500.920000 256.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 500.896000 268.692000 503.896000 256.692000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 268.692000 507.100000 256.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 255.292000 190.816000 243.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 255.292000 196.804000 243.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 196.804000 255.292000 202.804000 243.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 202.804000 255.292000 205.804000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 205.900000 255.292000 209.224000 243.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 209.104000 255.292000 215.104000 243.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 215.200000 255.292000 220.516000 243.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 220.504000 255.292000 223.504000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 223.600000 255.292000 226.924000 243.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 226.900000 255.292000 232.900000 243.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 232.900000 255.292000 238.900000 243.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 238.900000 255.292000 244.216000 243.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 244.300000 255.292000 247.300000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.300000 255.292000 250.624000 243.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 250.696000 255.292000 255.364000 243.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 255.292000 255.292000 258.292000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.388000 255.292000 264.388000 243.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 264.292000 255.292000 268.288000 243.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 268.288000 255.292000 274.288000 243.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 274.288000 255.292000 277.612000 243.292000 1.000000 0.000000 0.000000 1.000000 j +drawChar 277.684000 255.292000 283.000000 243.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 282.988000 255.292000 288.304000 243.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 288.292000 255.292000 291.616000 243.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 291.592000 255.292000 296.908000 243.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 296.896000 255.292000 302.896000 243.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 302.992000 255.292000 305.992000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 306.088000 255.292000 309.412000 243.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 309.292000 255.292000 315.292000 243.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 315.388000 255.292000 319.384000 243.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 319.384000 255.292000 325.384000 243.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 325.384000 255.292000 331.384000 243.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 331.384000 255.292000 337.384000 243.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 337.288000 255.292000 343.288000 243.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 343.384000 255.292000 346.384000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.384000 255.292000 349.708000 243.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 349.684000 255.292000 355.684000 243.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 355.780000 255.292000 361.096000 243.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 361.084000 255.292000 364.084000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 364.180000 255.292000 367.504000 243.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 367.480000 255.292000 372.796000 243.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 372.784000 255.292000 376.108000 243.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 376.084000 255.292000 381.400000 243.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 381.388000 255.292000 387.388000 243.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 387.292000 255.292000 390.616000 243.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 390.688000 255.292000 395.356000 243.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 395.392000 255.292000 398.716000 243.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 398.788000 255.292000 404.788000 243.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 404.788000 255.292000 410.788000 243.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 410.788000 255.292000 413.788000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.884000 255.292000 418.552000 243.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 418.588000 255.292000 424.588000 243.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 424.492000 255.292000 429.808000 243.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 429.796000 255.292000 435.112000 243.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 435.100000 255.292000 441.100000 243.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 441.100000 255.292000 446.416000 243.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 446.404000 255.292000 450.400000 243.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 450.400000 255.292000 455.068000 243.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 455.104000 255.292000 458.104000 243.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.200000 255.292000 461.200000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 461.200000 255.292000 464.200000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.296000 255.292000 472.960000 243.292000 1.000000 0.000000 0.000000 1.000000 A +drawChar 472.996000 255.292000 475.996000 243.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.996000 255.292000 485.320000 243.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 485.296000 255.292000 490.612000 243.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 490.600000 255.292000 493.924000 243.292000 1.000000 0.000000 0.000000 1.000000 j +drawChar 493.996000 255.292000 499.996000 243.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 499.996000 255.292000 503.992000 243.292000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 255.292000 507.100000 243.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 241.792000 190.816000 229.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 241.792000 196.804000 229.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 196.804000 241.792000 202.804000 229.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 202.708000 241.792000 208.024000 229.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 208.012000 241.792000 214.012000 229.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 214.012000 241.792000 217.336000 229.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 217.408000 241.792000 222.724000 229.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 222.712000 241.792000 228.712000 229.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 228.712000 241.792000 234.028000 229.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 234.508000 241.792000 237.508000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 237.808000 241.792000 241.132000 229.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 241.108000 241.792000 247.108000 229.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 247.504000 241.792000 250.504000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 250.900000 241.792000 254.224000 229.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 254.104000 241.792000 260.104000 229.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 260.200000 241.792000 263.524000 229.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 263.500000 241.792000 268.168000 229.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 268.600000 241.792000 271.600000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.900000 241.792000 276.568000 229.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 276.604000 241.792000 282.604000 229.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 282.508000 241.792000 287.176000 229.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 287.212000 241.792000 290.536000 229.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 290.512000 241.792000 295.828000 229.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 295.816000 241.792000 305.140000 229.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 305.620000 241.792000 308.620000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.016000 241.792000 312.340000 229.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 312.316000 241.792000 316.984000 229.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 317.320000 241.792000 320.320000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.716000 241.792000 324.040000 229.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 323.920000 241.792000 329.920000 229.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 330.016000 241.792000 335.332000 229.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 335.320000 241.792000 338.644000 229.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 339.016000 241.792000 342.016000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 342.412000 241.792000 347.728000 229.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 347.716000 241.792000 351.040000 229.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 351.016000 241.792000 354.340000 229.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 354.712000 241.792000 357.712000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.108000 241.792000 367.432000 229.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 367.408000 241.792000 373.408000 229.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 373.804000 241.792000 376.804000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.104000 241.792000 385.096000 229.792000 1.000000 0.000000 0.000000 1.000000 C +drawChar 385.108000 241.792000 393.772000 229.792000 1.000000 0.000000 0.000000 1.000000 D +drawChar 393.712000 241.792000 395.872000 229.792000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 395.908000 241.792000 400.576000 229.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 400.912000 241.792000 403.912000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 404.308000 241.792000 408.304000 229.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 408.304000 241.792000 413.620000 229.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.608000 241.792000 422.932000 229.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 422.908000 241.792000 428.224000 229.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 428.212000 241.792000 431.536000 229.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 431.608000 241.792000 437.608000 229.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 438.004000 241.792000 441.004000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.304000 241.792000 444.628000 229.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 444.700000 241.792000 450.700000 229.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 451.000000 241.792000 454.000000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 454.396000 241.792000 460.396000 229.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 460.396000 241.792000 466.396000 229.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 466.396000 241.792000 471.712000 229.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 472.000000 241.792000 475.000000 229.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.396000 241.792000 481.396000 229.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 481.300000 241.792000 484.624000 229.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 484.600000 241.792000 489.916000 229.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 489.904000 241.792000 495.220000 229.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 495.304000 241.792000 500.620000 229.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 500.608000 241.792000 503.608000 229.792000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 241.792000 507.200000 229.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 228.392000 188.824000 216.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 188.896000 228.392000 194.896000 216.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 194.800000 228.392000 199.468000 216.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 199.504000 228.392000 202.828000 216.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 202.804000 228.392000 208.120000 216.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 208.108000 228.392000 213.424000 216.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 213.412000 228.392000 219.412000 216.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 219.508000 228.392000 222.508000 216.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 222.508000 228.392000 228.508000 216.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 228.508000 228.392000 232.504000 216.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 232.504000 228.392000 235.504000 216.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.504000 228.392000 241.504000 216.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 241.504000 228.392000 246.820000 216.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 246.808000 228.392000 250.132000 216.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 250.204000 228.392000 256.204000 216.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 256.204000 228.392000 262.204000 216.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 262.204000 228.392000 265.204000 216.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.204000 228.392000 269.872000 216.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 269.908000 228.392000 275.224000 216.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 275.212000 228.392000 280.528000 216.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 280.516000 228.392000 283.840000 216.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 283.816000 228.392000 287.140000 216.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 287.116000 228.392000 292.432000 216.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 292.420000 228.392000 296.416000 216.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 296.416000 228.392000 301.732000 216.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 301.720000 228.392000 307.720000 216.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 307.816000 228.392000 310.816000 216.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 310.816000 228.392000 316.132000 216.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 316.120000 228.392000 319.444000 216.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 319.420000 228.392000 322.744000 216.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 322.816000 228.392000 325.816000 216.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.816000 228.392000 331.816000 216.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 331.816000 228.392000 337.816000 216.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 337.720000 228.392000 343.036000 216.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.024000 228.392000 347.020000 216.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 347.128000 228.392000 350.128000 216.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.128000 228.392000 353.452000 216.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 353.428000 228.392000 359.428000 216.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 359.524000 228.392000 364.840000 216.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 364.828000 228.392000 367.828000 216.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.828000 228.392000 373.828000 216.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 373.828000 228.392000 379.828000 216.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 379.828000 228.392000 385.828000 216.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 385.828000 228.392000 390.496000 216.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 390.532000 228.392000 395.848000 216.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.836000 228.392000 398.836000 216.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 72.100000 200.216000 80.764000 188.216000 1.000000 0.000000 0.000000 1.000000 B +drawChar 80.800000 200.216000 87.472000 188.216000 1.000000 0.000000 0.000000 1.000000 e +drawChar 87.400000 200.216000 94.732000 188.216000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 185.792000 194.164000 173.792000 1.000000 0.000000 0.000000 1.000000 H +drawChar 194.200000 185.792000 199.516000 173.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 199.504000 185.792000 205.504000 173.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 205.408000 185.792000 208.732000 173.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 208.804000 185.792000 214.804000 173.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 214.804000 185.792000 220.804000 173.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 221.704000 185.792000 224.704000 173.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 225.604000 185.792000 230.920000 173.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 232.708000 185.792000 235.708000 173.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 235.700000 185.792000 244.364000 173.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 244.304000 185.792000 249.620000 173.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 249.608000 185.792000 252.932000 173.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 252.908000 185.792000 258.224000 173.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 258.212000 185.792000 262.208000 173.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 262.208000 185.792000 268.208000 173.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 268.208000 185.792000 273.524000 173.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 273.608000 185.792000 279.608000 173.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 280.508000 185.792000 283.508000 173.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 284.408000 185.792000 293.072000 173.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 293.108000 185.792000 298.424000 173.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 298.304000 185.792000 302.972000 173.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 303.908000 185.792000 306.908000 173.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.808000 185.792000 313.124000 173.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 313.112000 185.792000 316.436000 173.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 316.412000 185.792000 325.076000 173.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 325.112000 185.792000 330.428000 173.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 330.416000 185.792000 336.416000 173.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 336.320000 185.792000 340.988000 173.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 342.020000 185.792000 345.020000 173.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.920000 185.792000 351.236000 173.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 352.016000 185.792000 355.016000 173.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 355.916000 185.792000 361.916000 173.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 361.820000 185.792000 365.816000 173.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 365.816000 185.792000 371.132000 173.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 371.120000 185.792000 376.436000 173.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 376.520000 185.792000 385.844000 173.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 386.816000 185.792000 389.816000 173.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 390.716000 185.792000 396.716000 173.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 396.716000 185.792000 400.712000 173.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 401.516000 185.792000 404.516000 173.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 405.416000 185.792000 414.740000 173.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 414.716000 185.792000 418.040000 173.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 418.112000 185.792000 424.112000 173.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 424.112000 185.792000 429.428000 173.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 429.416000 185.792000 432.416000 173.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.316000 185.792000 436.316000 173.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.216000 185.792000 445.880000 173.792000 1.000000 0.000000 0.000000 1.000000 H +drawChar 445.820000 185.792000 451.820000 173.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 451.820000 185.792000 460.484000 173.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 460.520000 185.792000 465.836000 173.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 465.824000 185.792000 471.824000 173.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 471.728000 185.792000 477.044000 173.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 477.032000 185.792000 481.028000 173.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 481.028000 185.792000 484.028000 173.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 485.024000 185.792000 488.024000 173.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.924000 185.792000 494.924000 173.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 494.924000 185.792000 500.240000 173.792000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 185.792000 504.196000 173.792000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 172.292000 190.816000 160.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 172.292000 196.120000 160.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 196.108000 172.292000 202.108000 160.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 202.108000 172.292000 206.776000 160.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 206.812000 172.292000 212.128000 160.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 213.316000 172.292000 216.316000 160.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 217.420000 172.292000 223.420000 160.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 223.420000 172.292000 227.416000 160.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 228.520000 172.292000 231.520000 160.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 232.624000 172.292000 238.624000 160.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 238.528000 172.292000 243.844000 160.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 243.832000 172.292000 247.828000 160.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 247.828000 172.292000 251.152000 160.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 251.224000 172.292000 257.224000 160.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 257.224000 172.292000 263.224000 160.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 263.224000 172.292000 267.892000 160.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 269.128000 172.292000 272.128000 160.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.232000 172.292000 277.228000 160.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 277.228000 172.292000 282.544000 160.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 282.532000 172.292000 287.848000 160.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 287.836000 172.292000 292.504000 160.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 292.540000 172.292000 298.540000 160.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 298.540000 172.292000 304.540000 160.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 304.540000 172.292000 309.208000 160.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 310.336000 172.292000 313.336000 160.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.536000 172.292000 319.852000 160.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 319.840000 172.292000 325.840000 160.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 325.840000 172.292000 331.840000 160.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 332.944000 172.292000 335.944000 160.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.048000 172.292000 342.364000 160.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 342.352000 172.292000 348.352000 160.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 348.352000 172.292000 354.352000 160.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 354.352000 172.292000 359.020000 160.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 359.056000 172.292000 362.380000 160.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 362.452000 172.292000 368.452000 160.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 368.356000 172.292000 373.672000 160.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 373.660000 172.292000 377.656000 160.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 377.656000 172.292000 380.980000 160.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 381.052000 172.292000 387.052000 160.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 387.052000 172.292000 393.052000 160.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 394.156000 172.292000 397.156000 160.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.356000 172.292000 403.672000 160.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 403.660000 172.292000 408.328000 160.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 408.364000 172.292000 414.364000 160.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 414.268000 172.292000 419.584000 160.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 419.572000 172.292000 424.888000 160.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 424.876000 172.292000 428.200000 160.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 428.272000 172.292000 433.588000 160.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 433.576000 172.292000 436.900000 160.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 436.876000 172.292000 440.200000 160.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 440.272000 172.292000 446.272000 160.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 447.472000 172.292000 450.472000 160.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.576000 172.292000 454.900000 160.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 454.876000 172.292000 460.876000 160.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 460.972000 172.292000 466.288000 160.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 467.368000 172.292000 470.368000 160.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 471.472000 172.292000 476.788000 160.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 476.776000 172.292000 482.776000 160.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 482.776000 172.292000 488.092000 160.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 488.080000 172.292000 492.076000 160.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 492.076000 172.292000 498.076000 160.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 498.076000 172.292000 504.076000 160.292000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 172.292000 507.200000 160.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 471.900000 85.992000 478.572000 73.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 478.596000 85.992000 483.912000 73.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 483.900000 85.992000 489.900000 73.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 489.900000 85.992000 495.216000 73.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.204000 85.992000 498.204000 73.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 498.200000 85.992000 504.200000 73.992000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 108.000000 550.900000 0 540.000000 550.900000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 550.900000 0 +eoFillPath subpath 1 108.000000 72.000000 0 540.000000 72.000000 0 540.000000 241.100000 0 108.000000 241.100000 0 108.000000 72.000000 0 +eoFillPath subpath 1 108.000000 241.100000 0 152.200000 241.100000 0 152.200000 550.900000 0 108.000000 550.900000 0 108.000000 241.100000 0 +eoFillPath subpath 1 495.700000 241.100000 0 540.000000 241.100000 0 540.000000 550.900000 0 495.700000 550.900000 0 495.700000 241.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 15220.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 108.000000 701.500000 0 540.000000 701.500000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 701.500000 0 +eoFillPath subpath 1 108.000000 76.700000 0 540.000000 76.700000 0 540.000000 90.100000 0 108.000000 90.100000 0 108.000000 76.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 108.100000 716.588000 121.428000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 121.396000 716.588000 129.396000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 129.492000 716.588000 133.940000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 133.988000 716.588000 145.540000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 145.588000 716.588000 154.484000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 154.484000 716.588000 163.380000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 163.380000 716.588000 171.380000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 171.380000 716.588000 180.276000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 180.484000 716.588000 184.932000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 184.884000 716.588000 190.212000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 190.292000 716.588000 194.740000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 194.800000 716.588000 205.472000 700.588000 1.000000 0.000000 0.000000 1.000000 S +drawChar 205.408000 716.588000 214.304000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 214.304000 716.588000 222.304000 700.588000 1.000000 0.000000 0.000000 1.000000 c +drawChar 222.304000 716.588000 231.200000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.312000 716.588000 240.208000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 240.208000 716.588000 249.104000 700.588000 1.000000 0.000000 0.000000 1.000000 d +drawChar 249.312000 716.588000 253.760000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 253.712000 716.588000 263.488000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 263.520000 716.588000 267.072000 700.588000 1.000000 0.000000 0.000000 1.000000 l +drawChar 267.024000 716.588000 275.920000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 276.032000 716.588000 284.928000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 284.928000 716.588000 290.256000 700.588000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 672.992000 227.500000 660.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 227.500000 672.992000 232.168000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 232.204000 672.992000 237.520000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 237.604000 672.992000 240.604000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 240.808000 672.992000 244.132000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 244.012000 672.992000 250.012000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 250.108000 672.992000 255.424000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 255.412000 672.992000 258.736000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 258.916000 672.992000 261.916000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.120000 672.992000 268.120000 660.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 268.120000 672.992000 274.120000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 274.120000 672.992000 279.436000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 279.424000 672.992000 284.092000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 284.224000 672.992000 287.224000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.428000 672.992000 290.752000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 290.728000 672.992000 296.728000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 296.728000 672.992000 300.052000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 300.028000 672.992000 306.028000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 306.232000 672.992000 309.232000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.436000 672.992000 315.436000 660.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 315.436000 672.992000 320.752000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.740000 672.992000 326.056000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 326.044000 672.992000 332.044000 660.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 331.948000 672.992000 335.272000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 335.344000 672.992000 341.344000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 341.344000 672.992000 347.344000 660.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 347.548000 672.992000 350.548000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.752000 672.992000 354.076000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 353.956000 672.992000 359.956000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 360.052000 672.992000 365.368000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 365.548000 672.992000 368.548000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.644000 672.992000 377.308000 660.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 377.344000 672.992000 382.660000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 382.648000 672.992000 385.972000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 385.948000 672.992000 391.264000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 391.252000 672.992000 395.248000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 395.452000 672.992000 398.452000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.656000 672.992000 404.656000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 404.656000 672.992000 409.972000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.960000 672.992000 415.276000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 415.264000 672.992000 418.588000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 418.564000 672.992000 423.880000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 423.868000 672.992000 429.868000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 430.072000 672.992000 433.072000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 433.276000 672.992000 438.592000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 438.580000 672.992000 441.904000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 442.084000 672.992000 445.084000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 445.288000 672.992000 450.604000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 450.688000 672.992000 453.688000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 453.892000 672.992000 459.208000 660.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 459.196000 672.992000 465.196000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 465.196000 672.992000 471.196000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 471.196000 672.992000 475.864000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 475.900000 672.992000 479.224000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 479.200000 672.992000 484.516000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 484.504000 672.992000 490.504000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 490.504000 672.992000 493.828000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 494.008000 672.992000 497.008000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 497.212000 672.992000 500.536000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 500.512000 672.992000 505.828000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 505.816000 672.992000 515.140000 660.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 515.116000 672.992000 521.116000 660.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 521.116000 672.992000 526.432000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 526.420000 672.992000 530.416000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 530.416000 672.992000 535.732000 660.992000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 672.992000 540.196000 660.992000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 659.592000 224.824000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 659.592000 230.800000 647.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 230.800000 659.592000 234.796000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 234.796000 659.592000 240.112000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.100000 659.592000 243.100000 647.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 243.196000 659.592000 246.196000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 246.196000 659.592000 250.192000 647.592000 1.000000 0.000000 0.000000 1.000000 I +drawChar 250.192000 659.592000 253.192000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 253.192000 659.592000 259.192000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 259.096000 659.592000 264.412000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 264.400000 659.592000 269.716000 647.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 269.704000 659.592000 273.028000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 273.100000 659.592000 279.100000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 279.004000 659.592000 284.320000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 284.404000 659.592000 290.404000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 290.500000 659.592000 293.500000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.500000 659.592000 299.500000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 299.500000 659.592000 305.500000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 305.500000 659.592000 308.500000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 308.500000 659.592000 313.816000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 313.804000 659.592000 316.804000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 316.804000 659.592000 322.804000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 322.804000 659.592000 328.804000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 328.804000 659.592000 332.800000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 332.800000 659.592000 342.124000 647.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 342.100000 659.592000 347.416000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 347.404000 659.592000 350.728000 647.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 350.800000 659.592000 353.800000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 353.800000 659.592000 359.800000 647.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 359.800000 659.592000 365.116000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 365.104000 659.592000 371.104000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 371.008000 659.592000 374.008000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.104000 659.592000 377.104000 647.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 640.092000 225.496000 628.092000 1.000000 0.000000 0.000000 1.000000 I +drawChar 225.496000 640.092000 231.496000 628.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 232.192000 640.092000 235.192000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.996000 640.092000 240.664000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 240.700000 640.092000 246.700000 628.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 246.700000 640.092000 256.024000 628.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 256.000000 640.092000 265.324000 628.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 265.300000 640.092000 270.616000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 270.604000 640.092000 274.600000 628.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 274.600000 640.092000 277.924000 628.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 277.900000 640.092000 281.224000 628.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 281.296000 640.092000 290.620000 628.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 290.596000 640.092000 295.912000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 297.592000 640.092000 300.592000 628.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 300.600000 640.092000 305.268000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 305.196000 640.092000 310.512000 628.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 310.500000 640.092000 313.824000 628.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 313.800000 640.092000 317.124000 628.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 317.196000 640.092000 323.196000 628.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 324.000000 640.092000 327.000000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.804000 640.092000 332.472000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 332.400000 640.092000 338.400000 628.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 338.496000 640.092000 343.812000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.800000 640.092000 349.116000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 349.104000 640.092000 352.428000 628.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 352.404000 640.092000 357.072000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 357.804000 640.092000 360.804000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.608000 640.092000 366.924000 628.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 366.912000 640.092000 370.908000 628.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 370.908000 640.092000 376.224000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 377.004000 640.092000 380.004000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.808000 640.092000 386.808000 628.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 386.712000 640.092000 390.036000 628.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 390.108000 640.092000 395.424000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.412000 640.092000 400.728000 628.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 400.716000 640.092000 405.384000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 405.420000 640.092000 410.736000 628.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 410.724000 640.092000 416.724000 628.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 416.724000 640.092000 420.048000 628.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 420.120000 640.092000 423.444000 628.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 423.420000 640.092000 429.420000 628.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 430.320000 640.092000 433.320000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.124000 640.092000 439.440000 628.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 439.428000 640.092000 445.428000 628.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 445.428000 640.092000 451.428000 628.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 451.428000 640.092000 454.752000 628.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 455.532000 640.092000 458.532000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.336000 640.092000 464.652000 628.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 464.640000 640.092000 470.640000 628.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 470.640000 640.092000 475.956000 628.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 475.944000 640.092000 479.268000 628.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 479.340000 640.092000 485.340000 628.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 485.244000 640.092000 489.912000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 489.948000 640.092000 493.272000 628.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 494.052000 640.092000 497.052000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 497.856000 640.092000 501.180000 628.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 501.156000 640.092000 507.156000 628.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 507.252000 640.092000 512.568000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 513.252000 640.092000 516.252000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 517.056000 640.092000 521.724000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 521.760000 640.092000 527.760000 628.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 527.760000 640.092000 531.084000 628.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 531.060000 640.092000 537.060000 628.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 537.060000 640.092000 540.060000 628.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 640.092000 543.100000 628.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 626.692000 232.168000 614.692000 1.000000 0.000000 0.000000 1.000000 M +drawChar 232.204000 626.692000 238.204000 614.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 238.504000 626.692000 241.504000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.900000 626.692000 246.568000 614.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 246.604000 626.692000 252.604000 614.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 252.604000 626.692000 257.920000 614.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 257.908000 626.692000 263.224000 614.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.212000 626.692000 266.536000 614.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 266.512000 626.692000 271.180000 614.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 271.612000 626.692000 274.612000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 275.008000 626.692000 280.324000 614.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 280.312000 626.692000 284.308000 614.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 284.308000 626.692000 289.624000 614.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 290.008000 626.692000 293.008000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.404000 626.692000 299.404000 614.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 299.308000 626.692000 304.624000 614.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 304.612000 626.692000 308.608000 614.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 308.608000 626.692000 314.608000 614.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 315.112000 626.692000 318.112000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 318.508000 626.692000 324.508000 614.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 324.508000 626.692000 327.832000 614.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 327.808000 626.692000 333.808000 614.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 333.808000 626.692000 339.124000 614.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 339.112000 626.692000 342.112000 614.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 342.508000 626.692000 345.508000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.904000 626.692000 355.228000 614.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 355.204000 626.692000 361.204000 614.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 361.600000 626.692000 364.600000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 364.996000 626.692000 368.992000 614.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 368.992000 626.692000 374.308000 614.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 374.296000 626.692000 380.296000 614.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 380.200000 626.692000 386.200000 614.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 386.200000 626.692000 390.196000 614.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 390.196000 626.692000 393.520000 614.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 393.592000 626.692000 396.916000 614.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 396.892000 626.692000 402.208000 614.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 402.592000 626.692000 405.592000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 405.988000 626.692000 411.304000 614.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 411.292000 626.692000 417.292000 614.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.292000 626.692000 420.616000 614.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 420.592000 626.692000 426.592000 614.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 426.592000 626.692000 430.588000 614.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 430.588000 626.692000 433.588000 614.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.092000 626.692000 437.092000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.488000 626.692000 441.484000 614.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 441.388000 626.692000 447.388000 614.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 447.784000 626.692000 450.784000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.180000 626.692000 459.844000 614.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 459.784000 626.692000 463.108000 614.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 463.180000 626.692000 469.180000 614.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 469.180000 626.692000 472.504000 614.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 472.480000 626.692000 477.796000 614.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 477.784000 626.692000 481.780000 614.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 482.188000 626.692000 485.188000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 485.584000 626.692000 489.580000 614.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 489.988000 626.692000 492.988000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 493.384000 626.692000 499.384000 614.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 499.384000 626.692000 504.700000 614.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 504.688000 626.692000 510.688000 614.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 510.592000 626.692000 515.908000 614.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 516.388000 626.692000 519.388000 614.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 519.784000 626.692000 525.784000 614.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 525.784000 626.692000 531.784000 614.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 531.784000 626.692000 535.780000 614.692000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 626.692000 540.196000 614.692000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 613.192000 230.824000 601.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 230.800000 613.192000 236.116000 601.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 236.104000 613.192000 239.428000 601.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 239.800000 613.192000 242.800000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.100000 613.192000 248.416000 601.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 248.404000 613.192000 254.404000 601.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 254.404000 613.192000 257.728000 601.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 257.704000 613.192000 261.028000 601.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 261.004000 613.192000 267.004000 601.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 267.004000 613.192000 273.004000 601.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 273.400000 613.192000 276.400000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 276.700000 613.192000 281.368000 601.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 281.404000 613.192000 287.404000 601.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 287.404000 613.192000 292.720000 601.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 292.708000 613.192000 298.024000 601.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 298.012000 613.192000 301.336000 601.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 301.312000 613.192000 305.980000 601.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 306.316000 613.192000 309.316000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.616000 613.192000 315.616000 601.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 315.616000 613.192000 321.616000 601.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 321.916000 613.192000 324.916000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.216000 613.192000 334.540000 601.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 334.516000 613.192000 340.516000 601.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 340.912000 613.192000 343.912000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 344.212000 613.192000 350.212000 601.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 350.212000 613.192000 355.528000 601.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 355.516000 613.192000 361.516000 601.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 361.420000 613.192000 364.420000 601.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 364.816000 613.192000 367.816000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.116000 613.192000 374.116000 601.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 374.116000 613.192000 380.116000 601.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 380.116000 613.192000 383.440000 601.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 383.716000 613.192000 386.716000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.016000 613.192000 391.012000 601.192000 1.000000 0.000000 0.000000 1.000000 I +drawChar 391.312000 613.192000 394.312000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 394.612000 613.192000 399.928000 601.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 399.916000 613.192000 404.584000 601.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 404.620000 613.192000 410.620000 601.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 410.524000 613.192000 415.840000 601.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 415.828000 613.192000 421.144000 601.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 421.132000 613.192000 424.456000 601.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 424.528000 613.192000 429.844000 601.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 429.832000 613.192000 433.156000 601.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 433.228000 613.192000 436.552000 601.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 436.528000 613.192000 442.528000 601.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 442.924000 613.192000 445.924000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 446.224000 613.192000 449.548000 601.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 449.524000 613.192000 452.848000 601.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 452.920000 613.192000 458.920000 601.192000 1.000000 0.000000 0.000000 1.000000 k +drawChar 458.920000 613.192000 464.236000 601.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 464.524000 613.192000 467.524000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.824000 613.192000 471.148000 601.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 471.124000 613.192000 477.124000 601.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 477.220000 613.192000 482.536000 601.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 482.824000 613.192000 485.824000 601.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.124000 613.192000 494.788000 601.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 494.824000 613.192000 500.140000 601.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 500.128000 613.192000 504.124000 601.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 504.124000 613.192000 513.448000 601.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 514.024000 613.192000 517.024000 601.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 517.500000 613.192000 521.496000 601.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 521.496000 613.192000 524.820000 601.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 524.796000 613.192000 530.112000 601.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 530.100000 613.192000 536.100000 601.192000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 613.192000 540.196000 601.192000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 599.792000 227.500000 587.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 227.500000 599.792000 232.816000 587.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 232.804000 599.792000 236.128000 587.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 236.200000 599.792000 239.200000 587.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.200000 599.792000 243.868000 587.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 243.796000 599.792000 249.796000 587.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 249.892000 599.792000 255.208000 587.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.196000 599.792000 260.512000 587.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 260.500000 599.792000 263.824000 587.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 263.800000 599.792000 268.468000 587.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 268.504000 599.792000 271.504000 587.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.504000 599.792000 277.504000 587.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 277.504000 599.792000 283.504000 587.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 283.504000 599.792000 286.504000 587.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.504000 599.792000 292.504000 587.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 292.408000 599.792000 297.724000 587.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 297.712000 599.792000 301.708000 587.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 301.708000 599.792000 307.708000 587.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 307.804000 599.792000 310.804000 587.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 310.804000 599.792000 316.120000 587.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 316.108000 599.792000 322.108000 587.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 322.108000 599.792000 325.432000 587.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 325.408000 599.792000 331.408000 587.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 331.504000 599.792000 334.504000 587.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 334.504000 599.792000 340.504000 587.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 340.408000 599.792000 343.732000 587.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 343.804000 599.792000 349.804000 587.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 349.804000 599.792000 355.804000 587.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 355.900000 599.792000 359.224000 587.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 359.104000 599.792000 363.772000 587.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 363.808000 599.792000 366.808000 587.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.808000 599.792000 369.808000 587.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 108.100000 571.616000 116.764000 559.616000 1.000000 0.000000 0.000000 1.000000 N +drawChar 116.800000 571.616000 120.136000 559.616000 1.000000 0.000000 0.000000 1.000000 i +drawChar 120.100000 571.616000 127.432000 559.616000 1.000000 0.000000 0.000000 1.000000 g +drawChar 127.396000 571.616000 134.728000 559.616000 1.000000 0.000000 0.000000 1.000000 h +drawChar 134.800000 571.616000 138.796000 559.616000 1.000000 0.000000 0.000000 1.000000 t +drawChar 138.796000 571.616000 142.132000 559.616000 1.000000 0.000000 0.000000 1.000000 +drawChar 142.096000 571.616000 150.100000 559.616000 1.000000 0.000000 0.000000 1.000000 S +drawChar 150.100000 571.616000 154.096000 559.616000 1.000000 0.000000 0.000000 1.000000 t +drawChar 154.096000 571.616000 160.768000 559.616000 1.000000 0.000000 0.000000 1.000000 a +drawChar 160.792000 571.616000 168.124000 559.616000 1.000000 0.000000 0.000000 1.000000 n +drawChar 168.088000 571.616000 175.420000 559.616000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 557.192000 230.164000 545.192000 1.000000 0.000000 0.000000 1.000000 O +drawChar 230.104000 557.192000 236.104000 545.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 236.404000 557.192000 239.404000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.704000 557.192000 249.028000 545.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 249.004000 557.192000 255.004000 545.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 255.304000 557.192000 258.304000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.604000 557.192000 264.604000 545.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 264.604000 557.192000 267.928000 545.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 267.904000 557.192000 273.904000 545.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 273.904000 557.192000 279.904000 545.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 280.000000 557.192000 283.324000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 283.300000 557.192000 287.296000 545.192000 1.000000 0.000000 0.000000 1.000000 - +drawChar 287.296000 557.192000 291.964000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 292.000000 557.192000 295.324000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 295.300000 557.192000 300.616000 545.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 300.604000 557.192000 306.604000 545.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 306.604000 557.192000 312.604000 545.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 312.904000 557.192000 315.904000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 316.204000 557.192000 319.528000 545.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 319.504000 557.192000 324.172000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 324.400000 557.192000 327.400000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.700000 557.192000 331.024000 545.192000 1.000000 0.000000 0.000000 1.000000 j +drawChar 331.096000 557.192000 337.096000 545.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 337.000000 557.192000 341.668000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 341.704000 557.192000 345.028000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 345.304000 557.192000 348.304000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.604000 557.192000 353.920000 545.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 354.208000 557.192000 357.208000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 357.508000 557.192000 362.176000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 362.104000 557.192000 365.428000 545.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 365.500000 557.192000 371.500000 545.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 371.500000 557.192000 377.500000 545.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 377.500000 557.192000 380.824000 545.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 380.800000 557.192000 386.116000 545.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 386.404000 557.192000 389.404000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 389.704000 557.192000 393.028000 545.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 393.004000 557.192000 398.320000 545.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 398.308000 557.192000 407.632000 545.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 407.608000 557.192000 413.608000 545.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 413.512000 557.192000 416.512000 545.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 416.908000 557.192000 419.908000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 420.208000 557.192000 425.524000 545.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 425.512000 557.192000 431.512000 545.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 431.512000 557.192000 437.512000 545.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 437.812000 557.192000 440.812000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.112000 557.192000 447.112000 545.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 447.112000 557.192000 453.112000 545.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 453.112000 557.192000 456.436000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 456.412000 557.192000 462.412000 545.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 462.412000 557.192000 465.736000 545.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 465.808000 557.192000 471.808000 545.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 471.808000 557.192000 477.808000 545.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 478.012000 557.192000 481.012000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 481.312000 557.192000 486.628000 545.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 486.616000 557.192000 489.940000 545.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 489.916000 557.192000 494.584000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 494.620000 557.192000 499.936000 545.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 499.924000 557.192000 502.924000 545.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 503.320000 557.192000 506.320000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 506.620000 557.192000 515.284000 545.192000 1.000000 0.000000 0.000000 1.000000 A +drawChar 515.320000 557.192000 518.644000 545.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 518.620000 557.192000 521.944000 545.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 522.124000 557.192000 525.124000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 525.424000 557.192000 528.748000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 528.724000 557.192000 534.724000 545.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 534.820000 557.192000 540.136000 545.192000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 557.192000 543.100000 545.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 543.692000 224.824000 531.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 224.896000 543.692000 230.896000 531.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 230.896000 543.692000 234.220000 531.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 234.196000 543.692000 239.512000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 239.500000 543.692000 243.496000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 243.496000 543.692000 248.812000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.800000 543.692000 253.468000 531.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 253.504000 543.692000 256.828000 531.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 256.804000 543.692000 260.128000 531.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 260.200000 543.692000 266.200000 531.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 266.200000 543.692000 272.200000 531.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 272.800000 543.692000 275.800000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 276.400000 543.692000 279.724000 531.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 279.604000 543.692000 285.604000 531.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 285.700000 543.692000 289.024000 531.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 289.000000 543.692000 295.000000 531.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 295.000000 543.692000 301.000000 531.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 301.000000 543.692000 305.668000 531.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 306.304000 543.692000 309.304000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.904000 543.692000 315.220000 531.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 315.208000 543.692000 319.204000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 319.204000 543.692000 324.520000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 325.204000 543.692000 328.204000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 328.804000 543.692000 334.804000 531.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 334.804000 543.692000 340.120000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 340.108000 543.692000 346.108000 531.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 346.012000 543.692000 349.336000 531.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 350.008000 543.692000 353.008000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 353.608000 543.692000 356.932000 531.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 357.004000 543.692000 363.004000 531.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 363.604000 543.692000 366.604000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.204000 543.692000 370.528000 531.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 370.408000 543.692000 376.408000 531.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 376.504000 543.692000 381.820000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 382.408000 543.692000 385.408000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.608000 543.692000 389.608000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 390.208000 543.692000 396.208000 531.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 396.112000 543.692000 400.108000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 400.108000 543.692000 405.424000 531.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 405.412000 543.692000 414.076000 531.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 414.112000 543.692000 419.428000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 419.416000 543.692000 423.412000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 423.412000 543.692000 428.080000 531.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 428.116000 543.692000 431.116000 531.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.812000 543.692000 434.812000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 435.412000 543.692000 439.408000 531.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 439.408000 543.692000 445.408000 531.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 446.008000 543.692000 449.008000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.608000 543.692000 452.932000 531.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 452.812000 543.692000 458.812000 531.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 458.908000 543.692000 464.224000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 464.908000 543.692000 467.908000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 468.508000 543.692000 471.832000 531.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 471.808000 543.692000 477.808000 531.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 477.808000 543.692000 483.808000 531.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 484.408000 543.692000 487.408000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.008000 543.692000 494.008000 531.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 493.912000 543.692000 497.908000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 497.908000 543.692000 503.224000 531.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 503.212000 543.692000 511.876000 531.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 511.912000 543.692000 517.228000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 517.216000 543.692000 521.212000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 521.920000 543.692000 524.920000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 525.520000 543.692000 530.836000 531.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 530.824000 543.692000 534.820000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 534.820000 543.692000 540.136000 531.692000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 543.692000 543.200000 531.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 530.292000 227.500000 518.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 227.500000 530.292000 233.500000 518.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 233.500000 530.292000 237.496000 518.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.496000 530.292000 246.820000 518.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 246.796000 530.292000 252.112000 518.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 252.100000 530.292000 255.424000 518.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 255.400000 530.292000 258.400000 518.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 258.604000 530.292000 261.604000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.700000 530.292000 267.016000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 267.004000 530.292000 273.004000 518.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 272.908000 530.292000 278.224000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 278.212000 530.292000 282.208000 518.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 282.316000 530.292000 288.316000 518.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 288.220000 530.292000 294.220000 518.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 294.220000 530.292000 299.536000 518.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 299.524000 530.292000 305.524000 518.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 305.824000 530.292000 308.824000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 308.920000 530.292000 312.244000 518.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 312.124000 530.292000 318.124000 518.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 318.220000 530.292000 321.544000 518.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 321.520000 530.292000 327.520000 518.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 327.520000 530.292000 333.520000 518.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 333.520000 530.292000 338.188000 518.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 338.320000 530.292000 341.320000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 341.416000 530.292000 346.084000 518.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 346.120000 530.292000 352.120000 518.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 352.120000 530.292000 357.436000 518.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 357.316000 530.292000 363.316000 518.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 363.520000 530.292000 366.520000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 366.616000 530.292000 371.932000 518.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 371.920000 530.292000 376.588000 518.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 376.816000 530.292000 379.816000 518.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 379.900000 530.292000 385.216000 518.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 385.096000 530.292000 389.764000 518.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 389.800000 530.292000 395.800000 518.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 395.704000 530.292000 399.028000 518.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 399.100000 530.292000 403.096000 518.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 403.096000 530.292000 406.420000 518.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 406.492000 530.292000 412.492000 518.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 412.588000 530.292000 415.588000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 415.684000 530.292000 421.684000 518.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 421.684000 530.292000 425.680000 518.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 425.884000 530.292000 428.884000 518.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 428.900000 530.292000 437.564000 518.292000 1.000000 0.000000 0.000000 1.000000 K +drawChar 437.600000 530.292000 440.924000 518.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 440.900000 530.292000 446.216000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 446.204000 530.292000 451.520000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 451.508000 530.292000 457.508000 518.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 457.508000 530.292000 462.824000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 462.812000 530.292000 468.812000 518.292000 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 468.900000 530.292000 471.900000 518.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.996000 530.292000 474.996000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.092000 530.292000 479.088000 518.292000 1.000000 0.000000 0.000000 1.000000 I +drawChar 478.992000 530.292000 484.992000 518.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 485.088000 530.292000 488.088000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.184000 530.292000 491.508000 518.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 491.484000 530.292000 497.484000 518.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 497.580000 530.292000 502.896000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 502.980000 530.292000 505.980000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 506.076000 530.292000 512.076000 518.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 512.076000 530.292000 518.076000 518.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 518.076000 530.292000 521.400000 518.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 521.376000 530.292000 524.700000 518.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 524.676000 530.292000 530.676000 518.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 530.676000 530.292000 540.000000 518.292000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 530.292000 543.100000 518.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 516.792000 227.500000 504.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 227.404000 516.792000 231.400000 504.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 231.400000 516.792000 236.716000 504.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 236.704000 516.792000 245.368000 504.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 245.404000 516.792000 250.720000 504.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 250.708000 516.792000 254.704000 504.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 254.908000 516.792000 257.908000 504.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.112000 516.792000 262.108000 504.792000 1.000000 0.000000 0.000000 1.000000 I +drawChar 262.216000 516.792000 265.216000 504.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.312000 516.792000 271.312000 504.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 271.312000 516.792000 276.628000 504.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 276.616000 516.792000 281.932000 504.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 281.920000 516.792000 287.920000 504.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 288.124000 516.792000 291.124000 504.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.220000 516.792000 297.220000 504.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 297.124000 516.792000 302.440000 504.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 302.428000 516.792000 306.424000 504.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 306.424000 516.792000 309.748000 504.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 309.820000 516.792000 315.820000 504.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 315.820000 516.792000 321.820000 504.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 321.820000 516.792000 326.488000 504.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 326.620000 516.792000 329.620000 504.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.824000 516.792000 333.820000 504.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 333.820000 516.792000 339.136000 504.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 339.124000 516.792000 344.440000 504.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 344.428000 516.792000 350.428000 504.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 350.332000 516.792000 353.656000 504.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 353.728000 516.792000 359.728000 504.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 359.728000 516.792000 365.728000 504.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 365.932000 516.792000 368.932000 504.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.028000 516.792000 378.352000 504.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 378.328000 516.792000 383.644000 504.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 383.632000 516.792000 386.956000 504.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 386.932000 516.792000 392.248000 504.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 392.236000 516.792000 396.232000 504.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 396.232000 516.792000 399.556000 504.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 399.628000 516.792000 404.944000 504.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 404.932000 516.792000 408.256000 504.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 408.232000 516.792000 412.900000 504.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 413.128000 516.792000 416.128000 504.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 416.332000 516.792000 421.000000 504.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 420.928000 516.792000 426.928000 504.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 426.928000 516.792000 432.244000 504.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 432.232000 516.792000 438.232000 504.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 438.436000 516.792000 441.436000 504.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.532000 516.792000 446.848000 504.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 446.836000 516.792000 451.504000 504.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 451.636000 516.792000 454.636000 504.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 454.840000 516.792000 460.840000 504.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 460.840000 516.792000 466.840000 504.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 466.840000 516.792000 470.836000 504.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 470.740000 516.792000 474.064000 504.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 474.136000 516.792000 480.136000 504.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 480.136000 516.792000 486.136000 504.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 486.340000 516.792000 489.340000 504.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 489.600000 516.792000 492.924000 504.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.900000 516.792000 496.896000 504.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 496.896000 516.792000 502.212000 504.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 502.200000 516.792000 508.200000 504.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 508.104000 516.792000 513.420000 504.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 513.708000 516.792000 516.708000 504.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 516.804000 516.792000 520.128000 504.792000 1.000000 0.000000 0.000000 1.000000 j +drawChar 520.200000 516.792000 526.200000 504.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 526.200000 516.792000 532.200000 504.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 532.200000 516.792000 536.196000 504.792000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 516.792000 540.196000 504.792000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 503.392000 227.500000 491.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 227.500000 503.392000 232.816000 491.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 232.804000 503.392000 236.128000 491.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 236.104000 503.392000 240.772000 491.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 240.808000 503.392000 243.808000 491.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 243.808000 503.392000 246.808000 491.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 246.808000 503.392000 250.132000 491.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 250.108000 503.392000 256.108000 491.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 256.204000 503.392000 259.204000 491.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.204000 503.392000 265.204000 491.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 265.108000 503.392000 271.108000 491.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 271.108000 503.392000 274.432000 491.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 274.504000 503.392000 277.504000 491.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.504000 503.392000 286.828000 491.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 286.804000 503.392000 292.120000 491.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 292.204000 503.392000 295.204000 491.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.204000 503.392000 298.528000 491.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 298.504000 503.392000 304.504000 491.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 304.504000 503.392000 307.504000 491.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.504000 503.392000 312.172000 491.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 312.208000 503.392000 315.532000 491.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 315.508000 503.392000 320.824000 491.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.812000 503.392000 326.128000 491.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 326.116000 503.392000 332.116000 491.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 332.212000 503.392000 335.212000 491.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 335.212000 503.392000 340.528000 491.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 340.516000 503.392000 343.840000 491.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 343.816000 503.392000 346.816000 491.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.816000 503.392000 352.816000 491.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 352.816000 503.392000 356.140000 491.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 356.212000 503.392000 362.212000 491.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 362.116000 503.392000 368.116000 491.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 368.212000 503.392000 371.536000 491.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 371.512000 503.392000 374.512000 491.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 108.100000 475.216000 119.428000 463.216000 1.000000 0.000000 0.000000 1.000000 W +drawChar 119.404000 475.216000 126.076000 463.216000 1.000000 0.000000 0.000000 1.000000 a +drawChar 126.100000 475.216000 129.436000 463.216000 1.000000 0.000000 0.000000 1.000000 l +drawChar 129.400000 475.216000 136.072000 463.216000 1.000000 0.000000 0.000000 1.000000 k +drawChar 136.096000 475.216000 140.092000 463.216000 1.000000 0.000000 0.000000 1.000000 - +drawChar 140.092000 475.216000 143.428000 463.216000 1.000000 0.000000 0.000000 1.000000 i +drawChar 143.392000 475.216000 150.724000 463.216000 1.000000 0.000000 0.000000 1.000000 n +drawChar 150.796000 475.216000 154.132000 463.216000 1.000000 0.000000 0.000000 1.000000 +drawChar 154.096000 475.216000 162.760000 463.216000 1.000000 0.000000 0.000000 1.000000 C +drawChar 162.796000 475.216000 166.132000 463.216000 1.000000 0.000000 0.000000 1.000000 l +drawChar 166.096000 475.216000 173.428000 463.216000 1.000000 0.000000 0.000000 1.000000 o +drawChar 173.392000 475.216000 180.064000 463.216000 1.000000 0.000000 0.000000 1.000000 s +drawChar 180.088000 475.216000 186.760000 463.216000 1.000000 0.000000 0.000000 1.000000 e +drawChar 186.784000 475.216000 190.780000 463.216000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 460.792000 228.820000 448.792000 1.000000 0.000000 0.000000 1.000000 T +drawChar 228.796000 460.792000 234.796000 448.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 234.892000 460.792000 240.208000 448.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.388000 460.792000 243.388000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.592000 460.792000 252.256000 448.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 252.292000 460.792000 257.608000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 257.596000 460.792000 260.920000 448.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 260.896000 460.792000 266.896000 448.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 266.896000 460.792000 270.892000 448.792000 1.000000 0.000000 0.000000 1.000000 - +drawChar 270.892000 460.792000 274.216000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 274.192000 460.792000 280.192000 448.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 280.396000 460.792000 283.396000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 283.600000 460.792000 288.916000 448.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 288.904000 460.792000 292.228000 448.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 292.204000 460.792000 298.204000 448.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 298.204000 460.792000 302.872000 448.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 302.908000 460.792000 308.224000 448.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 308.212000 460.792000 311.536000 448.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 311.812000 460.792000 314.812000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.016000 460.792000 318.340000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 318.412000 460.792000 323.080000 448.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 323.212000 460.792000 326.212000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.416000 460.792000 331.084000 448.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 331.120000 460.792000 337.120000 448.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 337.024000 460.792000 342.340000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 342.328000 460.792000 347.644000 448.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 347.632000 460.792000 350.956000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 351.028000 460.792000 357.028000 448.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.028000 460.792000 363.028000 448.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 363.028000 460.792000 367.696000 448.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 367.924000 460.792000 370.924000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 371.128000 460.792000 376.444000 448.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 376.432000 460.792000 382.432000 448.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 382.432000 460.792000 388.432000 448.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 388.432000 460.792000 394.432000 448.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 394.432000 460.792000 400.432000 448.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 400.432000 460.792000 406.432000 448.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 406.732000 460.792000 409.732000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 409.936000 460.792000 413.260000 448.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 413.236000 460.792000 419.236000 448.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 419.440000 460.792000 422.440000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.644000 460.792000 427.960000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 427.948000 460.792000 433.264000 448.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 433.252000 460.792000 436.576000 448.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 436.552000 460.792000 442.552000 448.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 442.552000 460.792000 447.868000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 447.856000 460.792000 451.180000 448.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 451.252000 460.792000 454.576000 448.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 454.552000 460.792000 460.552000 448.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 460.852000 460.792000 463.852000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.056000 460.792000 472.720000 448.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 472.756000 460.792000 478.072000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 478.060000 460.792000 481.384000 448.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 481.360000 460.792000 487.360000 448.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 487.564000 460.792000 490.564000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 490.768000 460.792000 496.084000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 496.072000 460.792000 500.068000 448.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 500.068000 460.792000 506.068000 448.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 506.068000 460.792000 512.068000 448.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 512.068000 460.792000 518.068000 448.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 518.068000 460.792000 524.068000 448.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 524.368000 460.792000 527.368000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 527.572000 460.792000 530.896000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 530.872000 460.792000 536.872000 448.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 536.872000 460.792000 539.872000 448.792000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 460.792000 543.200000 448.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 447.292000 226.816000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 226.804000 447.292000 232.804000 435.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 232.804000 447.292000 238.804000 435.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 238.900000 447.292000 241.900000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.900000 447.292000 247.216000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 247.204000 447.292000 253.204000 435.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 253.108000 447.292000 258.424000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 258.412000 447.292000 264.412000 435.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 264.616000 447.292000 267.616000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 267.712000 447.292000 273.712000 435.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 273.712000 447.292000 279.028000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 279.016000 447.292000 283.684000 435.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 283.720000 447.292000 286.720000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.816000 447.292000 292.132000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 292.216000 447.292000 295.216000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.216000 447.292000 303.880000 435.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 303.916000 447.292000 307.240000 435.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 307.216000 447.292000 313.216000 435.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 313.216000 447.292000 319.216000 435.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 319.120000 447.292000 325.120000 435.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 325.120000 447.292000 333.784000 435.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 333.820000 447.292000 336.820000 435.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 336.916000 447.292000 339.916000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.012000 447.292000 345.328000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 345.316000 447.292000 349.984000 435.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 350.020000 447.292000 353.020000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 353.116000 447.292000 361.780000 435.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 361.816000 447.292000 367.132000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 367.120000 447.292000 370.444000 435.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 370.420000 447.292000 373.744000 435.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 373.720000 447.292000 376.720000 435.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.816000 447.292000 379.816000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.816000 447.292000 387.136000 435.292000 1.000000 0.000000 0.000000 1.000000 T +drawChar 387.112000 447.292000 393.112000 435.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 393.208000 447.292000 398.524000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 398.512000 447.292000 401.512000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 401.608000 447.292000 406.924000 435.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 406.912000 447.292000 410.236000 435.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 410.212000 447.292000 416.212000 435.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 416.212000 447.292000 420.880000 435.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 420.916000 447.292000 426.232000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 426.220000 447.292000 429.544000 435.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 429.616000 447.292000 432.616000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 432.712000 447.292000 436.036000 435.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 436.012000 447.292000 440.680000 435.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 440.716000 447.292000 443.716000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 443.812000 447.292000 449.128000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 449.116000 447.292000 455.116000 435.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 455.116000 447.292000 461.116000 435.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 461.116000 447.292000 467.116000 435.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 467.116000 447.292000 470.440000 435.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 470.512000 447.292000 473.512000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.608000 447.292000 479.608000 435.292000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 479.608000 447.292000 482.608000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 482.704000 447.292000 486.700000 435.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 486.700000 447.292000 490.024000 435.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 490.000000 447.292000 493.000000 435.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.000000 447.292000 496.000000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 496.096000 447.292000 504.760000 435.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 504.700000 447.292000 508.024000 435.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 508.096000 447.292000 514.096000 435.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 514.000000 447.292000 519.316000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 519.496000 447.292000 522.496000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 522.496000 447.292000 527.812000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 527.800000 447.292000 533.800000 435.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 533.800000 447.292000 539.800000 435.292000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 447.292000 543.200000 435.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 433.892000 227.500000 421.892000 1.000000 0.000000 0.000000 1.000000 8 +drawChar 227.500000 433.892000 230.500000 421.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 230.500000 433.892000 234.496000 421.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 234.496000 433.892000 237.820000 421.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 237.796000 433.892000 240.796000 421.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.796000 433.892000 243.796000 421.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.796000 433.892000 247.120000 421.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 247.096000 433.892000 253.096000 421.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 253.096000 433.892000 259.096000 421.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 259.096000 433.892000 265.096000 421.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 265.096000 433.892000 268.096000 421.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 414.392000 230.164000 402.392000 1.000000 0.000000 0.000000 1.000000 O +drawChar 230.104000 414.392000 236.104000 402.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 236.800000 414.392000 239.800000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 240.496000 414.392000 243.820000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 243.796000 414.392000 249.796000 402.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 249.892000 414.392000 255.208000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.796000 414.392000 258.796000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.492000 414.392000 263.488000 402.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 263.488000 414.392000 266.812000 402.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 266.884000 414.392000 272.884000 402.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 272.788000 414.392000 278.788000 402.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 278.884000 414.392000 282.208000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 282.784000 414.392000 285.784000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.480000 414.392000 295.144000 402.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 295.180000 414.392000 300.496000 402.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 300.484000 414.392000 303.808000 402.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 303.784000 414.392000 307.108000 402.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 307.888000 414.392000 310.888000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 311.584000 414.392000 316.900000 402.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 316.888000 414.392000 320.884000 402.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 320.884000 414.392000 326.200000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 326.884000 414.392000 329.884000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.580000 414.392000 333.904000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 333.880000 414.392000 342.544000 402.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 342.580000 414.392000 348.580000 402.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 349.180000 414.392000 352.180000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 352.876000 414.392000 358.192000 402.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 358.180000 414.392000 361.504000 402.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 361.480000 414.392000 367.480000 402.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 367.480000 414.392000 370.804000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 370.780000 414.392000 376.780000 402.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 376.876000 414.392000 382.192000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 382.180000 414.392000 386.848000 402.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 387.580000 414.392000 390.580000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.276000 414.392000 395.272000 402.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 395.272000 414.392000 401.272000 402.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 401.272000 414.392000 407.272000 402.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 407.176000 414.392000 411.844000 402.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 411.880000 414.392000 414.880000 402.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 415.576000 414.392000 418.576000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 419.272000 414.392000 425.272000 402.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 425.272000 414.392000 431.272000 402.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 431.272000 414.392000 436.588000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 437.272000 414.392000 440.272000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 440.968000 414.392000 446.284000 402.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 446.272000 414.392000 452.272000 402.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 452.272000 414.392000 458.272000 402.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 458.272000 414.392000 464.272000 402.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 464.176000 414.392000 469.492000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 470.272000 414.392000 473.272000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.968000 414.392000 477.292000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 477.172000 414.392000 483.172000 402.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 483.268000 414.392000 488.584000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 489.268000 414.392000 492.268000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 492.964000 414.392000 498.964000 402.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 498.964000 414.392000 502.288000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 502.168000 414.392000 508.168000 402.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 508.264000 414.392000 513.580000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 513.568000 414.392000 517.564000 402.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 517.564000 414.392000 520.564000 402.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 521.260000 414.392000 524.260000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 524.956000 414.392000 533.620000 402.392000 1.000000 0.000000 0.000000 1.000000 O +drawChar 533.560000 414.392000 539.560000 402.392000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 414.392000 543.100000 402.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 400.992000 224.824000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 400.992000 230.800000 388.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.896000 400.992000 236.212000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.392000 400.992000 239.392000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.692000 400.992000 243.016000 388.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 242.992000 400.992000 248.308000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.296000 400.992000 252.292000 388.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 252.292000 400.992000 255.616000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 255.892000 400.992000 258.892000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.192000 400.992000 263.860000 388.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 263.788000 400.992000 267.112000 388.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 267.184000 400.992000 273.184000 388.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 273.088000 400.992000 278.404000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 278.392000 400.992000 281.392000 388.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 281.692000 400.992000 284.692000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 284.992000 400.992000 290.992000 388.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 290.992000 400.992000 296.992000 388.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 296.992000 400.992000 302.308000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 302.596000 400.992000 305.596000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.800000 400.992000 309.796000 388.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 309.796000 400.992000 315.796000 388.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 315.796000 400.992000 321.796000 388.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 322.096000 400.992000 325.096000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.300000 400.992000 329.296000 388.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 329.296000 400.992000 335.296000 388.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 335.296000 400.992000 341.296000 388.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 341.296000 400.992000 345.964000 388.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 346.192000 400.992000 349.192000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.492000 400.992000 354.808000 388.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 354.796000 400.992000 358.120000 388.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 358.096000 400.992000 364.096000 388.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 364.096000 400.992000 370.096000 388.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 370.096000 400.992000 376.096000 388.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 376.396000 400.992000 379.396000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.600000 400.992000 382.924000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 382.900000 400.992000 388.900000 388.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 388.996000 400.992000 394.312000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.600000 400.992000 397.600000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.804000 400.992000 403.120000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 403.108000 400.992000 409.108000 388.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 409.108000 400.992000 412.432000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 412.408000 400.992000 415.732000 388.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 415.804000 400.992000 419.800000 388.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 419.800000 400.992000 425.116000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 425.404000 400.992000 428.404000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 428.608000 400.992000 431.932000 388.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 431.908000 400.992000 437.224000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 437.212000 400.992000 443.212000 388.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 443.212000 400.992000 449.212000 388.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 449.212000 400.992000 452.536000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 452.512000 400.992000 458.512000 388.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 458.908000 400.992000 461.908000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.112000 400.992000 468.112000 388.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 468.112000 400.992000 472.108000 388.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 472.408000 400.992000 475.408000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.612000 400.992000 478.936000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 478.912000 400.992000 484.912000 388.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 485.008000 400.992000 490.324000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 490.504000 400.992000 493.504000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 493.804000 400.992000 502.468000 388.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 502.504000 400.992000 507.820000 388.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 507.808000 400.992000 511.132000 388.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 511.108000 400.992000 514.432000 388.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 514.408000 400.992000 517.408000 388.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.708000 400.992000 520.708000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 521.008000 400.992000 529.672000 388.992000 1.000000 0.000000 0.000000 1.000000 U +drawChar 529.612000 400.992000 535.612000 388.992000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 400.992000 540.196000 388.992000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 387.492000 227.500000 375.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 227.404000 387.492000 232.720000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 232.708000 387.492000 236.704000 375.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 236.704000 387.492000 242.704000 375.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 242.704000 387.492000 248.020000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.008000 387.492000 253.324000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 253.408000 387.492000 256.732000 375.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 256.708000 387.492000 262.708000 375.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 263.104000 387.492000 266.104000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 266.404000 387.492000 269.728000 375.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 269.800000 387.492000 274.468000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 274.696000 387.492000 277.696000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.996000 387.492000 283.312000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 283.600000 387.492000 286.600000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.900000 387.492000 292.216000 375.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 292.204000 387.492000 297.520000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 297.508000 387.492000 303.508000 375.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 303.508000 387.492000 306.832000 375.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 306.904000 387.492000 312.904000 375.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 312.904000 387.492000 318.220000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 318.208000 387.492000 321.532000 375.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 321.904000 387.492000 324.904000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.204000 387.492000 331.204000 375.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 331.204000 387.492000 335.200000 375.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 335.500000 387.492000 338.500000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.800000 387.492000 342.124000 375.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 342.100000 387.492000 347.416000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 347.404000 387.492000 351.400000 375.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 351.400000 387.492000 357.400000 375.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 357.400000 387.492000 362.716000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 363.100000 387.492000 366.100000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 366.400000 387.492000 372.400000 375.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 372.304000 387.492000 376.300000 375.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 376.300000 387.492000 381.616000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 381.604000 387.492000 390.268000 375.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 390.304000 387.492000 395.620000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.608000 387.492000 399.604000 375.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 399.604000 387.492000 404.272000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 404.704000 387.492000 407.704000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 408.004000 387.492000 412.000000 375.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 412.000000 387.492000 418.000000 375.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 418.000000 387.492000 421.996000 375.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 422.296000 387.492000 425.296000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.596000 387.492000 430.264000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 430.300000 387.492000 433.624000 375.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 433.600000 387.492000 439.600000 375.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 439.600000 387.492000 443.596000 375.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 443.500000 387.492000 446.824000 375.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 446.896000 387.492000 452.896000 375.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 452.896000 387.492000 458.896000 375.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 459.496000 387.492000 462.496000 375.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 462.600000 387.492000 467.268000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 467.196000 387.492000 475.860000 375.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 475.896000 387.492000 481.212000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 481.200000 387.492000 486.516000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 486.504000 387.492000 489.828000 375.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 489.804000 387.492000 495.120000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.108000 387.492000 499.104000 375.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 499.104000 387.492000 503.772000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 503.808000 387.492000 506.808000 375.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 507.504000 387.492000 510.504000 375.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 510.500000 387.492000 515.168000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 515.096000 387.492000 521.096000 375.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 521.192000 387.492000 527.192000 375.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 527.096000 387.492000 532.412000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 532.400000 387.492000 537.068000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 537.104000 387.492000 540.104000 375.492000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 387.492000 543.100000 375.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 374.092000 226.816000 362.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 226.804000 374.092000 232.120000 362.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 232.108000 374.092000 237.424000 362.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 237.412000 374.092000 242.728000 362.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 242.716000 374.092000 247.384000 362.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 247.420000 374.092000 252.088000 362.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 252.124000 374.092000 258.124000 362.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 258.124000 374.092000 262.120000 362.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 262.120000 374.092000 265.444000 362.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 265.516000 374.092000 270.832000 362.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 270.820000 374.092000 275.488000 362.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 275.524000 374.092000 278.524000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 278.620000 374.092000 284.620000 362.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 284.620000 374.092000 288.616000 362.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 288.616000 374.092000 291.616000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.712000 374.092000 300.376000 362.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 300.316000 374.092000 306.316000 362.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 306.412000 374.092000 311.728000 362.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 311.716000 374.092000 315.040000 362.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 315.016000 374.092000 320.332000 362.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.320000 374.092000 326.320000 362.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 326.224000 374.092000 331.540000 362.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 331.528000 374.092000 335.524000 362.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 335.524000 374.092000 338.524000 362.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 338.728000 374.092000 341.728000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 341.824000 374.092000 350.488000 362.092000 1.000000 0.000000 0.000000 1.000000 N +drawChar 350.428000 374.092000 355.744000 362.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 355.732000 374.092000 361.732000 362.092000 1.000000 0.000000 0.000000 1.000000 x +drawChar 361.732000 374.092000 365.056000 362.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 365.128000 374.092000 368.128000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.224000 374.092000 371.548000 362.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 371.524000 374.092000 377.524000 362.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 377.620000 374.092000 380.620000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.620000 374.092000 383.944000 362.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 383.920000 374.092000 389.920000 362.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 390.016000 374.092000 395.332000 362.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.320000 374.092000 398.320000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.416000 374.092000 407.080000 362.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 407.020000 374.092000 410.344000 362.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 410.416000 374.092000 416.416000 362.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 416.416000 374.092000 422.416000 362.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 422.320000 374.092000 428.320000 362.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 428.320000 374.092000 436.984000 362.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 437.116000 374.092000 440.116000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 440.116000 374.092000 443.440000 362.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 443.512000 374.092000 448.180000 362.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 448.216000 374.092000 451.216000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.216000 374.092000 456.532000 362.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 456.616000 374.092000 459.616000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.712000 374.092000 463.708000 362.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 463.708000 374.092000 469.708000 362.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 469.708000 374.092000 473.032000 362.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 473.008000 374.092000 476.332000 362.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 476.308000 374.092000 480.304000 362.092000 1.000000 0.000000 0.000000 1.000000 - +drawChar 480.304000 374.092000 483.628000 362.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 483.604000 374.092000 488.920000 362.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 488.908000 374.092000 494.908000 362.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 494.908000 374.092000 500.908000 362.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 500.908000 374.092000 504.232000 362.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 504.208000 374.092000 510.208000 362.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 510.412000 374.092000 513.412000 362.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 513.412000 374.092000 518.080000 362.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 518.116000 374.092000 526.780000 362.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 526.720000 374.092000 530.044000 362.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 530.116000 374.092000 536.116000 362.092000 1.000000 0.000000 0.000000 1.000000 v +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 374.092000 540.196000 362.092000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 360.592000 226.816000 348.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 226.804000 360.592000 230.128000 348.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 230.200000 360.592000 233.200000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 233.200000 360.592000 242.524000 348.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 242.404000 360.592000 245.728000 348.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 245.800000 360.592000 249.796000 348.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 249.796000 360.592000 253.792000 348.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 253.792000 360.592000 259.792000 348.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 259.792000 360.592000 263.788000 348.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 263.788000 360.592000 266.788000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 266.788000 360.592000 272.104000 348.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 272.092000 360.592000 278.092000 348.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 278.092000 360.592000 284.092000 348.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 284.188000 360.592000 287.188000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.188000 360.592000 290.512000 348.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 290.488000 360.592000 296.488000 348.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 296.488000 360.592000 299.488000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 299.488000 360.592000 302.812000 348.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 302.692000 360.592000 308.692000 348.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 308.788000 360.592000 314.104000 348.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 314.188000 360.592000 317.188000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 317.188000 360.592000 322.504000 348.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 322.492000 360.592000 328.492000 348.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 328.492000 360.592000 332.488000 348.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 332.488000 360.592000 338.488000 348.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 338.488000 360.592000 343.804000 348.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.792000 360.592000 347.788000 348.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 347.788000 360.592000 350.788000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.788000 360.592000 354.112000 348.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 354.184000 360.592000 358.852000 348.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 358.780000 360.592000 361.780000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.780000 360.592000 367.096000 348.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 367.084000 360.592000 370.084000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 370.084000 360.592000 376.084000 348.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 376.180000 360.592000 381.496000 348.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 381.484000 360.592000 384.808000 348.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 384.784000 360.592000 387.784000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.784000 360.592000 393.100000 348.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 393.088000 360.592000 399.088000 348.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 399.088000 360.592000 405.088000 348.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 405.088000 360.592000 408.088000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 408.088000 360.592000 411.412000 348.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 411.388000 360.592000 414.712000 348.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 414.784000 360.592000 420.100000 348.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 420.088000 360.592000 423.088000 348.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 423.088000 360.592000 427.084000 348.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 427.084000 360.592000 432.400000 348.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 432.388000 360.592000 437.704000 348.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 437.692000 360.592000 443.692000 348.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 443.692000 360.592000 446.692000 348.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.788000 360.592000 449.788000 348.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 108.100000 326.052000 119.762000 312.052000 1.000000 0.000000 0.000000 1.000000 M +drawChar 119.706000 326.052000 127.490000 312.052000 1.000000 0.000000 0.000000 1.000000 a +drawChar 127.406000 326.052000 135.190000 312.052000 1.000000 0.000000 0.000000 1.000000 s +drawChar 135.204000 326.052000 139.866000 312.052000 1.000000 0.000000 0.000000 1.000000 t +drawChar 139.810000 326.052000 147.594000 312.052000 1.000000 0.000000 0.000000 1.000000 e +drawChar 147.510000 326.052000 152.956000 312.052000 1.000000 0.000000 0.000000 1.000000 r +drawChar 153.012000 326.052000 156.904000 312.052000 1.000000 0.000000 0.000000 1.000000 +drawChar 156.806000 326.052000 166.914000 312.052000 1.000000 0.000000 0.000000 1.000000 B +drawChar 166.900000 326.052000 174.684000 312.052000 1.000000 0.000000 0.000000 1.000000 a +drawChar 174.600000 326.052000 179.262000 312.052000 1.000000 0.000000 0.000000 1.000000 t +drawChar 179.206000 326.052000 187.760000 312.052000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 306.792000 228.820000 294.792000 1.000000 0.000000 0.000000 1.000000 T +drawChar 228.796000 306.792000 234.796000 294.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 234.892000 306.792000 240.208000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.796000 306.792000 243.796000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 244.396000 306.792000 250.396000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 250.396000 306.792000 256.396000 294.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 256.396000 306.792000 259.720000 294.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 259.696000 306.792000 265.696000 294.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 266.296000 306.792000 269.296000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.992000 306.792000 278.656000 294.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 278.692000 306.792000 284.008000 294.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 283.996000 306.792000 289.996000 294.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 290.596000 306.792000 293.596000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 294.196000 306.792000 297.520000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 297.496000 306.792000 303.496000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 304.192000 306.792000 307.192000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.792000 306.792000 313.792000 294.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 313.792000 306.792000 319.108000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 319.096000 306.792000 322.420000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 323.092000 306.792000 326.092000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.692000 306.792000 330.016000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 329.992000 306.792000 335.992000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 336.688000 306.792000 339.688000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.288000 306.792000 343.612000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 343.588000 306.792000 349.588000 294.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 349.684000 306.792000 355.000000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 355.588000 306.792000 358.588000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 359.188000 306.792000 368.512000 294.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 368.488000 306.792000 373.804000 294.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 373.792000 306.792000 378.460000 294.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 378.496000 306.792000 381.820000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 381.796000 306.792000 387.112000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 387.100000 306.792000 391.096000 294.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 391.804000 306.792000 394.804000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 395.500000 306.792000 401.500000 294.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 401.500000 306.792000 406.816000 294.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 406.804000 306.792000 410.128000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 410.008000 306.792000 416.008000 294.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 416.104000 306.792000 420.100000 294.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 420.100000 306.792000 426.100000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 426.100000 306.792000 432.100000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 432.100000 306.792000 441.424000 294.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 442.096000 306.792000 445.096000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 445.696000 306.792000 449.020000 294.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 449.092000 306.792000 453.760000 294.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 454.288000 306.792000 457.288000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 457.984000 306.792000 461.308000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 461.188000 306.792000 467.188000 294.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 467.284000 306.792000 471.280000 294.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 471.280000 306.792000 477.280000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 477.280000 306.792000 483.280000 294.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 483.280000 306.792000 489.280000 294.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 489.280000 306.792000 495.280000 294.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 495.880000 306.792000 498.880000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 499.576000 306.792000 502.900000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 502.780000 306.792000 508.780000 294.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 508.876000 306.792000 514.192000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 514.780000 306.792000 517.780000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 518.476000 306.792000 524.476000 294.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 524.476000 306.792000 529.792000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 529.780000 306.792000 535.780000 294.792000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 306.792000 540.196000 294.792000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 293.392000 225.496000 281.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 225.496000 293.392000 231.496000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.496000 293.392000 237.496000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 237.496000 293.392000 246.820000 281.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 246.796000 293.392000 249.796000 281.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.892000 293.392000 252.892000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.892000 293.392000 260.212000 281.392000 1.000000 0.000000 0.000000 1.000000 T +drawChar 260.188000 293.392000 266.188000 281.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 266.284000 293.392000 271.600000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 271.588000 293.392000 275.584000 281.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 275.584000 293.392000 280.900000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 280.888000 293.392000 284.884000 281.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 284.884000 293.392000 290.884000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 290.884000 293.392000 294.880000 281.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 294.880000 293.392000 300.196000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 300.184000 293.392000 303.184000 281.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 303.280000 293.392000 306.280000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 306.280000 293.392000 309.604000 281.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 309.676000 293.392000 313.000000 281.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 313.072000 293.392000 316.072000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 316.072000 293.392000 319.396000 281.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 319.468000 293.392000 324.136000 281.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 324.172000 293.392000 327.172000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.172000 293.392000 332.488000 281.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 332.572000 293.392000 335.572000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 335.572000 293.392000 340.888000 281.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 340.876000 293.392000 346.876000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 346.876000 293.392000 356.200000 281.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 356.272000 293.392000 362.272000 281.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 362.176000 293.392000 365.500000 281.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 365.476000 293.392000 370.792000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 370.876000 293.392000 374.200000 281.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 374.176000 293.392000 379.492000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 379.480000 293.392000 382.804000 281.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 382.876000 293.392000 388.876000 281.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 388.972000 293.392000 391.972000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 392.068000 293.392000 398.068000 281.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 397.972000 293.392000 401.968000 281.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 401.968000 293.392000 405.292000 281.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 405.364000 293.392000 411.364000 281.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 411.268000 293.392000 416.584000 281.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 416.572000 293.392000 419.896000 281.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 419.872000 293.392000 425.188000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 425.368000 293.392000 428.368000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 428.464000 293.392000 432.460000 281.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 432.460000 293.392000 438.460000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 438.460000 293.392000 444.460000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 444.460000 293.392000 453.784000 281.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 453.856000 293.392000 456.856000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 456.856000 293.392000 465.520000 281.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 465.556000 293.392000 471.556000 281.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 471.556000 293.392000 474.880000 281.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 474.952000 293.392000 480.268000 281.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 480.148000 293.392000 486.148000 281.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 486.244000 293.392000 489.244000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.340000 293.392000 492.664000 281.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 492.640000 293.392000 497.308000 281.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 497.344000 293.392000 500.344000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 500.440000 293.392000 506.440000 281.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 506.440000 293.392000 511.756000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 511.744000 293.392000 517.744000 281.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 517.744000 293.392000 523.060000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 523.048000 293.392000 527.044000 281.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 527.044000 293.392000 532.360000 281.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 532.348000 293.392000 535.672000 281.392000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 293.392000 540.196000 281.392000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 279.892000 224.824000 267.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 224.800000 279.892000 230.800000 267.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 230.800000 279.892000 233.800000 267.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 233.800000 279.892000 239.800000 267.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 239.800000 279.892000 245.800000 267.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 245.800000 279.892000 249.124000 267.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 249.196000 279.892000 252.196000 267.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.196000 279.892000 258.196000 267.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 258.100000 279.892000 262.768000 267.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 262.804000 279.892000 268.120000 267.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 268.108000 279.892000 274.108000 267.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 274.204000 279.892000 277.204000 267.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.204000 279.892000 283.204000 267.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 283.204000 279.892000 289.204000 267.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 289.204000 279.892000 292.204000 267.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.204000 279.892000 298.204000 267.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 298.204000 279.892000 304.204000 267.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 304.204000 279.892000 309.520000 267.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 309.508000 279.892000 314.176000 267.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 314.212000 279.892000 317.536000 267.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 317.512000 279.892000 322.180000 267.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 322.216000 279.892000 325.216000 267.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 260.492000 232.168000 248.492000 1.000000 0.000000 0.000000 1.000000 M +drawChar 232.204000 260.492000 237.520000 248.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 237.508000 260.492000 241.504000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 241.504000 260.492000 247.504000 248.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 247.504000 260.492000 250.828000 248.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 250.804000 260.492000 256.120000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 256.408000 260.492000 259.408000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.708000 260.492000 263.032000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 262.912000 260.492000 266.236000 248.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 266.308000 260.492000 269.632000 248.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 269.608000 260.492000 274.924000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 274.912000 260.492000 279.580000 248.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 279.916000 260.492000 282.916000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 283.216000 260.492000 286.540000 248.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 286.516000 260.492000 292.516000 248.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 292.720000 260.492000 295.720000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 296.020000 260.492000 299.344000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 299.224000 260.492000 305.224000 248.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 305.320000 260.492000 310.636000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 310.924000 260.492000 313.924000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.224000 260.492000 320.224000 248.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 320.224000 260.492000 325.540000 248.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 325.528000 260.492000 328.852000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 328.732000 260.492000 334.732000 248.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 334.828000 260.492000 338.824000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 338.824000 260.492000 344.824000 248.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 344.824000 260.492000 350.824000 248.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 350.824000 260.492000 360.148000 248.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 360.424000 260.492000 363.424000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.724000 260.492000 369.040000 248.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 369.028000 260.492000 374.344000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 374.332000 260.492000 378.328000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 378.328000 260.492000 381.652000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 381.628000 260.492000 386.944000 248.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 386.932000 260.492000 390.256000 248.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 390.328000 260.492000 396.328000 248.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 396.328000 260.492000 399.652000 248.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 399.628000 260.492000 405.628000 248.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 405.928000 260.492000 408.928000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 409.132000 260.492000 412.456000 248.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 412.432000 260.492000 418.432000 248.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 418.432000 260.492000 424.432000 248.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 424.432000 260.492000 430.432000 248.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 430.732000 260.492000 433.732000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.032000 260.492000 439.348000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 439.336000 260.492000 442.660000 248.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 442.636000 260.492000 447.952000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 447.940000 260.492000 453.940000 248.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 453.940000 260.492000 459.256000 248.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 459.244000 260.492000 465.244000 248.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 465.244000 260.492000 468.568000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 468.544000 260.492000 471.544000 248.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 471.940000 260.492000 474.940000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.144000 260.492000 481.144000 248.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 481.144000 260.492000 487.144000 248.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 487.144000 260.492000 490.468000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 490.744000 260.492000 493.744000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 494.044000 260.492000 499.360000 248.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 499.348000 260.492000 503.344000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 503.344000 260.492000 508.660000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 508.948000 260.492000 511.948000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 512.152000 260.492000 516.148000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 516.148000 260.492000 521.464000 248.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 521.452000 260.492000 524.776000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 524.752000 260.492000 530.752000 248.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 530.848000 260.492000 536.164000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 536.152000 260.492000 540.148000 248.492000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 260.492000 543.200000 248.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 246.992000 227.500000 234.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 227.404000 246.992000 230.728000 234.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 230.800000 246.992000 234.796000 234.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 234.796000 246.992000 238.792000 234.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 238.792000 246.992000 242.116000 234.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 242.188000 246.992000 247.504000 234.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 247.492000 246.992000 253.492000 234.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 253.492000 246.992000 256.816000 234.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 256.792000 246.992000 260.116000 234.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 260.392000 246.992000 263.392000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 263.692000 246.992000 267.016000 234.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 266.992000 246.992000 272.992000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 273.292000 246.992000 276.292000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 276.496000 246.992000 285.820000 234.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 285.796000 246.992000 291.112000 234.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 291.100000 246.992000 294.424000 234.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 294.496000 246.992000 300.496000 234.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 300.496000 246.992000 303.820000 234.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 303.796000 246.992000 309.112000 234.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 309.100000 246.992000 312.424000 234.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 312.496000 246.992000 318.496000 234.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 318.496000 246.992000 321.496000 234.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.796000 246.992000 324.796000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.000000 246.992000 332.320000 234.992000 1.000000 0.000000 0.000000 1.000000 T +drawChar 332.296000 246.992000 338.296000 234.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 338.392000 246.992000 343.708000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.696000 246.992000 347.692000 234.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 347.692000 246.992000 353.008000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 352.996000 246.992000 356.992000 234.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 356.992000 246.992000 362.992000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 362.992000 246.992000 366.988000 234.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 366.988000 246.992000 372.304000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 372.292000 246.992000 375.292000 234.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 375.592000 246.992000 378.592000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.796000 246.992000 382.792000 234.992000 1.000000 0.000000 0.000000 1.000000 I +drawChar 383.092000 246.992000 386.092000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.296000 246.992000 391.612000 234.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 391.600000 246.992000 397.600000 234.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 397.600000 246.992000 403.600000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 403.600000 246.992000 408.268000 234.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 408.304000 246.992000 413.620000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.908000 246.992000 416.908000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.112000 246.992000 420.436000 234.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 420.412000 246.992000 426.412000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 426.712000 246.992000 429.712000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.012000 246.992000 433.336000 234.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 433.216000 246.992000 436.540000 234.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 436.612000 246.992000 439.936000 234.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 439.912000 246.992000 445.228000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 445.516000 246.992000 448.516000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 448.816000 246.992000 452.140000 234.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 452.020000 246.992000 458.020000 234.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 458.116000 246.992000 463.432000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 463.720000 246.992000 466.720000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.020000 246.992000 471.016000 234.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 471.016000 246.992000 474.340000 234.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 474.316000 246.992000 480.316000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 480.316000 246.992000 486.316000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 486.316000 246.992000 490.312000 234.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 490.516000 246.992000 493.516000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 493.816000 246.992000 499.132000 234.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 499.120000 246.992000 505.120000 234.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 505.120000 246.992000 511.120000 234.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 511.420000 246.992000 514.420000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 514.624000 246.992000 523.288000 234.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 523.324000 246.992000 528.640000 234.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 528.628000 246.992000 531.952000 234.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 531.928000 246.992000 535.252000 234.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 535.228000 246.992000 539.896000 234.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 246.992000 543.100000 234.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 233.592000 230.164000 221.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 230.200000 233.592000 233.524000 221.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.500000 233.592000 236.824000 221.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 236.800000 233.592000 242.800000 221.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 242.800000 233.592000 245.800000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.800000 233.592000 251.116000 221.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 251.104000 233.592000 257.104000 221.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 257.104000 233.592000 263.104000 221.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 263.104000 233.592000 269.104000 221.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 269.008000 233.592000 274.324000 221.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 274.312000 233.592000 280.312000 221.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 280.408000 233.592000 283.732000 221.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 283.708000 233.592000 287.032000 221.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 287.104000 233.592000 293.104000 221.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 293.104000 233.592000 299.104000 221.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 299.104000 233.592000 304.420000 221.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 304.408000 233.592000 307.732000 221.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 307.804000 233.592000 310.804000 221.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 310.800000 233.592000 316.116000 221.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 316.104000 233.592000 321.420000 221.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.408000 233.592000 325.404000 221.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 325.404000 233.592000 330.720000 221.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 330.708000 233.592000 340.032000 221.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 340.008000 233.592000 343.332000 221.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 343.404000 233.592000 348.720000 221.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 348.804000 233.592000 351.804000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.804000 233.592000 355.128000 221.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 355.104000 233.592000 358.428000 221.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 358.500000 233.592000 361.824000 221.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 361.800000 233.592000 367.116000 221.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 367.104000 233.592000 371.772000 221.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 371.808000 233.592000 374.808000 221.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 214.092000 228.820000 202.092000 1.000000 0.000000 0.000000 1.000000 T +drawChar 228.796000 214.092000 234.796000 202.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 234.892000 214.092000 240.208000 202.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.688000 214.092000 243.688000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 244.288000 214.092000 248.284000 202.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 248.284000 214.092000 251.608000 202.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 251.584000 214.092000 257.584000 202.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 257.584000 214.092000 263.584000 202.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 263.584000 214.092000 267.580000 202.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 268.180000 214.092000 271.180000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.780000 214.092000 275.104000 202.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 275.080000 214.092000 279.748000 202.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 280.876000 214.092000 283.876000 202.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 283.900000 214.092000 287.224000 202.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 287.200000 214.092000 292.516000 202.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 292.504000 214.092000 296.500000 202.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 296.500000 214.092000 300.496000 202.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 300.496000 214.092000 305.812000 202.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 305.800000 214.092000 309.796000 202.092000 1.000000 0.000000 0.000000 1.000000 - +drawChar 309.904000 214.092000 315.220000 202.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 315.208000 214.092000 321.208000 202.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 321.208000 214.092000 324.532000 202.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 324.508000 214.092000 327.832000 202.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 327.808000 214.092000 333.124000 202.092000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 333.200000 214.092000 336.200000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.400000 214.092000 342.716000 202.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 342.704000 214.092000 348.704000 202.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 348.704000 214.092000 354.704000 202.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 355.208000 214.092000 358.208000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.808000 214.092000 362.132000 202.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 362.108000 214.092000 368.108000 202.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 368.204000 214.092000 373.520000 202.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 374.000000 214.092000 377.000000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.600000 214.092000 386.264000 202.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 386.300000 214.092000 391.616000 202.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 391.604000 214.092000 394.928000 202.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 394.904000 214.092000 398.228000 202.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 398.204000 214.092000 402.872000 202.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 403.508000 214.092000 406.508000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 407.108000 214.092000 412.424000 202.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 412.412000 214.092000 416.408000 202.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 416.408000 214.092000 421.724000 202.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 422.312000 214.092000 425.312000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.912000 214.092000 431.912000 202.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 431.816000 214.092000 435.140000 202.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 435.116000 214.092000 440.432000 202.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 440.420000 214.092000 443.744000 202.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 443.816000 214.092000 449.816000 202.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 450.512000 214.092000 453.512000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 454.112000 214.092000 462.776000 202.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 462.716000 214.092000 468.716000 202.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 468.812000 214.092000 472.136000 202.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 472.112000 214.092000 475.436000 202.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 475.412000 214.092000 480.728000 202.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 480.716000 214.092000 483.716000 202.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.316000 214.092000 487.316000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 487.916000 214.092000 496.580000 202.092000 1.000000 0.000000 0.000000 1.000000 A +drawChar 496.616000 214.092000 499.940000 202.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 500.420000 214.092000 503.420000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 504.020000 214.092000 509.336000 202.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 509.324000 214.092000 515.324000 202.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 515.324000 214.092000 521.324000 202.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 521.324000 214.092000 527.324000 202.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 527.324000 214.092000 530.648000 202.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 531.320000 214.092000 534.320000 202.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 534.920000 214.092000 540.236000 202.092000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 214.092000 543.200000 202.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 200.692000 227.500000 188.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 227.596000 200.692000 232.912000 188.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 232.792000 200.692000 236.116000 188.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 236.188000 200.692000 242.188000 188.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 242.092000 200.692000 248.092000 188.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 248.188000 200.692000 251.512000 188.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 251.692000 200.692000 254.692000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 254.896000 200.692000 260.896000 188.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 260.896000 200.692000 264.892000 188.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 265.096000 200.692000 268.096000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 268.300000 200.692000 274.300000 188.692000 1.000000 0.000000 0.000000 1.000000 4 +drawChar 274.504000 200.692000 277.504000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.708000 200.692000 281.704000 188.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 281.704000 200.692000 285.028000 188.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 285.004000 200.692000 288.004000 188.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.208000 200.692000 291.208000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.412000 200.692000 294.736000 188.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 294.712000 200.692000 300.712000 188.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 300.808000 200.692000 306.124000 188.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 306.112000 200.692000 310.108000 188.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 310.108000 200.692000 315.424000 188.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 315.604000 200.692000 318.604000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 318.808000 200.692000 322.132000 188.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 322.204000 200.692000 326.872000 188.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 327.004000 200.692000 330.004000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.208000 200.692000 335.524000 188.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 335.704000 200.692000 338.704000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.908000 200.692000 342.232000 188.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 342.208000 200.692000 347.524000 188.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 347.512000 200.692000 351.508000 188.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 351.508000 200.692000 355.504000 188.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 355.504000 200.692000 360.820000 188.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 360.808000 200.692000 364.804000 188.692000 1.000000 0.000000 0.000000 1.000000 - +drawChar 364.912000 200.692000 370.228000 188.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 370.216000 200.692000 376.216000 188.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 376.216000 200.692000 379.540000 188.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 379.516000 200.692000 382.840000 188.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 382.816000 200.692000 388.132000 188.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 388.120000 200.692000 392.116000 188.692000 1.000000 0.000000 0.000000 1.000000 - +drawChar 392.320000 200.692000 397.636000 188.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 397.624000 200.692000 403.624000 188.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 403.624000 200.692000 406.948000 188.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 406.924000 200.692000 412.924000 188.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 412.924000 200.692000 416.920000 188.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 416.920000 200.692000 422.236000 188.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 422.224000 200.692000 428.224000 188.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 428.428000 200.692000 431.428000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.632000 200.692000 437.632000 188.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 437.632000 200.692000 443.632000 188.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 443.632000 200.692000 447.628000 188.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 447.628000 200.692000 453.628000 188.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 453.532000 200.692000 458.848000 188.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 458.836000 200.692000 462.832000 188.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 463.240000 200.692000 466.240000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 466.444000 200.692000 471.760000 188.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 471.748000 200.692000 475.072000 188.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 475.048000 200.692000 481.048000 188.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 481.048000 200.692000 487.048000 188.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 487.048000 200.692000 493.048000 188.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 493.252000 200.692000 496.252000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 496.456000 200.692000 499.780000 188.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 499.756000 200.692000 505.756000 188.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 505.852000 200.692000 511.168000 188.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 511.348000 200.692000 514.348000 188.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 514.552000 200.692000 523.216000 188.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 523.252000 200.692000 528.568000 188.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 528.556000 200.692000 531.880000 188.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 531.856000 200.692000 535.180000 188.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 535.156000 200.692000 539.824000 188.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 200.692000 543.100000 188.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 187.192000 224.824000 175.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 187.192000 230.800000 175.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.100000 187.192000 234.100000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 234.304000 187.192000 243.628000 175.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 243.604000 187.192000 248.920000 175.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 248.908000 187.192000 252.232000 175.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 252.208000 187.192000 257.524000 175.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 257.512000 187.192000 263.512000 175.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 263.908000 187.192000 266.908000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 267.208000 187.192000 270.532000 175.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 270.412000 187.192000 276.412000 175.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 276.508000 187.192000 281.824000 175.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 282.112000 187.192000 285.112000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 285.316000 187.192000 289.312000 175.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 289.312000 187.192000 292.636000 175.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 292.612000 187.192000 298.612000 175.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 298.612000 187.192000 304.612000 175.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 304.612000 187.192000 308.608000 175.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 308.608000 187.192000 311.608000 175.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 311.908000 187.192000 314.908000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.208000 187.192000 323.872000 175.192000 1.000000 0.000000 0.000000 1.000000 O +drawChar 323.812000 187.192000 327.808000 175.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 328.108000 187.192000 331.108000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 331.312000 187.192000 336.628000 175.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 336.616000 187.192000 342.616000 175.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 342.616000 187.192000 348.616000 175.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 348.616000 187.192000 352.612000 175.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 352.612000 187.192000 357.280000 175.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 357.316000 187.192000 362.632000 175.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 362.620000 187.192000 365.620000 175.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 365.920000 187.192000 368.920000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.124000 187.192000 372.448000 175.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 372.424000 187.192000 378.424000 175.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 378.520000 187.192000 383.836000 175.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 383.824000 187.192000 387.820000 175.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 387.820000 187.192000 393.136000 175.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 393.424000 187.192000 396.424000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 396.628000 187.192000 401.944000 175.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 401.932000 187.192000 405.928000 175.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 405.928000 187.192000 411.244000 175.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 411.532000 187.192000 414.532000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.832000 187.192000 420.148000 175.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 420.136000 187.192000 423.460000 175.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 423.436000 187.192000 428.104000 175.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 428.140000 187.192000 434.140000 175.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 434.440000 187.192000 437.440000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.644000 187.192000 440.968000 175.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 440.944000 187.192000 449.608000 175.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 449.644000 187.192000 455.644000 175.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 455.944000 187.192000 458.944000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 459.148000 187.192000 465.148000 175.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 465.148000 187.192000 470.464000 175.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 470.452000 187.192000 473.776000 175.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 473.752000 187.192000 479.752000 175.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 480.052000 187.192000 483.052000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 483.352000 187.192000 492.676000 175.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 492.652000 187.192000 497.968000 175.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 497.956000 187.192000 501.280000 175.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 501.256000 187.192000 505.924000 175.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 506.260000 187.192000 509.260000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 509.464000 187.192000 515.464000 175.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 515.464000 187.192000 521.464000 175.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 521.764000 187.192000 524.764000 175.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 524.968000 187.192000 528.292000 175.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 528.268000 187.192000 534.268000 175.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 534.364000 187.192000 539.680000 175.192000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 187.192000 543.100000 175.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 108.100000 89.992000 114.772000 77.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 114.796000 89.992000 120.112000 77.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 120.100000 89.992000 126.100000 77.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 126.100000 89.992000 131.416000 77.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 131.404000 89.992000 134.404000 77.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 134.400000 89.992000 140.400000 77.992000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 550.900000 0 504.000000 550.900000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 550.900000 0 +eoFillPath subpath 1 72.000000 478.100000 0 116.200000 478.100000 0 116.200000 550.900000 0 72.000000 550.900000 0 72.000000 478.100000 0 +eoFillPath subpath 1 459.700000 478.100000 0 504.000000 478.100000 0 504.000000 550.900000 0 459.700000 550.900000 0 459.700000 478.100000 0 +restoreState +saveState +eoClipPath subpath 1 72.000000 478.100000 0 504.000000 478.100000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 478.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 241.100000 0 72.000000 241.100000 0 72.000000 72.000000 0 +eoFillPath subpath 1 72.000000 241.100000 0 116.200000 241.100000 0 116.200000 406.900000 0 72.000000 406.900000 0 72.000000 241.100000 0 +eoFillPath subpath 1 459.700000 241.100000 0 504.000000 241.100000 0 504.000000 406.900000 0 459.700000 406.900000 0 459.700000 241.100000 0 +restoreState +saveState +eoClipPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 406.900000 0 72.000000 406.900000 0 72.000000 72.000000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 406.900000 0 76.300000 406.900000 0 76.300000 478.100000 0 72.000000 478.100000 0 72.000000 406.900000 0 +eoFillPath subpath 1 459.700000 406.900000 0 504.000000 406.900000 0 504.000000 478.100000 0 459.700000 478.100000 0 459.700000 406.900000 0 +restoreState +saveState +eoClipPath subpath 1 156.200000 406.900000 0 504.000000 406.900000 0 504.000000 478.100000 0 156.200000 478.100000 0 156.200000 406.900000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 701.500000 0 504.000000 701.500000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 701.500000 0 +eoFillPath subpath 1 72.000000 72.700000 0 504.000000 72.700000 0 504.000000 86.100000 0 72.000000 86.100000 0 72.000000 72.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 321.900000 716.588000 335.228000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 335.196000 716.588000 343.196000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 343.292000 716.588000 347.740000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.788000 716.588000 359.340000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 359.388000 716.588000 368.284000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 368.284000 716.588000 377.180000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 377.180000 716.588000 385.180000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 385.180000 716.588000 394.076000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.284000 716.588000 398.732000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.684000 716.588000 404.012000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 404.092000 716.588000 408.540000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 408.600000 716.588000 419.272000 700.588000 1.000000 0.000000 0.000000 1.000000 S +drawChar 419.208000 716.588000 428.104000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 428.104000 716.588000 436.104000 700.588000 1.000000 0.000000 0.000000 1.000000 c +drawChar 436.104000 716.588000 445.000000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 445.112000 716.588000 454.008000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 454.008000 716.588000 462.904000 700.588000 1.000000 0.000000 0.000000 1.000000 d +drawChar 463.112000 716.588000 467.560000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.512000 716.588000 477.288000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 477.320000 716.588000 480.872000 700.588000 1.000000 0.000000 0.000000 1.000000 l +drawChar 480.824000 716.588000 489.720000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 489.832000 716.588000 498.728000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 498.728000 716.588000 504.056000 700.588000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 672.992000 189.496000 660.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 672.992000 192.820000 660.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 192.796000 672.992000 198.796000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 198.796000 672.992000 204.796000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 204.796000 672.992000 208.792000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 209.800000 672.992000 212.800000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.700000 672.992000 217.024000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 217.000000 672.992000 223.000000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 223.996000 672.992000 226.996000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 227.992000 672.992000 233.992000 660.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 233.992000 672.992000 239.308000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 239.296000 672.992000 244.612000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 244.600000 672.992000 250.600000 660.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 251.596000 672.992000 254.596000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 255.496000 672.992000 258.820000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 258.796000 672.992000 264.796000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 264.892000 672.992000 270.892000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 270.796000 672.992000 275.464000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 275.500000 672.992000 280.816000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 281.800000 672.992000 284.800000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 285.796000 672.992000 291.796000 660.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 291.796000 672.992000 297.112000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 297.100000 672.992000 301.096000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 301.096000 672.992000 306.412000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 307.396000 672.992000 310.396000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 311.296000 672.992000 315.292000 660.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 315.292000 672.992000 320.608000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.596000 672.992000 325.912000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 325.900000 672.992000 329.224000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 330.196000 672.992000 333.196000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 334.192000 672.992000 342.856000 660.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 342.892000 672.992000 348.208000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 348.196000 672.992000 352.192000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 352.192000 672.992000 361.516000 660.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 361.492000 672.992000 364.492000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.488000 672.992000 368.488000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.388000 672.992000 376.708000 660.992000 1.000000 0.000000 0.000000 1.000000 T +drawChar 376.684000 672.992000 382.684000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 382.780000 672.992000 388.096000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 388.984000 672.992000 391.984000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 392.980000 672.992000 398.980000 660.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 398.980000 672.992000 404.296000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 404.284000 672.992000 407.608000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 407.488000 672.992000 413.488000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 413.584000 672.992000 416.908000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 416.884000 672.992000 422.884000 660.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 422.884000 672.992000 428.884000 660.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 428.884000 672.992000 431.884000 660.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 432.880000 672.992000 435.880000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 436.876000 672.992000 441.544000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 441.472000 672.992000 447.472000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 447.568000 672.992000 453.568000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 453.472000 672.992000 462.136000 660.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 462.172000 672.992000 467.488000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 467.476000 672.992000 471.472000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 471.472000 672.992000 474.472000 660.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 476.368000 672.992000 479.368000 660.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 479.500000 672.992000 482.824000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 482.800000 672.992000 488.800000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 488.800000 672.992000 492.124000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 492.196000 672.992000 495.520000 660.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 495.496000 672.992000 500.812000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 500.800000 672.992000 504.124000 660.992000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 672.992000 507.200000 660.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 659.592000 190.816000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 659.592000 196.804000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 196.804000 659.592000 202.804000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 202.804000 659.592000 205.804000 647.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 205.800000 659.592000 214.464000 647.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 214.500000 659.592000 219.816000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 219.804000 659.592000 224.472000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 224.400000 659.592000 230.400000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.496000 659.592000 236.496000 647.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 236.496000 659.592000 241.812000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 241.800000 659.592000 246.468000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 246.396000 659.592000 249.720000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 249.792000 659.592000 255.792000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 255.792000 659.592000 258.792000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.792000 659.592000 264.108000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 264.096000 659.592000 268.092000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 268.092000 659.592000 273.408000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 273.396000 659.592000 276.396000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 276.396000 659.592000 281.712000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 281.700000 659.592000 285.024000 647.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 285.000000 659.592000 288.324000 647.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 288.396000 659.592000 291.396000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.396000 659.592000 300.060000 647.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 300.096000 659.592000 306.096000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 306.096000 659.592000 309.420000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 309.492000 659.592000 312.816000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 312.792000 659.592000 318.108000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 318.096000 659.592000 321.096000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 321.096000 659.592000 324.096000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 324.096000 659.592000 331.416000 647.592000 1.000000 0.000000 0.000000 1.000000 T +drawChar 331.392000 659.592000 337.392000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 337.488000 659.592000 342.804000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 342.792000 659.592000 345.792000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.792000 659.592000 349.788000 647.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 349.692000 659.592000 353.016000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 353.088000 659.592000 356.412000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 356.388000 659.592000 359.712000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 359.688000 659.592000 363.012000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 363.084000 659.592000 369.084000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 369.084000 659.592000 375.084000 647.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 375.084000 659.592000 379.752000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 379.788000 659.592000 382.788000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 382.788000 659.592000 388.104000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 388.092000 659.592000 392.088000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 392.088000 659.592000 397.404000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 397.392000 659.592000 400.392000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 400.392000 659.592000 406.392000 647.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 406.392000 659.592000 409.716000 647.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 409.692000 659.592000 415.008000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 414.996000 659.592000 420.312000 647.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 420.300000 659.592000 426.300000 647.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 426.300000 659.592000 429.300000 647.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 429.396000 659.592000 432.396000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 432.396000 659.592000 437.712000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 437.700000 659.592000 443.700000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 443.604000 659.592000 449.604000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 449.604000 659.592000 453.600000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 453.600000 659.592000 459.600000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 459.600000 659.592000 464.916000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 465.000000 659.592000 471.000000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 471.096000 659.592000 474.096000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 474.096000 659.592000 482.760000 647.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 482.700000 659.592000 486.024000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 486.096000 659.592000 489.420000 647.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 489.396000 659.592000 495.396000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 495.396000 659.592000 498.396000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 498.396000 659.592000 503.712000 647.592000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 659.592000 507.100000 647.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 646.092000 188.824000 634.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 646.092000 194.116000 634.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 194.104000 646.092000 198.772000 634.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 198.808000 646.092000 202.132000 634.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 202.108000 646.092000 207.424000 634.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 207.412000 646.092000 211.408000 634.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 211.408000 646.092000 217.408000 634.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 217.408000 646.092000 220.732000 634.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 220.804000 646.092000 223.804000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 223.804000 646.092000 229.804000 634.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 229.804000 646.092000 235.804000 634.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 235.804000 646.092000 239.128000 634.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 239.104000 646.092000 245.104000 634.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 245.200000 646.092000 248.200000 634.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 248.200000 646.092000 252.868000 634.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 252.904000 646.092000 256.228000 634.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 256.204000 646.092000 260.200000 634.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 260.200000 646.092000 265.516000 634.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 265.504000 646.092000 270.820000 634.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 270.808000 646.092000 276.808000 634.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 276.808000 646.092000 279.808000 634.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 72.100000 618.016000 80.764000 606.016000 1.000000 0.000000 0.000000 1.000000 B +drawChar 80.800000 618.016000 87.472000 606.016000 1.000000 0.000000 0.000000 1.000000 a +drawChar 87.400000 618.016000 91.396000 606.016000 1.000000 0.000000 0.000000 1.000000 t +drawChar 91.396000 618.016000 98.728000 606.016000 1.000000 0.000000 0.000000 1.000000 h +drawChar 98.800000 618.016000 102.796000 606.016000 1.000000 0.000000 0.000000 1.000000 t +drawChar 102.796000 618.016000 110.128000 606.016000 1.000000 0.000000 0.000000 1.000000 u +drawChar 110.092000 618.016000 117.424000 606.016000 1.000000 0.000000 0.000000 1.000000 b +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 603.492000 192.820000 591.492000 1.000000 0.000000 0.000000 1.000000 T +drawChar 192.796000 603.492000 198.796000 591.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 198.796000 603.492000 202.120000 591.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 202.192000 603.492000 206.860000 591.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 206.992000 603.492000 209.992000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 210.292000 603.492000 213.616000 591.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 213.592000 603.492000 218.260000 591.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 218.488000 603.492000 221.488000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 221.692000 603.492000 227.692000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 227.692000 603.492000 233.692000 591.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 233.896000 603.492000 236.896000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 237.196000 603.492000 243.196000 591.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 243.196000 603.492000 247.192000 591.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 247.192000 603.492000 253.192000 591.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 253.096000 603.492000 256.420000 591.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 256.492000 603.492000 262.492000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 262.492000 603.492000 267.808000 591.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 267.796000 603.492000 271.792000 591.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 271.792000 603.492000 277.792000 591.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 277.696000 603.492000 280.696000 591.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 280.996000 603.492000 283.996000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 284.296000 603.492000 288.292000 591.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 288.292000 603.492000 294.292000 591.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 294.292000 603.492000 300.292000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 300.496000 603.492000 303.496000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 303.700000 603.492000 309.700000 591.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 309.700000 603.492000 313.696000 591.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 313.900000 603.492000 316.900000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 317.200000 603.492000 320.524000 591.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 320.404000 603.492000 326.404000 591.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 326.500000 603.492000 331.816000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.104000 603.492000 335.104000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 335.308000 603.492000 344.632000 591.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 344.608000 603.492000 347.932000 591.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 348.004000 603.492000 351.328000 591.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 351.304000 603.492000 354.628000 591.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 354.808000 603.492000 357.808000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.108000 603.492000 364.108000 591.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 364.108000 603.492000 369.424000 591.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 369.412000 603.492000 372.736000 591.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 372.712000 603.492000 378.712000 591.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 378.808000 603.492000 382.132000 591.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 382.108000 603.492000 388.108000 591.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 388.108000 603.492000 394.108000 591.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 394.312000 603.492000 397.312000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.516000 603.492000 403.516000 591.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 403.612000 603.492000 408.928000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 408.916000 603.492000 412.912000 591.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 412.912000 603.492000 418.228000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 418.216000 603.492000 421.216000 591.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.420000 603.492000 424.420000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 424.624000 603.492000 431.944000 591.492000 1.000000 0.000000 0.000000 1.000000 T +drawChar 431.920000 603.492000 437.920000 591.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 438.016000 603.492000 443.332000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 443.512000 603.492000 446.512000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 446.812000 603.492000 452.812000 591.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 452.812000 603.492000 458.812000 591.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 458.812000 603.492000 464.812000 591.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 464.812000 603.492000 470.128000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 470.308000 603.492000 473.308000 591.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.512000 603.492000 478.828000 591.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 478.816000 603.492000 484.816000 591.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 484.816000 603.492000 488.812000 591.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 488.812000 603.492000 494.812000 591.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 494.812000 603.492000 500.128000 591.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 500.116000 603.492000 504.112000 591.492000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 603.492000 507.200000 591.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 590.092000 188.824000 578.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 590.092000 194.800000 578.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 194.800000 590.092000 200.800000 578.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 201.004000 590.092000 204.004000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 204.208000 590.092000 207.532000 578.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 207.604000 590.092000 212.272000 578.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 212.404000 590.092000 215.404000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 215.608000 590.092000 220.924000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 220.912000 590.092000 224.236000 578.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 224.212000 590.092000 228.880000 578.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 228.916000 590.092000 234.916000 578.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 235.216000 590.092000 238.216000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 238.420000 590.092000 243.736000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 244.120000 590.092000 247.120000 578.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 247.100000 590.092000 255.764000 578.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 255.800000 590.092000 261.800000 578.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 261.800000 590.092000 265.124000 578.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 265.196000 590.092000 269.192000 578.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 269.096000 590.092000 272.420000 578.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 272.396000 590.092000 278.396000 578.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 278.300000 590.092000 284.300000 578.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 284.300000 590.092000 290.300000 578.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 290.300000 590.092000 293.624000 578.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 293.600000 590.092000 296.600000 578.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 296.996000 590.092000 299.996000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 300.200000 590.092000 305.516000 578.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 305.504000 590.092000 311.504000 578.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 311.504000 590.092000 320.828000 578.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 320.804000 590.092000 326.804000 578.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 326.708000 590.092000 330.032000 578.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 330.008000 590.092000 335.324000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.408000 590.092000 338.732000 578.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 338.708000 590.092000 344.024000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.408000 590.092000 347.408000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.612000 590.092000 356.276000 578.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 356.216000 590.092000 359.540000 578.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 359.612000 590.092000 362.936000 578.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 362.816000 590.092000 368.816000 578.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 369.320000 590.092000 372.320000 578.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 372.300000 590.092000 380.964000 578.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 380.904000 590.092000 386.220000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 386.208000 590.092000 389.532000 578.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 389.508000 590.092000 394.824000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.812000 590.092000 398.808000 578.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 399.108000 590.092000 402.108000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 402.312000 590.092000 405.636000 578.092000 1.000000 0.000000 0.000000 1.000000 j +drawChar 405.708000 590.092000 411.024000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 411.012000 590.092000 414.336000 578.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 414.312000 590.092000 418.980000 578.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 419.016000 590.092000 422.016000 578.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.220000 590.092000 425.220000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.424000 590.092000 432.744000 578.092000 1.000000 0.000000 0.000000 1.000000 T +drawChar 432.624000 590.092000 438.624000 578.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 438.720000 590.092000 444.036000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 444.216000 590.092000 447.216000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 447.420000 590.092000 453.420000 578.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 453.324000 590.092000 458.640000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 458.628000 590.092000 462.624000 578.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 462.624000 590.092000 466.620000 578.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 466.620000 590.092000 471.936000 578.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 472.020000 590.092000 477.336000 578.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 477.324000 590.092000 480.648000 578.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 480.924000 590.092000 483.924000 578.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 484.128000 590.092000 492.792000 578.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 492.828000 590.092000 498.144000 578.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 498.132000 590.092000 504.132000 578.092000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 590.092000 507.100000 578.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 576.592000 188.824000 564.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 576.592000 194.800000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 194.800000 576.592000 197.800000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 197.800000 576.592000 201.796000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 201.796000 576.592000 207.112000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 207.100000 576.592000 210.424000 564.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 210.400000 576.592000 215.716000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 215.704000 576.592000 221.704000 564.592000 1.000000 0.000000 0.000000 1.000000 x +drawChar 221.800000 576.592000 224.800000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.800000 576.592000 230.116000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 230.104000 576.592000 234.100000 564.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 234.100000 576.592000 237.424000 564.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 237.400000 576.592000 242.716000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 242.704000 576.592000 246.700000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 246.808000 576.592000 249.808000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 249.808000 576.592000 255.124000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 255.112000 576.592000 258.112000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.112000 576.592000 261.436000 564.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 261.412000 576.592000 267.412000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 267.412000 576.592000 273.412000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 273.412000 576.592000 279.412000 564.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 279.508000 576.592000 282.508000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.508000 576.592000 288.508000 564.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 288.412000 576.592000 293.728000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 293.716000 576.592000 299.716000 564.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 299.812000 576.592000 302.812000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.812000 576.592000 308.128000 564.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 308.116000 576.592000 311.440000 564.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 311.512000 576.592000 314.512000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.512000 576.592000 323.176000 564.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 323.116000 576.592000 329.116000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 329.116000 576.592000 333.112000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 333.112000 576.592000 339.112000 564.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 339.112000 576.592000 342.112000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 342.112000 576.592000 345.436000 564.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 345.508000 576.592000 351.508000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 351.508000 576.592000 354.508000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 354.508000 576.592000 358.504000 564.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 358.504000 576.592000 362.500000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 362.500000 576.592000 368.500000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 368.500000 576.592000 374.500000 564.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 374.500000 576.592000 377.824000 564.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 377.800000 576.592000 380.800000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.800000 576.592000 386.800000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 386.800000 576.592000 390.796000 564.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 390.796000 576.592000 393.796000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.796000 576.592000 397.120000 564.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 397.000000 576.592000 403.000000 564.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 403.096000 576.592000 408.412000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 408.400000 576.592000 411.400000 564.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 411.400000 576.592000 416.716000 564.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 416.704000 576.592000 422.704000 564.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 422.704000 576.592000 432.028000 564.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 432.100000 576.592000 438.100000 564.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 438.004000 576.592000 444.004000 564.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 444.004000 576.592000 447.328000 564.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 447.304000 576.592000 452.620000 564.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 452.608000 576.592000 456.604000 564.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 456.604000 576.592000 459.604000 564.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 557.192000 194.164000 545.192000 1.000000 0.000000 0.000000 1.000000 O +drawChar 194.104000 557.192000 200.104000 545.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 200.200000 557.192000 203.200000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.200000 557.192000 206.524000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 206.404000 557.192000 212.404000 545.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 212.500000 557.192000 217.816000 545.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 217.804000 557.192000 220.804000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 220.804000 557.192000 226.120000 545.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 226.108000 557.192000 232.108000 545.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 232.012000 557.192000 238.012000 545.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 238.012000 557.192000 243.328000 545.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 243.508000 557.192000 246.508000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 246.508000 557.192000 252.508000 545.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 252.508000 557.192000 256.504000 545.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 256.504000 557.192000 259.504000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.504000 557.192000 262.828000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 262.708000 557.192000 268.708000 545.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 268.804000 557.192000 274.120000 545.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 274.108000 557.192000 277.108000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.108000 557.192000 280.432000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 280.408000 557.192000 286.408000 545.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 286.408000 557.192000 292.408000 545.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 292.504000 557.192000 295.504000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.504000 557.192000 300.820000 545.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 300.808000 557.192000 304.804000 545.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 304.804000 557.192000 310.120000 545.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 310.108000 557.192000 313.108000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 313.108000 557.192000 316.432000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 316.408000 557.192000 322.408000 545.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 322.504000 557.192000 327.820000 545.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 327.808000 557.192000 330.808000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.808000 557.192000 336.808000 545.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 336.808000 557.192000 341.476000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 341.512000 557.192000 347.512000 545.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 347.512000 557.192000 352.828000 545.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 352.816000 557.192000 356.140000 545.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 356.116000 557.192000 359.116000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 359.116000 557.192000 362.440000 545.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 362.416000 557.192000 368.416000 545.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 368.416000 557.192000 371.740000 545.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 371.812000 557.192000 377.812000 545.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 377.812000 557.192000 383.812000 545.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 383.812000 557.192000 388.480000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 388.516000 557.192000 391.516000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.516000 557.192000 396.184000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 396.112000 557.192000 402.112000 545.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 402.112000 557.192000 407.428000 545.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 407.416000 557.192000 413.416000 545.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 413.512000 557.192000 416.512000 545.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 416.512000 557.192000 421.828000 545.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 421.816000 557.192000 426.484000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 426.520000 557.192000 429.520000 545.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 429.900000 557.192000 434.568000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 434.496000 557.192000 440.496000 545.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 440.496000 557.192000 445.812000 545.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 445.800000 557.192000 451.800000 545.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 451.704000 557.192000 454.704000 545.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 454.800000 557.192000 457.800000 545.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 457.800000 557.192000 462.468000 545.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 462.504000 557.192000 468.504000 545.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 468.504000 557.192000 473.820000 545.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 473.808000 557.192000 483.132000 545.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 483.108000 557.192000 489.108000 545.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 489.012000 557.192000 495.012000 545.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 495.012000 557.192000 501.012000 545.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 501.012000 557.192000 504.012000 545.192000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 557.192000 507.100000 545.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 543.692000 190.168000 531.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 543.692000 196.204000 531.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 196.204000 543.692000 202.204000 531.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 202.204000 543.692000 210.868000 531.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 210.904000 543.692000 216.220000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 216.208000 543.692000 220.204000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 220.612000 543.692000 223.612000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.116000 543.692000 230.116000 531.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 230.116000 543.692000 235.432000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.420000 543.692000 238.744000 531.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 239.224000 543.692000 242.224000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 242.620000 543.692000 247.936000 531.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 247.924000 543.692000 253.924000 531.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 253.924000 543.692000 259.924000 531.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 260.824000 543.692000 263.824000 531.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 263.900000 543.692000 269.900000 531.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 269.900000 543.692000 275.216000 531.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 275.204000 543.692000 278.528000 531.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 278.408000 543.692000 284.408000 531.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 285.008000 543.692000 288.008000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 288.404000 543.692000 293.072000 531.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 293.108000 543.692000 298.424000 531.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 298.412000 543.692000 301.736000 531.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 301.712000 543.692000 305.036000 531.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 305.012000 543.692000 309.680000 531.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 309.716000 543.692000 312.716000 531.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 313.220000 543.692000 316.220000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 316.724000 543.692000 327.392000 531.692000 1.000000 0.000000 0.000000 1.000000 M +drawChar 327.428000 543.692000 333.428000 531.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 333.824000 543.692000 336.824000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.220000 543.692000 341.216000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 341.216000 543.692000 347.216000 531.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 347.216000 543.692000 353.216000 531.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 353.216000 543.692000 359.216000 531.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 359.216000 543.692000 364.532000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 364.520000 543.692000 368.516000 531.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 369.020000 543.692000 372.020000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.416000 543.692000 378.416000 531.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 378.320000 543.692000 384.320000 531.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 384.320000 543.692000 389.636000 531.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 389.624000 543.692000 395.624000 531.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 395.720000 543.692000 401.720000 531.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 402.224000 543.692000 405.224000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 405.728000 543.692000 411.728000 531.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 411.728000 543.692000 417.044000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 417.032000 543.692000 422.348000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 422.336000 543.692000 428.336000 531.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 428.240000 543.692000 432.908000 531.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 433.436000 543.692000 436.436000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 436.940000 543.692000 442.256000 531.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 442.244000 543.692000 448.244000 531.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 448.748000 543.692000 451.748000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 452.144000 543.692000 457.460000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 457.448000 543.692000 463.448000 531.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 463.352000 543.692000 468.668000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 469.256000 543.692000 472.256000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 472.760000 543.692000 478.760000 531.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 478.760000 543.692000 484.760000 531.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 485.156000 543.692000 488.156000 531.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.660000 543.692000 493.976000 531.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 493.964000 543.692000 499.964000 531.692000 1.000000 0.000000 0.000000 1.000000 v +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 543.692000 504.196000 531.692000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 530.292000 190.816000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 190.804000 530.292000 194.800000 518.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 194.800000 530.292000 200.800000 518.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 200.704000 530.292000 204.028000 518.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 204.004000 530.292000 210.004000 518.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 210.100000 530.292000 213.424000 518.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 213.496000 530.292000 219.496000 518.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 219.496000 530.292000 225.496000 518.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 225.496000 530.292000 228.496000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 228.496000 530.292000 237.160000 518.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 237.100000 530.292000 243.100000 518.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 243.196000 530.292000 248.512000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.500000 530.292000 254.500000 518.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 254.500000 530.292000 257.500000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 257.500000 530.292000 261.496000 518.292000 1.000000 0.000000 0.000000 1.000000 I +drawChar 261.400000 530.292000 263.560000 518.292000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 263.596000 530.292000 272.920000 518.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 272.992000 530.292000 275.992000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 275.992000 530.292000 281.992000 518.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 281.992000 530.292000 287.992000 518.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 287.992000 530.292000 291.316000 518.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 291.292000 530.292000 294.292000 518.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 294.292000 530.292000 297.616000 518.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 297.592000 530.292000 303.592000 518.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 303.688000 530.292000 309.004000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 308.992000 530.292000 312.988000 518.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 312.988000 530.292000 318.304000 518.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 318.292000 530.292000 321.292000 518.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 107 0 0 0 0 1200.000000 0 Helvetica-Bold +drawChar 72.100000 502.116000 82.096000 490.116000 1.000000 0.000000 0.000000 1.000000 M +drawChar 82.096000 502.116000 85.432000 490.116000 1.000000 0.000000 0.000000 1.000000 i +drawChar 85.396000 502.116000 90.064000 490.116000 1.000000 0.000000 0.000000 1.000000 r +drawChar 90.100000 502.116000 94.768000 490.116000 1.000000 0.000000 0.000000 1.000000 r +drawChar 94.804000 502.116000 102.136000 490.116000 1.000000 0.000000 0.000000 1.000000 o +drawChar 102.100000 502.116000 106.768000 490.116000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 487.692000 194.164000 475.692000 1.000000 0.000000 0.000000 1.000000 A +drawChar 194.200000 487.692000 200.200000 475.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 200.200000 487.692000 206.200000 475.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 206.200000 487.692000 212.200000 475.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 212.104000 487.692000 217.420000 475.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 218.404000 487.692000 221.404000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 222.304000 487.692000 225.628000 475.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 225.604000 487.692000 231.604000 475.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 231.700000 487.692000 237.016000 475.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 237.904000 487.692000 240.904000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.900000 487.692000 250.564000 475.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 250.504000 487.692000 255.820000 475.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 255.808000 487.692000 260.476000 475.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 260.512000 487.692000 266.512000 475.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 266.512000 487.692000 272.512000 475.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 272.512000 487.692000 277.828000 475.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 277.816000 487.692000 282.484000 475.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 282.520000 487.692000 285.844000 475.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 285.820000 487.692000 291.820000 475.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 292.720000 487.692000 295.720000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 296.716000 487.692000 300.712000 475.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 301.612000 487.692000 304.612000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.512000 487.692000 311.512000 475.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 311.608000 487.692000 316.924000 475.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 316.912000 487.692000 322.912000 475.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 322.816000 487.692000 328.132000 475.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 329.116000 487.692000 332.116000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 333.112000 487.692000 338.428000 475.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 339.316000 487.692000 342.316000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.216000 487.692000 349.216000 475.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 349.312000 487.692000 355.312000 475.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 355.216000 487.692000 361.216000 475.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 361.216000 487.692000 366.532000 475.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 367.516000 487.692000 370.516000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 371.416000 487.692000 380.740000 475.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 380.716000 487.692000 384.040000 475.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 384.112000 487.692000 388.108000 475.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 388.108000 487.692000 392.104000 475.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 392.104000 487.692000 398.104000 475.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 398.104000 487.692000 402.100000 475.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 402.100000 487.692000 405.100000 475.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 406.000000 487.692000 409.000000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 409.900000 487.692000 415.900000 475.692000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 416.200000 487.692000 419.200000 475.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 419.200000 487.692000 423.196000 475.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 423.196000 487.692000 426.520000 475.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 426.496000 487.692000 429.496000 475.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.396000 487.692000 433.396000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.392000 487.692000 443.056000 475.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 442.996000 487.692000 446.320000 475.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 446.392000 487.692000 452.392000 475.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 452.296000 487.692000 457.612000 475.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 458.596000 487.692000 461.596000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.592000 487.692000 467.908000 475.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 467.896000 487.692000 473.896000 475.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 473.896000 487.692000 479.896000 475.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 480.796000 487.692000 483.796000 475.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 484.696000 487.692000 490.696000 475.692000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 490.800000 487.692000 493.800000 475.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 493.800000 487.692000 497.796000 475.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 497.796000 487.692000 501.120000 475.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 501.096000 487.692000 504.096000 475.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 487.692000 507.100000 475.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 474.192000 188.824000 462.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 474.192000 194.116000 462.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 194.104000 474.192000 197.428000 462.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 197.404000 474.192000 200.728000 462.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 200.704000 474.192000 203.704000 462.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.208000 474.192000 207.208000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 207.604000 474.192000 216.268000 462.192000 1.000000 0.000000 0.000000 1.000000 O +drawChar 216.208000 474.192000 222.208000 462.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 222.604000 474.192000 225.604000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 226.000000 474.192000 229.324000 462.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 229.396000 474.192000 232.720000 462.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 232.600000 474.192000 234.760000 462.192000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 234.796000 474.192000 239.464000 462.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 239.896000 474.192000 242.896000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.292000 474.192000 246.616000 462.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 246.592000 474.192000 251.908000 462.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 251.896000 474.192000 255.892000 462.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 255.892000 474.192000 259.216000 462.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 259.588000 474.192000 262.588000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.984000 474.192000 267.652000 462.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 267.580000 474.192000 270.904000 462.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 270.976000 474.192000 276.976000 462.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 276.880000 474.192000 282.196000 462.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 282.676000 474.192000 285.676000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.072000 474.192000 289.396000 462.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 289.276000 474.192000 295.276000 462.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 295.372000 474.192000 300.688000 462.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 301.468000 474.192000 304.468000 462.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 304.500000 474.192000 312.492000 462.192000 1.000000 0.000000 0.000000 1.000000 C +drawChar 312.396000 474.192000 318.396000 462.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 318.492000 474.192000 322.488000 462.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 322.488000 474.192000 328.488000 462.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 328.392000 474.192000 333.060000 462.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 333.096000 474.192000 336.420000 462.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 336.396000 474.192000 341.712000 462.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.700000 474.192000 345.696000 462.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 346.104000 474.192000 349.104000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.500000 474.192000 357.492000 462.192000 1.000000 0.000000 0.000000 1.000000 B +drawChar 357.504000 474.192000 363.504000 462.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 363.504000 474.192000 366.828000 462.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 366.900000 474.192000 370.224000 462.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 370.200000 474.192000 376.200000 462.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 376.104000 474.192000 379.428000 462.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 379.500000 474.192000 385.500000 462.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 385.500000 474.192000 391.500000 462.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 391.896000 474.192000 394.896000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 395.292000 474.192000 399.288000 462.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 399.288000 474.192000 403.284000 462.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 403.284000 474.192000 409.284000 462.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 409.284000 474.192000 418.608000 462.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 419.388000 474.192000 422.388000 462.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 422.400000 474.192000 431.064000 462.192000 1.000000 0.000000 0.000000 1.000000 N +drawChar 431.004000 474.192000 436.320000 462.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 436.308000 474.192000 444.972000 462.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 445.404000 474.192000 448.404000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 448.800000 474.192000 457.464000 462.192000 1.000000 0.000000 0.000000 1.000000 Y +drawChar 457.404000 474.192000 463.404000 462.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 463.404000 474.192000 467.400000 462.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 467.400000 474.192000 473.400000 462.192000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 473.400000 474.192000 476.400000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 477.204000 474.192000 480.528000 462.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 480.504000 474.192000 485.172000 462.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 485.508000 474.192000 488.508000 462.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.904000 474.192000 494.220000 462.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 494.208000 474.192000 500.208000 462.192000 1.000000 0.000000 0.000000 1.000000 p +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 474.192000 504.196000 462.192000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 460.792000 191.500000 448.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 191.404000 460.792000 194.728000 448.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 194.704000 460.792000 198.028000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 198.100000 460.792000 203.416000 448.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 203.500000 460.792000 209.500000 448.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 210.100000 460.792000 213.100000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.700000 460.792000 219.016000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 218.896000 460.792000 223.564000 448.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 224.200000 460.792000 227.200000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 227.800000 460.792000 233.116000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 233.104000 460.792000 239.104000 448.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 239.704000 460.792000 242.704000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.304000 460.792000 248.620000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 248.608000 460.792000 254.608000 448.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 254.512000 460.792000 260.512000 448.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 260.416000 460.792000 263.740000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 263.812000 460.792000 267.136000 448.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 267.112000 460.792000 270.436000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 270.508000 460.792000 276.508000 448.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 276.508000 460.792000 282.508000 448.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 282.508000 460.792000 287.824000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 287.812000 460.792000 291.136000 448.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 291.808000 460.792000 294.808000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.408000 460.792000 304.732000 448.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 304.708000 460.792000 308.032000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 308.104000 460.792000 312.100000 448.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 312.100000 460.792000 316.096000 448.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 316.096000 460.792000 322.096000 448.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 322.096000 460.792000 326.092000 448.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 326.596000 460.792000 329.596000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.196000 460.792000 339.520000 448.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 339.496000 460.792000 344.812000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 344.800000 460.792000 350.800000 448.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 350.800000 460.792000 356.116000 448.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 356.800000 460.792000 359.800000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 360.400000 460.792000 364.396000 448.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 364.396000 460.792000 368.392000 448.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 368.392000 460.792000 374.392000 448.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 374.392000 460.792000 383.716000 448.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 384.292000 460.792000 387.292000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.892000 460.792000 391.216000 448.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 391.096000 460.792000 394.420000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 394.492000 460.792000 400.492000 448.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 400.492000 460.792000 403.816000 448.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 403.792000 460.792000 409.108000 448.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.096000 460.792000 415.096000 448.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 415.696000 460.792000 418.696000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 419.296000 460.792000 425.296000 448.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 425.296000 460.792000 428.620000 448.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 428.596000 460.792000 433.912000 448.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 433.900000 460.792000 438.568000 448.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 438.604000 460.792000 443.272000 448.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 443.908000 460.792000 446.908000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 447.508000 460.792000 452.824000 448.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 452.812000 460.792000 458.812000 448.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 458.812000 460.792000 462.136000 448.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 462.712000 460.792000 465.712000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 466.312000 460.792000 469.636000 448.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 469.708000 460.792000 475.708000 448.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 475.708000 460.792000 479.032000 448.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 479.008000 460.792000 485.008000 448.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 485.512000 460.792000 488.512000 448.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.112000 460.792000 492.436000 448.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.412000 460.792000 498.412000 448.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.508000 460.792000 503.824000 448.792000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 460.792000 507.100000 448.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 447.292000 190.816000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 447.292000 196.804000 435.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 196.804000 447.292000 202.804000 435.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 202.708000 447.292000 206.704000 435.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 206.704000 447.292000 212.704000 435.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 212.704000 447.292000 218.704000 435.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 218.704000 447.292000 222.700000 435.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 222.700000 447.292000 226.024000 435.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 226.096000 447.292000 231.412000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 231.400000 447.292000 234.724000 435.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 234.700000 447.292000 240.016000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.100000 447.292000 243.100000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.100000 447.292000 247.768000 435.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 247.804000 447.292000 253.804000 435.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 253.804000 447.292000 259.120000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 259.108000 447.292000 265.108000 435.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 265.012000 447.292000 270.328000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 270.508000 447.292000 273.508000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.508000 447.292000 278.824000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 278.812000 447.292000 284.812000 435.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 284.812000 447.292000 290.812000 435.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 290.812000 447.292000 293.812000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.812000 447.292000 299.812000 435.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 299.812000 447.292000 303.136000 435.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 303.112000 447.292000 309.112000 435.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 309.112000 447.292000 314.428000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 314.416000 447.292000 320.416000 435.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 320.512000 447.292000 323.512000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 323.512000 447.292000 329.512000 435.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 329.512000 447.292000 335.512000 435.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 335.512000 447.292000 338.836000 435.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 338.812000 447.292000 344.812000 435.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 344.812000 447.292000 347.812000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.812000 447.292000 351.136000 435.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 351.112000 447.292000 357.112000 435.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 357.208000 447.292000 362.524000 435.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 362.512000 447.292000 365.512000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.512000 447.292000 374.836000 435.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 374.812000 447.292000 380.128000 435.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 380.116000 447.292000 383.440000 435.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 383.512000 447.292000 389.512000 435.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 389.512000 447.292000 392.512000 435.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 392.512000 447.292000 401.836000 435.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 401.716000 447.292000 405.040000 435.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 405.112000 447.292000 409.108000 435.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 409.108000 447.292000 413.104000 435.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 413.104000 447.292000 419.104000 435.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 419.104000 447.292000 423.100000 435.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 423.100000 447.292000 426.100000 435.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 427.892000 189.496000 415.892000 1.000000 0.000000 0.000000 1.000000 I +drawChar 190.000000 427.892000 193.000000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 193.600000 427.892000 196.924000 415.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 196.804000 427.892000 202.804000 415.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 202.900000 427.892000 208.900000 415.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 208.900000 427.892000 214.900000 415.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 214.900000 427.892000 220.900000 415.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 220.900000 427.892000 226.900000 415.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 226.996000 427.892000 230.320000 415.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 230.800000 427.892000 233.800000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 234.400000 427.892000 239.716000 415.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 239.704000 427.892000 245.704000 415.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 245.704000 427.892000 251.704000 415.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 251.704000 427.892000 257.704000 415.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 257.704000 427.892000 261.028000 415.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 261.604000 427.892000 264.604000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.108000 427.892000 271.108000 415.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 271.204000 427.892000 276.520000 415.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 276.508000 427.892000 282.508000 415.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 282.412000 427.892000 285.736000 415.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 285.808000 427.892000 291.808000 415.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 291.808000 427.892000 297.808000 415.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 298.312000 427.892000 301.312000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 301.912000 427.892000 305.236000 415.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 305.116000 427.892000 311.116000 415.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 311.212000 427.892000 316.528000 415.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 317.116000 427.892000 320.116000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.716000 427.892000 325.384000 415.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 325.312000 427.892000 331.312000 415.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 331.408000 427.892000 336.724000 415.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 336.712000 427.892000 340.036000 415.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 340.012000 427.892000 344.008000 415.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 344.512000 427.892000 347.512000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.112000 427.892000 353.428000 415.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 353.416000 427.892000 356.740000 415.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 357.316000 427.892000 360.316000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 360.916000 427.892000 364.240000 415.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 364.120000 427.892000 370.120000 415.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 370.216000 427.892000 375.532000 415.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 376.120000 427.892000 379.120000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.624000 427.892000 383.620000 415.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 383.620000 427.892000 389.620000 415.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 389.620000 427.892000 395.620000 415.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 395.620000 427.892000 398.944000 415.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 399.520000 427.892000 402.520000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.024000 427.892000 409.024000 415.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 409.024000 427.892000 413.020000 415.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 413.620000 427.892000 416.620000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.124000 427.892000 420.448000 415.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 420.424000 427.892000 426.424000 415.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 426.520000 427.892000 431.836000 415.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 432.424000 427.892000 435.424000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 435.928000 427.892000 445.252000 415.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 445.228000 427.892000 448.552000 415.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 448.624000 427.892000 452.620000 415.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 452.620000 427.892000 456.616000 415.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 456.616000 427.892000 462.616000 415.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 462.616000 427.892000 466.612000 415.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 467.116000 427.892000 470.116000 415.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.716000 427.892000 475.384000 415.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 475.312000 427.892000 481.312000 415.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 481.408000 427.892000 486.724000 415.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 486.712000 427.892000 492.712000 415.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 492.616000 427.892000 497.932000 415.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 497.920000 427.892000 503.920000 415.892000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 427.892000 507.100000 415.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 414.392000 188.824000 402.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 188.800000 414.392000 192.124000 402.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 192.196000 414.392000 198.196000 402.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 198.196000 414.392000 203.512000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 204.700000 414.392000 207.700000 402.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 207.700000 414.392000 215.692000 402.392000 1.000000 0.000000 0.000000 1.000000 B +drawChar 215.704000 414.392000 219.700000 402.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 219.700000 414.392000 225.700000 402.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 225.700000 414.392000 231.700000 402.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.700000 414.392000 237.700000 402.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 237.700000 414.392000 241.024000 402.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 241.000000 414.392000 247.000000 402.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 246.904000 414.392000 252.904000 402.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 253.504000 414.392000 256.504000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 257.104000 414.392000 265.096000 402.392000 1.000000 0.000000 0.000000 1.000000 B +drawChar 265.108000 414.392000 269.104000 402.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 269.104000 414.392000 272.428000 402.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 272.500000 414.392000 278.500000 402.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 278.404000 414.392000 284.404000 402.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 284.404000 414.392000 289.720000 402.392000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 289.800000 414.392000 292.800000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 294.000000 414.392000 300.000000 402.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 300.000000 414.392000 306.000000 402.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 306.000000 414.392000 309.324000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 309.804000 414.392000 312.804000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 313.404000 414.392000 322.068000 402.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 322.104000 414.392000 325.428000 402.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 325.500000 414.392000 328.824000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 328.704000 414.392000 334.704000 402.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 335.304000 414.392000 338.304000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.904000 414.392000 347.568000 402.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 347.604000 414.392000 350.928000 402.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 350.904000 414.392000 354.900000 402.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 354.900000 414.392000 360.216000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 360.204000 414.392000 364.872000 402.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 365.508000 414.392000 368.508000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.108000 414.392000 372.432000 402.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 372.408000 414.392000 375.732000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 375.708000 414.392000 377.868000 402.392000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 377.904000 414.392000 382.572000 402.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 383.100000 414.392000 386.100000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.700000 414.392000 392.700000 402.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 392.604000 414.392000 395.928000 402.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 396.000000 414.392000 399.996000 402.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 399.996000 414.392000 403.992000 402.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 403.992000 414.392000 407.316000 402.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 407.388000 414.392000 412.704000 402.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 412.692000 414.392000 418.692000 402.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 418.692000 414.392000 422.016000 402.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 421.992000 414.392000 425.316000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 425.892000 414.392000 428.892000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 429.492000 414.392000 432.816000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 432.792000 414.392000 438.792000 402.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 439.392000 414.392000 442.392000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 442.992000 414.392000 448.308000 402.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 448.296000 414.392000 453.612000 402.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 453.600000 414.392000 458.916000 402.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 458.904000 414.392000 464.220000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 464.208000 414.392000 468.876000 402.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 468.912000 414.392000 473.580000 402.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 474.216000 414.392000 477.216000 402.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 477.816000 414.392000 481.140000 402.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 481.212000 414.392000 484.536000 402.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 484.512000 414.392000 489.828000 402.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 489.816000 414.392000 499.140000 402.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 499.116000 414.392000 503.784000 402.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 414.392000 507.100000 402.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 400.992000 191.500000 388.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 191.500000 400.992000 197.500000 388.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 197.704000 400.992000 200.704000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 201.004000 400.992000 204.328000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 204.208000 400.992000 210.208000 388.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 210.304000 400.992000 215.620000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 215.800000 400.992000 218.800000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 219.100000 400.992000 223.768000 388.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 223.696000 400.992000 229.696000 388.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 229.792000 400.992000 235.108000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.096000 400.992000 238.420000 388.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 238.396000 400.992000 242.392000 388.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 242.596000 400.992000 245.596000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.800000 400.992000 251.116000 388.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 251.104000 400.992000 257.104000 388.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 257.104000 400.992000 263.104000 388.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 263.404000 400.992000 266.404000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 266.608000 400.992000 275.272000 388.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 275.308000 400.992000 278.632000 388.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 278.704000 400.992000 282.028000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 281.908000 400.992000 287.908000 388.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 288.004000 400.992000 294.004000 388.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 294.004000 400.992000 300.004000 388.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 300.004000 400.992000 303.328000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 303.508000 400.992000 306.508000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 306.712000 400.992000 315.376000 388.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 315.412000 400.992000 318.736000 388.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 318.712000 400.992000 322.708000 388.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 322.708000 400.992000 328.024000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 328.012000 400.992000 332.680000 388.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 332.908000 400.992000 335.908000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 336.208000 400.992000 339.532000 388.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 339.412000 400.992000 345.412000 388.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 345.508000 400.992000 350.824000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 351.004000 400.992000 354.004000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 354.304000 400.992000 360.304000 388.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 360.304000 400.992000 364.300000 388.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 364.204000 400.992000 367.528000 388.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 367.600000 400.992000 373.600000 388.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 373.504000 400.992000 379.504000 388.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 379.504000 400.992000 384.820000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 385.204000 400.992000 388.204000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 388.408000 400.992000 391.732000 388.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 391.708000 400.992000 397.708000 388.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 397.708000 400.992000 403.708000 388.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 403.708000 400.992000 409.708000 388.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 409.708000 400.992000 414.376000 388.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 414.604000 400.992000 417.604000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.904000 400.992000 423.904000 388.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 423.808000 400.992000 427.132000 388.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 427.204000 400.992000 433.204000 388.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 433.204000 400.992000 439.204000 388.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 439.408000 400.992000 442.408000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 442.612000 400.992000 448.612000 388.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 448.612000 400.992000 452.608000 388.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 452.812000 400.992000 455.812000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 456.112000 400.992000 462.112000 388.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 462.112000 400.992000 467.428000 388.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 467.416000 400.992000 473.416000 388.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 473.416000 400.992000 478.732000 388.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 478.720000 400.992000 484.720000 388.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 484.624000 400.992000 487.624000 388.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 488.020000 400.992000 491.020000 388.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 491.224000 400.992000 497.896000 388.992000 1.000000 0.000000 0.000000 1.000000 S +drawChar 497.920000 400.992000 503.920000 388.992000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 400.992000 507.200000 388.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 387.492000 188.824000 375.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 387.492000 194.800000 375.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 194.896000 387.492000 200.212000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.200000 387.492000 203.200000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.200000 387.492000 207.868000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 207.796000 387.492000 213.796000 375.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 213.892000 387.492000 219.208000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 219.196000 387.492000 222.520000 375.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 222.496000 387.492000 226.492000 375.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 226.492000 387.492000 229.492000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 229.492000 387.492000 232.816000 375.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 232.792000 387.492000 237.460000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 237.496000 387.492000 240.496000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 240.496000 387.492000 249.820000 375.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 249.796000 387.492000 255.112000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 255.100000 387.492000 261.100000 375.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 261.004000 387.492000 266.320000 375.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 266.500000 387.492000 269.500000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.500000 387.492000 275.500000 375.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 275.500000 387.492000 279.496000 375.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 279.496000 387.492000 282.496000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.496000 387.492000 288.496000 375.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 288.400000 387.492000 291.724000 375.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 291.700000 387.492000 297.016000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 297.004000 387.492000 300.328000 375.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 300.400000 387.492000 306.400000 375.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 306.496000 387.492000 309.496000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.496000 387.492000 315.496000 375.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 315.496000 387.492000 319.492000 375.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 319.492000 387.492000 324.808000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 324.796000 387.492000 330.796000 375.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 330.796000 387.492000 333.796000 375.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 333.796000 387.492000 339.796000 375.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 339.796000 387.492000 343.120000 375.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 343.096000 387.492000 348.412000 375.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 348.400000 387.492000 353.068000 375.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 353.104000 387.492000 357.772000 375.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 72.100000 352.952000 82.992000 338.952000 1.000000 0.000000 0.000000 1.000000 G +drawChar 82.894000 352.952000 90.678000 338.952000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.692000 352.952000 94.584000 338.952000 1.000000 0.000000 0.000000 1.000000 l +drawChar 94.486000 352.952000 98.378000 338.952000 1.000000 0.000000 0.000000 1.000000 l +drawChar 98.392000 352.952000 106.176000 338.952000 1.000000 0.000000 0.000000 1.000000 e +drawChar 106.092000 352.952000 111.538000 338.952000 1.000000 0.000000 0.000000 1.000000 r +drawChar 111.496000 352.952000 119.280000 338.952000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 333.692000 194.164000 321.692000 1.000000 0.000000 0.000000 1.000000 A +drawChar 195.304000 333.692000 198.304000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 199.408000 333.692000 208.072000 321.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 208.012000 333.692000 214.012000 321.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 214.012000 333.692000 220.012000 321.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 220.012000 333.692000 226.012000 321.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 225.916000 333.692000 231.232000 321.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 231.220000 333.692000 237.220000 321.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 238.516000 333.692000 241.516000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 242.620000 333.692000 247.288000 321.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 247.324000 333.692000 253.324000 321.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 253.228000 333.692000 256.552000 321.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 256.624000 333.692000 260.620000 321.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 260.620000 333.692000 265.936000 321.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 265.924000 333.692000 269.248000 321.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 270.328000 333.692000 273.328000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 274.432000 333.692000 279.100000 321.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 279.136000 333.692000 282.460000 321.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 282.436000 333.692000 287.752000 321.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 287.740000 333.692000 291.064000 321.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 291.136000 333.692000 295.132000 321.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 295.132000 333.692000 300.448000 321.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 300.436000 333.692000 305.752000 321.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 305.740000 333.692000 310.408000 321.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 310.444000 333.692000 315.760000 321.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 316.840000 333.692000 319.840000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.944000 333.692000 324.268000 321.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 324.244000 333.692000 329.560000 321.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 329.548000 333.692000 334.864000 321.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 334.948000 333.692000 340.948000 321.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 340.852000 333.692000 345.520000 321.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 346.756000 333.692000 349.756000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.860000 333.692000 356.860000 321.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 356.860000 333.692000 362.860000 321.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 362.764000 333.692000 367.432000 321.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 367.468000 333.692000 370.792000 321.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 370.768000 333.692000 376.084000 321.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 376.072000 333.692000 379.396000 321.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 379.468000 333.692000 383.464000 321.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 383.464000 333.692000 388.132000 321.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 389.260000 333.692000 392.260000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.364000 333.692000 396.688000 321.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 396.664000 333.692000 402.664000 321.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 403.864000 333.692000 406.864000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 407.968000 333.692000 411.292000 321.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 411.172000 333.692000 417.172000 321.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 417.268000 333.692000 422.584000 321.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 423.664000 333.692000 426.664000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 427.768000 333.692000 433.768000 321.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 433.768000 333.692000 439.084000 321.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 439.072000 333.692000 442.396000 321.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 442.372000 333.692000 445.696000 321.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 445.672000 333.692000 450.988000 321.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 450.976000 333.692000 454.972000 321.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 455.080000 333.692000 461.080000 321.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 460.984000 333.692000 463.984000 321.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.280000 333.692000 468.280000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 469.384000 333.692000 478.048000 321.692000 1.000000 0.000000 0.000000 1.000000 O +drawChar 477.988000 333.692000 483.988000 321.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 485.092000 333.692000 488.092000 321.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.196000 333.692000 492.520000 321.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.496000 333.692000 498.496000 321.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.592000 333.692000 503.908000 321.692000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 333.692000 507.200000 321.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 320.292000 190.168000 308.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 320.292000 195.520000 308.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 195.508000 320.292000 200.824000 308.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 200.812000 320.292000 206.812000 308.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 206.812000 320.292000 212.812000 308.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 212.812000 320.292000 218.812000 308.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 220.012000 320.292000 223.012000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.116000 320.292000 228.112000 308.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 228.112000 320.292000 231.436000 308.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 231.412000 320.292000 237.412000 308.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 237.412000 320.292000 243.412000 308.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 243.412000 320.292000 247.408000 308.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 247.408000 320.292000 250.408000 308.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 251.608000 320.292000 254.608000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 255.808000 320.292000 259.132000 308.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 259.012000 320.292000 265.012000 308.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 265.108000 320.292000 270.424000 308.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 271.612000 320.292000 274.612000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 275.716000 320.292000 281.716000 308.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 281.812000 320.292000 287.128000 308.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 287.116000 320.292000 290.440000 308.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 290.416000 320.292000 293.740000 308.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 293.716000 320.292000 302.380000 308.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 302.416000 320.292000 307.732000 308.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 307.720000 320.292000 313.720000 308.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 314.920000 320.292000 317.920000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 319.024000 320.292000 325.024000 308.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 324.928000 320.292000 330.928000 308.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 330.928000 320.292000 336.244000 308.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 336.232000 320.292000 340.900000 308.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 342.232000 320.292000 345.232000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.336000 320.292000 352.336000 308.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 352.336000 320.292000 358.336000 308.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 358.336000 320.292000 361.660000 308.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 362.836000 320.292000 365.836000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 366.940000 320.292000 372.940000 308.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 372.940000 320.292000 378.940000 308.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 380.140000 320.292000 383.140000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.244000 320.292000 387.568000 308.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 387.544000 320.292000 393.544000 308.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 393.640000 320.292000 398.956000 308.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 400.144000 320.292000 403.144000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 404.248000 320.292000 412.912000 308.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 412.948000 320.292000 418.948000 308.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 418.948000 320.292000 424.948000 308.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 424.948000 320.292000 428.272000 308.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 428.248000 320.292000 433.564000 308.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 434.752000 320.292000 437.752000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 438.856000 320.292000 442.180000 308.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 442.156000 320.292000 447.472000 308.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 447.460000 320.292000 453.460000 308.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 453.460000 320.292000 459.460000 308.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 459.460000 320.292000 462.784000 308.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 462.760000 320.292000 468.760000 308.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 470.056000 320.292000 473.056000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 474.160000 320.292000 480.160000 308.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 480.160000 320.292000 484.156000 308.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 485.356000 320.292000 488.356000 308.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.460000 320.292000 492.784000 308.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.760000 320.292000 498.760000 308.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.856000 320.292000 504.172000 308.292000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 320.292000 507.100000 308.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 306.792000 191.500000 294.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 191.596000 306.792000 197.596000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 197.500000 306.792000 203.500000 294.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 203.500000 306.792000 208.168000 294.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 208.204000 306.792000 213.520000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 213.904000 306.792000 216.904000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 217.408000 306.792000 222.724000 294.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 222.712000 306.792000 227.380000 294.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 227.908000 306.792000 230.908000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 231.412000 306.792000 234.736000 294.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 234.808000 306.792000 238.132000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 238.504000 306.792000 241.504000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 242.008000 306.792000 248.008000 294.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 247.912000 306.792000 253.912000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 253.912000 306.792000 259.228000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 259.216000 306.792000 263.884000 294.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 264.520000 306.792000 267.520000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 268.024000 306.792000 274.024000 294.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 274.024000 306.792000 279.340000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 279.328000 306.792000 282.652000 294.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 282.628000 306.792000 288.628000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 288.628000 306.792000 297.292000 294.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 297.328000 306.792000 300.328000 294.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 300.724000 306.792000 303.724000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 304.228000 306.792000 310.228000 294.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 310.228000 306.792000 316.228000 294.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 316.228000 306.792000 319.552000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 320.032000 306.792000 323.032000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 323.536000 306.792000 326.860000 294.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 326.932000 306.792000 332.932000 294.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 332.836000 306.792000 337.504000 294.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 337.540000 306.792000 340.864000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 340.840000 306.792000 346.156000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 346.144000 306.792000 351.460000 294.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 351.544000 306.792000 357.544000 294.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 358.048000 306.792000 361.048000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.552000 306.792000 366.868000 294.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 366.856000 306.792000 372.856000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 372.856000 306.792000 378.856000 294.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 378.760000 306.792000 384.076000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 384.064000 306.792000 388.060000 294.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 388.060000 306.792000 392.728000 294.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 393.256000 306.792000 396.256000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 396.760000 306.792000 402.760000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 402.760000 306.792000 408.760000 294.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 408.760000 306.792000 412.084000 294.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 412.060000 306.792000 418.060000 294.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 418.564000 306.792000 421.564000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.068000 306.792000 425.392000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 425.368000 306.792000 431.368000 294.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 431.464000 306.792000 436.780000 294.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 437.164000 306.792000 440.164000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 440.668000 306.792000 446.668000 294.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 446.668000 306.792000 451.984000 294.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 451.972000 306.792000 457.288000 294.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 457.276000 306.792000 463.276000 294.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 463.780000 306.792000 466.780000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.284000 306.792000 470.608000 294.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 470.584000 306.792000 476.584000 294.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 476.584000 306.792000 479.908000 294.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 479.980000 306.792000 483.976000 294.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 483.976000 306.792000 489.976000 294.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 490.480000 306.792000 493.480000 294.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 493.984000 306.792000 499.984000 294.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 499.984000 306.792000 503.980000 294.792000 1.000000 0.000000 0.000000 1.000000 f +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 306.792000 507.200000 294.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 293.392000 188.824000 281.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 293.392000 194.800000 281.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 194.896000 293.392000 200.212000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 201.496000 293.392000 204.496000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 205.792000 293.392000 211.792000 281.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 211.888000 293.392000 217.888000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 217.792000 293.392000 223.792000 281.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 223.792000 293.392000 228.460000 281.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 228.496000 293.392000 233.812000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 233.800000 293.392000 236.800000 281.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 238.096000 293.392000 241.096000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 242.500000 293.392000 249.820000 281.392000 1.000000 0.000000 0.000000 1.000000 T +drawChar 249.700000 293.392000 255.700000 281.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 255.796000 293.392000 259.120000 281.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 259.096000 293.392000 263.764000 281.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 265.096000 293.392000 268.096000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.392000 293.392000 274.708000 281.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 274.696000 293.392000 278.020000 281.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 277.996000 293.392000 281.320000 281.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 281.296000 293.392000 287.296000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 287.296000 293.392000 295.960000 281.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 295.996000 293.392000 300.664000 281.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 302.092000 293.392000 305.092000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 306.388000 293.392000 312.388000 281.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 312.292000 293.392000 318.292000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 318.292000 293.392000 324.292000 281.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 325.696000 293.392000 328.696000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.100000 293.392000 333.424000 281.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 333.400000 293.392000 339.400000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 340.696000 293.392000 343.696000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.100000 293.392000 351.100000 281.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 351.100000 293.392000 356.416000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 357.700000 293.392000 360.700000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.996000 293.392000 367.312000 281.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 367.300000 293.392000 373.300000 281.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 373.300000 293.392000 376.624000 281.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 376.600000 293.392000 381.916000 281.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 383.296000 293.392000 386.296000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.700000 293.392000 391.024000 281.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 391.000000 293.392000 397.000000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 398.296000 293.392000 401.296000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 402.700000 293.392000 406.024000 281.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 406.000000 293.392000 412.000000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 412.000000 293.392000 418.000000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 418.000000 293.392000 424.000000 281.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 425.296000 293.392000 428.296000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 429.700000 293.392000 435.700000 281.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 435.604000 293.392000 441.604000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 441.604000 293.392000 450.268000 281.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 450.304000 293.392000 456.304000 281.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 457.600000 293.392000 460.600000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.004000 293.392000 468.004000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 468.004000 293.392000 474.004000 281.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 474.004000 293.392000 477.328000 281.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 477.304000 293.392000 483.304000 281.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 484.600000 293.392000 487.600000 281.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.004000 293.392000 492.328000 281.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.208000 293.392000 498.208000 281.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.304000 293.392000 503.620000 281.392000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 293.392000 507.100000 281.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 279.892000 191.500000 267.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 191.500000 279.892000 195.496000 267.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 195.496000 279.892000 201.496000 267.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 201.496000 279.892000 207.496000 267.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 207.496000 279.892000 213.496000 267.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 213.496000 279.892000 219.496000 267.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 219.496000 279.892000 222.496000 267.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 222.496000 279.892000 226.492000 267.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 226.492000 279.892000 229.816000 267.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 229.792000 279.892000 235.792000 267.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 235.792000 279.892000 241.792000 267.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 241.792000 279.892000 245.788000 267.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 245.788000 279.892000 248.788000 267.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 260.492000 194.164000 248.492000 1.000000 0.000000 0.000000 1.000000 A +drawChar 194.200000 260.492000 200.200000 248.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 201.004000 260.492000 204.004000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 204.808000 260.492000 210.124000 248.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 210.112000 260.492000 214.108000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 214.108000 260.492000 217.432000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 217.408000 260.492000 220.732000 248.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 220.708000 260.492000 225.376000 248.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 225.412000 260.492000 228.736000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 228.712000 260.492000 232.036000 248.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 232.108000 260.492000 237.424000 248.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 239.008000 260.492000 242.008000 248.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 242.100000 260.492000 246.768000 248.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 246.804000 260.492000 252.804000 248.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 252.708000 260.492000 256.032000 248.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 256.104000 260.492000 260.100000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 260.100000 260.492000 265.416000 248.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 265.404000 260.492000 268.728000 248.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 269.508000 260.492000 272.508000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.312000 260.492000 279.312000 248.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 279.312000 260.492000 284.628000 248.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 284.616000 260.492000 290.616000 248.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 290.616000 260.492000 293.940000 248.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 293.916000 260.492000 298.584000 248.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 298.620000 260.492000 301.944000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 301.920000 260.492000 307.236000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 307.224000 260.492000 311.220000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 312.120000 260.492000 315.120000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.924000 260.492000 319.920000 248.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 319.920000 260.492000 325.920000 248.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 325.920000 260.492000 329.916000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 329.916000 260.492000 339.240000 248.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 339.216000 260.492000 343.884000 248.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 344.712000 260.492000 347.712000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.516000 260.492000 351.840000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 351.816000 260.492000 357.816000 248.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 357.912000 260.492000 363.228000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 364.008000 260.492000 367.008000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.812000 260.492000 373.128000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 373.116000 260.492000 379.116000 248.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 379.020000 260.492000 385.020000 248.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 385.020000 260.492000 390.336000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 391.224000 260.492000 394.224000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 395.028000 260.492000 401.028000 248.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 401.028000 260.492000 405.024000 248.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 405.828000 260.492000 408.828000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 409.632000 260.492000 412.956000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 412.932000 260.492000 418.932000 248.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 419.028000 260.492000 424.344000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 425.124000 260.492000 428.124000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 428.928000 260.492000 432.252000 248.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 432.228000 260.492000 438.228000 248.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 438.228000 260.492000 442.224000 248.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 442.224000 260.492000 445.548000 248.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 445.524000 260.492000 448.524000 248.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.424000 260.492000 452.424000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 453.228000 260.492000 460.548000 248.492000 1.000000 0.000000 0.000000 1.000000 T +drawChar 460.428000 260.492000 466.428000 248.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 466.524000 260.492000 471.840000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 471.828000 260.492000 475.824000 248.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 475.824000 260.492000 481.140000 248.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 481.920000 260.492000 484.920000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 485.724000 260.492000 489.048000 248.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 489.120000 260.492000 493.788000 248.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 494.520000 260.492000 497.520000 248.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 498.324000 260.492000 503.640000 248.492000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 260.492000 507.100000 248.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 246.992000 191.500000 234.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 191.404000 246.992000 197.404000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 197.404000 246.992000 203.404000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 203.404000 246.992000 206.728000 234.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 207.100000 246.992000 210.100000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 210.496000 246.992000 213.820000 234.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 213.796000 246.992000 219.112000 234.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 219.100000 246.992000 225.100000 234.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 225.100000 246.992000 228.424000 234.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 228.400000 246.992000 233.716000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 234.100000 246.992000 237.100000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 237.496000 246.992000 243.496000 234.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 243.496000 246.992000 248.812000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.800000 246.992000 252.796000 234.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 252.796000 246.992000 258.112000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 258.400000 246.992000 261.400000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.796000 246.992000 267.112000 234.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 267.100000 246.992000 273.100000 234.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 273.100000 246.992000 279.100000 234.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 279.400000 246.992000 282.400000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.700000 246.992000 288.016000 234.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 288.400000 246.992000 291.400000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.700000 246.992000 295.696000 234.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 295.696000 246.992000 301.696000 234.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 301.696000 246.992000 305.020000 234.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 304.996000 246.992000 308.320000 234.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 308.296000 246.992000 312.292000 234.992000 1.000000 0.000000 0.000000 1.000000 - +drawChar 312.400000 246.992000 316.396000 234.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 316.396000 246.992000 322.396000 234.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 322.396000 246.992000 328.396000 234.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 328.396000 246.992000 333.712000 234.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 333.700000 246.992000 337.024000 234.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 337.000000 246.992000 340.324000 234.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 340.396000 246.992000 346.396000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 346.396000 246.992000 352.396000 234.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 352.300000 246.992000 355.624000 234.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 355.696000 246.992000 361.696000 234.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 361.696000 246.992000 367.696000 234.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 368.392000 246.992000 371.392000 234.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 371.500000 246.992000 374.824000 234.992000 1.000000 0.000000 0.000000 1.000000 j +drawChar 374.896000 246.992000 380.896000 234.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 380.800000 246.992000 386.800000 234.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 386.800000 246.992000 392.116000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 392.104000 246.992000 398.104000 234.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 398.104000 246.992000 404.104000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 404.104000 246.992000 410.104000 234.992000 1.000000 0.000000 0.000000 1.000000 x +drawChar 410.500000 246.992000 413.500000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.800000 246.992000 422.464000 234.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 422.500000 246.992000 428.500000 234.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 428.500000 246.992000 431.824000 234.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 431.896000 246.992000 437.212000 234.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 437.092000 246.992000 443.092000 234.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 443.392000 246.992000 446.392000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 446.788000 246.992000 456.112000 234.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 456.088000 246.992000 461.404000 234.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 461.392000 246.992000 467.392000 234.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 467.392000 246.992000 472.708000 234.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 472.696000 246.992000 477.364000 234.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 477.796000 246.992000 480.796000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 481.096000 246.992000 485.092000 234.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 485.092000 246.992000 491.092000 234.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 491.092000 246.992000 495.088000 234.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 495.388000 246.992000 498.388000 234.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 498.688000 246.992000 504.004000 234.992000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 246.992000 507.200000 234.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 233.592000 188.824000 221.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 188.800000 233.592000 194.800000 221.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 194.800000 233.592000 198.124000 221.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 198.196000 233.592000 201.196000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 201.196000 233.592000 207.196000 221.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 207.196000 233.592000 211.192000 221.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 211.192000 233.592000 214.192000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 214.192000 233.592000 218.188000 221.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 218.188000 233.592000 224.188000 221.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 224.188000 233.592000 230.188000 221.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 230.188000 233.592000 233.188000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 233.188000 233.592000 241.852000 221.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 241.792000 233.592000 247.792000 221.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 247.888000 233.592000 253.204000 221.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 253.192000 233.592000 259.192000 221.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 259.192000 233.592000 262.192000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.192000 233.592000 266.188000 221.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 266.092000 233.592000 270.088000 221.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 270.088000 233.592000 273.412000 221.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 273.484000 233.592000 278.800000 221.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 278.788000 233.592000 284.788000 221.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 284.788000 233.592000 290.788000 221.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 290.692000 233.592000 295.360000 221.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 295.492000 233.592000 298.492000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 298.492000 233.592000 303.808000 221.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 303.796000 233.592000 309.796000 221.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 309.796000 233.592000 319.120000 221.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 319.096000 233.592000 324.412000 221.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 324.496000 233.592000 327.496000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.496000 233.592000 333.496000 221.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 333.496000 233.592000 339.496000 221.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 339.400000 233.592000 344.716000 221.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.704000 233.592000 348.700000 221.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 348.808000 233.592000 351.808000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.808000 233.592000 355.132000 221.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 355.108000 233.592000 361.108000 221.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 361.108000 233.592000 364.108000 221.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 364.108000 233.592000 370.108000 221.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 370.012000 233.592000 373.336000 221.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 373.408000 233.592000 378.076000 221.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 378.112000 233.592000 381.436000 221.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 381.508000 233.592000 384.832000 221.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 384.808000 233.592000 387.808000 221.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 471.900000 85.992000 478.572000 73.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 478.596000 85.992000 483.912000 73.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 483.900000 85.992000 489.900000 73.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 489.900000 85.992000 495.216000 73.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.204000 85.992000 498.204000 73.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 498.200000 85.992000 504.200000 73.992000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +restoreState +updateFillColor 0.752930 0.752930 0.752930 1.000000 +eoFillPath subpath 1 76.900000 397.600000 0 165.500000 397.600000 0 165.500000 402.600000 0 76.900000 402.600000 0 76.900000 397.600000 0 +eoFillPath subpath 1 160.500000 402.500000 0 165.500000 402.500000 0 165.500000 477.500000 0 160.500000 477.500000 0 160.500000 402.500000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 402.600000 0 116.200000 402.600000 0 116.200000 482.400000 0 72.000000 482.400000 0 72.000000 402.600000 0 +saveState +eoClipPath subpath 1 72.000000 402.600000 0 160.500000 402.600000 0 160.500000 482.400000 0 72.000000 482.400000 0 72.000000 402.600000 0 +updateFillColor 0.752930 0.752930 0.752930 1.000000 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 477.919000 82.898000 468.919000 1.000000 0.000000 0.000000 1.000000 O +drawChar 82.799000 477.919000 87.299000 468.919000 1.000000 0.000000 0.000000 1.000000 n +drawChar 87.299000 477.919000 89.792000 468.919000 1.000000 0.000000 0.000000 1.000000 l +drawChar 89.801000 477.919000 94.301000 468.919000 1.000000 0.000000 0.000000 1.000000 y +drawChar 95.300000 477.919000 97.550000 468.919000 1.000000 0.000000 0.000000 1.000000 +drawChar 98.297000 477.919000 102.284000 468.919000 1.000000 0.000000 0.000000 1.000000 a +drawChar 102.995000 477.919000 105.245000 468.919000 1.000000 0.000000 0.000000 1.000000 +drawChar 105.893000 477.919000 108.890000 468.919000 1.000000 0.000000 0.000000 1.000000 f +drawChar 108.989000 477.919000 112.976000 468.919000 1.000000 0.000000 0.000000 1.000000 e +drawChar 112.886000 477.919000 119.384000 468.919000 1.000000 0.000000 0.000000 1.000000 w +drawChar 120.284000 477.919000 122.534000 468.919000 1.000000 0.000000 0.000000 1.000000 +drawChar 123.281000 477.919000 127.781000 468.919000 1.000000 0.000000 0.000000 1.000000 y +drawChar 127.682000 477.919000 131.669000 468.919000 1.000000 0.000000 0.000000 1.000000 e +drawChar 131.678000 477.919000 135.665000 468.919000 1.000000 0.000000 0.000000 1.000000 a +drawChar 135.674000 477.919000 138.671000 468.919000 1.000000 0.000000 0.000000 1.000000 r +drawChar 138.671000 477.919000 142.172000 468.919000 1.000000 0.000000 0.000000 1.000000 s +drawChar 143.072000 477.919000 145.322000 468.919000 1.000000 0.000000 0.000000 1.000000 +drawChar 146.069000 477.919000 150.056000 468.919000 1.000000 0.000000 0.000000 1.000000 a +drawChar 150.065000 477.919000 153.062000 468.919000 1.000000 0.000000 0.000000 1.000000 f +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 153.400000 477.919000 156.397000 468.919000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 467.819000 78.893000 458.819000 1.000000 0.000000 0.000000 1.000000 t +drawChar 78.902000 467.819000 82.889000 458.819000 1.000000 0.000000 0.000000 1.000000 e +drawChar 82.898000 467.819000 85.895000 458.819000 1.000000 0.000000 0.000000 1.000000 r +drawChar 86.102000 467.819000 88.352000 458.819000 1.000000 0.000000 0.000000 1.000000 +drawChar 88.505000 467.819000 90.998000 458.819000 1.000000 0.000000 0.000000 1.000000 i +drawChar 91.007000 467.819000 93.500000 458.819000 1.000000 0.000000 0.000000 1.000000 t +drawChar 93.509000 467.819000 97.010000 458.819000 1.000000 0.000000 0.000000 1.000000 s +drawChar 97.109000 467.819000 99.359000 458.819000 1.000000 0.000000 0.000000 1.000000 +drawChar 99.512000 467.819000 103.499000 458.819000 1.000000 0.000000 0.000000 1.000000 c +drawChar 103.508000 467.819000 108.008000 458.819000 1.000000 0.000000 0.000000 1.000000 o +drawChar 108.008000 467.819000 115.001000 458.819000 1.000000 0.000000 0.000000 1.000000 m +drawChar 115.010000 467.819000 119.510000 458.819000 1.000000 0.000000 0.000000 1.000000 p +drawChar 119.510000 467.819000 122.003000 458.819000 1.000000 0.000000 0.000000 1.000000 l +drawChar 122.012000 467.819000 125.999000 458.819000 1.000000 0.000000 0.000000 1.000000 e +drawChar 126.008000 467.819000 128.501000 458.819000 1.000000 0.000000 0.000000 1.000000 t +drawChar 128.609000 467.819000 131.102000 458.819000 1.000000 0.000000 0.000000 1.000000 i +drawChar 131.210000 467.819000 135.710000 458.819000 1.000000 0.000000 0.000000 1.000000 o +drawChar 135.710000 467.819000 140.210000 458.819000 1.000000 0.000000 0.000000 1.000000 n +drawChar 140.210000 467.819000 142.460000 458.819000 1.000000 0.000000 0.000000 1.000000 , +drawChar 142.910000 467.819000 145.160000 458.819000 1.000000 0.000000 0.000000 1.000000 +drawChar 145.313000 467.819000 147.806000 458.819000 1.000000 0.000000 0.000000 1.000000 t +drawChar 147.815000 467.819000 152.315000 458.819000 1.000000 0.000000 0.000000 1.000000 h +drawChar 152.216000 467.819000 156.203000 458.819000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.400000 467.819000 158.650000 458.819000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 457.719000 78.893000 448.719000 1.000000 0.000000 0.000000 1.000000 t +drawChar 78.902000 457.719000 81.395000 448.719000 1.000000 0.000000 0.000000 1.000000 i +drawChar 81.404000 457.719000 83.897000 448.719000 1.000000 0.000000 0.000000 1.000000 t +drawChar 84.005000 457.719000 86.498000 448.719000 1.000000 0.000000 0.000000 1.000000 l +drawChar 86.408000 457.719000 90.395000 448.719000 1.000000 0.000000 0.000000 1.000000 e +drawChar 91.511000 457.719000 93.761000 448.719000 1.000000 0.000000 0.000000 1.000000 +drawChar 94.814000 457.719000 98.801000 448.719000 1.000000 0.000000 0.000000 1.000000 “ +drawChar 98.810000 457.719000 107.297000 448.719000 1.000000 0.000000 0.000000 1.000000 W +drawChar 107.207000 457.719000 111.707000 448.719000 1.000000 0.000000 0.000000 1.000000 o +drawChar 111.707000 457.719000 114.704000 448.719000 1.000000 0.000000 0.000000 1.000000 r +drawChar 114.704000 457.719000 117.197000 448.719000 1.000000 0.000000 0.000000 1.000000 l +drawChar 117.305000 457.719000 121.805000 448.719000 1.000000 0.000000 0.000000 1.000000 d +drawChar 121.805000 457.719000 123.425000 448.719000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 123.506000 457.719000 127.007000 448.719000 1.000000 0.000000 0.000000 1.000000 s +drawChar 128.303000 457.719000 130.553000 448.719000 1.000000 0.000000 0.000000 1.000000 +drawChar 131.507000 457.719000 136.997000 448.719000 1.000000 0.000000 0.000000 1.000000 T +drawChar 136.907000 457.719000 140.894000 448.719000 1.000000 0.000000 0.000000 1.000000 a +drawChar 140.903000 457.719000 143.396000 448.719000 1.000000 0.000000 0.000000 1.000000 l +drawChar 143.405000 457.719000 145.898000 448.719000 1.000000 0.000000 0.000000 1.000000 l +drawChar 145.907000 457.719000 149.894000 448.719000 1.000000 0.000000 0.000000 1.000000 e +drawChar 149.903000 457.719000 153.404000 448.719000 1.000000 0.000000 0.000000 1.000000 s +drawChar 153.503000 457.719000 155.996000 448.719000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.400000 457.719000 158.650000 448.719000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 447.619000 82.394000 438.619000 1.000000 0.000000 0.000000 1.000000 B +drawChar 82.403000 447.619000 86.903000 438.619000 1.000000 0.000000 0.000000 1.000000 u +drawChar 86.804000 447.619000 89.297000 438.619000 1.000000 0.000000 0.000000 1.000000 i +drawChar 89.405000 447.619000 91.898000 438.619000 1.000000 0.000000 0.000000 1.000000 l +drawChar 91.907000 447.619000 96.407000 438.619000 1.000000 0.000000 0.000000 1.000000 d +drawChar 96.407000 447.619000 98.900000 438.619000 1.000000 0.000000 0.000000 1.000000 i +drawChar 99.008000 447.619000 103.508000 438.619000 1.000000 0.000000 0.000000 1.000000 n +drawChar 103.508000 447.619000 108.008000 438.619000 1.000000 0.000000 0.000000 1.000000 g +drawChar 108.008000 447.619000 111.995000 438.619000 1.000000 0.000000 0.000000 1.000000 ” +drawChar 113.408000 447.619000 115.658000 438.619000 1.000000 0.000000 0.000000 1.000000 +drawChar 116.711000 447.619000 123.209000 438.619000 1.000000 0.000000 0.000000 1.000000 w +drawChar 123.110000 447.619000 127.097000 438.619000 1.000000 0.000000 0.000000 1.000000 e +drawChar 127.106000 447.619000 131.606000 438.619000 1.000000 0.000000 0.000000 1.000000 n +drawChar 131.606000 447.619000 134.099000 438.619000 1.000000 0.000000 0.000000 1.000000 t +drawChar 135.404000 447.619000 137.654000 438.619000 1.000000 0.000000 0.000000 1.000000 +drawChar 138.707000 447.619000 141.704000 438.619000 1.000000 0.000000 0.000000 1.000000 f +drawChar 141.704000 447.619000 144.701000 438.619000 1.000000 0.000000 0.000000 1.000000 r +drawChar 144.602000 447.619000 149.102000 438.619000 1.000000 0.000000 0.000000 1.000000 o +drawChar 149.102000 447.619000 156.095000 438.619000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.400000 447.619000 158.650000 438.619000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 437.519000 78.893000 428.519000 1.000000 0.000000 0.000000 1.000000 t +drawChar 78.902000 437.519000 83.402000 428.519000 1.000000 0.000000 0.000000 1.000000 h +drawChar 83.402000 437.519000 87.389000 428.519000 1.000000 0.000000 0.000000 1.000000 e +drawChar 87.704000 437.519000 89.954000 428.519000 1.000000 0.000000 0.000000 1.000000 +drawChar 90.305000 437.519000 96.299000 428.519000 1.000000 0.000000 0.000000 1.000000 C +drawChar 96.209000 437.519000 100.709000 428.519000 1.000000 0.000000 0.000000 1.000000 h +drawChar 100.709000 437.519000 103.706000 428.519000 1.000000 0.000000 0.000000 1.000000 r +drawChar 103.706000 437.519000 108.206000 428.519000 1.000000 0.000000 0.000000 1.000000 y +drawChar 108.206000 437.519000 111.707000 428.519000 1.000000 0.000000 0.000000 1.000000 s +drawChar 111.806000 437.519000 114.299000 428.519000 1.000000 0.000000 0.000000 1.000000 l +drawChar 114.308000 437.519000 118.295000 428.519000 1.000000 0.000000 0.000000 1.000000 e +drawChar 118.304000 437.519000 121.301000 428.519000 1.000000 0.000000 0.000000 1.000000 r +drawChar 121.904000 437.519000 124.154000 428.519000 1.000000 0.000000 0.000000 1.000000 +drawChar 124.406000 437.519000 130.400000 428.519000 1.000000 0.000000 0.000000 1.000000 B +drawChar 130.409000 437.519000 134.909000 428.519000 1.000000 0.000000 0.000000 1.000000 u +drawChar 134.810000 437.519000 137.303000 428.519000 1.000000 0.000000 0.000000 1.000000 i +drawChar 137.411000 437.519000 139.904000 428.519000 1.000000 0.000000 0.000000 1.000000 l +drawChar 139.913000 437.519000 144.413000 428.519000 1.000000 0.000000 0.000000 1.000000 d +drawChar 144.413000 437.519000 146.906000 428.519000 1.000000 0.000000 0.000000 1.000000 i +drawChar 147.014000 437.519000 151.514000 428.519000 1.000000 0.000000 0.000000 1.000000 n +drawChar 151.514000 437.519000 156.014000 428.519000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.400000 437.519000 158.650000 428.519000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 427.419000 78.893000 418.419000 1.000000 0.000000 0.000000 1.000000 t +drawChar 78.902000 427.419000 83.402000 418.419000 1.000000 0.000000 0.000000 1.000000 o +drawChar 85.103000 427.419000 87.353000 418.419000 1.000000 0.000000 0.000000 1.000000 +drawChar 89.000000 427.419000 91.493000 418.419000 1.000000 0.000000 0.000000 1.000000 t +drawChar 91.601000 427.419000 96.101000 418.419000 1.000000 0.000000 0.000000 1.000000 h +drawChar 96.002000 427.419000 99.989000 418.419000 1.000000 0.000000 0.000000 1.000000 e +drawChar 101.798000 427.419000 104.048000 418.419000 1.000000 0.000000 0.000000 1.000000 +drawChar 105.695000 427.419000 111.185000 418.419000 1.000000 0.000000 0.000000 1.000000 E +drawChar 111.194000 427.419000 118.187000 418.419000 1.000000 0.000000 0.000000 1.000000 m +drawChar 118.196000 427.419000 122.696000 418.419000 1.000000 0.000000 0.000000 1.000000 p +drawChar 122.696000 427.419000 125.189000 418.419000 1.000000 0.000000 0.000000 1.000000 i +drawChar 125.297000 427.419000 128.294000 418.419000 1.000000 0.000000 0.000000 1.000000 r +drawChar 128.294000 427.419000 132.281000 418.419000 1.000000 0.000000 0.000000 1.000000 e +drawChar 134.090000 427.419000 136.340000 418.419000 1.000000 0.000000 0.000000 1.000000 +drawChar 138.086000 427.419000 143.090000 418.419000 1.000000 0.000000 0.000000 1.000000 S +drawChar 142.982000 427.419000 145.475000 418.419000 1.000000 0.000000 0.000000 1.000000 t +drawChar 145.583000 427.419000 149.570000 418.419000 1.000000 0.000000 0.000000 1.000000 a +drawChar 149.480000 427.419000 151.973000 418.419000 1.000000 0.000000 0.000000 1.000000 t +drawChar 152.081000 427.419000 156.068000 418.419000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 156.300000 427.419000 158.550000 418.419000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 900.000000 0 FAAAAA+Thorndale +drawChar 76.400000 417.319000 82.394000 408.319000 1.000000 0.000000 0.000000 1.000000 B +drawChar 82.403000 417.319000 86.903000 408.319000 1.000000 0.000000 0.000000 1.000000 u +drawChar 86.804000 417.319000 89.297000 408.319000 1.000000 0.000000 0.000000 1.000000 i +drawChar 89.405000 417.319000 91.898000 408.319000 1.000000 0.000000 0.000000 1.000000 l +drawChar 91.907000 417.319000 96.407000 408.319000 1.000000 0.000000 0.000000 1.000000 d +drawChar 96.407000 417.319000 98.900000 408.319000 1.000000 0.000000 0.000000 1.000000 i +drawChar 99.008000 417.319000 103.508000 408.319000 1.000000 0.000000 0.000000 1.000000 n +drawChar 103.508000 417.319000 108.008000 408.319000 1.000000 0.000000 0.000000 1.000000 g +drawChar 108.008000 417.319000 110.258000 408.319000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 72.000000 402.500000 0 72.100000 402.500000 0 72.100000 482.400000 0 72.000000 482.400000 0 72.000000 402.500000 0 +eoFillPath subpath 1 160.500000 402.500000 0 160.600000 402.500000 0 160.600000 482.400000 0 160.500000 482.400000 0 160.500000 402.500000 0 +eoFillPath subpath 1 72.000000 482.300000 0 160.600000 482.300000 0 160.600000 482.400000 0 72.000000 482.400000 0 72.000000 482.300000 0 +eoFillPath subpath 1 72.000000 402.500000 0 160.600000 402.500000 0 160.600000 402.600000 0 72.000000 402.600000 0 72.000000 402.500000 0 +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 108.000000 550.900000 0 540.000000 550.900000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 550.900000 0 +eoFillPath subpath 1 108.000000 72.000000 0 540.000000 72.000000 0 540.000000 241.100000 0 108.000000 241.100000 0 108.000000 72.000000 0 +eoFillPath subpath 1 108.000000 241.100000 0 152.200000 241.100000 0 152.200000 550.900000 0 108.000000 550.900000 0 108.000000 241.100000 0 +eoFillPath subpath 1 495.700000 241.100000 0 540.000000 241.100000 0 540.000000 550.900000 0 495.700000 550.900000 0 495.700000 241.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 15220.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 108.000000 701.500000 0 540.000000 701.500000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 701.500000 0 +eoFillPath subpath 1 108.000000 76.700000 0 540.000000 76.700000 0 540.000000 90.100000 0 108.000000 90.100000 0 108.000000 76.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 108.100000 716.588000 121.428000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 121.396000 716.588000 129.396000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 129.492000 716.588000 133.940000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 133.988000 716.588000 145.540000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 145.588000 716.588000 154.484000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 154.484000 716.588000 163.380000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 163.380000 716.588000 171.380000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 171.380000 716.588000 180.276000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 180.484000 716.588000 184.932000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 184.884000 716.588000 190.212000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 190.292000 716.588000 194.740000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 194.800000 716.588000 205.472000 700.588000 1.000000 0.000000 0.000000 1.000000 A +drawChar 205.408000 716.588000 209.856000 700.588000 1.000000 0.000000 0.000000 1.000000 t +drawChar 209.904000 716.588000 214.352000 700.588000 1.000000 0.000000 0.000000 1.000000 t +drawChar 214.304000 716.588000 217.856000 700.588000 1.000000 0.000000 0.000000 1.000000 i +drawChar 217.904000 716.588000 225.904000 700.588000 1.000000 0.000000 0.000000 1.000000 c +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 108.100000 669.288000 119.652000 653.288000 1.000000 0.000000 0.000000 1.000000 A +drawChar 119.700000 669.288000 125.028000 653.288000 1.000000 0.000000 0.000000 1.000000 t +drawChar 124.996000 669.288000 130.324000 653.288000 1.000000 0.000000 0.000000 1.000000 t +drawChar 130.292000 669.288000 134.740000 653.288000 1.000000 0.000000 0.000000 1.000000 i +drawChar 134.788000 669.288000 143.684000 653.288000 1.000000 0.000000 0.000000 1.000000 c +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 648.092000 228.820000 636.092000 1.000000 0.000000 0.000000 1.000000 T +drawChar 228.796000 648.092000 234.796000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 234.892000 648.092000 240.208000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.388000 648.092000 243.388000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.592000 648.092000 248.908000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 248.896000 648.092000 252.220000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 252.196000 648.092000 255.520000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 255.496000 648.092000 258.820000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 258.892000 648.092000 264.208000 636.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 264.496000 648.092000 267.496000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 267.700000 648.092000 273.700000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 273.796000 648.092000 279.112000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 278.992000 648.092000 283.660000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 283.888000 648.092000 286.888000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.188000 648.092000 293.188000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 293.188000 648.092000 299.188000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 299.188000 648.092000 302.512000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 302.692000 648.092000 305.692000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.992000 648.092000 311.992000 636.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 311.896000 648.092000 317.212000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 317.200000 648.092000 320.524000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 320.800000 648.092000 323.800000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 324.100000 648.092000 330.100000 636.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 330.100000 648.092000 335.416000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.404000 648.092000 340.720000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 340.708000 648.092000 346.708000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 346.912000 648.092000 349.912000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.212000 648.092000 354.208000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 354.208000 648.092000 359.524000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 359.512000 648.092000 365.512000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 365.512000 648.092000 371.512000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 371.512000 648.092000 377.512000 636.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 377.416000 648.092000 382.732000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 382.720000 648.092000 386.044000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 386.020000 648.092000 391.336000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 391.420000 648.092000 397.420000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 397.324000 648.092000 400.324000 636.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 400.720000 648.092000 403.720000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.924000 648.092000 409.240000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 409.228000 648.092000 412.552000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 412.528000 648.092000 415.852000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 415.828000 648.092000 421.828000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 421.924000 648.092000 427.924000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 427.924000 648.092000 433.924000 636.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 433.924000 648.092000 439.924000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 439.924000 648.092000 445.924000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 446.128000 648.092000 449.128000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.428000 648.092000 453.424000 636.092000 1.000000 0.000000 0.000000 1.000000 I +drawChar 453.628000 648.092000 456.628000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 456.832000 648.092000 465.496000 636.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 465.532000 648.092000 471.532000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 471.532000 648.092000 477.532000 636.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 477.532000 648.092000 480.856000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 480.832000 648.092000 486.832000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 487.036000 648.092000 490.036000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 490.336000 648.092000 493.660000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 493.636000 648.092000 496.960000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 497.032000 648.092000 503.032000 636.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 503.032000 648.092000 508.348000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 508.528000 648.092000 511.528000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 511.732000 648.092000 515.056000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 515.032000 648.092000 521.032000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 521.332000 648.092000 524.332000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 524.536000 648.092000 529.852000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 529.840000 648.092000 535.840000 636.092000 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 648.092000 540.196000 636.092000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 634.692000 227.500000 622.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 227.404000 634.692000 232.720000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 232.708000 634.692000 238.708000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 238.804000 634.692000 244.804000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 245.008000 634.692000 248.008000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 248.308000 634.692000 251.632000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 251.704000 634.692000 255.028000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 255.208000 634.692000 258.208000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.412000 634.692000 263.080000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 263.116000 634.692000 269.116000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 269.116000 634.692000 278.440000 622.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 278.416000 634.692000 283.732000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 283.720000 634.692000 289.720000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 289.624000 634.692000 294.940000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 295.024000 634.692000 301.024000 622.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 301.324000 634.692000 304.324000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 304.528000 634.692000 307.852000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 307.828000 634.692000 313.828000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 314.032000 634.692000 317.032000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 317.332000 634.692000 320.656000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 320.632000 634.692000 326.632000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 326.632000 634.692000 331.948000 622.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 331.936000 634.692000 335.260000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 335.236000 634.692000 341.236000 622.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 341.236000 634.692000 347.236000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 347.236000 634.692000 352.552000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 352.840000 634.692000 355.840000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 356.140000 634.692000 361.456000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 361.936000 634.692000 364.936000 622.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 364.900000 634.692000 370.900000 622.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 370.900000 634.692000 376.900000 622.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 376.900000 634.692000 382.216000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 382.204000 634.692000 386.872000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 386.908000 634.692000 390.232000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 390.412000 634.692000 393.412000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.712000 634.692000 397.708000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 397.708000 634.692000 403.708000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 403.708000 634.692000 409.708000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 409.708000 634.692000 419.032000 622.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 419.008000 634.692000 422.008000 622.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.212000 634.692000 425.212000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.512000 634.692000 429.508000 622.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 429.508000 634.692000 432.832000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 433.012000 634.692000 436.012000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 436.216000 634.692000 444.880000 622.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 444.916000 634.692000 450.916000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 450.916000 634.692000 456.916000 622.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 456.916000 634.692000 460.240000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 460.216000 634.692000 466.216000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 466.420000 634.692000 469.420000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 469.720000 634.692000 475.036000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 475.024000 634.692000 478.348000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 478.324000 634.692000 482.992000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 483.028000 634.692000 489.028000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 489.232000 634.692000 492.232000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 492.532000 634.692000 498.532000 622.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 498.532000 634.692000 503.848000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 504.028000 634.692000 507.028000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 507.328000 634.692000 513.328000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 513.232000 634.692000 516.556000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 516.628000 634.692000 521.944000 622.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 521.932000 634.692000 527.248000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 527.428000 634.692000 530.428000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 530.728000 634.692000 534.052000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 534.028000 634.692000 540.028000 622.692000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 634.692000 543.100000 622.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 621.192000 226.816000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 226.804000 621.192000 232.804000 609.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 232.804000 621.192000 238.804000 609.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 239.500000 621.192000 242.500000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.100000 621.192000 249.100000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 249.100000 621.192000 255.100000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 255.796000 621.192000 258.796000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.396000 621.192000 264.712000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 265.396000 621.192000 268.396000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.092000 621.192000 273.088000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 273.088000 621.192000 279.088000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 279.088000 621.192000 285.088000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 284.992000 621.192000 288.988000 609.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 289.696000 621.192000 292.696000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.296000 621.192000 299.296000 609.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 299.200000 621.192000 304.516000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 304.504000 621.192000 308.500000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 308.608000 621.192000 313.924000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 313.912000 621.192000 319.912000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 319.912000 621.192000 325.912000 609.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 325.912000 621.192000 331.228000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 331.216000 621.192000 337.216000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 338.020000 621.192000 341.020000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 341.620000 621.192000 347.620000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 347.620000 621.192000 353.620000 609.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 353.524000 621.192000 358.840000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 358.828000 621.192000 362.824000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 362.824000 621.192000 366.148000 609.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 366.124000 621.192000 372.124000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 372.124000 621.192000 378.124000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 378.124000 621.192000 384.124000 609.192000 1.000000 0.000000 0.000000 1.000000 k +drawChar 384.124000 621.192000 387.448000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 387.520000 621.192000 393.520000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 393.520000 621.192000 399.520000 609.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 400.324000 621.192000 403.324000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.924000 621.192000 407.248000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 407.224000 621.192000 413.224000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 413.320000 621.192000 418.636000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 419.224000 621.192000 422.224000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.920000 621.192000 429.592000 609.192000 1.000000 0.000000 0.000000 1.000000 S +drawChar 429.616000 621.192000 434.932000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 434.920000 621.192000 440.920000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 441.520000 621.192000 444.520000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 445.216000 621.192000 451.888000 609.192000 1.000000 0.000000 0.000000 1.000000 F +drawChar 451.816000 621.192000 455.812000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 455.812000 621.192000 461.128000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 461.116000 621.192000 467.116000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 467.116000 621.192000 472.432000 609.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 472.420000 621.192000 475.744000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 475.816000 621.192000 480.484000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 480.520000 621.192000 485.836000 609.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 485.824000 621.192000 491.824000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 492.520000 621.192000 495.520000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 496.120000 621.192000 504.112000 609.192000 1.000000 0.000000 0.000000 1.000000 B +drawChar 504.124000 621.192000 509.440000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 509.428000 621.192000 515.428000 609.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 515.332000 621.192000 518.332000 609.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 519.136000 621.192000 522.136000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 522.832000 621.192000 530.824000 609.192000 1.000000 0.000000 0.000000 1.000000 B +drawChar 530.836000 621.192000 536.836000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 536.836000 621.192000 540.160000 609.192000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.200000 621.192000 543.200000 609.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 607.792000 225.496000 595.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 225.496000 607.792000 231.496000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.496000 607.792000 235.492000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 235.900000 607.792000 238.900000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.404000 607.792000 242.728000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 242.704000 607.792000 248.704000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 248.800000 607.792000 254.116000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 254.596000 607.792000 257.596000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.100000 607.792000 261.424000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 261.304000 607.792000 264.628000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 264.700000 607.792000 274.024000 595.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 274.000000 607.792000 279.316000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 279.796000 607.792000 282.796000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 283.300000 607.792000 289.300000 595.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 289.300000 607.792000 294.616000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 294.604000 607.792000 297.928000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 298.000000 607.792000 304.000000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 304.000000 607.792000 310.000000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 310.000000 607.792000 313.000000 595.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 313.504000 607.792000 316.504000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 317.008000 607.792000 320.332000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 320.308000 607.792000 323.632000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 324.112000 607.792000 327.112000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.616000 607.792000 330.940000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 330.916000 607.792000 335.584000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 336.016000 607.792000 339.016000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 339.520000 607.792000 348.844000 595.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 348.820000 607.792000 354.136000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 354.124000 607.792000 357.448000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 357.520000 607.792000 363.520000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 363.520000 607.792000 366.844000 595.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 366.820000 607.792000 372.820000 595.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 373.324000 607.792000 376.324000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 376.828000 607.792000 382.828000 595.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 382.828000 607.792000 387.496000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 387.532000 607.792000 392.848000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 392.836000 607.792000 398.836000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 399.340000 607.792000 402.340000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 402.844000 607.792000 406.168000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 406.144000 607.792000 412.144000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 412.648000 607.792000 415.648000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 416.152000 607.792000 420.820000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 420.856000 607.792000 424.180000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 424.156000 607.792000 430.156000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 430.156000 607.792000 434.152000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 434.152000 607.792000 439.468000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 440.356000 607.792000 443.356000 595.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 443.600000 607.792000 446.924000 595.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 446.900000 607.792000 452.900000 595.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 452.900000 607.792000 458.900000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 458.900000 607.792000 464.900000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 464.900000 607.792000 470.216000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 470.204000 607.792000 476.204000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 476.204000 607.792000 481.520000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 482.000000 607.792000 485.000000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 485.504000 607.792000 490.820000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 490.808000 607.792000 496.808000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 496.808000 607.792000 502.808000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 503.804000 607.792000 506.804000 595.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 506.900000 607.792000 514.892000 595.792000 1.000000 0.000000 0.000000 1.000000 C +drawChar 514.796000 607.792000 520.796000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 520.892000 607.792000 524.888000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 524.792000 607.792000 528.116000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 528.188000 607.792000 532.856000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 532.892000 607.792000 536.216000 595.792000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 607.792000 540.196000 595.792000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 594.292000 230.824000 582.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 230.800000 594.292000 236.116000 582.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 236.104000 594.292000 240.772000 582.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 240.808000 594.292000 243.808000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.808000 594.292000 249.808000 582.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 249.712000 594.292000 255.028000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.016000 594.292000 260.332000 582.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 260.320000 594.292000 266.320000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 266.320000 594.292000 270.316000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 270.424000 594.292000 275.740000 582.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 275.728000 594.292000 279.052000 582.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 279.028000 594.292000 282.352000 582.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 282.424000 594.292000 288.424000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 288.424000 594.292000 294.424000 582.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 294.424000 594.292000 299.092000 582.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 299.200000 594.292000 302.200000 582.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 108.100000 89.992000 114.772000 77.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 114.796000 89.992000 120.112000 77.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 120.100000 89.992000 126.100000 77.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 126.100000 89.992000 131.416000 77.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 131.404000 89.992000 134.404000 77.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 134.400000 89.992000 140.400000 77.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 140.496000 89.992000 146.496000 77.992000 1.000000 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 550.900000 0 504.000000 550.900000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 550.900000 0 +eoFillPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 241.100000 0 72.000000 241.100000 0 72.000000 72.000000 0 +eoFillPath subpath 1 72.000000 241.100000 0 116.200000 241.100000 0 116.200000 550.900000 0 72.000000 550.900000 0 72.000000 241.100000 0 +eoFillPath subpath 1 459.700000 241.100000 0 504.000000 241.100000 0 504.000000 550.900000 0 459.700000 550.900000 0 459.700000 241.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 701.500000 0 504.000000 701.500000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 701.500000 0 +updateFillColor 0.933319 0.933319 0.933319 1.000000 +eoFillPath subpath 1 72.000000 654.200000 0 291.400000 654.200000 0 291.400000 673.100000 0 72.000000 673.100000 0 72.000000 654.200000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 72.700000 0 504.000000 72.700000 0 504.000000 86.100000 0 72.000000 86.100000 0 72.000000 72.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 338.000000 716.588000 351.328000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 351.296000 716.588000 359.296000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 359.392000 716.588000 363.840000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.888000 716.588000 375.440000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 375.488000 716.588000 384.384000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 384.384000 716.588000 393.280000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 393.280000 716.588000 401.280000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 401.280000 716.588000 410.176000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 410.384000 716.588000 414.832000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.784000 716.588000 420.112000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 420.192000 716.588000 424.640000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 424.700000 716.588000 438.028000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 437.996000 716.588000 445.996000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 446.092000 716.588000 450.540000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 450.588000 716.588000 463.036000 700.588000 1.000000 0.000000 0.000000 1.000000 G +drawChar 462.988000 716.588000 471.884000 700.588000 1.000000 0.000000 0.000000 1.000000 a +drawChar 471.884000 716.588000 477.212000 700.588000 1.000000 0.000000 0.000000 1.000000 r +drawChar 477.292000 716.588000 486.188000 700.588000 1.000000 0.000000 0.000000 1.000000 d +drawChar 486.188000 716.588000 495.084000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.084000 716.588000 503.980000 700.588000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 669.288000 85.428000 653.288000 1.000000 0.000000 0.000000 1.000000 M +drawChar 85.396000 669.288000 94.292000 653.288000 1.000000 0.000000 0.000000 1.000000 y +drawChar 94.404000 669.288000 98.852000 653.288000 1.000000 0.000000 0.000000 1.000000 +drawChar 98.900000 669.288000 111.348000 653.288000 1.000000 0.000000 0.000000 1.000000 G +drawChar 111.396000 669.288000 120.292000 653.288000 1.000000 0.000000 0.000000 1.000000 a +drawChar 120.292000 669.288000 126.516000 653.288000 1.000000 0.000000 0.000000 1.000000 r +drawChar 126.500000 669.288000 136.276000 653.288000 1.000000 0.000000 0.000000 1.000000 d +drawChar 136.308000 669.288000 145.204000 653.288000 1.000000 0.000000 0.000000 1.000000 e +drawChar 145.316000 669.288000 155.092000 653.288000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 648.092000 192.820000 636.092000 1.000000 0.000000 0.000000 1.000000 T +drawChar 192.796000 648.092000 198.796000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 198.892000 648.092000 204.208000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 204.796000 648.092000 207.796000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 208.492000 648.092000 214.492000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 214.492000 648.092000 219.808000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 219.796000 648.092000 223.792000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 223.792000 648.092000 229.792000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 229.696000 648.092000 235.012000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 235.000000 648.092000 241.000000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 241.804000 648.092000 244.804000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.404000 648.092000 251.404000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 251.308000 648.092000 257.308000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 257.308000 648.092000 262.624000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 262.612000 648.092000 267.280000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 268.108000 648.092000 271.108000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.708000 648.092000 277.708000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 277.708000 648.092000 283.708000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 283.708000 648.092000 287.032000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 287.704000 648.092000 290.704000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.304000 648.092000 296.620000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 296.608000 648.092000 302.608000 636.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 302.608000 648.092000 308.608000 636.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 308.512000 648.092000 313.828000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 313.912000 648.092000 319.228000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 319.216000 648.092000 323.212000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 324.016000 648.092000 327.016000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.616000 648.092000 332.932000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 332.920000 648.092000 336.244000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 336.916000 648.092000 339.916000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.612000 648.092000 344.608000 636.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 344.512000 648.092000 347.836000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 347.908000 648.092000 351.904000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 351.904000 648.092000 356.572000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 356.608000 648.092000 359.932000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 360.604000 648.092000 363.604000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 364.204000 648.092000 368.872000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 368.908000 648.092000 372.232000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 372.208000 648.092000 378.208000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 378.208000 648.092000 384.208000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 384.304000 648.092000 387.628000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 388.204000 648.092000 391.204000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.900000 648.092000 395.224000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 395.200000 648.092000 401.200000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 401.800000 648.092000 404.800000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 405.496000 648.092000 411.496000 636.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 411.496000 648.092000 416.812000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 417.496000 648.092000 420.496000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 421.096000 648.092000 427.096000 636.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 427.000000 648.092000 432.316000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 432.304000 648.092000 436.300000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 436.408000 648.092000 442.408000 636.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 443.104000 648.092000 446.104000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 446.704000 648.092000 452.704000 636.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 452.704000 648.092000 456.028000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 456.100000 648.092000 462.100000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 462.100000 648.092000 465.100000 636.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.700000 648.092000 468.700000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 469.396000 648.092000 477.388000 636.092000 1.000000 0.000000 0.000000 1.000000 B +drawChar 477.400000 648.092000 483.400000 636.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 483.400000 648.092000 486.724000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 487.396000 648.092000 490.396000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 490.996000 648.092000 496.312000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 496.300000 648.092000 499.624000 636.092000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 648.092000 504.196000 636.092000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 634.692000 188.824000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 634.692000 194.800000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 194.800000 634.692000 200.800000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 200.800000 634.692000 206.800000 622.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 206.800000 634.692000 212.800000 622.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 212.800000 634.692000 218.800000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 220.000000 634.692000 223.000000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.200000 634.692000 227.524000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 227.404000 634.692000 233.404000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 233.500000 634.692000 238.816000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.004000 634.692000 243.004000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 244.204000 634.692000 249.520000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 249.508000 634.692000 254.824000 622.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 254.812000 634.692000 258.136000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 258.112000 634.692000 264.112000 622.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 264.112000 634.692000 269.428000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 269.416000 634.692000 272.740000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 274.012000 634.692000 277.012000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 278.212000 634.692000 284.212000 622.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 284.116000 634.692000 289.432000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 289.420000 634.692000 295.420000 622.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 295.420000 634.692000 300.736000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 300.724000 634.692000 304.048000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 304.120000 634.692000 309.436000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 309.424000 634.692000 315.424000 622.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 315.424000 634.692000 318.748000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 318.724000 634.692000 324.040000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 325.324000 634.692000 328.324000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.524000 634.692000 335.524000 622.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 335.524000 634.692000 340.840000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 340.828000 634.692000 344.824000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 344.824000 634.692000 350.824000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 350.728000 634.692000 356.044000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 356.032000 634.692000 362.032000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 363.328000 634.692000 366.328000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.528000 634.692000 370.852000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 370.924000 634.692000 375.592000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 376.720000 634.692000 379.720000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.920000 634.692000 386.920000 622.692000 1.000000 0.000000 0.000000 1.000000 q +drawChar 386.920000 634.692000 392.920000 622.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 392.824000 634.692000 396.148000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 396.220000 634.692000 399.544000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 399.520000 634.692000 404.836000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 406.024000 634.692000 409.024000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 410.224000 634.692000 414.892000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 414.928000 634.692000 424.252000 622.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 424.228000 634.692000 429.544000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 429.532000 634.692000 432.856000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 432.832000 634.692000 436.156000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 436.132000 634.692000 439.132000 622.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 440.428000 634.692000 443.428000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 444.628000 634.692000 447.952000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 448.024000 634.692000 451.348000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 451.228000 634.692000 453.388000 622.692000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 453.424000 634.692000 458.092000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 459.328000 634.692000 462.328000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 463.528000 634.692000 468.844000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 468.832000 634.692000 478.156000 622.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 478.132000 634.692000 483.448000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 483.436000 634.692000 488.752000 622.692000 1.000000 0.000000 0.000000 1.000000 z +drawChar 488.740000 634.692000 492.064000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 492.136000 634.692000 498.136000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.136000 634.692000 504.136000 622.692000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 634.692000 507.100000 622.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 621.192000 191.500000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 191.596000 621.192000 197.596000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 197.500000 621.192000 206.164000 609.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 207.304000 621.192000 210.304000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 211.504000 621.192000 220.828000 609.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 220.804000 621.192000 226.804000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 226.804000 621.192000 232.120000 609.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 232.000000 621.192000 238.000000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 239.296000 621.192000 242.296000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.400000 621.192000 247.396000 609.192000 1.000000 0.000000 0.000000 1.000000 I +drawChar 247.396000 621.192000 249.556000 609.192000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 249.592000 621.192000 258.916000 609.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 260.092000 621.192000 263.092000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.196000 621.192000 269.512000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 269.500000 621.192000 275.500000 609.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 275.500000 621.192000 278.824000 609.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 278.800000 621.192000 284.116000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 285.400000 621.192000 288.400000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.504000 621.192000 292.828000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 292.804000 621.192000 298.804000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 300.004000 621.192000 303.004000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 304.108000 621.192000 310.108000 609.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 310.012000 621.192000 314.008000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 314.008000 621.192000 320.008000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 320.104000 621.192000 326.104000 609.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 326.008000 621.192000 332.008000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 332.008000 621.192000 337.324000 609.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 337.408000 621.192000 342.724000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.008000 621.192000 347.008000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.112000 621.192000 352.108000 609.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 352.108000 621.192000 356.104000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 356.104000 621.192000 362.104000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 362.104000 621.192000 371.428000 609.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 372.604000 621.192000 375.604000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 376.708000 621.192000 380.032000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 380.104000 621.192000 383.428000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 383.404000 621.192000 386.404000 609.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.604000 621.192000 390.604000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.708000 621.192000 398.380000 609.192000 1.000000 0.000000 0.000000 1.000000 F +drawChar 398.308000 621.192000 404.308000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 404.308000 621.192000 408.304000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 408.304000 621.192000 411.628000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 411.604000 621.192000 417.604000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 417.700000 621.192000 423.016000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 423.004000 621.192000 427.000000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 427.000000 621.192000 436.324000 609.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 436.300000 621.192000 442.300000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 442.300000 621.192000 446.296000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 446.296000 621.192000 451.612000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 451.600000 621.192000 454.600000 609.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 455.800000 621.192000 458.800000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 460.000000 621.192000 463.324000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 463.204000 621.192000 469.204000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 469.300000 621.192000 474.616000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 474.604000 621.192000 478.600000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 478.600000 621.192000 483.916000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 485.104000 621.192000 488.104000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.304000 621.192000 494.620000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 494.608000 621.192000 498.604000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 498.604000 621.192000 503.920000 609.192000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 621.192000 507.200000 609.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 607.792000 189.496000 595.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 607.792000 193.492000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 193.492000 607.792000 199.492000 595.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 199.396000 607.792000 202.720000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 202.792000 607.792000 206.116000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 206.392000 607.792000 209.392000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 209.692000 607.792000 213.016000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 212.992000 607.792000 216.988000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 216.988000 607.792000 222.304000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 222.292000 607.792000 227.608000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 227.596000 607.792000 232.264000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 232.600000 607.792000 235.600000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.900000 607.792000 239.224000 595.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 239.200000 607.792000 242.524000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 242.596000 607.792000 248.596000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 248.500000 607.792000 251.824000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 251.896000 607.792000 257.896000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 257.896000 607.792000 263.896000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 264.196000 607.792000 267.196000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 267.496000 607.792000 270.820000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 270.700000 607.792000 276.700000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 276.796000 607.792000 282.112000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 282.400000 607.792000 285.400000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 285.700000 607.792000 291.016000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 291.004000 607.792000 297.004000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 296.908000 607.792000 302.908000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 302.908000 607.792000 308.224000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 308.608000 607.792000 311.608000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 311.908000 607.792000 317.908000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 317.908000 607.792000 321.904000 595.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 322.108000 607.792000 325.108000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 325.408000 607.792000 328.732000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 328.708000 607.792000 334.708000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 334.804000 607.792000 340.120000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 340.408000 607.792000 343.408000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.708000 607.792000 349.708000 595.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 349.708000 607.792000 355.024000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 355.012000 607.792000 360.328000 595.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 360.316000 607.792000 366.316000 595.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 366.316000 607.792000 372.316000 595.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 372.220000 607.792000 377.536000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 377.524000 607.792000 381.520000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 381.520000 607.792000 387.520000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 387.916000 607.792000 390.916000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.216000 607.792000 399.880000 595.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 399.820000 607.792000 405.820000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 405.916000 607.792000 409.240000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 409.216000 607.792000 414.532000 595.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 414.520000 607.792000 420.520000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 420.820000 607.792000 423.820000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 424.120000 607.792000 430.120000 595.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 430.024000 607.792000 434.020000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 434.020000 607.792000 440.020000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 440.020000 607.792000 446.020000 595.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 445.924000 607.792000 449.248000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 449.320000 607.792000 455.320000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 455.320000 607.792000 460.636000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 461.020000 607.792000 464.020000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.320000 607.792000 473.644000 595.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 473.620000 607.792000 478.936000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 479.224000 607.792000 482.224000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 482.524000 607.792000 491.188000 595.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 491.128000 607.792000 494.452000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 494.524000 607.792000 497.848000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 497.824000 607.792000 503.824000 595.792000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 607.792000 507.100000 595.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 594.292000 189.496000 582.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 594.292000 193.492000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 193.492000 594.292000 198.808000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 198.796000 594.292000 203.464000 582.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 203.392000 594.292000 209.392000 582.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 209.488000 594.292000 212.488000 582.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 212.500000 594.292000 217.816000 582.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 217.804000 594.292000 223.804000 582.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 223.708000 594.292000 229.708000 582.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 229.708000 594.292000 233.032000 582.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 233.008000 594.292000 238.324000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 238.312000 594.292000 242.980000 582.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 243.100000 594.292000 246.100000 582.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 246.100000 594.292000 249.100000 582.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 249.100000 594.292000 255.100000 582.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 255.004000 594.292000 260.320000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 260.308000 594.292000 265.624000 582.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 265.612000 594.292000 269.608000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 269.608000 594.292000 274.276000 582.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 274.400000 594.292000 277.400000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.400000 594.292000 282.716000 582.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 282.704000 594.292000 288.704000 582.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 288.704000 594.292000 294.704000 582.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 294.704000 594.292000 297.704000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 297.704000 594.292000 303.020000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 303.008000 594.292000 309.008000 582.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 308.912000 594.292000 314.228000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 314.216000 594.292000 320.216000 582.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 320.420000 594.292000 323.420000 582.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 323.400000 594.292000 328.716000 582.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 328.596000 594.292000 334.596000 582.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 334.692000 594.292000 340.008000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 339.996000 594.292000 343.992000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 343.992000 594.292000 347.988000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 347.892000 594.292000 351.216000 582.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 351.288000 594.292000 356.604000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 356.592000 594.292000 361.260000 582.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 361.300000 594.292000 364.300000 582.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 553.288000 83.652000 537.288000 1.000000 0.000000 0.000000 1.000000 H +drawChar 83.700000 553.288000 92.596000 537.288000 1.000000 0.000000 0.000000 1.000000 e +drawChar 92.500000 553.288000 98.724000 537.288000 1.000000 0.000000 0.000000 1.000000 r +drawChar 98.804000 553.288000 108.580000 537.288000 1.000000 0.000000 0.000000 1.000000 b +drawChar 108.708000 553.288000 113.156000 537.288000 1.000000 0.000000 0.000000 1.000000 +drawChar 113.204000 553.288000 122.980000 537.288000 1.000000 0.000000 0.000000 1.000000 g +drawChar 123.012000 553.288000 131.908000 537.288000 1.000000 0.000000 0.000000 1.000000 a +drawChar 131.908000 553.288000 138.132000 537.288000 1.000000 0.000000 0.000000 1.000000 r +drawChar 138.116000 553.288000 147.892000 537.288000 1.000000 0.000000 0.000000 1.000000 d +drawChar 147.924000 553.288000 156.820000 537.288000 1.000000 0.000000 0.000000 1.000000 e +drawChar 156.932000 553.288000 166.708000 537.288000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 532.192000 192.820000 520.192000 1.000000 0.000000 0.000000 1.000000 T +drawChar 192.796000 532.192000 198.112000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 198.100000 532.192000 204.100000 520.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 204.100000 532.192000 210.100000 520.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 210.004000 532.192000 213.328000 520.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 213.400000 532.192000 219.400000 520.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 219.400000 532.192000 225.400000 520.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 225.604000 532.192000 228.604000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 228.700000 532.192000 232.024000 520.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 232.000000 532.192000 238.000000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 238.096000 532.192000 241.096000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.192000 532.192000 244.516000 520.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 244.492000 532.192000 250.492000 520.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 250.588000 532.192000 255.904000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.988000 532.192000 258.988000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 259.084000 532.192000 265.084000 520.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 265.084000 532.192000 270.400000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 270.388000 532.192000 274.384000 520.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 274.384000 532.192000 280.384000 520.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 280.480000 532.192000 283.480000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 283.576000 532.192000 289.576000 520.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 289.576000 532.192000 294.892000 520.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 294.880000 532.192000 298.876000 520.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 298.876000 532.192000 304.876000 520.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 304.780000 532.192000 310.096000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 310.084000 532.192000 316.084000 520.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 316.384000 532.192000 319.384000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 319.480000 532.192000 322.804000 520.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 322.780000 532.192000 327.448000 520.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 327.580000 532.192000 330.580000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.676000 532.192000 336.676000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 336.676000 532.192000 342.676000 520.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 342.676000 532.192000 347.992000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 348.076000 532.192000 351.076000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.172000 532.192000 357.172000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.172000 532.192000 361.168000 520.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 361.276000 532.192000 364.276000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 364.372000 532.192000 373.696000 520.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 373.672000 532.192000 379.672000 520.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 379.768000 532.192000 382.768000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 382.864000 532.192000 386.860000 520.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 386.860000 532.192000 392.176000 520.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 392.164000 532.192000 398.164000 520.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 398.068000 532.192000 404.068000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 404.068000 532.192000 408.064000 520.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 408.064000 532.192000 411.388000 520.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 411.460000 532.192000 414.784000 520.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 414.760000 532.192000 420.076000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 420.364000 532.192000 423.364000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 423.460000 532.192000 429.460000 520.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 429.460000 532.192000 435.460000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 435.460000 532.192000 441.460000 520.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 441.460000 532.192000 447.460000 520.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 447.364000 532.192000 450.688000 520.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 450.760000 532.192000 456.076000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 456.064000 532.192000 460.732000 520.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 460.768000 532.192000 463.768000 520.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.864000 532.192000 466.864000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 466.960000 532.192000 470.956000 520.192000 1.000000 0.000000 0.000000 1.000000 I +drawChar 470.956000 532.192000 474.280000 520.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 474.352000 532.192000 477.352000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 477.448000 532.192000 480.772000 520.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 480.844000 532.192000 485.512000 520.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 485.548000 532.192000 488.548000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.644000 532.192000 493.312000 520.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 493.348000 532.192000 496.672000 520.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 496.744000 532.192000 500.068000 520.192000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 532.192000 504.196000 520.192000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 518.692000 191.500000 506.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 191.500000 518.692000 196.816000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 196.804000 518.692000 200.128000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 200.104000 518.692000 205.420000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 205.408000 518.692000 211.408000 506.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 211.612000 518.692000 214.612000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 214.816000 518.692000 220.816000 506.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 220.816000 518.692000 226.132000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 226.120000 518.692000 231.436000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 231.424000 518.692000 235.420000 506.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 235.624000 518.692000 238.624000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 238.828000 518.692000 242.152000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 242.128000 518.692000 248.128000 506.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 248.224000 518.692000 253.540000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 253.720000 518.692000 256.720000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 256.924000 518.692000 260.248000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 260.224000 518.692000 265.540000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 265.528000 518.692000 269.524000 506.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 269.524000 518.692000 273.520000 506.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 273.520000 518.692000 278.836000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 278.824000 518.692000 284.140000 506.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 284.128000 518.692000 289.444000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 289.624000 518.692000 292.624000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.828000 518.692000 296.152000 506.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 296.128000 518.692000 301.444000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 301.432000 518.692000 306.748000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 306.832000 518.692000 312.832000 506.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 312.736000 518.692000 316.060000 506.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 316.132000 518.692000 322.132000 506.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 322.132000 518.692000 328.132000 506.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 328.336000 518.692000 331.336000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 331.540000 518.692000 335.536000 506.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 335.536000 518.692000 339.532000 506.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 339.532000 518.692000 345.532000 506.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 345.532000 518.692000 354.856000 506.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 355.036000 518.692000 358.036000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.240000 518.692000 361.564000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 361.540000 518.692000 367.540000 506.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 367.636000 518.692000 372.952000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 373.036000 518.692000 376.036000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 376.240000 518.692000 382.240000 506.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 382.240000 518.692000 385.564000 506.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 385.636000 518.692000 388.960000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 388.936000 518.692000 394.252000 506.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 394.132000 518.692000 400.132000 506.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 400.228000 518.692000 405.544000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 405.532000 518.692000 411.532000 506.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 411.532000 518.692000 414.532000 506.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.736000 518.692000 417.736000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.940000 518.692000 421.936000 506.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 422.044000 518.692000 425.044000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.248000 518.692000 431.248000 506.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 431.344000 518.692000 436.660000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 436.648000 518.692000 442.648000 506.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 442.552000 518.692000 447.868000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 448.252000 518.692000 451.252000 506.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 451.200000 518.692000 457.200000 506.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 457.200000 518.692000 462.516000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 462.504000 518.692000 467.172000 506.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 467.100000 518.692000 470.424000 506.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 470.496000 518.692000 473.820000 506.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 473.796000 518.692000 476.796000 506.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 477.192000 518.692000 480.192000 506.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 480.200000 518.692000 484.196000 506.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 484.196000 518.692000 490.196000 506.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 490.196000 518.692000 494.864000 506.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 494.900000 518.692000 500.216000 506.692000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 518.692000 504.196000 506.692000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 505.292000 194.824000 493.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 194.800000 505.292000 200.116000 493.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 200.104000 505.292000 204.100000 493.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 204.100000 505.292000 210.100000 493.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 210.004000 505.292000 213.004000 493.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 213.604000 505.292000 216.604000 493.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 216.600000 505.292000 219.924000 493.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 219.900000 505.292000 225.900000 493.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 225.996000 505.292000 231.996000 493.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 231.900000 505.292000 241.224000 493.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 241.200000 505.292000 246.516000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 246.504000 505.292000 249.504000 493.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 250.104000 505.292000 253.104000 493.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 253.100000 505.292000 259.100000 493.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 259.004000 505.292000 262.328000 493.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 262.400000 505.292000 265.724000 493.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 265.700000 505.292000 269.024000 493.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 269.000000 505.292000 272.000000 493.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 272.504000 505.292000 275.504000 493.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 275.500000 505.292000 281.500000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 281.500000 505.292000 285.496000 493.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 285.496000 505.292000 290.812000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 290.800000 505.292000 296.800000 493.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 296.800000 505.292000 302.116000 493.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 302.104000 505.292000 308.104000 493.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 308.104000 505.292000 314.104000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 314.404000 505.292000 317.404000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 317.608000 505.292000 322.924000 493.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 322.912000 505.292000 328.912000 493.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 328.912000 505.292000 334.912000 493.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 335.116000 505.292000 338.116000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.416000 505.292000 347.740000 493.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 347.716000 505.292000 353.032000 493.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 353.020000 505.292000 359.020000 493.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 359.020000 505.292000 365.020000 493.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 365.224000 505.292000 368.224000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.524000 505.292000 377.848000 493.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 377.824000 505.292000 383.824000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 383.824000 505.292000 387.820000 493.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 387.820000 505.292000 393.136000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 393.424000 505.292000 396.424000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 396.628000 505.292000 405.292000 493.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 405.328000 505.292000 411.328000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 411.328000 505.292000 417.328000 493.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 417.328000 505.292000 423.328000 493.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 423.232000 505.292000 428.548000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 428.536000 505.292000 432.532000 493.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 432.532000 505.292000 436.528000 493.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 436.528000 505.292000 442.528000 493.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 442.528000 505.292000 445.852000 493.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 446.428000 505.292000 449.428000 493.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 449.400000 505.292000 454.068000 493.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 454.104000 505.292000 460.104000 493.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 460.008000 505.292000 463.332000 493.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 463.404000 505.292000 468.720000 493.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 468.708000 505.292000 474.024000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 474.012000 505.292000 478.680000 493.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 478.908000 505.292000 481.908000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 482.112000 505.292000 488.112000 493.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 488.112000 505.292000 492.780000 493.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 492.816000 505.292000 498.132000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 498.120000 505.292000 504.120000 493.292000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 505.292000 507.100000 493.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 491.792000 188.824000 479.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 188.896000 491.792000 194.896000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 194.992000 491.792000 197.992000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 198.088000 491.792000 203.404000 479.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 203.392000 491.792000 209.392000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 209.392000 491.792000 215.392000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 215.392000 491.792000 221.392000 479.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 221.392000 491.792000 224.716000 479.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 224.788000 491.792000 230.788000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 230.788000 491.792000 236.788000 479.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 236.992000 491.792000 239.992000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 240.088000 491.792000 245.404000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 245.392000 491.792000 251.392000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 251.392000 491.792000 257.392000 479.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 257.596000 491.792000 260.596000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 260.692000 491.792000 266.692000 479.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 266.692000 491.792000 272.008000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 271.996000 491.792000 277.996000 479.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 277.996000 491.792000 281.320000 479.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 281.392000 491.792000 287.392000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 287.392000 491.792000 293.392000 479.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 293.392000 491.792000 296.392000 479.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 296.488000 491.792000 299.488000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 299.692000 491.792000 303.688000 479.792000 1.000000 0.000000 0.000000 1.000000 I +drawChar 303.796000 491.792000 306.796000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.000000 491.792000 312.316000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 312.304000 491.792000 315.628000 479.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 315.604000 491.792000 318.928000 479.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 318.904000 491.792000 324.904000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 324.904000 491.792000 333.568000 479.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 333.808000 491.792000 336.808000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 337.012000 491.792000 340.336000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 340.216000 491.792000 346.216000 479.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 346.312000 491.792000 351.628000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 351.616000 491.792000 356.284000 479.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 356.320000 491.792000 361.636000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 361.816000 491.792000 364.816000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 364.912000 491.792000 370.912000 479.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 370.816000 491.792000 374.140000 479.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 374.116000 491.792000 379.432000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 379.420000 491.792000 385.420000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 385.516000 491.792000 388.840000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 388.816000 491.792000 393.484000 479.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 393.712000 491.792000 396.712000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 396.916000 491.792000 400.240000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 400.216000 491.792000 406.216000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 406.420000 491.792000 409.420000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 409.516000 491.792000 415.516000 479.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 415.516000 491.792000 419.512000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 419.512000 491.792000 425.512000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 425.512000 491.792000 434.176000 479.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 434.308000 491.792000 437.308000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.512000 491.792000 446.176000 479.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 446.116000 491.792000 449.440000 479.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 449.512000 491.792000 452.836000 479.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 452.812000 491.792000 458.812000 479.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 459.016000 491.792000 462.016000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.112000 491.792000 467.428000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 467.416000 491.792000 473.416000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 473.416000 491.792000 479.416000 479.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 479.620000 491.792000 482.620000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 482.716000 491.792000 486.712000 479.792000 1.000000 0.000000 0.000000 1.000000 I +drawChar 486.916000 491.792000 489.916000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 490.012000 491.792000 495.328000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.316000 491.792000 499.984000 479.792000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 491.792000 504.196000 479.792000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 478.392000 191.500000 466.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 191.404000 478.392000 196.720000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 196.708000 478.392000 202.024000 466.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 202.012000 478.392000 205.336000 466.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 205.408000 478.392000 210.724000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 210.712000 478.392000 214.036000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 214.012000 478.392000 217.336000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 217.408000 478.392000 223.408000 466.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 223.612000 478.392000 226.612000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 226.708000 478.392000 230.032000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 230.008000 478.392000 233.332000 466.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.404000 478.392000 239.404000 466.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 239.404000 478.392000 244.720000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 244.804000 478.392000 247.804000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.900000 478.392000 251.224000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 251.104000 478.392000 257.104000 466.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 257.200000 478.392000 262.516000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 262.696000 478.392000 265.696000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.792000 478.392000 269.116000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 269.092000 478.392000 275.092000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 275.092000 478.392000 281.092000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 281.092000 478.392000 287.092000 466.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 287.188000 478.392000 290.188000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 290.284000 478.392000 296.284000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 296.284000 478.392000 300.280000 466.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 300.388000 478.392000 303.388000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 303.484000 478.392000 306.808000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 306.688000 478.392000 312.688000 466.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 312.784000 478.392000 318.100000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 318.280000 478.392000 321.280000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 321.376000 478.392000 327.376000 466.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 327.376000 478.392000 332.692000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.680000 478.392000 336.676000 466.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 336.676000 478.392000 342.676000 466.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 342.580000 478.392000 347.248000 466.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 347.380000 478.392000 350.380000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.476000 478.392000 355.144000 466.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 355.180000 478.392000 361.180000 466.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 361.084000 478.392000 365.080000 466.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 365.080000 478.392000 371.080000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 371.080000 478.392000 377.080000 466.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 377.080000 478.392000 380.404000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 380.380000 478.392000 383.704000 466.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 383.776000 478.392000 389.776000 466.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 389.776000 478.392000 395.776000 466.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 395.980000 478.392000 398.980000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 399.076000 478.392000 405.076000 466.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 405.076000 478.392000 411.076000 466.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 411.172000 478.392000 414.172000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.268000 478.392000 420.268000 466.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 420.268000 478.392000 425.584000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 425.572000 478.392000 428.896000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 428.872000 478.392000 437.536000 466.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 437.572000 478.392000 442.888000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 442.876000 478.392000 448.192000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 448.180000 478.392000 454.180000 466.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 454.384000 478.392000 457.384000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 457.480000 478.392000 461.476000 466.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 461.476000 478.392000 467.476000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 467.476000 478.392000 472.792000 466.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 472.780000 478.392000 478.780000 466.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 478.780000 478.392000 483.448000 466.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 483.580000 478.392000 486.580000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.676000 478.392000 491.992000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 491.980000 478.392000 497.980000 466.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 497.980000 478.392000 503.980000 466.392000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 478.392000 507.100000 466.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 464.892000 191.500000 452.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 191.500000 464.892000 196.816000 452.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 196.804000 464.892000 202.804000 452.892000 1.000000 0.000000 0.000000 1.000000 x +drawChar 202.804000 464.892000 206.128000 452.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 206.200000 464.892000 209.200000 452.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 209.200000 464.892000 212.524000 452.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 212.500000 464.892000 218.500000 452.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 218.500000 464.892000 221.500000 452.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 464.892000 230.164000 452.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 230.200000 464.892000 233.524000 452.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.500000 464.892000 236.824000 452.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 236.800000 464.892000 242.800000 452.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 242.704000 464.892000 246.700000 452.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 246.700000 464.892000 250.024000 452.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 250.000000 464.892000 256.000000 452.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 256.000000 464.892000 264.664000 452.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 264.700000 464.892000 270.016000 452.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 270.004000 464.892000 274.000000 452.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 274.000000 464.892000 278.668000 452.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 278.704000 464.892000 281.704000 452.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 423.888000 82.772000 407.888000 1.000000 0.000000 0.000000 1.000000 V +drawChar 82.804000 423.888000 91.700000 407.888000 1.000000 0.000000 0.000000 1.000000 e +drawChar 91.700000 423.888000 101.476000 407.888000 1.000000 0.000000 0.000000 1.000000 g +drawChar 101.508000 423.888000 110.404000 407.888000 1.000000 0.000000 0.000000 1.000000 e +drawChar 110.404000 423.888000 115.732000 407.888000 1.000000 0.000000 0.000000 1.000000 t +drawChar 115.812000 423.888000 124.708000 407.888000 1.000000 0.000000 0.000000 1.000000 a +drawChar 124.708000 423.888000 134.484000 407.888000 1.000000 0.000000 0.000000 1.000000 b +drawChar 134.516000 423.888000 138.964000 407.888000 1.000000 0.000000 0.000000 1.000000 l +drawChar 139.012000 423.888000 147.908000 407.888000 1.000000 0.000000 0.000000 1.000000 e +drawChar 148.116000 423.888000 152.564000 407.888000 1.000000 0.000000 0.000000 1.000000 +drawChar 152.516000 423.888000 164.964000 407.888000 1.000000 0.000000 0.000000 1.000000 G +drawChar 165.012000 423.888000 173.908000 407.888000 1.000000 0.000000 0.000000 1.000000 a +drawChar 173.908000 423.888000 180.132000 407.888000 1.000000 0.000000 0.000000 1.000000 r +drawChar 180.212000 423.888000 189.988000 407.888000 1.000000 0.000000 0.000000 1.000000 d +drawChar 190.020000 423.888000 198.916000 407.888000 1.000000 0.000000 0.000000 1.000000 e +drawChar 198.916000 423.888000 208.692000 407.888000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 402.792000 192.820000 390.792000 1.000000 0.000000 0.000000 1.000000 T +drawChar 192.796000 402.792000 198.796000 390.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 198.892000 402.792000 204.208000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 204.496000 402.792000 207.496000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 207.796000 402.792000 213.796000 390.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 213.700000 402.792000 219.016000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 219.004000 402.792000 225.004000 390.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 225.004000 402.792000 230.320000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 230.308000 402.792000 233.632000 390.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 233.608000 402.792000 238.924000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 238.912000 402.792000 244.912000 390.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 245.008000 402.792000 248.332000 390.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 248.308000 402.792000 253.624000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 254.008000 402.792000 257.008000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 257.308000 402.792000 263.308000 390.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 263.308000 402.792000 268.624000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 268.612000 402.792000 272.608000 390.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 272.608000 402.792000 278.608000 390.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 278.512000 402.792000 283.828000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 283.816000 402.792000 289.816000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 290.320000 402.792000 293.320000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 293.620000 402.792000 296.944000 390.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 296.920000 402.792000 301.588000 390.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 301.924000 402.792000 304.924000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.224000 402.792000 311.224000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 311.224000 402.792000 317.224000 390.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 317.224000 402.792000 320.548000 390.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 320.824000 402.792000 323.824000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 324.124000 402.792000 329.440000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 329.428000 402.792000 332.752000 390.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 333.124000 402.792000 336.124000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 336.424000 402.792000 342.424000 390.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 342.424000 402.792000 346.420000 390.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 346.420000 402.792000 352.420000 390.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 352.420000 402.792000 358.420000 390.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 358.420000 402.792000 364.420000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 364.420000 402.792000 370.420000 390.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 370.720000 402.792000 373.720000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 374.020000 402.792000 377.344000 390.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 377.320000 402.792000 382.636000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 382.624000 402.792000 388.624000 390.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 388.528000 402.792000 393.844000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 393.928000 402.792000 397.252000 390.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 397.228000 402.792000 400.228000 390.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 400.624000 402.792000 403.624000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 403.924000 402.792000 407.248000 390.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 407.320000 402.792000 413.320000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 413.224000 402.792000 417.892000 390.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 417.928000 402.792000 421.252000 390.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 421.228000 402.792000 426.544000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 426.532000 402.792000 431.848000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 431.932000 402.792000 437.932000 390.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 438.232000 402.792000 441.232000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.532000 402.792000 445.528000 390.792000 1.000000 0.000000 0.000000 1.000000 I +drawChar 445.828000 402.792000 448.828000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.128000 402.792000 455.128000 390.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 455.224000 402.792000 460.540000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 460.528000 402.792000 466.528000 390.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 466.432000 402.792000 471.748000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 472.132000 402.792000 475.132000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.432000 402.792000 479.428000 390.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 479.428000 402.792000 484.744000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 484.624000 402.792000 487.948000 390.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 488.020000 402.792000 492.688000 390.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 492.724000 402.792000 498.040000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 498.028000 402.792000 504.028000 390.792000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 402.792000 507.100000 390.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 389.292000 188.824000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 389.292000 194.800000 377.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 194.896000 389.292000 200.212000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.200000 389.292000 203.200000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.296000 389.292000 209.296000 377.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 209.296000 389.292000 214.612000 377.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 214.600000 389.292000 218.596000 377.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 218.596000 389.292000 224.596000 377.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 224.500000 389.292000 229.816000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 229.804000 389.292000 235.804000 377.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 236.008000 389.292000 239.008000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.104000 389.292000 245.104000 377.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 245.104000 389.292000 250.420000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 250.408000 389.292000 256.408000 377.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 256.312000 389.292000 260.980000 377.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 261.208000 389.292000 264.208000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.304000 389.292000 267.628000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 267.604000 389.292000 273.604000 377.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 273.604000 389.292000 276.604000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 276.700000 389.292000 286.024000 377.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 286.000000 389.292000 291.316000 377.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 291.304000 389.292000 297.304000 377.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 297.304000 389.292000 302.620000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 302.800000 389.292000 305.800000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.896000 389.292000 309.220000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 309.100000 389.292000 315.100000 377.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 315.196000 389.292000 320.512000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.596000 389.292000 323.596000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 323.692000 389.292000 332.356000 377.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 332.392000 389.292000 337.708000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 337.696000 389.292000 343.012000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.000000 389.292000 349.000000 377.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 348.904000 389.292000 352.228000 377.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 352.300000 389.292000 358.300000 377.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 358.300000 389.292000 364.300000 377.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 364.396000 389.292000 367.396000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.492000 389.292000 372.808000 377.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 372.796000 389.292000 378.796000 377.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 378.796000 389.292000 384.796000 377.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 384.892000 389.292000 387.892000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.988000 389.292000 393.988000 377.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 393.988000 389.292000 399.304000 377.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 399.292000 389.292000 403.288000 377.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 403.288000 389.292000 409.288000 377.292000 1.000000 0.000000 0.000000 1.000000 v +drawChar 409.192000 389.292000 414.508000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 414.496000 389.292000 419.164000 377.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 419.200000 389.292000 422.524000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 422.500000 389.292000 425.824000 377.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 425.896000 389.292000 431.896000 377.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 431.896000 389.292000 437.896000 377.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 437.992000 389.292000 440.992000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.088000 389.292000 446.404000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 446.392000 389.292000 451.708000 377.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 451.696000 389.292000 456.364000 377.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 456.400000 389.292000 459.724000 377.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 459.796000 389.292000 465.112000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 465.100000 389.292000 469.096000 377.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 469.096000 389.292000 472.096000 377.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.192000 389.292000 475.192000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.288000 389.292000 479.284000 377.292000 1.000000 0.000000 0.000000 1.000000 I +drawChar 479.284000 389.292000 485.284000 377.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 485.284000 389.292000 488.284000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.380000 389.292000 497.704000 377.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 497.680000 389.292000 503.680000 377.292000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 389.292000 507.100000 377.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 375.892000 191.500000 363.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 191.500000 375.892000 196.816000 363.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 196.804000 375.892000 200.800000 363.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 200.800000 375.892000 206.800000 363.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 206.704000 375.892000 212.020000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 212.008000 375.892000 218.008000 363.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 218.008000 375.892000 221.008000 363.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 221.212000 375.892000 224.212000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.308000 375.892000 228.304000 363.892000 1.000000 0.000000 0.000000 1.000000 I +drawChar 228.304000 375.892000 231.304000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 231.304000 375.892000 237.304000 363.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 237.400000 375.892000 242.716000 363.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 242.704000 375.892000 248.704000 363.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 248.608000 375.892000 253.924000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 254.104000 375.892000 257.104000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 257.104000 375.892000 263.104000 363.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 263.104000 375.892000 269.104000 363.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 269.104000 375.892000 272.428000 363.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 272.404000 375.892000 278.404000 363.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 278.500000 375.892000 281.500000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.500000 375.892000 287.500000 363.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 287.404000 375.892000 290.728000 363.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 290.800000 375.892000 296.116000 363.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 296.104000 375.892000 302.104000 363.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 302.104000 375.892000 305.428000 363.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 305.404000 375.892000 310.720000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 310.804000 375.892000 316.804000 363.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 316.900000 375.892000 319.900000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 319.996000 375.892000 325.996000 363.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 325.900000 375.892000 331.216000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 331.204000 375.892000 337.204000 363.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 337.204000 375.892000 342.520000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 342.508000 375.892000 345.832000 363.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 345.808000 375.892000 351.124000 363.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 351.112000 375.892000 357.112000 363.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 357.208000 375.892000 360.532000 363.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 360.508000 375.892000 365.824000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 365.812000 375.892000 370.480000 363.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 370.708000 375.892000 373.708000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.708000 375.892000 382.372000 363.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 382.408000 375.892000 388.408000 363.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 388.408000 375.892000 391.732000 363.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 391.804000 375.892000 397.120000 363.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 397.000000 375.892000 403.000000 363.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 403.096000 375.892000 406.096000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 406.096000 375.892000 411.412000 363.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 411.400000 375.892000 415.396000 363.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 415.396000 375.892000 420.712000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 420.892000 375.892000 423.892000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 423.892000 375.892000 429.892000 363.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 429.892000 375.892000 435.892000 363.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 435.892000 375.892000 439.216000 363.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 439.288000 375.892000 442.288000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 442.288000 375.892000 448.288000 363.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 448.288000 375.892000 452.956000 363.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 452.992000 375.892000 458.308000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 458.296000 375.892000 464.296000 363.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 464.392000 375.892000 467.392000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.392000 375.892000 470.716000 363.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 470.788000 375.892000 476.788000 363.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 476.788000 375.892000 479.788000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 479.884000 375.892000 483.208000 363.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 483.184000 375.892000 488.500000 363.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 488.488000 375.892000 492.484000 363.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 492.484000 375.892000 498.484000 363.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 498.484000 375.892000 503.800000 363.892000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 375.892000 507.100000 363.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 362.392000 191.500000 350.392000 1.000000 0.000000 0.000000 1.000000 q +drawChar 191.500000 362.392000 197.500000 350.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 197.500000 362.392000 202.816000 350.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 202.804000 362.392000 208.804000 350.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 208.804000 362.392000 212.128000 350.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 212.104000 362.392000 215.428000 350.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 215.500000 362.392000 218.824000 350.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 218.800000 362.392000 222.124000 350.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 222.196000 362.392000 227.512000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 227.500000 362.392000 232.168000 350.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 232.204000 362.392000 235.204000 350.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 235.600000 362.392000 238.600000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.104000 362.392000 242.428000 350.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 242.404000 362.392000 248.404000 350.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 248.500000 362.392000 253.816000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 253.804000 362.392000 257.800000 350.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 257.800000 362.392000 263.116000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.104000 362.392000 269.104000 350.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 269.104000 362.392000 275.104000 350.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 275.608000 362.392000 278.608000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.112000 362.392000 283.108000 350.392000 1.000000 0.000000 0.000000 1.000000 I +drawChar 283.012000 362.392000 285.172000 350.392000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 285.208000 362.392000 294.532000 350.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 295.012000 362.392000 298.012000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 298.516000 362.392000 303.832000 350.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 303.820000 362.392000 309.820000 350.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 309.820000 362.392000 313.144000 350.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 313.120000 362.392000 318.436000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 318.916000 362.392000 321.916000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 322.420000 362.392000 325.744000 350.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 325.720000 362.392000 331.720000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 332.224000 362.392000 335.224000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 335.728000 362.392000 341.728000 350.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 341.632000 362.392000 345.628000 350.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 345.628000 362.392000 351.628000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 351.724000 362.392000 357.724000 350.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 357.628000 362.392000 363.628000 350.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 363.628000 362.392000 368.944000 350.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 368.932000 362.392000 374.248000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 374.836000 362.392000 377.836000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.340000 362.392000 387.664000 350.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 387.640000 362.392000 393.640000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 393.640000 362.392000 397.636000 350.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 397.636000 362.392000 402.952000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 403.432000 362.392000 406.432000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 406.936000 362.392000 410.260000 350.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 410.236000 362.392000 416.236000 350.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 416.332000 362.392000 421.648000 350.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 421.636000 362.392000 427.636000 350.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 428.140000 362.392000 431.140000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 431.644000 362.392000 436.960000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 436.948000 362.392000 442.948000 350.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 442.948000 362.392000 448.948000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 448.948000 362.392000 454.948000 350.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 454.948000 362.392000 460.948000 350.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 460.852000 362.392000 466.852000 350.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 467.356000 362.392000 470.356000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.860000 362.392000 474.856000 350.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 474.856000 362.392000 480.856000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 480.856000 362.392000 484.852000 350.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 485.356000 362.392000 488.356000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.860000 362.392000 498.184000 350.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 498.160000 362.392000 504.160000 350.392000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 362.392000 507.200000 350.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 348.992000 191.500000 336.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 191.500000 348.992000 196.816000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 196.804000 348.992000 202.120000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 202.108000 348.992000 208.108000 336.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 208.012000 348.992000 212.680000 336.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 212.716000 348.992000 215.716000 336.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.812000 348.992000 218.812000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 218.812000 348.992000 225.484000 336.992000 1.000000 0.000000 0.000000 1.000000 F +drawChar 225.412000 348.992000 231.412000 336.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 231.412000 348.992000 235.408000 336.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 235.516000 348.992000 238.516000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 238.516000 348.992000 243.832000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 243.820000 348.992000 249.820000 336.992000 1.000000 0.000000 0.000000 1.000000 x +drawChar 249.820000 348.992000 255.136000 336.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 255.124000 348.992000 264.448000 336.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 264.424000 348.992000 270.424000 336.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 270.424000 348.992000 273.748000 336.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 273.724000 348.992000 279.040000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 279.028000 348.992000 282.352000 336.992000 1.000000 0.000000 0.000000 1.000000 : +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 90 1 0 0 0 900.000000 8536 GAAAAA+StarSymbol +drawChar 186.100000 327.836000 194.128000 318.836000 1.000000 0.000000 0.000000 1.000000 ☑ +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 200.300000 329.492000 208.292000 317.492000 1.000000 0.000000 0.000000 1.000000 R +drawChar 208.304000 329.492000 213.620000 317.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 213.608000 329.492000 219.608000 317.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 219.512000 329.492000 222.836000 317.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 222.908000 329.492000 227.576000 317.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 227.504000 329.492000 233.504000 317.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 233.600000 329.492000 238.916000 317.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 238.904000 329.492000 243.572000 317.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 90 1 0 0 0 900.000000 0 GAAAAA+StarSymbol +drawChar 186.100000 308.136000 194.128000 299.136000 1.000000 0.000000 0.000000 1.000000 ☑ +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 200.300000 309.792000 207.620000 297.792000 1.000000 0.000000 0.000000 1.000000 Z +drawChar 207.596000 309.792000 213.596000 297.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 213.596000 309.792000 218.912000 297.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 218.900000 309.792000 224.216000 297.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 224.096000 309.792000 230.096000 297.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.192000 309.792000 233.516000 297.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.588000 309.792000 239.588000 297.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 239.492000 309.792000 242.816000 297.792000 1.000000 0.000000 0.000000 1.000000 i +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 90 1 0 0 0 900.000000 0 GAAAAA+StarSymbol +drawChar 186.100000 288.436000 194.128000 279.436000 1.000000 0.000000 0.000000 1.000000 ☑ +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 200.300000 290.092000 208.964000 278.092000 1.000000 0.000000 0.000000 1.000000 O +drawChar 208.904000 290.092000 214.904000 278.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 214.904000 290.092000 218.228000 278.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 218.300000 290.092000 224.300000 278.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 224.300000 290.092000 230.300000 278.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 230.204000 290.092000 234.872000 278.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 90 1 0 0 0 900.000000 0 GAAAAA+StarSymbol +drawChar 186.100000 268.736000 194.128000 259.736000 1.000000 0.000000 0.000000 1.000000 ☑ +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 200.300000 270.392000 208.292000 258.392000 1.000000 0.000000 0.000000 1.000000 R +drawChar 208.196000 270.392000 214.196000 258.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 214.292000 270.392000 220.292000 258.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 220.292000 270.392000 226.292000 258.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 226.292000 270.392000 231.608000 258.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 231.596000 270.392000 235.592000 258.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 235.592000 270.392000 241.592000 258.392000 1.000000 0.000000 0.000000 1.000000 b +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 229.188000 81.876000 213.188000 1.000000 0.000000 0.000000 1.000000 F +drawChar 81.908000 229.188000 88.132000 213.188000 1.000000 0.000000 0.000000 1.000000 r +drawChar 88.116000 229.188000 97.892000 213.188000 1.000000 0.000000 0.000000 1.000000 u +drawChar 97.924000 229.188000 102.372000 213.188000 1.000000 0.000000 0.000000 1.000000 i +drawChar 102.324000 229.188000 107.652000 213.188000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 207.992000 194.164000 195.992000 1.000000 0.000000 0.000000 1.000000 N +drawChar 194.104000 207.992000 199.420000 195.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 199.408000 207.992000 205.408000 195.992000 1.000000 0.000000 0.000000 1.000000 x +drawChar 205.408000 207.992000 208.732000 195.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 209.212000 207.992000 212.212000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 212.716000 207.992000 216.040000 195.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 216.016000 207.992000 222.016000 195.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 222.412000 207.992000 225.412000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 225.916000 207.992000 229.240000 195.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 229.120000 207.992000 235.120000 195.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 235.216000 207.992000 240.532000 195.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.916000 207.992000 243.916000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 244.420000 207.992000 250.420000 195.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 250.324000 207.992000 255.640000 195.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.628000 207.992000 261.628000 195.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 261.628000 207.992000 266.944000 195.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 266.932000 207.992000 270.256000 195.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 270.232000 207.992000 275.548000 195.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 275.536000 207.992000 281.536000 195.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 281.632000 207.992000 284.956000 195.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 284.932000 207.992000 290.248000 195.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 290.836000 207.992000 293.836000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 294.232000 207.992000 300.232000 195.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 300.232000 207.992000 305.548000 195.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 305.536000 207.992000 311.536000 195.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 311.440000 207.992000 316.108000 195.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 316.636000 207.992000 319.636000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.140000 207.992000 325.456000 195.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 325.444000 207.992000 329.440000 195.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 329.440000 207.992000 334.756000 195.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.140000 207.992000 338.140000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.644000 207.992000 343.960000 195.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 344.344000 207.992000 347.344000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.740000 207.992000 351.736000 195.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 351.736000 207.992000 357.052000 195.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 357.040000 207.992000 365.704000 195.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 366.136000 207.992000 369.136000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.640000 207.992000 373.636000 195.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 373.636000 207.992000 378.952000 195.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 378.940000 207.992000 384.940000 195.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 384.844000 207.992000 390.160000 195.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 390.148000 207.992000 396.148000 195.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 396.148000 207.992000 400.144000 195.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 400.144000 207.992000 404.140000 195.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 404.140000 207.992000 409.456000 195.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 409.444000 207.992000 415.444000 195.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 415.444000 207.992000 418.768000 195.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 419.344000 207.992000 422.344000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.740000 207.992000 428.056000 195.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 428.044000 207.992000 434.044000 195.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 434.044000 207.992000 440.044000 195.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 440.548000 207.992000 443.548000 195.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 443.944000 207.992000 449.944000 195.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 449.944000 207.992000 453.268000 195.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 453.244000 207.992000 458.560000 195.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 458.548000 207.992000 463.864000 195.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 463.852000 207.992000 469.852000 195.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 469.852000 207.992000 475.168000 195.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 475.156000 207.992000 481.156000 195.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 481.156000 207.992000 485.152000 195.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 485.152000 207.992000 489.148000 195.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 489.148000 207.992000 494.464000 195.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 494.452000 207.992000 500.452000 195.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 500.452000 207.992000 503.776000 195.992000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 207.992000 507.200000 195.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 194.592000 191.500000 182.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 191.500000 194.592000 197.500000 182.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 197.500000 194.592000 202.168000 182.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 202.096000 194.592000 208.096000 182.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 208.192000 194.592000 213.508000 182.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 213.496000 194.592000 218.164000 182.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 218.200000 194.592000 221.200000 182.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.296000 194.592000 224.296000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.500000 194.592000 233.164000 182.592000 1.000000 0.000000 0.000000 1.000000 N +drawChar 233.104000 194.592000 238.420000 182.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 238.408000 194.592000 244.408000 182.592000 1.000000 0.000000 0.000000 1.000000 x +drawChar 244.408000 194.592000 247.732000 182.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 247.912000 194.592000 250.912000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 251.116000 194.592000 254.440000 182.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 254.416000 194.592000 260.416000 182.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 260.620000 194.592000 263.620000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 263.716000 194.592000 267.040000 182.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 267.016000 194.592000 273.016000 182.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 273.112000 194.592000 278.428000 182.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 278.512000 194.592000 281.512000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.716000 194.592000 285.712000 182.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 285.616000 194.592000 291.616000 182.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 291.712000 194.592000 297.712000 182.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 297.712000 194.592000 303.712000 182.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 303.712000 194.592000 309.028000 182.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 309.016000 194.592000 313.012000 182.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 313.012000 194.592000 319.012000 182.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 319.216000 194.592000 322.216000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 322.312000 194.592000 326.308000 182.592000 1.000000 0.000000 0.000000 1.000000 I +drawChar 326.512000 194.592000 329.512000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.608000 194.592000 335.608000 182.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 335.704000 194.592000 341.020000 182.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 341.008000 194.592000 347.008000 182.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 346.912000 194.592000 352.228000 182.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 352.408000 194.592000 355.408000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 355.612000 194.592000 360.928000 182.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 360.916000 194.592000 364.240000 182.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 364.216000 194.592000 368.884000 182.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 368.920000 194.592000 374.920000 182.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 375.016000 194.592000 378.016000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.220000 194.592000 384.220000 182.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 384.124000 194.592000 387.448000 182.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 387.424000 194.592000 392.740000 182.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 392.728000 194.592000 398.728000 182.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 398.728000 194.592000 402.052000 182.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 402.124000 194.592000 407.440000 182.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 407.428000 194.592000 413.428000 182.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 413.728000 194.592000 416.728000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 416.824000 194.592000 422.140000 182.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 422.320000 194.592000 425.320000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.824000 194.592000 428.824000 182.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 429.200000 194.592000 433.868000 182.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 433.904000 194.592000 437.228000 182.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 437.204000 194.592000 441.200000 182.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 441.200000 194.592000 446.516000 182.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 446.504000 194.592000 455.168000 182.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 455.204000 194.592000 461.204000 182.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 461.204000 194.592000 466.520000 182.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 466.508000 194.592000 470.504000 182.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 470.504000 194.592000 474.500000 182.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 474.500000 194.592000 480.500000 182.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 480.704000 194.592000 483.704000 182.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 483.800000 194.592000 489.800000 182.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 489.800000 194.592000 495.116000 182.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.104000 194.592000 501.104000 182.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 501.008000 194.592000 504.008000 182.592000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 194.592000 507.100000 182.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 181.092000 190.816000 169.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 181.092000 196.804000 169.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 196.804000 181.092000 202.804000 169.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 202.708000 181.092000 208.024000 169.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 208.012000 181.092000 212.008000 169.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 212.008000 181.092000 217.324000 169.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 217.408000 181.092000 223.408000 169.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 223.912000 181.092000 226.912000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 227.308000 181.092000 235.972000 169.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 235.912000 181.092000 239.236000 169.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 239.308000 181.092000 242.632000 169.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 242.608000 181.092000 248.608000 169.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 249.004000 181.092000 252.004000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.400000 181.092000 258.400000 169.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 258.400000 181.092000 263.716000 169.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.704000 181.092000 267.028000 169.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 267.508000 181.092000 270.508000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 270.904000 181.092000 274.228000 169.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 274.204000 181.092000 280.204000 169.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 280.600000 181.092000 283.600000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 283.996000 181.092000 289.996000 169.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 289.996000 181.092000 295.312000 169.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 295.300000 181.092000 300.616000 169.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 300.604000 181.092000 306.604000 169.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 307.108000 181.092000 310.108000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 310.504000 181.092000 313.828000 169.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 313.708000 181.092000 319.708000 169.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 319.804000 181.092000 325.120000 169.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 325.504000 181.092000 328.504000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 328.900000 181.092000 334.900000 169.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 334.900000 181.092000 338.224000 169.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 338.296000 181.092000 342.292000 169.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 342.292000 181.092000 348.292000 169.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 348.196000 181.092000 352.864000 169.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 353.296000 181.092000 356.296000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 356.692000 181.092000 362.008000 169.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 361.996000 181.092000 367.996000 169.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 367.996000 181.092000 373.996000 169.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 374.500000 181.092000 377.500000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.896000 181.092000 381.220000 169.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 381.196000 181.092000 387.196000 169.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 387.196000 181.092000 391.864000 169.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 391.900000 181.092000 397.216000 169.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 397.204000 181.092000 402.520000 169.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 402.508000 181.092000 405.832000 169.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 405.808000 181.092000 410.476000 169.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 410.908000 181.092000 413.908000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.304000 181.092000 418.300000 169.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 418.300000 181.092000 422.296000 169.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 422.296000 181.092000 428.296000 169.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 428.296000 181.092000 437.620000 169.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 438.100000 181.092000 441.100000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.496000 181.092000 446.164000 169.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 446.200000 181.092000 451.516000 169.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 451.504000 181.092000 460.828000 169.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 460.804000 181.092000 466.804000 169.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 466.708000 181.092000 470.032000 169.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 470.008000 181.092000 473.332000 169.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 473.404000 181.092000 479.404000 169.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 479.404000 181.092000 485.404000 169.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 485.908000 181.092000 488.908000 169.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.304000 181.092000 492.628000 169.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.508000 181.092000 498.508000 169.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.604000 181.092000 503.920000 169.092000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 181.092000 507.100000 169.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 465.900000 85.992000 472.572000 73.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 472.596000 85.992000 477.912000 73.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 477.900000 85.992000 483.900000 73.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 483.900000 85.992000 489.216000 73.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 489.204000 85.992000 492.204000 73.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 492.200000 85.992000 498.200000 73.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 498.200000 85.992000 504.200000 73.992000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 108.000000 550.900000 0 540.000000 550.900000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 550.900000 0 +eoFillPath subpath 1 108.000000 72.000000 0 540.000000 72.000000 0 540.000000 241.100000 0 108.000000 241.100000 0 108.000000 72.000000 0 +eoFillPath subpath 1 108.000000 241.100000 0 152.200000 241.100000 0 152.200000 550.900000 0 108.000000 550.900000 0 108.000000 241.100000 0 +eoFillPath subpath 1 495.700000 241.100000 0 540.000000 241.100000 0 540.000000 550.900000 0 495.700000 550.900000 0 495.700000 241.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 15220.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 108.000000 701.500000 0 540.000000 701.500000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 701.500000 0 +eoFillPath subpath 1 108.000000 76.700000 0 540.000000 76.700000 0 540.000000 90.100000 0 108.000000 90.100000 0 108.000000 76.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 108.100000 716.588000 121.428000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 121.396000 716.588000 129.396000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 129.492000 716.588000 133.940000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 133.988000 716.588000 145.540000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 145.588000 716.588000 154.484000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 154.484000 716.588000 163.380000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 163.380000 716.588000 171.380000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 171.380000 716.588000 180.276000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 180.484000 716.588000 184.932000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 184.884000 716.588000 190.212000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 190.292000 716.588000 194.740000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 194.800000 716.588000 204.576000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 204.496000 716.588000 209.824000 700.588000 1.000000 0.000000 0.000000 1.000000 r +drawChar 209.904000 716.588000 218.800000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 218.800000 716.588000 222.352000 700.588000 1.000000 0.000000 0.000000 1.000000 i +drawChar 222.304000 716.588000 226.752000 700.588000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 672.992000 227.500000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 227.404000 672.992000 232.720000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 232.708000 672.992000 236.032000 660.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 236.008000 672.992000 239.332000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 239.404000 672.992000 244.720000 660.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 244.708000 672.992000 248.032000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 248.104000 672.992000 254.104000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 254.104000 672.992000 260.104000 660.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 260.104000 672.992000 264.772000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 265.300000 672.992000 268.300000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 268.804000 672.992000 274.804000 660.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 274.804000 672.992000 280.120000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 280.108000 672.992000 284.104000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 284.104000 672.992000 288.100000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 288.100000 672.992000 291.424000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 291.496000 672.992000 296.812000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 296.800000 672.992000 301.468000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 301.504000 672.992000 304.504000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 305.008000 672.992000 308.008000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 308.512000 672.992000 317.176000 660.992000 1.000000 0.000000 0.000000 1.000000 O +drawChar 317.116000 672.992000 323.116000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 323.620000 672.992000 326.620000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.124000 672.992000 330.448000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 330.424000 672.992000 336.424000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 336.520000 672.992000 341.836000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 342.316000 672.992000 345.316000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.820000 672.992000 349.816000 660.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 349.816000 672.992000 355.132000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 355.120000 672.992000 359.116000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 359.620000 672.992000 362.620000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.124000 672.992000 368.440000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 368.428000 672.992000 374.428000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 374.428000 672.992000 380.428000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 381.028000 672.992000 384.028000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.532000 672.992000 390.532000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 390.532000 672.992000 394.528000 660.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 395.032000 672.992000 398.032000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.536000 672.992000 401.860000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 401.740000 672.992000 407.740000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 407.836000 672.992000 413.152000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 413.632000 672.992000 416.632000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.136000 672.992000 423.136000 660.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 423.040000 672.992000 428.356000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 428.344000 672.992000 432.340000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 432.448000 672.992000 438.448000 660.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 438.952000 672.992000 441.952000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 442.456000 672.992000 445.780000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 445.756000 672.992000 451.756000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 451.852000 672.992000 457.168000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 457.156000 672.992000 461.152000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 461.152000 672.992000 466.468000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 466.948000 672.992000 469.948000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.452000 672.992000 475.768000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 475.756000 672.992000 479.752000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 479.752000 672.992000 485.068000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 485.656000 672.992000 488.656000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.160000 672.992000 494.476000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 494.464000 672.992000 497.788000 660.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 497.764000 672.992000 502.432000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 502.468000 672.992000 508.468000 660.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 508.972000 672.992000 511.972000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 512.476000 672.992000 517.792000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 518.272000 672.992000 521.272000 660.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 521.776000 672.992000 525.772000 660.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 525.772000 672.992000 531.088000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 531.076000 672.992000 539.740000 660.992000 1.000000 0.000000 0.000000 1.000000 w +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 672.992000 543.100000 660.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 659.592000 230.164000 647.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 230.200000 659.592000 233.524000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 233.500000 659.592000 236.824000 647.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 236.800000 659.592000 242.800000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 242.800000 659.592000 245.800000 647.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 245.800000 659.592000 251.800000 647.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 251.800000 659.592000 255.124000 647.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 255.100000 659.592000 260.416000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 260.404000 659.592000 265.720000 647.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 265.708000 659.592000 271.708000 647.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 271.708000 659.592000 277.708000 647.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 277.708000 659.592000 283.024000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 283.012000 659.592000 287.008000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 287.008000 659.592000 291.004000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 291.112000 659.592000 297.112000 647.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 297.112000 659.592000 300.112000 647.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 300.112000 659.592000 306.112000 647.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 306.112000 659.592000 312.112000 647.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 312.112000 659.592000 316.780000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 316.708000 659.592000 322.708000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 322.804000 659.592000 328.120000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 328.108000 659.592000 332.776000 647.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 332.812000 659.592000 335.812000 647.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 640.092000 224.500000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.500000 640.092000 233.164000 628.092000 1.000000 0.000000 0.000000 1.000000 A +drawChar 233.200000 640.092000 239.200000 628.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 239.200000 640.092000 242.200000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 242.200000 640.092000 248.200000 628.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 248.200000 640.092000 254.200000 628.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 254.104000 640.092000 259.420000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 259.408000 640.092000 263.404000 628.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 263.404000 640.092000 269.404000 628.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 269.308000 640.092000 272.632000 628.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 272.704000 640.092000 278.020000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 278.008000 640.092000 286.672000 628.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 286.804000 640.092000 289.804000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.804000 640.092000 295.804000 628.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 295.804000 640.092000 299.800000 628.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 299.800000 640.092000 302.800000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.800000 640.092000 306.124000 628.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 306.100000 640.092000 312.100000 628.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 312.196000 640.092000 317.512000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 317.500000 640.092000 320.500000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.500000 640.092000 324.496000 628.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 324.496000 640.092000 328.492000 628.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 328.492000 640.092000 334.492000 628.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 334.396000 640.092000 337.720000 628.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 337.792000 640.092000 341.116000 628.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 341.092000 640.092000 344.092000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 344.092000 640.092000 350.092000 628.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 350.188000 640.092000 355.504000 628.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 355.492000 640.092000 359.488000 628.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 359.488000 640.092000 365.488000 628.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 365.392000 640.092000 370.708000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 370.696000 640.092000 375.364000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 375.400000 640.092000 378.724000 628.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 378.700000 640.092000 383.368000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 383.500000 640.092000 386.500000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.500000 640.092000 390.496000 628.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 390.496000 640.092000 394.492000 628.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 394.492000 640.092000 400.492000 628.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 400.492000 640.092000 409.816000 628.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 409.792000 640.092000 412.792000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 412.792000 640.092000 418.792000 628.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 418.696000 640.092000 422.692000 628.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 422.692000 640.092000 428.008000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 427.996000 640.092000 433.996000 628.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 433.900000 640.092000 437.224000 628.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 437.296000 640.092000 443.296000 628.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 443.296000 640.092000 449.296000 628.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 449.296000 640.092000 453.964000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 454.096000 640.092000 457.096000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 457.096000 640.092000 463.096000 628.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 463.000000 640.092000 468.316000 628.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 468.304000 640.092000 473.620000 628.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 473.608000 640.092000 477.604000 628.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 477.604000 640.092000 482.272000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 482.404000 640.092000 485.404000 628.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 485.404000 640.092000 489.400000 628.092000 1.000000 0.000000 0.000000 1.000000 ( +drawChar 489.400000 640.092000 495.400000 628.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 495.304000 640.092000 501.304000 628.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 501.304000 640.092000 507.304000 628.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 507.304000 640.092000 513.304000 628.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 513.400000 640.092000 519.400000 628.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 519.304000 640.092000 523.972000 628.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 524.008000 640.092000 528.004000 628.092000 1.000000 0.000000 0.000000 1.000000 ) +drawChar 528.004000 640.092000 531.328000 628.092000 1.000000 0.000000 0.000000 1.000000 : +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 95 1 0 1 0 1200.000000 17120 HAAAAA+Thorndale-BoldItalic +drawChar 272.600000 599.492000 280.592000 587.492000 1.000000 0.000000 0.000000 1.000000 F +drawChar 280.604000 599.492000 285.272000 587.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 285.200000 599.492000 291.872000 587.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 291.800000 599.492000 295.124000 587.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 295.196000 599.492000 298.520000 587.492000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 95 1 0 1 0 1200.000000 0 HAAAAA+Thorndale-BoldItalic +drawChar 363.500000 599.492000 369.500000 587.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 369.500000 599.492000 375.500000 587.492000 1.000000 0.000000 0.000000 1.000000 9 +drawChar 375.500000 599.492000 381.500000 587.492000 1.000000 0.000000 0.000000 1.000000 9 +drawChar 381.500000 599.492000 387.500000 587.492000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 95 1 0 1 0 1200.000000 0 HAAAAA+Thorndale-BoldItalic +drawChar 407.700000 599.492000 413.700000 587.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 413.700000 599.492000 419.700000 587.492000 1.000000 0.000000 0.000000 1.000000 9 +drawChar 419.700000 599.492000 425.700000 587.492000 1.000000 0.000000 0.000000 1.000000 9 +drawChar 425.604000 599.492000 431.604000 587.492000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 95 1 0 1 0 1200.000000 0 HAAAAA+Thorndale-BoldItalic +drawChar 451.900000 599.492000 457.900000 587.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 457.900000 599.492000 463.900000 587.492000 1.000000 0.000000 0.000000 1.000000 9 +drawChar 463.900000 599.492000 469.900000 587.492000 1.000000 0.000000 0.000000 1.000000 9 +drawChar 469.900000 599.492000 475.900000 587.492000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 95 1 0 1 0 1200.000000 0 HAAAAA+Thorndale-BoldItalic +drawChar 495.700000 599.492000 501.700000 587.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 501.700000 599.492000 507.700000 587.492000 1.000000 0.000000 0.000000 1.000000 9 +drawChar 507.700000 599.492000 513.700000 587.492000 1.000000 0.000000 0.000000 1.000000 9 +drawChar 513.700000 599.492000 519.700000 587.492000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 219.800000 583.192000 227.792000 571.192000 1.000000 0.000000 0.000000 1.000000 B +drawChar 227.804000 583.192000 231.128000 571.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 231.104000 583.192000 236.420000 571.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 236.408000 583.192000 241.724000 571.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 241.712000 583.192000 247.712000 571.192000 1.000000 0.000000 0.000000 1.000000 k +drawChar 247.712000 583.192000 253.028000 571.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 253.016000 583.192000 259.016000 571.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 259.016000 583.192000 263.012000 571.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 263.012000 583.192000 267.008000 571.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 267.008000 583.192000 272.324000 571.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 272.312000 583.192000 278.312000 571.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 278.312000 583.192000 281.636000 571.192000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 381.700000 583.192000 387.700000 571.192000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 387.700000 583.192000 390.700000 571.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 390.700000 583.192000 396.700000 571.192000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 426.000000 583.192000 432.000000 571.192000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 432.000000 583.192000 435.000000 571.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 434.904000 583.192000 440.904000 571.192000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 470.200000 583.192000 476.200000 571.192000 1.000000 0.000000 0.000000 1.000000 4 +drawChar 476.200000 583.192000 479.200000 571.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 479.200000 583.192000 485.200000 571.192000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 513.600000 583.192000 519.600000 571.192000 1.000000 0.000000 0.000000 1.000000 8 +drawChar 519.600000 583.192000 522.600000 571.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 522.600000 583.192000 528.600000 571.192000 1.000000 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 219.800000 566.892000 227.792000 554.892000 1.000000 0.000000 0.000000 1.000000 R +drawChar 227.804000 566.892000 233.120000 554.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 233.108000 566.892000 239.108000 554.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 239.012000 566.892000 244.328000 554.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 244.316000 566.892000 250.316000 554.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 250.316000 566.892000 254.312000 554.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 254.312000 566.892000 258.308000 554.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 258.308000 566.892000 263.624000 554.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 263.612000 566.892000 269.612000 554.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 269.612000 566.892000 272.936000 554.892000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 381.700000 566.892000 387.700000 554.892000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 387.700000 566.892000 390.700000 554.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 390.700000 566.892000 396.700000 554.892000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 426.000000 566.892000 432.000000 554.892000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 432.000000 566.892000 435.000000 554.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 435.000000 566.892000 441.000000 554.892000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 470.200000 566.892000 476.200000 554.892000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 476.200000 566.892000 479.200000 554.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 479.200000 566.892000 485.200000 554.892000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 513.600000 566.892000 519.600000 554.892000 1.000000 0.000000 0.000000 1.000000 4 +drawChar 519.600000 566.892000 522.600000 554.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 522.600000 566.892000 528.600000 554.892000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 219.800000 550.592000 226.472000 538.592000 1.000000 0.000000 0.000000 1.000000 S +drawChar 226.496000 550.592000 229.820000 538.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 229.796000 550.592000 233.792000 538.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 233.792000 550.592000 239.108000 538.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 238.988000 550.592000 247.652000 538.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 247.688000 550.592000 253.688000 538.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 253.688000 550.592000 259.004000 538.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 258.992000 550.592000 262.988000 538.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 262.988000 550.592000 266.984000 538.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 266.984000 550.592000 270.308000 538.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 270.380000 550.592000 275.696000 538.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 275.684000 550.592000 280.352000 538.592000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 375.700000 550.592000 381.700000 538.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 381.796000 550.592000 387.796000 538.592000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 387.700000 550.592000 390.700000 538.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 390.700000 550.592000 396.700000 538.592000 1.000000 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 426.000000 550.592000 432.000000 538.592000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 432.000000 550.592000 435.000000 538.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 435.000000 550.592000 441.000000 538.592000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 470.200000 550.592000 476.200000 538.592000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 476.200000 550.592000 479.200000 538.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 479.104000 550.592000 485.104000 538.592000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 513.600000 550.592000 519.600000 538.592000 1.000000 0.000000 0.000000 1.000000 8 +drawChar 519.600000 550.592000 522.600000 538.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 522.600000 550.592000 528.600000 538.592000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 219.800000 534.292000 227.792000 522.292000 1.000000 0.000000 0.000000 1.000000 C +drawChar 227.696000 534.292000 233.696000 522.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 233.792000 534.292000 239.108000 522.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 239.096000 534.292000 243.092000 522.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 243.092000 534.292000 247.088000 522.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 246.992000 534.292000 250.316000 522.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 250.388000 534.292000 255.704000 522.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.692000 534.292000 260.360000 522.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 381.700000 534.292000 387.700000 522.292000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 387.700000 534.292000 390.700000 522.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 390.700000 534.292000 396.700000 522.292000 1.000000 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 426.000000 534.292000 432.000000 522.292000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 432.000000 534.292000 435.000000 522.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 434.904000 534.292000 440.904000 522.292000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 470.200000 534.292000 476.200000 522.292000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 476.200000 534.292000 479.200000 522.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 479.200000 534.292000 485.200000 522.292000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 513.600000 534.292000 519.600000 522.292000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 519.600000 534.292000 522.600000 522.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 522.504000 534.292000 528.504000 522.292000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 219.800000 517.992000 228.464000 505.992000 1.000000 0.000000 0.000000 1.000000 A +drawChar 228.500000 517.992000 234.500000 505.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 234.404000 517.992000 240.404000 505.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 240.308000 517.992000 243.632000 505.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 243.608000 517.992000 248.924000 505.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.912000 517.992000 253.580000 505.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 375.700000 517.992000 381.700000 505.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 381.796000 517.992000 387.796000 505.992000 1.000000 0.000000 0.000000 1.000000 9 +drawChar 387.700000 517.992000 390.700000 505.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 390.700000 517.992000 396.700000 505.992000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 420.000000 517.992000 426.000000 505.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 426.000000 517.992000 432.000000 505.992000 1.000000 0.000000 0.000000 1.000000 8 +drawChar 432.096000 517.992000 435.096000 505.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 435.000000 517.992000 441.000000 505.992000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 464.200000 517.992000 470.200000 505.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 470.200000 517.992000 476.200000 505.992000 1.000000 0.000000 0.000000 1.000000 8 +drawChar 476.296000 517.992000 479.296000 505.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 479.200000 517.992000 485.200000 505.992000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 507.600000 517.992000 513.600000 505.992000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 513.504000 517.992000 519.504000 505.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 519.600000 517.992000 522.600000 505.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 522.600000 517.992000 528.600000 505.992000 1.000000 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 108.100000 292.588000 112.548000 276.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 112.596000 292.588000 122.372000 276.588000 1.000000 0.000000 0.000000 1.000000 T +drawChar 122.404000 292.588000 128.628000 276.588000 1.000000 0.000000 0.000000 1.000000 r +drawChar 128.612000 292.588000 137.508000 276.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 137.508000 292.588000 146.404000 276.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 146.404000 292.588000 155.300000 276.588000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 271.492000 229.492000 259.492000 1.000000 0.000000 0.000000 1.000000 B +drawChar 229.504000 271.492000 234.820000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 234.808000 271.492000 239.476000 259.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 239.512000 271.492000 242.836000 259.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 242.908000 271.492000 248.908000 259.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 248.812000 271.492000 254.128000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 254.116000 271.492000 258.784000 259.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 259.120000 271.492000 262.120000 259.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 262.324000 271.492000 265.648000 259.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 265.624000 271.492000 271.624000 259.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 271.720000 271.492000 277.036000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 277.216000 271.492000 280.216000 259.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 280.516000 271.492000 285.832000 259.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 285.820000 271.492000 291.820000 259.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 291.820000 271.492000 297.820000 259.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 297.820000 271.492000 303.820000 259.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 303.724000 271.492000 309.040000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 309.028000 271.492000 313.024000 259.492000 1.000000 0.000000 0.000000 1.000000 - +drawChar 313.132000 271.492000 322.456000 259.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 322.432000 271.492000 327.748000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 327.736000 271.492000 333.736000 259.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 333.736000 271.492000 337.060000 259.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 337.036000 271.492000 340.360000 259.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 340.432000 271.492000 346.432000 259.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 346.432000 271.492000 352.432000 259.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 352.432000 271.492000 357.748000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 357.832000 271.492000 363.832000 259.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 364.132000 271.492000 367.132000 259.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.336000 271.492000 371.332000 259.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 371.332000 271.492000 375.328000 259.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 375.328000 271.492000 381.328000 259.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 381.328000 271.492000 384.652000 259.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 384.724000 271.492000 388.048000 259.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 388.228000 271.492000 391.228000 259.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.528000 271.492000 394.852000 259.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 394.828000 271.492000 398.824000 259.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 398.824000 271.492000 404.140000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 404.128000 271.492000 409.444000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.432000 271.492000 414.100000 259.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 414.136000 271.492000 417.136000 259.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 417.436000 271.492000 420.436000 259.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 420.640000 271.492000 424.636000 259.492000 1.000000 0.000000 0.000000 1.000000 I +drawChar 424.936000 271.492000 427.936000 259.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 428.140000 271.492000 433.456000 259.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 433.444000 271.492000 436.768000 259.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 436.744000 271.492000 441.412000 259.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 441.448000 271.492000 447.448000 259.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 447.748000 271.492000 450.748000 259.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.048000 271.492000 457.048000 259.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 457.048000 271.492000 462.364000 259.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 462.352000 271.492000 468.352000 259.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 468.256000 271.492000 473.572000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 473.956000 271.492000 476.956000 259.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 477.160000 271.492000 481.828000 259.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 481.864000 271.492000 487.180000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 487.168000 271.492000 493.168000 259.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 493.072000 271.492000 498.388000 259.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 498.376000 271.492000 502.372000 259.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 502.372000 271.492000 507.688000 259.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 507.772000 271.492000 511.096000 259.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 511.468000 271.492000 514.468000 259.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 514.672000 271.492000 520.672000 259.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 520.672000 271.492000 524.668000 259.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 524.668000 271.492000 530.668000 259.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 530.668000 271.492000 535.984000 259.492000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 271.492000 540.196000 259.492000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 257.992000 230.824000 245.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 230.800000 257.992000 236.116000 245.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.104000 257.992000 242.104000 245.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 242.104000 257.992000 245.428000 245.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 245.404000 257.992000 250.720000 245.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 250.708000 257.992000 254.032000 245.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 254.704000 257.992000 257.704000 245.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.304000 257.992000 261.628000 245.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 261.604000 257.992000 265.600000 245.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 265.600000 257.992000 270.916000 245.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 270.904000 257.992000 276.220000 245.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 276.208000 257.992000 280.876000 245.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 281.512000 257.992000 284.512000 245.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 285.016000 257.992000 290.332000 245.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 290.320000 257.992000 296.320000 245.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 296.320000 257.992000 302.320000 245.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 302.920000 257.992000 305.920000 245.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 306.424000 257.992000 312.424000 245.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 312.328000 257.992000 315.652000 245.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 315.724000 257.992000 321.040000 245.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 321.028000 257.992000 327.028000 245.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 327.028000 257.992000 330.352000 245.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 330.328000 257.992000 334.996000 245.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 335.728000 257.992000 338.728000 245.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 339.232000 257.992000 342.556000 245.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 342.532000 257.992000 348.532000 245.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 349.132000 257.992000 352.132000 245.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 352.732000 257.992000 358.048000 245.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 358.036000 257.992000 362.032000 245.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 362.032000 257.992000 367.348000 245.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 367.336000 257.992000 372.652000 245.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 372.640000 257.992000 375.964000 245.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 375.940000 257.992000 381.256000 245.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 381.844000 257.992000 384.844000 245.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 385.444000 257.992000 390.760000 245.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 391.348000 257.992000 394.348000 245.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 394.852000 257.992000 400.852000 245.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 400.756000 257.992000 406.072000 245.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 406.060000 257.992000 411.376000 245.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 411.364000 257.992000 417.364000 245.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.364000 257.992000 421.360000 245.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 421.468000 257.992000 426.784000 245.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 426.772000 257.992000 430.096000 245.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 430.072000 257.992000 433.396000 245.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 433.468000 257.992000 439.468000 245.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 439.468000 257.992000 444.784000 245.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 444.772000 257.992000 448.096000 245.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 448.072000 257.992000 454.072000 245.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 454.768000 257.992000 457.768000 245.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 458.272000 257.992000 461.596000 245.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 461.572000 257.992000 466.888000 245.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 466.876000 257.992000 472.876000 245.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 472.972000 257.992000 478.972000 245.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 478.876000 257.992000 483.544000 245.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 483.580000 257.992000 488.896000 245.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 488.884000 257.992000 494.200000 245.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 494.188000 257.992000 500.188000 245.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 500.188000 257.992000 505.504000 245.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 505.492000 257.992000 511.492000 245.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 512.188000 257.992000 515.188000 245.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 515.788000 257.992000 521.788000 245.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 521.692000 257.992000 527.008000 245.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 526.996000 257.992000 530.992000 245.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 530.992000 257.992000 536.992000 245.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 536.896000 257.992000 539.896000 245.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 257.992000 543.100000 245.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 244.592000 228.172000 232.592000 1.000000 0.000000 0.000000 1.000000 F +drawChar 228.100000 244.592000 234.100000 232.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 234.100000 244.592000 237.424000 232.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 237.400000 244.592000 240.724000 232.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 240.700000 244.592000 246.700000 232.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 246.700000 244.592000 255.364000 232.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 255.400000 244.592000 258.724000 232.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 258.796000 244.592000 264.796000 232.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 264.796000 244.592000 270.796000 232.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 270.796000 244.592000 273.796000 232.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.796000 244.592000 279.112000 232.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 279.100000 244.592000 283.096000 232.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 283.096000 244.592000 288.412000 232.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 288.496000 244.592000 291.496000 232.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.496000 244.592000 296.164000 232.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 296.200000 244.592000 302.200000 232.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 302.200000 244.592000 311.524000 232.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 311.500000 244.592000 316.816000 232.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 316.804000 244.592000 319.804000 232.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 319.804000 244.592000 325.804000 232.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 325.804000 244.592000 329.800000 232.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 329.800000 244.592000 332.800000 232.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 332.800000 244.592000 336.124000 232.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 336.100000 244.592000 342.100000 232.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 342.196000 244.592000 347.512000 232.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 347.500000 244.592000 350.500000 232.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.500000 244.592000 353.824000 232.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 353.800000 244.592000 359.800000 232.592000 1.000000 0.000000 0.000000 1.000000 y +drawChar 359.704000 244.592000 365.704000 232.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 365.704000 244.592000 371.020000 232.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 371.008000 244.592000 375.676000 232.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 375.808000 244.592000 378.808000 232.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.808000 244.592000 384.808000 232.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 384.808000 244.592000 388.804000 232.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 388.804000 244.592000 391.804000 232.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.804000 244.592000 395.128000 232.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 395.104000 244.592000 399.100000 232.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 399.100000 244.592000 404.416000 232.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 404.404000 244.592000 409.720000 232.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.708000 244.592000 414.376000 232.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 414.508000 244.592000 417.508000 232.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.508000 244.592000 423.508000 232.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 423.412000 244.592000 426.736000 232.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 426.712000 244.592000 432.028000 232.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 432.016000 244.592000 438.016000 232.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 438.016000 244.592000 441.340000 232.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 441.412000 244.592000 446.728000 232.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 446.716000 244.592000 452.716000 232.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 452.812000 244.592000 455.812000 232.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.812000 244.592000 461.812000 232.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 461.908000 244.592000 467.224000 232.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 467.104000 244.592000 471.100000 232.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 471.100000 244.592000 476.416000 232.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 476.404000 244.592000 479.728000 232.592000 1.000000 0.000000 0.000000 1.000000 : +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 95 1 0 1 0 1200.000000 0 HAAAAA+Thorndale-BoldItalic +drawChar 256.400000 224.892000 264.392000 212.892000 1.000000 0.000000 0.000000 1.000000 C +drawChar 264.404000 224.892000 270.404000 212.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 270.404000 224.892000 277.076000 212.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 277.100000 224.892000 280.424000 212.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 280.400000 224.892000 284.396000 212.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 284.396000 224.892000 289.712000 212.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 289.700000 224.892000 294.368000 212.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 294.296000 224.892000 300.296000 212.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 300.392000 224.892000 307.064000 212.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 306.992000 224.892000 311.660000 212.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 311.696000 224.892000 314.696000 212.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.696000 224.892000 322.016000 212.892000 1.000000 0.000000 0.000000 1.000000 T +drawChar 322.100000 224.892000 326.768000 212.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 326.696000 224.892000 332.012000 212.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.000000 224.892000 337.316000 212.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 337.304000 224.892000 341.972000 212.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 95 1 0 1 0 1200.000000 0 HAAAAA+Thorndale-BoldItalic +drawChar 417.200000 224.892000 425.864000 212.892000 1.000000 0.000000 0.000000 1.000000 D +drawChar 425.804000 224.892000 431.120000 212.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 431.108000 224.892000 436.424000 212.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 436.412000 224.892000 439.736000 212.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 439.808000 224.892000 445.808000 212.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 445.808000 224.892000 452.480000 212.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 452.408000 224.892000 458.408000 212.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 458.504000 224.892000 465.176000 212.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 465.104000 224.892000 469.772000 212.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 469.808000 224.892000 472.808000 212.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 472.808000 224.892000 480.128000 212.892000 1.000000 0.000000 0.000000 1.000000 T +drawChar 480.212000 224.892000 484.880000 212.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 484.808000 224.892000 490.124000 212.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 490.112000 224.892000 495.428000 212.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.416000 224.892000 500.084000 212.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.400000 211.392000 228.072000 199.392000 1.000000 0.000000 0.000000 1.000000 P +drawChar 228.000000 211.392000 231.324000 199.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 231.396000 211.392000 237.396000 199.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 237.396000 211.392000 242.712000 199.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 242.700000 211.392000 247.368000 199.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 378.200000 211.392000 386.864000 199.392000 1.000000 0.000000 0.000000 1.000000 O +drawChar 386.804000 211.392000 392.120000 199.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 392.108000 211.392000 398.108000 199.392000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.400000 197.992000 230.064000 185.992000 1.000000 0.000000 0.000000 1.000000 D +drawChar 230.004000 197.992000 236.004000 185.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 236.004000 197.992000 242.004000 185.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 242.004000 197.992000 248.004000 185.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 248.004000 197.992000 251.328000 185.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 251.304000 197.992000 256.620000 185.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 256.608000 197.992000 261.276000 185.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 261.312000 197.992000 264.312000 185.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.312000 197.992000 270.984000 185.992000 1.000000 0.000000 0.000000 1.000000 F +drawChar 270.912000 197.992000 274.236000 185.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 274.308000 197.992000 278.304000 185.992000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 378.200000 197.992000 386.192000 185.992000 1.000000 0.000000 0.000000 1.000000 C +drawChar 386.204000 197.992000 392.204000 185.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 392.204000 197.992000 397.520000 185.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 397.508000 197.992000 402.176000 185.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 402.212000 197.992000 405.536000 185.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 405.512000 197.992000 411.512000 185.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 411.512000 197.992000 417.512000 185.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 417.512000 197.992000 420.836000 185.992000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.400000 184.492000 228.072000 172.492000 1.000000 0.000000 0.000000 1.000000 S +drawChar 228.096000 184.492000 234.096000 172.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 234.000000 184.492000 237.996000 172.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 237.996000 184.492000 243.996000 172.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 243.996000 184.492000 249.312000 172.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 249.300000 184.492000 254.616000 172.492000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 378.200000 184.492000 386.192000 172.492000 1.000000 0.000000 0.000000 1.000000 B +drawChar 386.204000 184.492000 391.520000 172.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 391.508000 184.492000 396.824000 172.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 396.812000 184.492000 402.128000 172.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 402.116000 184.492000 408.116000 172.492000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 108.100000 89.992000 114.772000 77.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 114.796000 89.992000 120.112000 77.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 120.100000 89.992000 126.100000 77.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 126.100000 89.992000 131.416000 77.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 131.404000 89.992000 134.404000 77.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 134.400000 89.992000 140.400000 77.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 140.496000 89.992000 146.496000 77.992000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 218.200000 584.700000 0 529.900000 584.700000 0 529.900000 584.800000 0 218.200000 584.800000 0 218.200000 584.700000 0 +eoFillPath subpath 1 353.800000 503.200000 0 353.900000 503.200000 0 353.900000 601.300000 0 353.800000 601.300000 0 353.800000 503.200000 0 +eoFillPath subpath 1 398.000000 503.200000 0 398.100000 503.200000 0 398.100000 601.300000 0 398.000000 601.300000 0 398.000000 503.200000 0 +eoFillPath subpath 1 442.200000 503.200000 0 442.300000 503.200000 0 442.300000 601.300000 0 442.200000 601.300000 0 442.200000 503.200000 0 +eoFillPath subpath 1 486.400000 503.200000 0 486.500000 503.200000 0 486.500000 601.300000 0 486.400000 601.300000 0 486.400000 503.200000 0 +eoFillPath subpath 1 218.200000 568.400000 0 529.900000 568.400000 0 529.900000 568.500000 0 218.200000 568.500000 0 218.200000 568.400000 0 +eoFillPath subpath 1 218.200000 552.100000 0 529.900000 552.100000 0 529.900000 552.200000 0 218.200000 552.200000 0 218.200000 552.100000 0 +eoFillPath subpath 1 218.200000 535.800000 0 529.900000 535.800000 0 529.900000 535.900000 0 218.200000 535.900000 0 218.200000 535.800000 0 +eoFillPath subpath 1 218.200000 519.500000 0 529.900000 519.500000 0 529.900000 519.600000 0 218.200000 519.600000 0 218.200000 519.500000 0 +eoFillPath subpath 1 218.200000 503.200000 0 218.300000 503.200000 0 218.300000 601.300000 0 218.200000 601.300000 0 218.200000 503.200000 0 +eoFillPath subpath 1 218.200000 601.200000 0 529.900000 601.200000 0 529.900000 601.300000 0 218.200000 601.300000 0 218.200000 601.200000 0 +eoFillPath subpath 1 529.800000 503.200000 0 529.900000 503.200000 0 529.900000 601.300000 0 529.800000 601.300000 0 529.800000 503.200000 0 +eoFillPath subpath 1 218.200000 503.200000 0 529.900000 503.200000 0 529.900000 503.300000 0 218.200000 503.300000 0 218.200000 503.200000 0 +restoreState +saveState +eoClipPath subpath 1 108.000000 596.300000 0 150.800000 596.300000 0 150.800000 640.600000 0 108.000000 640.600000 0 108.000000 596.300000 0 +saveState +updateCtm 4280.000000 0.000000 0.000000 -4420.000000 10800.000000 19560.000000 +drawSoftMaskedImage 57 59 57 59 JPEG 2757 PPM 10102 +restoreState +restoreState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +eoFillPath subpath 1 222.800000 296.500000 0 535.600000 296.500000 0 535.600000 301.600000 0 222.800000 301.600000 0 222.800000 296.500000 0 +eoFillPath subpath 1 530.500000 301.500000 0 535.600000 301.500000 0 535.600000 489.900000 0 530.500000 489.900000 0 530.500000 301.500000 0 +saveState +eoClipPath subpath 1 217.800000 301.500000 0 530.500000 301.500000 0 530.500000 494.900000 0 217.800000 494.900000 0 217.800000 301.500000 0 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 217.700000 495.000000 0 530.600000 495.000000 0 530.600000 495.000000 0 217.700000 495.000000 0 +eoFillPath subpath 1 217.700000 495.000000 0 530.600000 495.000000 0 530.600000 494.200000 0 217.700000 494.200000 0 217.700000 495.000000 0 +eoFillPath subpath 1 217.700000 494.200000 0 530.600000 494.200000 0 530.600000 493.500000 0 217.700000 493.500000 0 217.700000 494.200000 0 +updateFillColor 0.003906 0.003906 0.003906 1.000000 +eoFillPath subpath 1 217.700000 493.500000 0 530.600000 493.500000 0 530.600000 492.700000 0 217.700000 492.700000 0 217.700000 493.500000 0 +updateFillColor 0.007828 0.007828 0.007828 1.000000 +eoFillPath subpath 1 217.700000 492.700000 0 530.600000 492.700000 0 530.600000 491.900000 0 217.700000 491.900000 0 217.700000 492.700000 0 +updateFillColor 0.011749 0.011749 0.011749 1.000000 +eoFillPath subpath 1 217.700000 491.900000 0 530.600000 491.900000 0 530.600000 491.200000 0 217.700000 491.200000 0 217.700000 491.900000 0 +updateFillColor 0.015671 0.015671 0.015671 1.000000 +eoFillPath subpath 1 217.700000 491.200000 0 530.600000 491.200000 0 530.600000 490.400000 0 217.700000 490.400000 0 217.700000 491.200000 0 +updateFillColor 0.019592 0.019592 0.019592 1.000000 +eoFillPath subpath 1 217.700000 490.400000 0 530.600000 490.400000 0 530.600000 489.700000 0 217.700000 489.700000 0 217.700000 490.400000 0 +updateFillColor 0.023514 0.023514 0.023514 1.000000 +eoFillPath subpath 1 217.700000 489.700000 0 530.600000 489.700000 0 530.600000 488.900000 0 217.700000 488.900000 0 217.700000 489.700000 0 +updateFillColor 0.027435 0.027435 0.027435 1.000000 +eoFillPath subpath 1 217.700000 488.900000 0 530.600000 488.900000 0 530.600000 488.200000 0 217.700000 488.200000 0 217.700000 488.900000 0 +updateFillColor 0.031357 0.031357 0.031357 1.000000 +eoFillPath subpath 1 217.700000 488.200000 0 530.600000 488.200000 0 530.600000 487.400000 0 217.700000 487.400000 0 217.700000 488.200000 0 +updateFillColor 0.035278 0.035278 0.035278 1.000000 +eoFillPath subpath 1 217.700000 487.400000 0 530.600000 487.400000 0 530.600000 486.600000 0 217.700000 486.600000 0 217.700000 487.400000 0 +updateFillColor 0.039200 0.039200 0.039200 1.000000 +eoFillPath subpath 1 217.700000 486.600000 0 530.600000 486.600000 0 530.600000 485.900000 0 217.700000 485.900000 0 217.700000 486.600000 0 +updateFillColor 0.043121 0.043121 0.043121 1.000000 +eoFillPath subpath 1 217.700000 485.900000 0 530.600000 485.900000 0 530.600000 485.100000 0 217.700000 485.100000 0 217.700000 485.900000 0 +updateFillColor 0.047043 0.047043 0.047043 1.000000 +eoFillPath subpath 1 217.700000 485.100000 0 530.600000 485.100000 0 530.600000 484.400000 0 217.700000 484.400000 0 217.700000 485.100000 0 +updateFillColor 0.050980 0.050980 0.050980 1.000000 +eoFillPath subpath 1 217.700000 484.400000 0 530.600000 484.400000 0 530.600000 483.600000 0 217.700000 483.600000 0 217.700000 484.400000 0 +updateFillColor 0.054886 0.054886 0.054886 1.000000 +eoFillPath subpath 1 217.700000 483.600000 0 530.600000 483.600000 0 530.600000 482.800000 0 217.700000 482.800000 0 217.700000 483.600000 0 +updateFillColor 0.058807 0.058807 0.058807 1.000000 +eoFillPath subpath 1 217.700000 482.800000 0 530.600000 482.800000 0 530.600000 482.100000 0 217.700000 482.100000 0 217.700000 482.800000 0 +updateFillColor 0.062729 0.062729 0.062729 1.000000 +eoFillPath subpath 1 217.700000 482.100000 0 530.600000 482.100000 0 530.600000 481.300000 0 217.700000 481.300000 0 217.700000 482.100000 0 +updateFillColor 0.066650 0.066650 0.066650 1.000000 +eoFillPath subpath 1 217.700000 481.300000 0 530.600000 481.300000 0 530.600000 480.600000 0 217.700000 480.600000 0 217.700000 481.300000 0 +updateFillColor 0.070572 0.070572 0.070572 1.000000 +eoFillPath subpath 1 217.700000 480.600000 0 530.600000 480.600000 0 530.600000 479.800000 0 217.700000 479.800000 0 217.700000 480.600000 0 +updateFillColor 0.074493 0.074493 0.074493 1.000000 +eoFillPath subpath 1 217.700000 479.800000 0 530.600000 479.800000 0 530.600000 479.100000 0 217.700000 479.100000 0 217.700000 479.800000 0 +updateFillColor 0.078415 0.078415 0.078415 1.000000 +eoFillPath subpath 1 217.700000 479.100000 0 530.600000 479.100000 0 530.600000 478.300000 0 217.700000 478.300000 0 217.700000 479.100000 0 +updateFillColor 0.082336 0.082336 0.082336 1.000000 +eoFillPath subpath 1 217.700000 478.300000 0 530.600000 478.300000 0 530.600000 477.500000 0 217.700000 477.500000 0 217.700000 478.300000 0 +updateFillColor 0.086258 0.086258 0.086258 1.000000 +eoFillPath subpath 1 217.700000 477.500000 0 530.600000 477.500000 0 530.600000 476.800000 0 217.700000 476.800000 0 217.700000 477.500000 0 +updateFillColor 0.090179 0.090179 0.090179 1.000000 +eoFillPath subpath 1 217.700000 476.800000 0 530.600000 476.800000 0 530.600000 476.000000 0 217.700000 476.000000 0 217.700000 476.800000 0 +updateFillColor 0.094101 0.094101 0.094101 1.000000 +eoFillPath subpath 1 217.700000 476.000000 0 530.600000 476.000000 0 530.600000 475.300000 0 217.700000 475.300000 0 217.700000 476.000000 0 +updateFillColor 0.098022 0.098022 0.098022 1.000000 +eoFillPath subpath 1 217.700000 475.300000 0 530.600000 475.300000 0 530.600000 474.500000 0 217.700000 474.500000 0 217.700000 475.300000 0 +updateFillColor 0.101959 0.101959 0.101959 1.000000 +eoFillPath subpath 1 217.700000 474.500000 0 530.600000 474.500000 0 530.600000 473.700000 0 217.700000 473.700000 0 217.700000 474.500000 0 +updateFillColor 0.105865 0.105865 0.105865 1.000000 +eoFillPath subpath 1 217.700000 473.700000 0 530.600000 473.700000 0 530.600000 473.000000 0 217.700000 473.000000 0 217.700000 473.700000 0 +updateFillColor 0.109787 0.109787 0.109787 1.000000 +eoFillPath subpath 1 217.700000 473.000000 0 530.600000 473.000000 0 530.600000 472.200000 0 217.700000 472.200000 0 217.700000 473.000000 0 +updateFillColor 0.113708 0.113708 0.113708 1.000000 +eoFillPath subpath 1 217.700000 472.200000 0 530.600000 472.200000 0 530.600000 471.500000 0 217.700000 471.500000 0 217.700000 472.200000 0 +updateFillColor 0.117630 0.117630 0.117630 1.000000 +eoFillPath subpath 1 217.700000 471.500000 0 530.600000 471.500000 0 530.600000 470.700000 0 217.700000 470.700000 0 217.700000 471.500000 0 +updateFillColor 0.121552 0.121552 0.121552 1.000000 +eoFillPath subpath 1 217.700000 470.700000 0 530.600000 470.700000 0 530.600000 469.900000 0 217.700000 469.900000 0 217.700000 470.700000 0 +updateFillColor 0.125488 0.125488 0.125488 1.000000 +eoFillPath subpath 1 217.700000 469.900000 0 530.600000 469.900000 0 530.600000 469.200000 0 217.700000 469.200000 0 217.700000 469.900000 0 +updateFillColor 0.129410 0.129410 0.129410 1.000000 +eoFillPath subpath 1 217.700000 469.200000 0 530.600000 469.200000 0 530.600000 468.400000 0 217.700000 468.400000 0 217.700000 469.200000 0 +updateFillColor 0.133316 0.133316 0.133316 1.000000 +eoFillPath subpath 1 217.700000 468.400000 0 530.600000 468.400000 0 530.600000 467.700000 0 217.700000 467.700000 0 217.700000 468.400000 0 +updateFillColor 0.137238 0.137238 0.137238 1.000000 +eoFillPath subpath 1 217.700000 467.700000 0 530.600000 467.700000 0 530.600000 466.900000 0 217.700000 466.900000 0 217.700000 467.700000 0 +updateFillColor 0.141159 0.141159 0.141159 1.000000 +eoFillPath subpath 1 217.700000 466.900000 0 530.600000 466.900000 0 530.600000 466.200000 0 217.700000 466.200000 0 217.700000 466.900000 0 +updateFillColor 0.145081 0.145081 0.145081 1.000000 +eoFillPath subpath 1 217.700000 466.200000 0 530.600000 466.200000 0 530.600000 465.400000 0 217.700000 465.400000 0 217.700000 466.200000 0 +updateFillColor 0.149002 0.149002 0.149002 1.000000 +eoFillPath subpath 1 217.700000 465.400000 0 530.600000 465.400000 0 530.600000 464.600000 0 217.700000 464.600000 0 217.700000 465.400000 0 +updateFillColor 0.152939 0.152939 0.152939 1.000000 +eoFillPath subpath 1 217.700000 464.600000 0 530.600000 464.600000 0 530.600000 463.900000 0 217.700000 463.900000 0 217.700000 464.600000 0 +updateFillColor 0.156845 0.156845 0.156845 1.000000 +eoFillPath subpath 1 217.700000 463.900000 0 530.600000 463.900000 0 530.600000 463.100000 0 217.700000 463.100000 0 217.700000 463.900000 0 +updateFillColor 0.160767 0.160767 0.160767 1.000000 +eoFillPath subpath 1 217.700000 463.100000 0 530.600000 463.100000 0 530.600000 462.400000 0 217.700000 462.400000 0 217.700000 463.100000 0 +updateFillColor 0.164688 0.164688 0.164688 1.000000 +eoFillPath subpath 1 217.700000 462.400000 0 530.600000 462.400000 0 530.600000 461.600000 0 217.700000 461.600000 0 217.700000 462.400000 0 +updateFillColor 0.168610 0.168610 0.168610 1.000000 +eoFillPath subpath 1 217.700000 461.600000 0 530.600000 461.600000 0 530.600000 460.800000 0 217.700000 460.800000 0 217.700000 461.600000 0 +updateFillColor 0.172531 0.172531 0.172531 1.000000 +eoFillPath subpath 1 217.700000 460.800000 0 530.600000 460.800000 0 530.600000 460.100000 0 217.700000 460.100000 0 217.700000 460.800000 0 +updateFillColor 0.176468 0.176468 0.176468 1.000000 +eoFillPath subpath 1 217.700000 460.100000 0 530.600000 460.100000 0 530.600000 459.300000 0 217.700000 459.300000 0 217.700000 460.100000 0 +updateFillColor 0.180389 0.180389 0.180389 1.000000 +eoFillPath subpath 1 217.700000 459.300000 0 530.600000 459.300000 0 530.600000 458.600000 0 217.700000 458.600000 0 217.700000 459.300000 0 +updateFillColor 0.184296 0.184296 0.184296 1.000000 +eoFillPath subpath 1 217.700000 458.600000 0 530.600000 458.600000 0 530.600000 457.800000 0 217.700000 457.800000 0 217.700000 458.600000 0 +updateFillColor 0.188217 0.188217 0.188217 1.000000 +eoFillPath subpath 1 217.700000 457.800000 0 530.600000 457.800000 0 530.600000 457.000000 0 217.700000 457.000000 0 217.700000 457.800000 0 +updateFillColor 0.192139 0.192139 0.192139 1.000000 +eoFillPath subpath 1 217.700000 457.000000 0 530.600000 457.000000 0 530.600000 456.300000 0 217.700000 456.300000 0 217.700000 457.000000 0 +updateFillColor 0.196060 0.196060 0.196060 1.000000 +eoFillPath subpath 1 217.700000 456.300000 0 530.600000 456.300000 0 530.600000 455.500000 0 217.700000 455.500000 0 217.700000 456.300000 0 +updateFillColor 0.199997 0.199997 0.199997 1.000000 +eoFillPath subpath 1 217.700000 455.500000 0 530.600000 455.500000 0 530.600000 454.800000 0 217.700000 454.800000 0 217.700000 455.500000 0 +updateFillColor 0.203918 0.203918 0.203918 1.000000 +eoFillPath subpath 1 217.700000 454.800000 0 530.600000 454.800000 0 530.600000 454.000000 0 217.700000 454.000000 0 217.700000 454.800000 0 +updateFillColor 0.207840 0.207840 0.207840 1.000000 +eoFillPath subpath 1 217.700000 454.000000 0 530.600000 454.000000 0 530.600000 453.300000 0 217.700000 453.300000 0 217.700000 454.000000 0 +updateFillColor 0.211746 0.211746 0.211746 1.000000 +eoFillPath subpath 1 217.700000 453.300000 0 530.600000 453.300000 0 530.600000 452.500000 0 217.700000 452.500000 0 217.700000 453.300000 0 +updateFillColor 0.215668 0.215668 0.215668 1.000000 +eoFillPath subpath 1 217.700000 452.500000 0 530.600000 452.500000 0 530.600000 451.700000 0 217.700000 451.700000 0 217.700000 452.500000 0 +updateFillColor 0.219589 0.219589 0.219589 1.000000 +eoFillPath subpath 1 217.700000 451.700000 0 530.600000 451.700000 0 530.600000 451.000000 0 217.700000 451.000000 0 217.700000 451.700000 0 +updateFillColor 0.223511 0.223511 0.223511 1.000000 +eoFillPath subpath 1 217.700000 451.000000 0 530.600000 451.000000 0 530.600000 450.200000 0 217.700000 450.200000 0 217.700000 451.000000 0 +updateFillColor 0.227448 0.227448 0.227448 1.000000 +eoFillPath subpath 1 217.700000 450.200000 0 530.600000 450.200000 0 530.600000 449.500000 0 217.700000 449.500000 0 217.700000 450.200000 0 +updateFillColor 0.231369 0.231369 0.231369 1.000000 +eoFillPath subpath 1 217.700000 449.500000 0 530.600000 449.500000 0 530.600000 448.700000 0 217.700000 448.700000 0 217.700000 449.500000 0 +updateFillColor 0.235275 0.235275 0.235275 1.000000 +eoFillPath subpath 1 217.700000 448.700000 0 530.600000 448.700000 0 530.600000 447.900000 0 217.700000 447.900000 0 217.700000 448.700000 0 +updateFillColor 0.239197 0.239197 0.239197 1.000000 +eoFillPath subpath 1 217.700000 447.900000 0 530.600000 447.900000 0 530.600000 447.200000 0 217.700000 447.200000 0 217.700000 447.900000 0 +updateFillColor 0.243118 0.243118 0.243118 1.000000 +eoFillPath subpath 1 217.700000 447.200000 0 530.600000 447.200000 0 530.600000 446.400000 0 217.700000 446.400000 0 217.700000 447.200000 0 +updateFillColor 0.247040 0.247040 0.247040 1.000000 +eoFillPath subpath 1 217.700000 446.400000 0 530.600000 446.400000 0 530.600000 445.700000 0 217.700000 445.700000 0 217.700000 446.400000 0 +updateFillColor 0.250977 0.250977 0.250977 1.000000 +eoFillPath subpath 1 217.700000 445.700000 0 530.600000 445.700000 0 530.600000 444.900000 0 217.700000 444.900000 0 217.700000 445.700000 0 +updateFillColor 0.254898 0.254898 0.254898 1.000000 +eoFillPath subpath 1 217.700000 444.900000 0 530.600000 444.900000 0 530.600000 444.200000 0 217.700000 444.200000 0 217.700000 444.900000 0 +updateFillColor 0.258820 0.258820 0.258820 1.000000 +eoFillPath subpath 1 217.700000 444.200000 0 530.600000 444.200000 0 530.600000 443.400000 0 217.700000 443.400000 0 217.700000 444.200000 0 +updateFillColor 0.262726 0.262726 0.262726 1.000000 +eoFillPath subpath 1 217.700000 443.400000 0 530.600000 443.400000 0 530.600000 442.600000 0 217.700000 442.600000 0 217.700000 443.400000 0 +updateFillColor 0.266647 0.266647 0.266647 1.000000 +eoFillPath subpath 1 217.700000 442.600000 0 530.600000 442.600000 0 530.600000 441.900000 0 217.700000 441.900000 0 217.700000 442.600000 0 +updateFillColor 0.270569 0.270569 0.270569 1.000000 +eoFillPath subpath 1 217.700000 441.900000 0 530.600000 441.900000 0 530.600000 441.100000 0 217.700000 441.100000 0 217.700000 441.900000 0 +updateFillColor 0.274490 0.274490 0.274490 1.000000 +eoFillPath subpath 1 217.700000 441.100000 0 530.600000 441.100000 0 530.600000 440.400000 0 217.700000 440.400000 0 217.700000 441.100000 0 +updateFillColor 0.278427 0.278427 0.278427 1.000000 +eoFillPath subpath 1 217.700000 440.400000 0 530.600000 440.400000 0 530.600000 439.600000 0 217.700000 439.600000 0 217.700000 440.400000 0 +updateFillColor 0.282349 0.282349 0.282349 1.000000 +eoFillPath subpath 1 217.700000 439.600000 0 530.600000 439.600000 0 530.600000 438.800000 0 217.700000 438.800000 0 217.700000 439.600000 0 +updateFillColor 0.286255 0.286255 0.286255 1.000000 +eoFillPath subpath 1 217.700000 438.800000 0 530.600000 438.800000 0 530.600000 438.100000 0 217.700000 438.100000 0 217.700000 438.800000 0 +updateFillColor 0.290176 0.290176 0.290176 1.000000 +eoFillPath subpath 1 217.700000 438.100000 0 530.600000 438.100000 0 530.600000 437.300000 0 217.700000 437.300000 0 217.700000 438.100000 0 +updateFillColor 0.294098 0.294098 0.294098 1.000000 +eoFillPath subpath 1 217.700000 437.300000 0 530.600000 437.300000 0 530.600000 436.600000 0 217.700000 436.600000 0 217.700000 437.300000 0 +updateFillColor 0.298019 0.298019 0.298019 1.000000 +eoFillPath subpath 1 217.700000 436.600000 0 530.600000 436.600000 0 530.600000 435.800000 0 217.700000 435.800000 0 217.700000 436.600000 0 +updateFillColor 0.301956 0.301956 0.301956 1.000000 +eoFillPath subpath 1 217.700000 435.800000 0 530.600000 435.800000 0 530.600000 435.000000 0 217.700000 435.000000 0 217.700000 435.800000 0 +updateFillColor 0.305878 0.305878 0.305878 1.000000 +eoFillPath subpath 1 217.700000 435.000000 0 530.600000 435.000000 0 530.600000 434.300000 0 217.700000 434.300000 0 217.700000 435.000000 0 +updateFillColor 0.309799 0.309799 0.309799 1.000000 +eoFillPath subpath 1 217.700000 434.300000 0 530.600000 434.300000 0 530.600000 433.500000 0 217.700000 433.500000 0 217.700000 434.300000 0 +updateFillColor 0.313705 0.313705 0.313705 1.000000 +eoFillPath subpath 1 217.700000 433.500000 0 530.600000 433.500000 0 530.600000 432.800000 0 217.700000 432.800000 0 217.700000 433.500000 0 +updateFillColor 0.317627 0.317627 0.317627 1.000000 +eoFillPath subpath 1 217.700000 432.800000 0 530.600000 432.800000 0 530.600000 432.000000 0 217.700000 432.000000 0 217.700000 432.800000 0 +updateFillColor 0.321548 0.321548 0.321548 1.000000 +eoFillPath subpath 1 217.700000 432.000000 0 530.600000 432.000000 0 530.600000 431.300000 0 217.700000 431.300000 0 217.700000 432.000000 0 +updateFillColor 0.325485 0.325485 0.325485 1.000000 +eoFillPath subpath 1 217.700000 431.300000 0 530.600000 431.300000 0 530.600000 430.500000 0 217.700000 430.500000 0 217.700000 431.300000 0 +updateFillColor 0.329407 0.329407 0.329407 1.000000 +eoFillPath subpath 1 217.700000 430.500000 0 530.600000 430.500000 0 530.600000 429.700000 0 217.700000 429.700000 0 217.700000 430.500000 0 +updateFillColor 0.333328 0.333328 0.333328 1.000000 +eoFillPath subpath 1 217.700000 429.700000 0 530.600000 429.700000 0 530.600000 429.000000 0 217.700000 429.000000 0 217.700000 429.700000 0 +updateFillColor 0.337250 0.337250 0.337250 1.000000 +eoFillPath subpath 1 217.700000 429.000000 0 530.600000 429.000000 0 530.600000 428.200000 0 217.700000 428.200000 0 217.700000 429.000000 0 +updateFillColor 0.341156 0.341156 0.341156 1.000000 +eoFillPath subpath 1 217.700000 428.200000 0 530.600000 428.200000 0 530.600000 427.500000 0 217.700000 427.500000 0 217.700000 428.200000 0 +updateFillColor 0.345078 0.345078 0.345078 1.000000 +eoFillPath subpath 1 217.700000 427.500000 0 530.600000 427.500000 0 530.600000 426.700000 0 217.700000 426.700000 0 217.700000 427.500000 0 +updateFillColor 0.348999 0.348999 0.348999 1.000000 +eoFillPath subpath 1 217.700000 426.700000 0 530.600000 426.700000 0 530.600000 425.900000 0 217.700000 425.900000 0 217.700000 426.700000 0 +updateFillColor 0.352936 0.352936 0.352936 1.000000 +eoFillPath subpath 1 217.700000 425.900000 0 530.600000 425.900000 0 530.600000 425.200000 0 217.700000 425.200000 0 217.700000 425.900000 0 +updateFillColor 0.356857 0.356857 0.356857 1.000000 +eoFillPath subpath 1 217.700000 425.200000 0 530.600000 425.200000 0 530.600000 424.400000 0 217.700000 424.400000 0 217.700000 425.200000 0 +updateFillColor 0.360779 0.360779 0.360779 1.000000 +eoFillPath subpath 1 217.700000 424.400000 0 530.600000 424.400000 0 530.600000 423.700000 0 217.700000 423.700000 0 217.700000 424.400000 0 +updateFillColor 0.364685 0.364685 0.364685 1.000000 +eoFillPath subpath 1 217.700000 423.700000 0 530.600000 423.700000 0 530.600000 422.900000 0 217.700000 422.900000 0 217.700000 423.700000 0 +updateFillColor 0.368607 0.368607 0.368607 1.000000 +eoFillPath subpath 1 217.700000 422.900000 0 530.600000 422.900000 0 530.600000 422.100000 0 217.700000 422.100000 0 217.700000 422.900000 0 +updateFillColor 0.372528 0.372528 0.372528 1.000000 +eoFillPath subpath 1 217.700000 422.100000 0 530.600000 422.100000 0 530.600000 421.400000 0 217.700000 421.400000 0 217.700000 422.100000 0 +updateFillColor 0.376465 0.376465 0.376465 1.000000 +eoFillPath subpath 1 217.700000 421.400000 0 530.600000 421.400000 0 530.600000 420.600000 0 217.700000 420.600000 0 217.700000 421.400000 0 +updateFillColor 0.380386 0.380386 0.380386 1.000000 +eoFillPath subpath 1 217.700000 420.600000 0 530.600000 420.600000 0 530.600000 419.900000 0 217.700000 419.900000 0 217.700000 420.600000 0 +updateFillColor 0.384308 0.384308 0.384308 1.000000 +eoFillPath subpath 1 217.700000 419.900000 0 530.600000 419.900000 0 530.600000 419.100000 0 217.700000 419.100000 0 217.700000 419.900000 0 +updateFillColor 0.388229 0.388229 0.388229 1.000000 +eoFillPath subpath 1 217.700000 419.100000 0 530.600000 419.100000 0 530.600000 418.400000 0 217.700000 418.400000 0 217.700000 419.100000 0 +updateFillColor 0.392136 0.392136 0.392136 1.000000 +eoFillPath subpath 1 217.700000 418.400000 0 530.600000 418.400000 0 530.600000 417.600000 0 217.700000 417.600000 0 217.700000 418.400000 0 +updateFillColor 0.396057 0.396057 0.396057 1.000000 +eoFillPath subpath 1 217.700000 417.600000 0 530.600000 417.600000 0 530.600000 416.800000 0 217.700000 416.800000 0 217.700000 417.600000 0 +updateFillColor 0.399994 0.399994 0.399994 1.000000 +eoFillPath subpath 1 217.700000 416.800000 0 530.600000 416.800000 0 530.600000 416.100000 0 217.700000 416.100000 0 217.700000 416.800000 0 +updateFillColor 0.403915 0.403915 0.403915 1.000000 +eoFillPath subpath 1 217.700000 416.100000 0 530.600000 416.100000 0 530.600000 415.300000 0 217.700000 415.300000 0 217.700000 416.100000 0 +updateFillColor 0.407837 0.407837 0.407837 1.000000 +eoFillPath subpath 1 217.700000 415.300000 0 530.600000 415.300000 0 530.600000 414.600000 0 217.700000 414.600000 0 217.700000 415.300000 0 +updateFillColor 0.411758 0.411758 0.411758 1.000000 +eoFillPath subpath 1 217.700000 414.600000 0 530.600000 414.600000 0 530.600000 413.800000 0 217.700000 413.800000 0 217.700000 414.600000 0 +updateFillColor 0.415680 0.415680 0.415680 1.000000 +eoFillPath subpath 1 217.700000 413.800000 0 530.600000 413.800000 0 530.600000 413.000000 0 217.700000 413.000000 0 217.700000 413.800000 0 +updateFillColor 0.419586 0.419586 0.419586 1.000000 +eoFillPath subpath 1 217.700000 413.000000 0 530.600000 413.000000 0 530.600000 412.300000 0 217.700000 412.300000 0 217.700000 413.000000 0 +updateFillColor 0.423508 0.423508 0.423508 1.000000 +eoFillPath subpath 1 217.700000 412.300000 0 530.600000 412.300000 0 530.600000 411.500000 0 217.700000 411.500000 0 217.700000 412.300000 0 +updateFillColor 0.427444 0.427444 0.427444 1.000000 +eoFillPath subpath 1 217.700000 411.500000 0 530.600000 411.500000 0 530.600000 410.800000 0 217.700000 410.800000 0 217.700000 411.500000 0 +updateFillColor 0.431366 0.431366 0.431366 1.000000 +eoFillPath subpath 1 217.700000 410.800000 0 530.600000 410.800000 0 530.600000 410.000000 0 217.700000 410.000000 0 217.700000 410.800000 0 +updateFillColor 0.435287 0.435287 0.435287 1.000000 +eoFillPath subpath 1 217.700000 410.000000 0 530.600000 410.000000 0 530.600000 409.300000 0 217.700000 409.300000 0 217.700000 410.000000 0 +updateFillColor 0.439209 0.439209 0.439209 1.000000 +eoFillPath subpath 1 217.700000 409.300000 0 530.600000 409.300000 0 530.600000 408.500000 0 217.700000 408.500000 0 217.700000 409.300000 0 +updateFillColor 0.443115 0.443115 0.443115 1.000000 +eoFillPath subpath 1 217.700000 408.500000 0 530.600000 408.500000 0 530.600000 407.700000 0 217.700000 407.700000 0 217.700000 408.500000 0 +updateFillColor 0.447037 0.447037 0.447037 1.000000 +eoFillPath subpath 1 217.700000 407.700000 0 530.600000 407.700000 0 530.600000 407.000000 0 217.700000 407.000000 0 217.700000 407.700000 0 +updateFillColor 0.450974 0.450974 0.450974 1.000000 +eoFillPath subpath 1 217.700000 407.000000 0 530.600000 407.000000 0 530.600000 406.200000 0 217.700000 406.200000 0 217.700000 407.000000 0 +updateFillColor 0.454895 0.454895 0.454895 1.000000 +eoFillPath subpath 1 217.700000 406.200000 0 530.600000 406.200000 0 530.600000 405.500000 0 217.700000 405.500000 0 217.700000 406.200000 0 +updateFillColor 0.458817 0.458817 0.458817 1.000000 +eoFillPath subpath 1 217.700000 405.500000 0 530.600000 405.500000 0 530.600000 404.700000 0 217.700000 404.700000 0 217.700000 405.500000 0 +updateFillColor 0.462738 0.462738 0.462738 1.000000 +eoFillPath subpath 1 217.700000 404.700000 0 530.600000 404.700000 0 530.600000 403.900000 0 217.700000 403.900000 0 217.700000 404.700000 0 +updateFillColor 0.466660 0.466660 0.466660 1.000000 +eoFillPath subpath 1 217.700000 403.900000 0 530.600000 403.900000 0 530.600000 403.200000 0 217.700000 403.200000 0 217.700000 403.900000 0 +updateFillColor 0.470566 0.470566 0.470566 1.000000 +eoFillPath subpath 1 217.700000 403.200000 0 530.600000 403.200000 0 530.600000 402.400000 0 217.700000 402.400000 0 217.700000 403.200000 0 +updateFillColor 0.474487 0.474487 0.474487 1.000000 +eoFillPath subpath 1 217.700000 402.400000 0 530.600000 402.400000 0 530.600000 401.700000 0 217.700000 401.700000 0 217.700000 402.400000 0 +updateFillColor 0.478424 0.478424 0.478424 1.000000 +eoFillPath subpath 1 217.700000 401.700000 0 530.600000 401.700000 0 530.600000 400.900000 0 217.700000 400.900000 0 217.700000 401.700000 0 +updateFillColor 0.482346 0.482346 0.482346 1.000000 +eoFillPath subpath 1 217.700000 400.900000 0 530.600000 400.900000 0 530.600000 400.100000 0 217.700000 400.100000 0 217.700000 400.900000 0 +updateFillColor 0.486267 0.486267 0.486267 1.000000 +eoFillPath subpath 1 217.700000 400.100000 0 530.600000 400.100000 0 530.600000 399.400000 0 217.700000 399.400000 0 217.700000 400.100000 0 +updateFillColor 0.490189 0.490189 0.490189 1.000000 +eoFillPath subpath 1 217.700000 399.400000 0 530.600000 399.400000 0 530.600000 398.600000 0 217.700000 398.600000 0 217.700000 399.400000 0 +updateFillColor 0.494095 0.494095 0.494095 1.000000 +eoFillPath subpath 1 217.700000 398.600000 0 530.600000 398.600000 0 530.600000 397.900000 0 217.700000 397.900000 0 217.700000 398.600000 0 +updateFillColor 0.498016 0.498016 0.498016 1.000000 +eoFillPath subpath 1 217.700000 397.900000 0 530.600000 397.900000 0 530.600000 397.100000 0 217.700000 397.100000 0 217.700000 397.900000 0 +updateFillColor 0.501953 0.501953 0.501953 1.000000 +eoFillPath subpath 1 217.700000 397.100000 0 530.600000 397.100000 0 530.600000 396.400000 0 217.700000 396.400000 0 217.700000 397.100000 0 +updateFillColor 0.505875 0.505875 0.505875 1.000000 +eoFillPath subpath 1 217.700000 396.400000 0 530.600000 396.400000 0 530.600000 395.600000 0 217.700000 395.600000 0 217.700000 396.400000 0 +updateFillColor 0.509796 0.509796 0.509796 1.000000 +eoFillPath subpath 1 217.700000 395.600000 0 530.600000 395.600000 0 530.600000 394.800000 0 217.700000 394.800000 0 217.700000 395.600000 0 +updateFillColor 0.513718 0.513718 0.513718 1.000000 +eoFillPath subpath 1 217.700000 394.800000 0 530.600000 394.800000 0 530.600000 394.100000 0 217.700000 394.100000 0 217.700000 394.800000 0 +updateFillColor 0.517639 0.517639 0.517639 1.000000 +eoFillPath subpath 1 217.700000 394.100000 0 530.600000 394.100000 0 530.600000 393.300000 0 217.700000 393.300000 0 217.700000 394.100000 0 +updateFillColor 0.521545 0.521545 0.521545 1.000000 +eoFillPath subpath 1 217.700000 393.300000 0 530.600000 393.300000 0 530.600000 392.600000 0 217.700000 392.600000 0 217.700000 393.300000 0 +updateFillColor 0.525482 0.525482 0.525482 1.000000 +eoFillPath subpath 1 217.700000 392.600000 0 530.600000 392.600000 0 530.600000 391.800000 0 217.700000 391.800000 0 217.700000 392.600000 0 +updateFillColor 0.529404 0.529404 0.529404 1.000000 +eoFillPath subpath 1 217.700000 391.800000 0 530.600000 391.800000 0 530.600000 391.000000 0 217.700000 391.000000 0 217.700000 391.800000 0 +updateFillColor 0.533325 0.533325 0.533325 1.000000 +eoFillPath subpath 1 217.700000 391.000000 0 530.600000 391.000000 0 530.600000 390.300000 0 217.700000 390.300000 0 217.700000 391.000000 0 +updateFillColor 0.537247 0.537247 0.537247 1.000000 +eoFillPath subpath 1 217.700000 390.300000 0 530.600000 390.300000 0 530.600000 389.500000 0 217.700000 389.500000 0 217.700000 390.300000 0 +updateFillColor 0.541168 0.541168 0.541168 1.000000 +eoFillPath subpath 1 217.700000 389.500000 0 530.600000 389.500000 0 530.600000 388.800000 0 217.700000 388.800000 0 217.700000 389.500000 0 +updateFillColor 0.545090 0.545090 0.545090 1.000000 +eoFillPath subpath 1 217.700000 388.800000 0 530.600000 388.800000 0 530.600000 388.000000 0 217.700000 388.000000 0 217.700000 388.800000 0 +updateFillColor 0.548996 0.548996 0.548996 1.000000 +eoFillPath subpath 1 217.700000 388.000000 0 530.600000 388.000000 0 530.600000 387.200000 0 217.700000 387.200000 0 217.700000 388.000000 0 +updateFillColor 0.552933 0.552933 0.552933 1.000000 +eoFillPath subpath 1 217.700000 387.200000 0 530.600000 387.200000 0 530.600000 386.500000 0 217.700000 386.500000 0 217.700000 387.200000 0 +updateFillColor 0.556854 0.556854 0.556854 1.000000 +eoFillPath subpath 1 217.700000 386.500000 0 530.600000 386.500000 0 530.600000 385.700000 0 217.700000 385.700000 0 217.700000 386.500000 0 +updateFillColor 0.560776 0.560776 0.560776 1.000000 +eoFillPath subpath 1 217.700000 385.700000 0 530.600000 385.700000 0 530.600000 385.000000 0 217.700000 385.000000 0 217.700000 385.700000 0 +updateFillColor 0.564697 0.564697 0.564697 1.000000 +eoFillPath subpath 1 217.700000 385.000000 0 530.600000 385.000000 0 530.600000 384.200000 0 217.700000 384.200000 0 217.700000 385.000000 0 +updateFillColor 0.568619 0.568619 0.568619 1.000000 +eoFillPath subpath 1 217.700000 384.200000 0 530.600000 384.200000 0 530.600000 383.500000 0 217.700000 383.500000 0 217.700000 384.200000 0 +updateFillColor 0.572525 0.572525 0.572525 1.000000 +eoFillPath subpath 1 217.700000 383.500000 0 530.600000 383.500000 0 530.600000 382.700000 0 217.700000 382.700000 0 217.700000 383.500000 0 +updateFillColor 0.576462 0.576462 0.576462 1.000000 +eoFillPath subpath 1 217.700000 382.700000 0 530.600000 382.700000 0 530.600000 381.900000 0 217.700000 381.900000 0 217.700000 382.700000 0 +updateFillColor 0.580383 0.580383 0.580383 1.000000 +eoFillPath subpath 1 217.700000 381.900000 0 530.600000 381.900000 0 530.600000 381.200000 0 217.700000 381.200000 0 217.700000 381.900000 0 +updateFillColor 0.584305 0.584305 0.584305 1.000000 +eoFillPath subpath 1 217.700000 381.200000 0 530.600000 381.200000 0 530.600000 380.400000 0 217.700000 380.400000 0 217.700000 381.200000 0 +updateFillColor 0.588226 0.588226 0.588226 1.000000 +eoFillPath subpath 1 217.700000 380.400000 0 530.600000 380.400000 0 530.600000 379.700000 0 217.700000 379.700000 0 217.700000 380.400000 0 +updateFillColor 0.592148 0.592148 0.592148 1.000000 +eoFillPath subpath 1 217.700000 379.700000 0 530.600000 379.700000 0 530.600000 378.900000 0 217.700000 378.900000 0 217.700000 379.700000 0 +updateFillColor 0.596069 0.596069 0.596069 1.000000 +eoFillPath subpath 1 217.700000 378.900000 0 530.600000 378.900000 0 530.600000 378.100000 0 217.700000 378.100000 0 217.700000 378.900000 0 +updateFillColor 0.599976 0.599976 0.599976 1.000000 +eoFillPath subpath 1 217.700000 378.100000 0 530.600000 378.100000 0 530.600000 377.400000 0 217.700000 377.400000 0 217.700000 378.100000 0 +updateFillColor 0.603912 0.603912 0.603912 1.000000 +eoFillPath subpath 1 217.700000 377.400000 0 530.600000 377.400000 0 530.600000 376.600000 0 217.700000 376.600000 0 217.700000 377.400000 0 +updateFillColor 0.607834 0.607834 0.607834 1.000000 +eoFillPath subpath 1 217.700000 376.600000 0 530.600000 376.600000 0 530.600000 375.900000 0 217.700000 375.900000 0 217.700000 376.600000 0 +updateFillColor 0.611755 0.611755 0.611755 1.000000 +eoFillPath subpath 1 217.700000 375.900000 0 530.600000 375.900000 0 530.600000 375.100000 0 217.700000 375.100000 0 217.700000 375.900000 0 +updateFillColor 0.615677 0.615677 0.615677 1.000000 +eoFillPath subpath 1 217.700000 375.100000 0 530.600000 375.100000 0 530.600000 374.400000 0 217.700000 374.400000 0 217.700000 375.100000 0 +updateFillColor 0.619598 0.619598 0.619598 1.000000 +eoFillPath subpath 1 217.700000 374.400000 0 530.600000 374.400000 0 530.600000 373.600000 0 217.700000 373.600000 0 217.700000 374.400000 0 +updateFillColor 0.623520 0.623520 0.623520 1.000000 +eoFillPath subpath 1 217.700000 373.600000 0 530.600000 373.600000 0 530.600000 372.800000 0 217.700000 372.800000 0 217.700000 373.600000 0 +updateFillColor 0.627441 0.627441 0.627441 1.000000 +eoFillPath subpath 1 217.700000 372.800000 0 530.600000 372.800000 0 530.600000 372.100000 0 217.700000 372.100000 0 217.700000 372.800000 0 +updateFillColor 0.631363 0.631363 0.631363 1.000000 +eoFillPath subpath 1 217.700000 372.100000 0 530.600000 372.100000 0 530.600000 371.300000 0 217.700000 371.300000 0 217.700000 372.100000 0 +updateFillColor 0.635284 0.635284 0.635284 1.000000 +eoFillPath subpath 1 217.700000 371.300000 0 530.600000 371.300000 0 530.600000 370.600000 0 217.700000 370.600000 0 217.700000 371.300000 0 +updateFillColor 0.639206 0.639206 0.639206 1.000000 +eoFillPath subpath 1 217.700000 370.600000 0 530.600000 370.600000 0 530.600000 369.800000 0 217.700000 369.800000 0 217.700000 370.600000 0 +updateFillColor 0.643127 0.643127 0.643127 1.000000 +eoFillPath subpath 1 217.700000 369.800000 0 530.600000 369.800000 0 530.600000 369.000000 0 217.700000 369.000000 0 217.700000 369.800000 0 +updateFillColor 0.647049 0.647049 0.647049 1.000000 +eoFillPath subpath 1 217.700000 369.000000 0 530.600000 369.000000 0 530.600000 368.300000 0 217.700000 368.300000 0 217.700000 369.000000 0 +updateFillColor 0.650970 0.650970 0.650970 1.000000 +eoFillPath subpath 1 217.700000 368.300000 0 530.600000 368.300000 0 530.600000 367.500000 0 217.700000 367.500000 0 217.700000 368.300000 0 +updateFillColor 0.654892 0.654892 0.654892 1.000000 +eoFillPath subpath 1 217.700000 367.500000 0 530.600000 367.500000 0 530.600000 366.800000 0 217.700000 366.800000 0 217.700000 367.500000 0 +updateFillColor 0.658813 0.658813 0.658813 1.000000 +eoFillPath subpath 1 217.700000 366.800000 0 530.600000 366.800000 0 530.600000 366.000000 0 217.700000 366.000000 0 217.700000 366.800000 0 +updateFillColor 0.662735 0.662735 0.662735 1.000000 +eoFillPath subpath 1 217.700000 366.000000 0 530.600000 366.000000 0 530.600000 365.200000 0 217.700000 365.200000 0 217.700000 366.000000 0 +updateFillColor 0.666656 0.666656 0.666656 1.000000 +eoFillPath subpath 1 217.700000 365.200000 0 530.600000 365.200000 0 530.600000 364.500000 0 217.700000 364.500000 0 217.700000 365.200000 0 +updateFillColor 0.670578 0.670578 0.670578 1.000000 +eoFillPath subpath 1 217.700000 364.500000 0 530.600000 364.500000 0 530.600000 363.700000 0 217.700000 363.700000 0 217.700000 364.500000 0 +updateFillColor 0.674500 0.674500 0.674500 1.000000 +eoFillPath subpath 1 217.700000 363.700000 0 530.600000 363.700000 0 530.600000 363.000000 0 217.700000 363.000000 0 217.700000 363.700000 0 +updateFillColor 0.678421 0.678421 0.678421 1.000000 +eoFillPath subpath 1 217.700000 363.000000 0 530.600000 363.000000 0 530.600000 362.200000 0 217.700000 362.200000 0 217.700000 363.000000 0 +updateFillColor 0.682343 0.682343 0.682343 1.000000 +eoFillPath subpath 1 217.700000 362.200000 0 530.600000 362.200000 0 530.600000 361.500000 0 217.700000 361.500000 0 217.700000 362.200000 0 +updateFillColor 0.686264 0.686264 0.686264 1.000000 +eoFillPath subpath 1 217.700000 361.500000 0 530.600000 361.500000 0 530.600000 360.700000 0 217.700000 360.700000 0 217.700000 361.500000 0 +updateFillColor 0.690186 0.690186 0.690186 1.000000 +eoFillPath subpath 1 217.700000 360.700000 0 530.600000 360.700000 0 530.600000 359.900000 0 217.700000 359.900000 0 217.700000 360.700000 0 +updateFillColor 0.694107 0.694107 0.694107 1.000000 +eoFillPath subpath 1 217.700000 359.900000 0 530.600000 359.900000 0 530.600000 359.200000 0 217.700000 359.200000 0 217.700000 359.900000 0 +updateFillColor 0.698029 0.698029 0.698029 1.000000 +eoFillPath subpath 1 217.700000 359.200000 0 530.600000 359.200000 0 530.600000 358.400000 0 217.700000 358.400000 0 217.700000 359.200000 0 +updateFillColor 0.701950 0.701950 0.701950 1.000000 +eoFillPath subpath 1 217.700000 358.400000 0 530.600000 358.400000 0 530.600000 357.700000 0 217.700000 357.700000 0 217.700000 358.400000 0 +updateFillColor 0.705872 0.705872 0.705872 1.000000 +eoFillPath subpath 1 217.700000 357.700000 0 530.600000 357.700000 0 530.600000 356.900000 0 217.700000 356.900000 0 217.700000 357.700000 0 +updateFillColor 0.709793 0.709793 0.709793 1.000000 +eoFillPath subpath 1 217.700000 356.900000 0 530.600000 356.900000 0 530.600000 356.100000 0 217.700000 356.100000 0 217.700000 356.900000 0 +updateFillColor 0.713715 0.713715 0.713715 1.000000 +eoFillPath subpath 1 217.700000 356.100000 0 530.600000 356.100000 0 530.600000 355.400000 0 217.700000 355.400000 0 217.700000 356.100000 0 +updateFillColor 0.717636 0.717636 0.717636 1.000000 +eoFillPath subpath 1 217.700000 355.400000 0 530.600000 355.400000 0 530.600000 354.600000 0 217.700000 354.600000 0 217.700000 355.400000 0 +updateFillColor 0.721558 0.721558 0.721558 1.000000 +eoFillPath subpath 1 217.700000 354.600000 0 530.600000 354.600000 0 530.600000 353.900000 0 217.700000 353.900000 0 217.700000 354.600000 0 +updateFillColor 0.725479 0.725479 0.725479 1.000000 +eoFillPath subpath 1 217.700000 353.900000 0 530.600000 353.900000 0 530.600000 353.100000 0 217.700000 353.100000 0 217.700000 353.900000 0 +updateFillColor 0.729401 0.729401 0.729401 1.000000 +eoFillPath subpath 1 217.700000 353.100000 0 530.600000 353.100000 0 530.600000 352.300000 0 217.700000 352.300000 0 217.700000 353.100000 0 +updateFillColor 0.733322 0.733322 0.733322 1.000000 +eoFillPath subpath 1 217.700000 352.300000 0 530.600000 352.300000 0 530.600000 351.600000 0 217.700000 351.600000 0 217.700000 352.300000 0 +updateFillColor 0.737244 0.737244 0.737244 1.000000 +eoFillPath subpath 1 217.700000 351.600000 0 530.600000 351.600000 0 530.600000 350.800000 0 217.700000 350.800000 0 217.700000 351.600000 0 +updateFillColor 0.741165 0.741165 0.741165 1.000000 +eoFillPath subpath 1 217.700000 350.800000 0 530.600000 350.800000 0 530.600000 350.100000 0 217.700000 350.100000 0 217.700000 350.800000 0 +updateFillColor 0.745087 0.745087 0.745087 1.000000 +eoFillPath subpath 1 217.700000 350.100000 0 530.600000 350.100000 0 530.600000 349.300000 0 217.700000 349.300000 0 217.700000 350.100000 0 +updateFillColor 0.749008 0.749008 0.749008 1.000000 +eoFillPath subpath 1 217.700000 349.300000 0 530.600000 349.300000 0 530.600000 348.600000 0 217.700000 348.600000 0 217.700000 349.300000 0 +updateFillColor 0.752930 0.752930 0.752930 1.000000 +eoFillPath subpath 1 217.700000 348.600000 0 530.600000 348.600000 0 530.600000 347.800000 0 217.700000 347.800000 0 217.700000 348.600000 0 +updateFillColor 0.756851 0.756851 0.756851 1.000000 +eoFillPath subpath 1 217.700000 347.800000 0 530.600000 347.800000 0 530.600000 347.000000 0 217.700000 347.000000 0 217.700000 347.800000 0 +updateFillColor 0.760773 0.760773 0.760773 1.000000 +eoFillPath subpath 1 217.700000 347.000000 0 530.600000 347.000000 0 530.600000 346.300000 0 217.700000 346.300000 0 217.700000 347.000000 0 +updateFillColor 0.764694 0.764694 0.764694 1.000000 +eoFillPath subpath 1 217.700000 346.300000 0 530.600000 346.300000 0 530.600000 345.500000 0 217.700000 345.500000 0 217.700000 346.300000 0 +updateFillColor 0.768616 0.768616 0.768616 1.000000 +eoFillPath subpath 1 217.700000 345.500000 0 530.600000 345.500000 0 530.600000 344.800000 0 217.700000 344.800000 0 217.700000 345.500000 0 +updateFillColor 0.772537 0.772537 0.772537 1.000000 +eoFillPath subpath 1 217.700000 344.800000 0 530.600000 344.800000 0 530.600000 344.000000 0 217.700000 344.000000 0 217.700000 344.800000 0 +updateFillColor 0.776459 0.776459 0.776459 1.000000 +eoFillPath subpath 1 217.700000 344.000000 0 530.600000 344.000000 0 530.600000 343.200000 0 217.700000 343.200000 0 217.700000 344.000000 0 +updateFillColor 0.780380 0.780380 0.780380 1.000000 +eoFillPath subpath 1 217.700000 343.200000 0 530.600000 343.200000 0 530.600000 342.500000 0 217.700000 342.500000 0 217.700000 343.200000 0 +updateFillColor 0.784302 0.784302 0.784302 1.000000 +eoFillPath subpath 1 217.700000 342.500000 0 530.600000 342.500000 0 530.600000 341.700000 0 217.700000 341.700000 0 217.700000 342.500000 0 +updateFillColor 0.788223 0.788223 0.788223 1.000000 +eoFillPath subpath 1 217.700000 341.700000 0 530.600000 341.700000 0 530.600000 341.000000 0 217.700000 341.000000 0 217.700000 341.700000 0 +updateFillColor 0.792145 0.792145 0.792145 1.000000 +eoFillPath subpath 1 217.700000 341.000000 0 530.600000 341.000000 0 530.600000 340.200000 0 217.700000 340.200000 0 217.700000 341.000000 0 +updateFillColor 0.796066 0.796066 0.796066 1.000000 +eoFillPath subpath 1 217.700000 340.200000 0 530.600000 340.200000 0 530.600000 339.500000 0 217.700000 339.500000 0 217.700000 340.200000 0 +updateFillColor 0.799988 0.799988 0.799988 1.000000 +eoFillPath subpath 1 217.700000 339.500000 0 530.600000 339.500000 0 530.600000 338.700000 0 217.700000 338.700000 0 217.700000 339.500000 0 +updateFillColor 0.803909 0.803909 0.803909 1.000000 +eoFillPath subpath 1 217.700000 338.700000 0 530.600000 338.700000 0 530.600000 337.900000 0 217.700000 337.900000 0 217.700000 338.700000 0 +updateFillColor 0.807831 0.807831 0.807831 1.000000 +eoFillPath subpath 1 217.700000 337.900000 0 530.600000 337.900000 0 530.600000 337.200000 0 217.700000 337.200000 0 217.700000 337.900000 0 +updateFillColor 0.811752 0.811752 0.811752 1.000000 +eoFillPath subpath 1 217.700000 337.200000 0 530.600000 337.200000 0 530.600000 336.400000 0 217.700000 336.400000 0 217.700000 337.200000 0 +updateFillColor 0.815674 0.815674 0.815674 1.000000 +eoFillPath subpath 1 217.700000 336.400000 0 530.600000 336.400000 0 530.600000 335.700000 0 217.700000 335.700000 0 217.700000 336.400000 0 +updateFillColor 0.819595 0.819595 0.819595 1.000000 +eoFillPath subpath 1 217.700000 335.700000 0 530.600000 335.700000 0 530.600000 334.900000 0 217.700000 334.900000 0 217.700000 335.700000 0 +updateFillColor 0.823517 0.823517 0.823517 1.000000 +eoFillPath subpath 1 217.700000 334.900000 0 530.600000 334.900000 0 530.600000 334.100000 0 217.700000 334.100000 0 217.700000 334.900000 0 +updateFillColor 0.827438 0.827438 0.827438 1.000000 +eoFillPath subpath 1 217.700000 334.100000 0 530.600000 334.100000 0 530.600000 333.400000 0 217.700000 333.400000 0 217.700000 334.100000 0 +updateFillColor 0.831360 0.831360 0.831360 1.000000 +eoFillPath subpath 1 217.700000 333.400000 0 530.600000 333.400000 0 530.600000 332.600000 0 217.700000 332.600000 0 217.700000 333.400000 0 +updateFillColor 0.835281 0.835281 0.835281 1.000000 +eoFillPath subpath 1 217.700000 332.600000 0 530.600000 332.600000 0 530.600000 331.900000 0 217.700000 331.900000 0 217.700000 332.600000 0 +updateFillColor 0.839203 0.839203 0.839203 1.000000 +eoFillPath subpath 1 217.700000 331.900000 0 530.600000 331.900000 0 530.600000 331.100000 0 217.700000 331.100000 0 217.700000 331.900000 0 +updateFillColor 0.843124 0.843124 0.843124 1.000000 +eoFillPath subpath 1 217.700000 331.100000 0 530.600000 331.100000 0 530.600000 330.300000 0 217.700000 330.300000 0 217.700000 331.100000 0 +updateFillColor 0.847046 0.847046 0.847046 1.000000 +eoFillPath subpath 1 217.700000 330.300000 0 530.600000 330.300000 0 530.600000 329.600000 0 217.700000 329.600000 0 217.700000 330.300000 0 +updateFillColor 0.850967 0.850967 0.850967 1.000000 +eoFillPath subpath 1 217.700000 329.600000 0 530.600000 329.600000 0 530.600000 328.800000 0 217.700000 328.800000 0 217.700000 329.600000 0 +updateFillColor 0.854889 0.854889 0.854889 1.000000 +eoFillPath subpath 1 217.700000 328.800000 0 530.600000 328.800000 0 530.600000 328.100000 0 217.700000 328.100000 0 217.700000 328.800000 0 +updateFillColor 0.858810 0.858810 0.858810 1.000000 +eoFillPath subpath 1 217.700000 328.100000 0 530.600000 328.100000 0 530.600000 327.300000 0 217.700000 327.300000 0 217.700000 328.100000 0 +updateFillColor 0.862732 0.862732 0.862732 1.000000 +eoFillPath subpath 1 217.700000 327.300000 0 530.600000 327.300000 0 530.600000 326.600000 0 217.700000 326.600000 0 217.700000 327.300000 0 +updateFillColor 0.866653 0.866653 0.866653 1.000000 +eoFillPath subpath 1 217.700000 326.600000 0 530.600000 326.600000 0 530.600000 325.800000 0 217.700000 325.800000 0 217.700000 326.600000 0 +updateFillColor 0.870575 0.870575 0.870575 1.000000 +eoFillPath subpath 1 217.700000 325.800000 0 530.600000 325.800000 0 530.600000 325.000000 0 217.700000 325.000000 0 217.700000 325.800000 0 +updateFillColor 0.874496 0.874496 0.874496 1.000000 +eoFillPath subpath 1 217.700000 325.000000 0 530.600000 325.000000 0 530.600000 324.300000 0 217.700000 324.300000 0 217.700000 325.000000 0 +updateFillColor 0.878418 0.878418 0.878418 1.000000 +eoFillPath subpath 1 217.700000 324.300000 0 530.600000 324.300000 0 530.600000 323.500000 0 217.700000 323.500000 0 217.700000 324.300000 0 +updateFillColor 0.882339 0.882339 0.882339 1.000000 +eoFillPath subpath 1 217.700000 323.500000 0 530.600000 323.500000 0 530.600000 322.800000 0 217.700000 322.800000 0 217.700000 323.500000 0 +updateFillColor 0.886261 0.886261 0.886261 1.000000 +eoFillPath subpath 1 217.700000 322.800000 0 530.600000 322.800000 0 530.600000 322.000000 0 217.700000 322.000000 0 217.700000 322.800000 0 +updateFillColor 0.890182 0.890182 0.890182 1.000000 +eoFillPath subpath 1 217.700000 322.000000 0 530.600000 322.000000 0 530.600000 321.300000 0 217.700000 321.300000 0 217.700000 322.000000 0 +updateFillColor 0.894104 0.894104 0.894104 1.000000 +eoFillPath subpath 1 217.700000 321.300000 0 530.600000 321.300000 0 530.600000 320.500000 0 217.700000 320.500000 0 217.700000 321.300000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 217.700000 320.500000 0 530.600000 320.500000 0 530.600000 319.700000 0 217.700000 319.700000 0 217.700000 320.500000 0 +updateFillColor 0.901947 0.901947 0.901947 1.000000 +eoFillPath subpath 1 217.700000 319.700000 0 530.600000 319.700000 0 530.600000 319.000000 0 217.700000 319.000000 0 217.700000 319.700000 0 +updateFillColor 0.905869 0.905869 0.905869 1.000000 +eoFillPath subpath 1 217.700000 319.000000 0 530.600000 319.000000 0 530.600000 318.200000 0 217.700000 318.200000 0 217.700000 319.000000 0 +updateFillColor 0.909790 0.909790 0.909790 1.000000 +eoFillPath subpath 1 217.700000 318.200000 0 530.600000 318.200000 0 530.600000 317.500000 0 217.700000 317.500000 0 217.700000 318.200000 0 +updateFillColor 0.913712 0.913712 0.913712 1.000000 +eoFillPath subpath 1 217.700000 317.500000 0 530.600000 317.500000 0 530.600000 316.700000 0 217.700000 316.700000 0 217.700000 317.500000 0 +updateFillColor 0.917633 0.917633 0.917633 1.000000 +eoFillPath subpath 1 217.700000 316.700000 0 530.600000 316.700000 0 530.600000 315.900000 0 217.700000 315.900000 0 217.700000 316.700000 0 +updateFillColor 0.921555 0.921555 0.921555 1.000000 +eoFillPath subpath 1 217.700000 315.900000 0 530.600000 315.900000 0 530.600000 315.200000 0 217.700000 315.200000 0 217.700000 315.900000 0 +updateFillColor 0.925476 0.925476 0.925476 1.000000 +eoFillPath subpath 1 217.700000 315.200000 0 530.600000 315.200000 0 530.600000 314.400000 0 217.700000 314.400000 0 217.700000 315.200000 0 +updateFillColor 0.929398 0.929398 0.929398 1.000000 +eoFillPath subpath 1 217.700000 314.400000 0 530.600000 314.400000 0 530.600000 313.700000 0 217.700000 313.700000 0 217.700000 314.400000 0 +updateFillColor 0.933319 0.933319 0.933319 1.000000 +eoFillPath subpath 1 217.700000 313.700000 0 530.600000 313.700000 0 530.600000 312.900000 0 217.700000 312.900000 0 217.700000 313.700000 0 +updateFillColor 0.937241 0.937241 0.937241 1.000000 +eoFillPath subpath 1 217.700000 312.900000 0 530.600000 312.900000 0 530.600000 312.200000 0 217.700000 312.200000 0 217.700000 312.900000 0 +updateFillColor 0.941162 0.941162 0.941162 1.000000 +eoFillPath subpath 1 217.700000 312.200000 0 530.600000 312.200000 0 530.600000 311.400000 0 217.700000 311.400000 0 217.700000 312.200000 0 +updateFillColor 0.945084 0.945084 0.945084 1.000000 +eoFillPath subpath 1 217.700000 311.400000 0 530.600000 311.400000 0 530.600000 310.600000 0 217.700000 310.600000 0 217.700000 311.400000 0 +updateFillColor 0.949005 0.949005 0.949005 1.000000 +eoFillPath subpath 1 217.700000 310.600000 0 530.600000 310.600000 0 530.600000 309.900000 0 217.700000 309.900000 0 217.700000 310.600000 0 +updateFillColor 0.952927 0.952927 0.952927 1.000000 +eoFillPath subpath 1 217.700000 309.900000 0 530.600000 309.900000 0 530.600000 309.100000 0 217.700000 309.100000 0 217.700000 309.900000 0 +updateFillColor 0.956848 0.956848 0.956848 1.000000 +eoFillPath subpath 1 217.700000 309.100000 0 530.600000 309.100000 0 530.600000 308.400000 0 217.700000 308.400000 0 217.700000 309.100000 0 +updateFillColor 0.960770 0.960770 0.960770 1.000000 +eoFillPath subpath 1 217.700000 308.400000 0 530.600000 308.400000 0 530.600000 307.600000 0 217.700000 307.600000 0 217.700000 308.400000 0 +updateFillColor 0.964691 0.964691 0.964691 1.000000 +eoFillPath subpath 1 217.700000 307.600000 0 530.600000 307.600000 0 530.600000 306.900000 0 217.700000 306.900000 0 217.700000 307.600000 0 +updateFillColor 0.968613 0.968613 0.968613 1.000000 +eoFillPath subpath 1 217.700000 306.900000 0 530.600000 306.900000 0 530.600000 306.100000 0 217.700000 306.100000 0 217.700000 306.900000 0 +updateFillColor 0.972534 0.972534 0.972534 1.000000 +eoFillPath subpath 1 217.700000 306.100000 0 530.600000 306.100000 0 530.600000 305.300000 0 217.700000 305.300000 0 217.700000 306.100000 0 +updateFillColor 0.976456 0.976456 0.976456 1.000000 +eoFillPath subpath 1 217.700000 305.300000 0 530.600000 305.300000 0 530.600000 304.600000 0 217.700000 304.600000 0 217.700000 305.300000 0 +updateFillColor 0.980377 0.980377 0.980377 1.000000 +eoFillPath subpath 1 217.700000 304.600000 0 530.600000 304.600000 0 530.600000 303.800000 0 217.700000 303.800000 0 217.700000 304.600000 0 +updateFillColor 0.984299 0.984299 0.984299 1.000000 +eoFillPath subpath 1 217.700000 303.800000 0 530.600000 303.800000 0 530.600000 303.100000 0 217.700000 303.100000 0 217.700000 303.800000 0 +updateFillColor 0.988220 0.988220 0.988220 1.000000 +eoFillPath subpath 1 217.700000 303.100000 0 530.600000 303.100000 0 530.600000 302.300000 0 217.700000 302.300000 0 217.700000 303.100000 0 +updateFillColor 0.992142 0.992142 0.992142 1.000000 +eoFillPath subpath 1 217.700000 302.300000 0 530.600000 302.300000 0 530.600000 301.500000 0 217.700000 301.500000 0 217.700000 302.300000 0 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +strokePath subpath 1 374.200000 301.600000 0 217.800000 301.600000 0 217.800000 494.900000 0 530.500000 494.900000 0 530.500000 301.600000 0 374.200000 301.600000 0 +saveState +updateCtm 19280.000000 0.000000 0.000000 -13800.000000 24030.000000 46890.000000 +drawSoftMaskedImage 258 185 258 185 PPM 143205 PPM 143205 +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 19860 IAAAAA+Albany +drawChar 247.100000 343.140000 251.549379 335.140000 1.000310 0.000000 0.000000 1.000000 1 +drawChar 251.597394 343.140000 256.046773 335.140000 1.000310 0.000000 0.000000 1.000000 9 +drawChar 256.094788 343.140000 260.544166 335.140000 1.000310 0.000000 0.000000 1.000000 9 +drawChar 260.592181 343.140000 265.041560 335.140000 1.000310 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 273.300000 335.640000 277.749379 327.640000 1.000310 0.000000 0.000000 1.000000 1 +drawChar 277.797394 335.640000 282.246773 327.640000 1.000310 0.000000 0.000000 1.000000 9 +drawChar 282.294788 335.640000 286.744166 327.640000 1.000310 0.000000 0.000000 1.000000 9 +drawChar 286.792181 335.640000 291.241560 327.640000 1.000310 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 299.600000 328.140000 304.049379 320.140000 1.000310 0.000000 0.000000 1.000000 1 +drawChar 304.097394 328.140000 308.546773 320.140000 1.000310 0.000000 0.000000 1.000000 9 +drawChar 308.594788 328.140000 313.044166 320.140000 1.000310 0.000000 0.000000 1.000000 9 +drawChar 313.092181 328.140000 317.541560 320.140000 1.000310 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 325.800000 321.340000 330.249379 313.340000 1.000310 0.000000 0.000000 1.000000 1 +drawChar 330.297394 321.340000 334.746773 313.340000 1.000310 0.000000 0.000000 1.000000 9 +drawChar 334.898820 321.340000 339.348199 313.340000 1.000310 0.000000 0.000000 1.000000 9 +drawChar 339.300184 321.340000 343.749563 313.340000 1.000310 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 232.800000 357.340000 237.249379 349.340000 1.000310 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 232.100000 375.340000 236.549379 367.340000 1.000310 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 226.800000 393.340000 231.249379 385.340000 1.000310 0.000000 0.000000 1.000000 1 +drawChar 231.297394 393.340000 235.746773 385.340000 1.000310 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 226.100000 412.140000 230.549379 404.140000 1.000310 0.000000 0.000000 1.000000 1 +drawChar 230.597394 412.140000 235.046773 404.140000 1.000310 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 225.300000 430.140000 229.749379 422.140000 1.000310 0.000000 0.000000 1.000000 2 +drawChar 229.797394 430.140000 234.246773 422.140000 1.000310 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 223.800000 448.140000 228.249379 440.140000 1.000310 0.000000 0.000000 1.000000 2 +drawChar 228.297394 448.140000 232.746773 440.140000 1.000310 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 361.100000 327.340000 366.429652 319.340000 1.000310 0.000000 0.000000 1.000000 B +drawChar 366.397642 327.340000 368.174192 319.340000 1.000310 0.000000 0.000000 1.000000 l +drawChar 367.894106 327.340000 372.343484 319.340000 1.000310 0.000000 0.000000 1.000000 a +drawChar 372.391499 327.340000 376.392739 319.340000 1.000310 0.000000 0.000000 1.000000 c +drawChar 376.888893 327.340000 380.890133 319.340000 1.000310 0.000000 0.000000 1.000000 k +drawChar 380.586039 327.340000 384.587279 319.340000 1.000310 0.000000 0.000000 1.000000 c +drawChar 385.083433 327.340000 389.532811 319.340000 1.000310 0.000000 0.000000 1.000000 u +drawChar 389.580826 327.340000 392.245652 319.340000 1.000310 0.000000 0.000000 1.000000 r +drawChar 392.581756 327.340000 395.246582 319.340000 1.000310 0.000000 0.000000 1.000000 r +drawChar 395.582686 327.340000 400.032065 319.340000 1.000310 0.000000 0.000000 1.000000 a +drawChar 400.080080 327.340000 404.529459 319.340000 1.000310 0.000000 0.000000 1.000000 n +drawChar 404.577474 327.340000 406.794161 319.340000 1.000310 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 393.300000 346.140000 398.629652 338.140000 1.000310 0.000000 0.000000 1.000000 S +drawChar 398.597642 346.140000 400.814329 338.140000 1.000310 0.000000 0.000000 1.000000 t +drawChar 400.894354 346.140000 403.559179 338.140000 1.000310 0.000000 0.000000 1.000000 r +drawChar 403.791251 346.140000 408.240630 338.140000 1.000310 0.000000 0.000000 1.000000 a +drawChar 408.288645 346.140000 414.066436 338.140000 1.000310 0.000000 0.000000 1.000000 w +drawChar 415.891001 346.140000 420.340380 338.140000 1.000310 0.000000 0.000000 1.000000 b +drawChar 420.388395 346.140000 424.837774 338.140000 1.000310 0.000000 0.000000 1.000000 e +drawChar 424.885789 346.140000 427.550614 338.140000 1.000310 0.000000 0.000000 1.000000 r +drawChar 427.886719 346.140000 430.551544 338.140000 1.000310 0.000000 0.000000 1.000000 r +drawChar 430.887649 346.140000 432.664199 338.140000 1.000310 0.000000 0.000000 1.000000 i +drawChar 432.384112 346.140000 436.833491 338.140000 1.000310 0.000000 0.000000 1.000000 e +drawChar 436.881506 346.140000 440.882746 338.140000 1.000310 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 424.900000 364.140000 430.229652 356.140000 1.000310 0.000000 0.000000 1.000000 A +drawChar 430.901860 364.140000 435.351239 356.140000 1.000310 0.000000 0.000000 1.000000 p +drawChar 435.399254 364.140000 439.848633 356.140000 1.000310 0.000000 0.000000 1.000000 p +drawChar 439.896648 364.140000 441.673198 356.140000 1.000310 0.000000 0.000000 1.000000 l +drawChar 441.393111 364.140000 445.842490 356.140000 1.000310 0.000000 0.000000 1.000000 e +drawChar 445.890505 364.140000 449.891745 356.140000 1.000310 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 1.000000 1.000000 1.000000 1.000000 +updateFont 85 1 0 0 0 1400.000000 0 FAAAAA+Thorndale +drawChar 329.600000 490.874000 339.711133 476.874000 1.000310 0.000000 0.000000 1.000000 H +drawChar 339.305008 490.874000 345.508930 476.874000 1.000310 0.000000 0.000000 1.000000 a +drawChar 345.298865 490.874000 349.962310 476.874000 1.000310 0.000000 0.000000 1.000000 r +drawChar 349.794258 490.874000 356.796428 476.874000 1.000310 0.000000 0.000000 1.000000 v +drawChar 356.600368 490.874000 362.804290 476.874000 1.000310 0.000000 0.000000 1.000000 e +drawChar 362.594225 490.874000 368.041913 476.874000 1.000310 0.000000 0.000000 1.000000 s +drawChar 368.588083 490.874000 372.467285 476.874000 1.000310 0.000000 0.000000 1.000000 t +drawChar 372.285228 490.874000 375.786313 476.874000 1.000310 0.000000 0.000000 1.000000 +drawChar 376.080404 490.874000 383.082574 476.874000 1.000310 0.000000 0.000000 1.000000 o +drawChar 383.586731 490.874000 388.250176 476.874000 1.000310 0.000000 0.000000 1.000000 f +drawChar 388.082124 490.874000 391.583209 476.874000 1.000310 0.000000 0.000000 1.000000 +drawChar 391.779270 490.874000 399.565683 476.874000 1.000310 0.000000 0.000000 1.000000 F +drawChar 400.083843 490.874000 404.747288 476.874000 1.000310 0.000000 0.000000 1.000000 r +drawChar 404.579236 490.874000 411.581406 476.874000 1.000310 0.000000 0.000000 1.000000 u +drawChar 411.385346 490.874000 415.264548 476.874000 1.000310 0.000000 0.000000 1.000000 i +drawChar 414.382274 490.874000 418.261477 476.874000 1.000310 0.000000 0.000000 1.000000 t +endTextObject +restoreState +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +saveState +updateLineWidth 0.000000 +updateLineCap 0 +updateLineJoin 1 +strokePath subpath 1 496.500000 370.300000 0 463.400000 370.300000 0 463.400000 428.800000 0 529.700000 428.800000 0 529.700000 370.300000 0 496.500000 370.300000 0 +restoreState +updateFillColor 0.901947 0.901947 0.901947 1.000000 +eoFillPath subpath 1 470.900000 419.200000 0 468.000000 419.200000 0 468.000000 425.100000 0 473.900000 425.100000 0 473.900000 419.200000 0 470.900000 419.200000 0 +updateFillColor 0.298019 0.298019 0.298019 1.000000 +eoFillPath subpath 1 470.900000 408.600000 0 468.000000 408.600000 0 468.000000 414.500000 0 473.900000 414.500000 0 473.900000 408.600000 0 470.900000 408.600000 0 +updateFillColor 0.399994 0.399994 0.399994 1.000000 +eoFillPath subpath 1 470.900000 397.900000 0 468.000000 397.900000 0 468.000000 403.900000 0 473.900000 403.900000 0 473.900000 397.900000 0 470.900000 397.900000 0 +updateFillColor 0.799988 0.799988 0.799988 1.000000 +eoFillPath subpath 1 470.900000 387.300000 0 468.000000 387.300000 0 468.000000 393.300000 0 473.900000 393.300000 0 473.900000 387.300000 0 470.900000 387.300000 0 +updateFillColor 0.199997 0.199997 0.199997 1.000000 +eoFillPath subpath 1 470.900000 376.700000 0 468.000000 376.700000 0 468.000000 382.600000 0 473.900000 382.600000 0 473.900000 376.700000 0 470.900000 376.700000 0 +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 476.600000 425.640000 481.929652 417.640000 1.000310 0.000000 0.000000 1.000000 B +drawChar 481.897642 425.640000 483.674192 417.640000 1.000310 0.000000 0.000000 1.000000 l +drawChar 483.394106 425.640000 487.843484 417.640000 1.000310 0.000000 0.000000 1.000000 a +drawChar 487.891499 425.640000 491.892739 417.640000 1.000310 0.000000 0.000000 1.000000 c +drawChar 492.388893 425.640000 496.390133 417.640000 1.000310 0.000000 0.000000 1.000000 k +drawChar 496.086039 425.640000 500.087279 417.640000 1.000310 0.000000 0.000000 1.000000 c +drawChar 500.583433 425.640000 505.032811 417.640000 1.000310 0.000000 0.000000 1.000000 u +drawChar 505.080826 425.640000 507.745652 417.640000 1.000310 0.000000 0.000000 1.000000 r +drawChar 508.081756 425.640000 510.746582 417.640000 1.000310 0.000000 0.000000 1.000000 r +drawChar 511.082686 425.640000 515.532065 417.640000 1.000310 0.000000 0.000000 1.000000 a +drawChar 515.580080 425.640000 520.029459 417.640000 1.000310 0.000000 0.000000 1.000000 n +drawChar 520.181506 425.640000 522.398193 417.640000 1.000310 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 476.600000 415.140000 482.377791 407.140000 1.000310 0.000000 0.000000 1.000000 R +drawChar 481.897642 415.140000 486.347021 407.140000 1.000310 0.000000 0.000000 1.000000 e +drawChar 486.395036 415.140000 490.844414 407.140000 1.000310 0.000000 0.000000 1.000000 d +drawChar 490.892429 415.140000 494.893669 407.140000 1.000310 0.000000 0.000000 1.000000 c +drawChar 495.389823 415.140000 499.839202 407.140000 1.000310 0.000000 0.000000 1.000000 u +drawChar 499.887217 415.140000 502.552043 407.140000 1.000310 0.000000 0.000000 1.000000 r +drawChar 502.888147 415.140000 505.552973 407.140000 1.000310 0.000000 0.000000 1.000000 r +drawChar 505.889077 415.140000 510.338456 407.140000 1.000310 0.000000 0.000000 1.000000 a +drawChar 510.386471 415.140000 514.835849 407.140000 1.000310 0.000000 0.000000 1.000000 n +drawChar 514.883864 415.140000 517.100551 407.140000 1.000310 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 476.600000 404.640000 481.929652 396.640000 1.000310 0.000000 0.000000 1.000000 S +drawChar 481.897642 404.640000 484.114329 396.640000 1.000310 0.000000 0.000000 1.000000 t +drawChar 484.098324 404.640000 486.763150 396.640000 1.000310 0.000000 0.000000 1.000000 r +drawChar 487.099254 404.640000 491.548633 396.640000 1.000310 0.000000 0.000000 1.000000 a +drawChar 491.596648 404.640000 497.374438 396.640000 1.000310 0.000000 0.000000 1.000000 w +drawChar 499.094971 404.640000 503.544350 396.640000 1.000310 0.000000 0.000000 1.000000 b +drawChar 503.696397 404.640000 508.145776 396.640000 1.000310 0.000000 0.000000 1.000000 e +drawChar 508.097761 404.640000 510.762587 396.640000 1.000310 0.000000 0.000000 1.000000 r +drawChar 511.098691 404.640000 513.763517 396.640000 1.000310 0.000000 0.000000 1.000000 r +drawChar 514.099621 404.640000 515.876172 396.640000 1.000310 0.000000 0.000000 1.000000 i +drawChar 515.596085 404.640000 520.045464 396.640000 1.000310 0.000000 0.000000 1.000000 e +drawChar 520.197511 404.640000 524.198751 396.640000 1.000310 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 476.600000 394.140000 482.377791 386.140000 1.000310 0.000000 0.000000 1.000000 C +drawChar 481.897642 394.140000 486.347021 386.140000 1.000310 0.000000 0.000000 1.000000 h +drawChar 486.395036 394.140000 490.844414 386.140000 1.000310 0.000000 0.000000 1.000000 e +drawChar 490.892429 394.140000 493.557255 386.140000 1.000310 0.000000 0.000000 1.000000 r +drawChar 493.893359 394.140000 496.558185 386.140000 1.000310 0.000000 0.000000 1.000000 r +drawChar 496.894289 394.140000 498.670840 386.140000 1.000310 0.000000 0.000000 1.000000 i +drawChar 498.390753 394.140000 502.840132 386.140000 1.000310 0.000000 0.000000 1.000000 e +drawChar 502.888147 394.140000 506.889387 386.140000 1.000310 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 100 1 0 0 0 800.000000 0 IAAAAA+Albany +drawChar 476.600000 383.640000 481.929652 375.640000 1.000310 0.000000 0.000000 1.000000 A +drawChar 482.601860 383.640000 487.051239 375.640000 1.000310 0.000000 0.000000 1.000000 p +drawChar 487.099254 383.640000 491.548633 375.640000 1.000310 0.000000 0.000000 1.000000 p +drawChar 491.596648 383.640000 493.373198 375.640000 1.000310 0.000000 0.000000 1.000000 l +drawChar 493.093111 383.640000 497.542490 375.640000 1.000310 0.000000 0.000000 1.000000 e +drawChar 497.590505 383.640000 501.591745 375.640000 1.000310 0.000000 0.000000 1.000000 s +endTextObject +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 550.900000 0 504.000000 550.900000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 550.900000 0 +eoFillPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 241.100000 0 72.000000 241.100000 0 72.000000 72.000000 0 +eoFillPath subpath 1 72.000000 241.100000 0 116.200000 241.100000 0 116.200000 550.900000 0 72.000000 550.900000 0 72.000000 241.100000 0 +eoFillPath subpath 1 459.700000 241.100000 0 504.000000 241.100000 0 504.000000 550.900000 0 459.700000 550.900000 0 459.700000 241.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 701.500000 0 504.000000 701.500000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 701.500000 0 +eoFillPath subpath 1 72.000000 72.700000 0 504.000000 72.700000 0 504.000000 86.100000 0 72.000000 86.100000 0 72.000000 72.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 321.900000 716.588000 335.228000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 335.196000 716.588000 343.196000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 343.292000 716.588000 347.740000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.788000 716.588000 359.340000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 359.388000 716.588000 368.284000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 368.284000 716.588000 377.180000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 377.180000 716.588000 385.180000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 385.180000 716.588000 394.076000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.284000 716.588000 398.732000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.684000 716.588000 404.012000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 404.092000 716.588000 408.540000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 408.600000 716.588000 421.048000 700.588000 1.000000 0.000000 0.000000 1.000000 G +drawChar 421.000000 716.588000 429.896000 700.588000 1.000000 0.000000 0.000000 1.000000 a +drawChar 429.896000 716.588000 435.224000 700.588000 1.000000 0.000000 0.000000 1.000000 r +drawChar 435.192000 716.588000 444.088000 700.588000 1.000000 0.000000 0.000000 1.000000 d +drawChar 444.200000 716.588000 453.096000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 453.096000 716.588000 461.992000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 462.200000 716.588000 466.648000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 466.600000 716.588000 477.272000 700.588000 1.000000 0.000000 0.000000 1.000000 S +drawChar 477.304000 716.588000 486.200000 700.588000 1.000000 0.000000 0.000000 1.000000 h +drawChar 486.200000 716.588000 495.096000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.096000 716.588000 503.992000 700.588000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 669.288000 84.548000 653.288000 1.000000 0.000000 0.000000 1.000000 G +drawChar 84.500000 669.288000 93.396000 653.288000 1.000000 0.000000 0.000000 1.000000 a +drawChar 93.396000 669.288000 99.620000 653.288000 1.000000 0.000000 0.000000 1.000000 r +drawChar 99.700000 669.288000 109.476000 653.288000 1.000000 0.000000 0.000000 1.000000 d +drawChar 109.508000 669.288000 118.404000 653.288000 1.000000 0.000000 0.000000 1.000000 e +drawChar 118.404000 669.288000 128.180000 653.288000 1.000000 0.000000 0.000000 1.000000 n +drawChar 128.404000 669.288000 132.852000 653.288000 1.000000 0.000000 0.000000 1.000000 +drawChar 132.900000 669.288000 143.572000 653.288000 1.000000 0.000000 0.000000 1.000000 S +drawChar 143.508000 669.288000 153.284000 653.288000 1.000000 0.000000 0.000000 1.000000 h +drawChar 153.316000 669.288000 162.212000 653.288000 1.000000 0.000000 0.000000 1.000000 e +drawChar 162.324000 669.288000 172.100000 653.288000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 648.092000 193.492000 636.092000 1.000000 0.000000 0.000000 1.000000 B +drawChar 193.504000 648.092000 198.820000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 198.808000 648.092000 204.808000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 204.808000 648.092000 208.132000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 208.204000 648.092000 214.204000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 214.204000 648.092000 220.204000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 220.300000 648.092000 223.300000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 223.504000 648.092000 226.828000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 226.804000 648.092000 232.804000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 232.900000 648.092000 238.216000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 238.300000 648.092000 241.300000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.504000 648.092000 246.820000 636.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 246.808000 648.092000 252.124000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 252.112000 648.092000 256.108000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 256.108000 648.092000 262.108000 636.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 262.012000 648.092000 268.012000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 268.012000 648.092000 272.008000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 272.116000 648.092000 275.440000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 275.416000 648.092000 278.416000 636.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 278.716000 648.092000 281.716000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.920000 648.092000 287.920000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 287.920000 648.092000 293.920000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 294.016000 648.092000 297.016000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 297.220000 648.092000 300.544000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 300.520000 648.092000 306.520000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 306.616000 648.092000 311.932000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 312.016000 648.092000 315.016000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.220000 648.092000 318.544000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 318.520000 648.092000 323.836000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 323.824000 648.092000 327.820000 636.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 327.820000 648.092000 331.144000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 331.420000 648.092000 334.420000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 334.624000 648.092000 339.292000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 339.220000 648.092000 342.544000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 342.616000 648.092000 348.616000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 348.520000 648.092000 353.836000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.124000 648.092000 357.124000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 357.328000 648.092000 363.328000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 363.328000 648.092000 367.324000 636.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 367.432000 648.092000 370.432000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 370.636000 648.092000 373.960000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 373.936000 648.092000 379.936000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 380.032000 648.092000 385.348000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 385.432000 648.092000 388.432000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 388.636000 648.092000 394.636000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 394.732000 648.092000 400.732000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 400.636000 648.092000 406.636000 636.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 406.636000 648.092000 411.304000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 411.340000 648.092000 416.656000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 416.644000 648.092000 419.644000 636.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 419.848000 648.092000 422.848000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 423.052000 648.092000 426.376000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 426.352000 648.092000 431.020000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 431.152000 648.092000 434.152000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.356000 648.092000 439.672000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 439.852000 648.092000 442.852000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 443.056000 648.092000 449.056000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 449.056000 648.092000 454.372000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 454.360000 648.092000 458.356000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 458.356000 648.092000 464.356000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 464.260000 648.092000 469.576000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 469.564000 648.092000 475.564000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 475.864000 648.092000 478.864000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 479.068000 648.092000 483.736000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 483.664000 648.092000 489.664000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 489.760000 648.092000 495.076000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 495.064000 648.092000 501.064000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 500.968000 648.092000 503.968000 636.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 648.092000 507.100000 636.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 634.692000 192.820000 622.692000 1.000000 0.000000 0.000000 1.000000 T +drawChar 192.796000 634.692000 198.796000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 198.892000 634.692000 204.208000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 205.096000 634.692000 208.096000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 209.092000 634.692000 214.408000 622.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 214.396000 634.692000 219.712000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 219.700000 634.692000 223.696000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 223.696000 634.692000 229.696000 622.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 229.600000 634.692000 235.600000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 235.600000 634.692000 239.596000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 239.596000 634.692000 242.920000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 244.000000 634.692000 247.000000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.996000 634.692000 253.312000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 253.300000 634.692000 259.300000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 259.300000 634.692000 265.300000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 266.296000 634.692000 269.296000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 270.292000 634.692000 273.616000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 273.592000 634.692000 279.592000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 279.688000 634.692000 285.004000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 285.892000 634.692000 288.892000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 289.888000 634.692000 294.556000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 294.592000 634.692000 300.592000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 300.592000 634.692000 305.908000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 305.896000 634.692000 311.896000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 312.892000 634.692000 315.892000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 316.888000 634.692000 322.204000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 322.192000 634.692000 326.188000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 326.188000 634.692000 331.504000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.488000 634.692000 335.488000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 336.484000 634.692000 342.484000 622.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 342.484000 634.692000 348.484000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 348.484000 634.692000 351.808000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 351.688000 634.692000 357.688000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 358.792000 634.692000 361.792000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.788000 634.692000 372.112000 622.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 372.088000 634.692000 377.404000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 377.392000 634.692000 383.392000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 383.296000 634.692000 388.612000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 389.692000 634.692000 392.692000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.688000 634.692000 399.688000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 399.688000 634.692000 403.684000 622.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 404.692000 634.692000 407.692000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 408.688000 634.692000 414.688000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 414.592000 634.692000 419.908000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 419.896000 634.692000 423.892000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 423.892000 634.692000 429.892000 622.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 430.888000 634.692000 433.888000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.884000 634.692000 443.548000 622.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 443.584000 634.692000 449.584000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 449.584000 634.692000 455.584000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 455.584000 634.692000 461.584000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 461.488000 634.692000 464.488000 622.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.484000 634.692000 468.484000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 469.480000 634.692000 473.476000 622.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 473.476000 634.692000 476.800000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 476.776000 634.692000 478.936000 622.692000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 478.972000 634.692000 483.640000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 484.672000 634.692000 487.672000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.668000 634.692000 494.668000 622.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 494.572000 634.692000 497.896000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 497.968000 634.692000 503.968000 622.692000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 634.692000 507.100000 622.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 621.192000 190.816000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 190.804000 621.192000 196.804000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 196.804000 621.192000 202.804000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 202.804000 621.192000 208.804000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 208.804000 621.192000 214.804000 609.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 214.804000 621.192000 220.804000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 221.200000 621.192000 224.200000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.500000 621.192000 227.824000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 227.800000 621.192000 233.800000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 234.196000 621.192000 237.196000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 237.592000 621.192000 242.260000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 242.296000 621.192000 245.620000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 245.596000 621.192000 251.596000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 251.596000 621.192000 255.592000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 255.592000 621.192000 260.908000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 261.196000 621.192000 264.196000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.592000 621.192000 267.916000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 267.796000 621.192000 273.796000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 273.892000 621.192000 279.208000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 279.592000 621.192000 282.592000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.988000 621.192000 286.312000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 286.288000 621.192000 292.288000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 292.288000 621.192000 298.288000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 298.288000 621.192000 301.612000 609.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 301.588000 621.192000 306.256000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 306.292000 621.192000 309.292000 609.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 309.988000 621.192000 312.988000 609.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 313.100000 621.192000 319.100000 609.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 319.100000 621.192000 324.416000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 324.404000 621.192000 328.400000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 328.400000 621.192000 334.400000 609.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 334.304000 621.192000 339.620000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 339.608000 621.192000 345.608000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 346.112000 621.192000 349.112000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.412000 621.192000 353.408000 609.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 353.408000 621.192000 359.408000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 359.408000 621.192000 363.404000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 363.404000 621.192000 369.404000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 369.308000 621.192000 372.632000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 372.704000 621.192000 376.028000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 376.004000 621.192000 382.004000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 382.004000 621.192000 386.000000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 386.000000 621.192000 391.316000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 391.304000 621.192000 394.304000 609.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 395.108000 621.192000 398.108000 609.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 398.100000 621.192000 401.424000 609.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 401.400000 621.192000 406.716000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 406.704000 621.192000 415.368000 609.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 415.404000 621.192000 421.404000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 421.404000 621.192000 430.728000 609.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 430.704000 621.192000 436.704000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 436.704000 621.192000 445.368000 609.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 445.404000 621.192000 450.720000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 450.708000 621.192000 454.704000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 455.112000 621.192000 458.112000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 458.508000 621.192000 463.824000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 463.812000 621.192000 469.812000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 469.812000 621.192000 475.812000 609.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 476.508000 621.192000 479.508000 609.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 479.500000 621.192000 485.500000 609.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 485.500000 621.192000 488.824000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 488.896000 621.192000 494.212000 609.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 494.200000 621.192000 500.200000 609.192000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 621.192000 504.196000 609.192000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 607.792000 190.816000 595.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 607.792000 194.128000 595.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 194.104000 607.792000 199.420000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 199.408000 607.792000 204.076000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 204.112000 607.792000 207.112000 595.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 72.100000 573.152000 80.654000 559.152000 1.000000 0.000000 0.000000 1.000000 T +drawChar 80.598000 573.152000 89.152000 559.152000 1.000000 0.000000 0.000000 1.000000 o +drawChar 89.096000 573.152000 97.650000 559.152000 1.000000 0.000000 0.000000 1.000000 o +drawChar 97.594000 573.152000 101.486000 559.152000 1.000000 0.000000 0.000000 1.000000 l +drawChar 101.500000 573.152000 109.284000 559.152000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 553.992000 194.164000 541.992000 1.000000 0.000000 0.000000 1.000000 A +drawChar 194.200000 553.992000 197.524000 541.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 197.500000 553.992000 200.824000 541.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 202.096000 553.992000 205.096000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 206.392000 553.992000 215.716000 541.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 215.692000 553.992000 221.692000 541.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 223.096000 553.992000 226.096000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 227.392000 553.992000 230.716000 541.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 230.692000 553.992000 236.692000 541.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 236.692000 553.992000 242.692000 541.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 242.692000 553.992000 246.016000 541.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 245.992000 553.992000 250.660000 541.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 251.992000 553.992000 254.992000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 256.288000 553.992000 261.604000 541.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 261.592000 553.992000 265.588000 541.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 265.588000 553.992000 270.904000 541.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 272.284000 553.992000 275.284000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 276.580000 553.992000 282.580000 541.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 282.580000 553.992000 287.896000 541.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 287.884000 553.992000 293.884000 541.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 293.788000 553.992000 297.112000 541.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 298.492000 553.992000 301.492000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.788000 553.992000 306.112000 541.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 306.088000 553.992000 312.088000 541.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 312.088000 553.992000 318.088000 541.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 318.088000 553.992000 323.404000 541.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 323.392000 553.992000 326.716000 541.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 326.692000 553.992000 332.692000 541.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 332.788000 553.992000 338.104000 541.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 338.092000 553.992000 342.088000 541.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 343.492000 553.992000 346.492000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.788000 553.992000 356.452000 541.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 356.392000 553.992000 359.716000 541.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 359.788000 553.992000 363.112000 541.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 362.992000 553.992000 368.992000 541.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 370.396000 553.992000 373.396000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 374.692000 553.992000 379.360000 541.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 379.396000 553.992000 388.720000 541.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 388.696000 553.992000 394.012000 541.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 394.000000 553.992000 397.324000 541.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 397.300000 553.992000 400.624000 541.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 402.004000 553.992000 405.004000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 406.300000 553.992000 412.300000 541.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 412.204000 553.992000 417.520000 541.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 417.508000 553.992000 421.504000 541.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 421.504000 553.992000 424.828000 541.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 424.804000 553.992000 429.472000 541.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 430.900000 553.992000 433.900000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 435.196000 553.992000 439.864000 541.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 439.900000 553.992000 445.900000 541.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 445.900000 553.992000 451.216000 541.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 451.096000 553.992000 457.096000 541.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 458.500000 553.992000 461.500000 541.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.796000 553.992000 468.112000 541.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 468.100000 553.992000 472.768000 541.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 475.396000 553.992000 478.396000 541.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 478.500000 553.992000 484.500000 541.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 484.500000 553.992000 489.816000 541.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 489.696000 553.992000 493.020000 541.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 493.092000 553.992000 496.416000 541.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 496.392000 553.992000 501.060000 541.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 501.096000 553.992000 504.096000 541.992000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 553.992000 507.100000 541.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 540.492000 190.168000 528.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 540.492000 195.520000 528.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 195.508000 540.492000 199.504000 528.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 199.504000 540.492000 204.820000 528.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 204.808000 540.492000 213.472000 528.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 213.508000 540.492000 218.176000 528.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 218.812000 540.492000 221.812000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 222.412000 540.492000 227.728000 528.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 227.716000 540.492000 233.716000 528.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 233.716000 540.492000 239.716000 528.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 240.916000 540.492000 243.916000 528.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 243.900000 540.492000 249.900000 528.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 249.900000 540.492000 255.900000 528.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 255.900000 540.492000 259.224000 528.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 259.200000 540.492000 262.524000 528.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 262.500000 540.492000 267.168000 528.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 267.804000 540.492000 270.804000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.404000 540.492000 274.728000 528.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 274.800000 540.492000 280.800000 528.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 281.400000 540.492000 284.400000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 285.000000 540.492000 290.316000 528.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 290.904000 540.492000 293.904000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.104000 540.492000 298.104000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 298.704000 540.492000 302.028000 528.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 302.004000 540.492000 308.004000 528.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 308.004000 540.492000 314.004000 528.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 314.004000 540.492000 317.328000 528.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 317.304000 540.492000 323.304000 528.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 323.304000 540.492000 329.304000 528.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 329.304000 540.492000 335.304000 528.492000 1.000000 0.000000 0.000000 1.000000 x +drawChar 335.304000 540.492000 338.304000 528.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 339.000000 540.492000 342.000000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 342.600000 540.492000 351.264000 528.492000 1.000000 0.000000 0.000000 1.000000 A +drawChar 351.300000 540.492000 360.624000 528.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 360.600000 540.492000 366.600000 528.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 366.600000 540.492000 372.600000 528.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 372.600000 540.492000 378.600000 528.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 379.200000 540.492000 382.200000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 382.800000 540.492000 388.800000 528.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 388.800000 540.492000 392.124000 528.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 392.004000 540.492000 398.004000 528.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 398.100000 540.492000 403.416000 528.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 403.404000 540.492000 407.400000 528.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 408.000000 540.492000 411.000000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 411.600000 540.492000 414.924000 528.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 414.900000 540.492000 420.900000 528.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 420.900000 540.492000 424.224000 528.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 424.296000 540.492000 430.296000 528.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 430.296000 540.492000 436.296000 528.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 436.296000 540.492000 440.964000 528.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 441.000000 540.492000 444.000000 528.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 444.600000 540.492000 447.600000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 448.200000 540.492000 451.524000 528.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 451.404000 540.492000 457.404000 528.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 457.500000 540.492000 462.816000 528.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 463.404000 540.492000 466.404000 528.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.004000 540.492000 470.328000 528.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 470.304000 540.492000 476.304000 528.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 476.304000 540.492000 482.304000 528.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 482.304000 540.492000 485.628000 528.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 485.604000 540.492000 491.604000 528.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 491.604000 540.492000 497.604000 528.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 497.604000 540.492000 503.604000 528.492000 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 540.492000 507.100000 528.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 527.092000 190.816000 515.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 527.092000 196.804000 515.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 196.804000 527.092000 202.804000 515.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 202.804000 527.092000 206.128000 515.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 206.104000 527.092000 211.420000 515.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 211.408000 527.092000 214.732000 515.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 214.804000 527.092000 220.804000 515.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 220.804000 527.092000 225.472000 515.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 226.204000 527.092000 229.204000 515.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 230.008000 527.092000 236.008000 515.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 235.912000 527.092000 239.236000 515.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 239.308000 527.092000 245.308000 515.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 245.308000 527.092000 250.624000 515.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 250.612000 527.092000 254.608000 515.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 254.608000 527.092000 259.276000 515.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 259.312000 527.092000 264.628000 515.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 266.308000 527.092000 269.308000 515.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 269.300000 527.092000 275.300000 515.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 275.204000 527.092000 278.528000 515.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 278.504000 527.092000 281.828000 515.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 281.900000 527.092000 287.216000 515.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 287.204000 527.092000 291.200000 515.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 291.200000 527.092000 295.868000 515.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 295.904000 527.092000 298.904000 515.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 300.500000 527.092000 303.500000 515.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 303.500000 527.092000 308.168000 515.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 308.204000 527.092000 313.520000 515.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 313.508000 527.092000 317.504000 515.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 317.504000 527.092000 322.820000 515.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 322.808000 527.092000 331.472000 515.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 331.508000 527.092000 337.508000 515.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 337.412000 527.092000 341.408000 515.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 341.408000 527.092000 344.732000 515.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 344.804000 527.092000 350.804000 515.092000 1.000000 0.000000 0.000000 1.000000 v +drawChar 350.708000 527.092000 356.024000 515.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 356.012000 527.092000 360.008000 515.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 360.008000 527.092000 364.676000 515.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 365.612000 527.092000 368.612000 515.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.416000 527.092000 374.732000 515.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 374.720000 527.092000 380.720000 515.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 380.720000 527.092000 386.720000 515.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 388.220000 527.092000 391.220000 515.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 391.300000 527.092000 399.964000 515.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 399.904000 527.092000 403.900000 515.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 403.900000 527.092000 409.216000 515.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.204000 527.092000 415.204000 515.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 415.204000 527.092000 420.520000 515.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 420.508000 527.092000 426.508000 515.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 426.604000 527.092000 431.920000 515.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 431.908000 527.092000 436.576000 515.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 436.612000 527.092000 439.612000 515.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.308000 527.092000 443.308000 515.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 444.112000 527.092000 451.432000 515.092000 1.000000 0.000000 0.000000 1.000000 L +drawChar 451.516000 527.092000 456.832000 515.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 456.820000 527.092000 460.816000 515.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 460.816000 527.092000 466.816000 515.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 466.816000 527.092000 472.132000 515.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 472.120000 527.092000 476.116000 515.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 476.824000 527.092000 479.824000 515.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 480.628000 527.092000 483.952000 515.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 483.928000 527.092000 489.928000 515.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 489.928000 527.092000 495.928000 515.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 495.928000 527.092000 499.252000 515.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 499.228000 527.092000 503.896000 515.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.000000 527.092000 507.000000 515.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 513.592000 190.168000 501.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 513.592000 196.204000 501.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 196.204000 513.592000 201.520000 501.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 201.400000 513.592000 207.400000 501.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 208.300000 513.592000 211.300000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 212.200000 513.592000 217.516000 501.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 217.504000 513.592000 222.172000 501.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 223.108000 513.592000 226.108000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 227.812000 513.592000 230.812000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 233.512000 513.592000 236.512000 501.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 236.500000 513.592000 241.168000 501.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 241.204000 513.592000 246.520000 501.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 246.508000 513.592000 255.172000 501.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 255.112000 513.592000 259.780000 501.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 260.716000 513.592000 263.716000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.616000 513.592000 270.616000 501.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 270.616000 513.592000 274.612000 501.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 275.416000 513.592000 278.416000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 279.316000 513.592000 282.640000 501.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 282.616000 513.592000 288.616000 501.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 288.712000 513.592000 294.028000 501.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 295.708000 513.592000 298.708000 501.592000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 298.700000 513.592000 304.700000 501.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 304.604000 513.592000 308.600000 501.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 308.600000 513.592000 311.924000 501.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 311.996000 513.592000 315.320000 501.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 315.296000 513.592000 318.620000 501.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 319.592000 513.592000 322.592000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 323.492000 513.592000 329.492000 501.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 329.492000 513.592000 334.808000 501.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 334.796000 513.592000 340.796000 501.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 340.796000 513.592000 346.796000 501.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 347.600000 513.592000 350.600000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.500000 513.592000 357.500000 501.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.500000 513.592000 363.500000 501.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 364.400000 513.592000 367.400000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.300000 513.592000 371.624000 501.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 371.504000 513.592000 377.504000 501.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 377.600000 513.592000 382.916000 501.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 383.804000 513.592000 386.804000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 387.704000 513.592000 396.368000 501.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 396.404000 513.592000 401.720000 501.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 401.708000 513.592000 405.032000 501.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 405.008000 513.592000 408.332000 501.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 409.208000 513.592000 412.208000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.108000 513.592000 419.108000 501.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 419.108000 513.592000 423.104000 501.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 424.004000 513.592000 427.004000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 427.904000 513.592000 431.900000 501.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 431.804000 513.592000 435.800000 501.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 435.800000 513.592000 441.800000 501.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 441.800000 513.592000 451.124000 501.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 452.000000 513.592000 455.000000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.900000 513.592000 459.224000 501.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 459.200000 513.592000 465.200000 501.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 465.296000 513.592000 470.612000 501.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 471.392000 513.592000 474.392000 501.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.292000 513.592000 483.956000 501.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 483.992000 513.592000 489.992000 501.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 489.992000 513.592000 493.988000 501.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 493.988000 513.592000 499.988000 501.592000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.100000 513.592000 504.096000 501.592000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 500.192000 191.500000 488.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 191.500000 500.192000 196.816000 488.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 196.804000 500.192000 202.804000 488.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 202.804000 500.192000 208.120000 488.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 208.108000 500.192000 214.108000 488.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 214.204000 500.192000 217.204000 488.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 217.204000 500.192000 220.204000 488.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 220.204000 500.192000 224.872000 488.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 224.800000 500.192000 230.800000 488.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 230.800000 500.192000 236.116000 488.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 236.104000 500.192000 242.104000 488.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 242.200000 500.192000 245.200000 488.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 245.200000 500.192000 250.516000 488.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 250.396000 500.192000 255.064000 488.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 255.100000 500.192000 258.100000 488.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.100000 500.192000 261.424000 488.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 261.400000 500.192000 267.400000 488.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 267.496000 500.192000 272.812000 488.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 272.800000 500.192000 275.800000 488.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 275.800000 500.192000 281.800000 488.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 281.896000 500.192000 287.212000 488.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 287.200000 500.192000 296.524000 488.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 296.500000 500.192000 305.824000 488.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 305.800000 500.192000 311.116000 488.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 311.104000 500.192000 315.100000 488.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 315.100000 500.192000 318.100000 488.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 318.100000 500.192000 323.416000 488.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 323.404000 500.192000 329.404000 488.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 329.404000 500.192000 335.404000 488.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 335.500000 500.192000 338.500000 488.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 338.500000 500.192000 343.816000 488.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 343.804000 500.192000 349.804000 488.192000 1.000000 0.000000 0.000000 1.000000 x +drawChar 349.804000 500.192000 352.804000 488.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1400.000000 0 Helvetica-Bold +drawChar 72.100000 465.552000 82.992000 451.552000 1.000000 0.000000 0.000000 1.000000 G +drawChar 82.894000 465.552000 90.678000 451.552000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.692000 465.552000 96.138000 451.552000 1.000000 0.000000 0.000000 1.000000 r +drawChar 96.096000 465.552000 104.650000 451.552000 1.000000 0.000000 0.000000 1.000000 d +drawChar 104.594000 465.552000 112.378000 451.552000 1.000000 0.000000 0.000000 1.000000 e +drawChar 112.294000 465.552000 120.848000 451.552000 1.000000 0.000000 0.000000 1.000000 n +drawChar 120.792000 465.552000 124.684000 451.552000 1.000000 0.000000 0.000000 1.000000 +drawChar 124.698000 465.552000 133.252000 451.552000 1.000000 0.000000 0.000000 1.000000 T +drawChar 133.196000 465.552000 141.750000 451.552000 1.000000 0.000000 0.000000 1.000000 o +drawChar 141.694000 465.552000 150.248000 451.552000 1.000000 0.000000 0.000000 1.000000 o +drawChar 150.192000 465.552000 154.084000 451.552000 1.000000 0.000000 0.000000 1.000000 l +drawChar 154.098000 465.552000 161.882000 451.552000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 446.392000 192.820000 434.392000 1.000000 0.000000 0.000000 1.000000 T +drawChar 192.796000 446.392000 198.796000 434.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 198.892000 446.392000 204.208000 434.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 205.288000 446.392000 208.288000 434.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 208.300000 446.392000 211.624000 434.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 211.600000 446.392000 216.916000 434.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 216.904000 446.392000 225.568000 434.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 225.604000 446.392000 231.604000 434.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 231.604000 446.392000 240.928000 434.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 240.904000 446.392000 246.904000 434.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 246.904000 446.392000 255.568000 434.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 255.604000 446.392000 260.920000 434.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 260.908000 446.392000 264.904000 434.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 264.904000 446.392000 267.904000 434.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 269.008000 446.392000 272.008000 434.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 272.000000 446.392000 278.000000 434.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 278.096000 446.392000 283.412000 434.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 283.400000 446.392000 289.400000 434.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 289.304000 446.392000 295.304000 434.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 295.304000 446.392000 300.620000 434.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 300.608000 446.392000 304.604000 434.392000 1.000000 0.000000 0.000000 1.000000 - +drawChar 304.712000 446.392000 310.028000 434.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 310.016000 446.392000 313.340000 434.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 313.316000 446.392000 316.640000 434.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 316.712000 446.392000 322.712000 434.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 322.616000 446.392000 328.616000 434.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 328.520000 446.392000 333.836000 434.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 333.824000 446.392000 337.820000 434.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 337.820000 446.392000 342.488000 434.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 343.220000 446.392000 346.220000 434.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.724000 446.392000 352.040000 434.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 352.028000 446.392000 358.028000 434.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 358.028000 446.392000 364.028000 434.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 365.228000 446.392000 368.228000 434.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 368.200000 446.392000 372.196000 434.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 372.196000 446.392000 377.512000 434.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 377.500000 446.392000 383.500000 434.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 383.500000 446.392000 388.816000 434.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 389.404000 446.392000 392.404000 434.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.004000 446.392000 398.320000 434.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 398.308000 446.392000 402.304000 434.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 402.304000 446.392000 407.620000 434.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 408.208000 446.392000 411.208000 434.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 411.712000 446.392000 417.712000 434.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 417.712000 446.392000 423.028000 434.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 423.016000 446.392000 428.332000 434.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 428.320000 446.392000 433.636000 434.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 433.624000 446.392000 438.292000 434.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 438.328000 446.392000 442.996000 434.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 443.032000 446.392000 448.348000 434.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 448.336000 446.392000 452.332000 434.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 452.332000 446.392000 458.332000 434.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 458.932000 446.392000 461.932000 434.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.436000 446.392000 465.760000 434.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 465.736000 446.392000 471.736000 434.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 471.736000 446.392000 477.736000 434.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 477.736000 446.392000 481.060000 434.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 481.036000 446.392000 485.704000 434.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 486.340000 446.392000 489.340000 434.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.940000 446.392000 493.936000 434.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 493.936000 446.392000 499.936000 434.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 499.936000 446.392000 503.932000 434.392000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.000000 446.392000 507.000000 434.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 432.892000 194.824000 420.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 194.800000 432.892000 200.116000 420.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 200.104000 432.892000 203.428000 420.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 203.500000 432.892000 209.500000 420.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 209.500000 432.892000 212.824000 420.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 212.800000 432.892000 218.116000 420.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 218.104000 432.892000 221.428000 420.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 221.500000 432.892000 227.500000 420.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 227.500000 432.892000 230.824000 420.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 230.800000 432.892000 236.800000 420.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 236.800000 432.892000 242.800000 420.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 243.904000 432.892000 246.904000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 248.008000 432.892000 251.332000 420.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 251.212000 432.892000 257.212000 420.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 257.308000 432.892000 262.624000 420.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.704000 432.892000 266.704000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 267.808000 432.892000 271.132000 420.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 271.108000 432.892000 276.424000 420.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 276.412000 432.892000 285.076000 420.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 285.112000 432.892000 291.112000 420.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 292.216000 432.892000 295.216000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 296.320000 432.892000 301.636000 420.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 301.624000 432.892000 307.624000 420.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 307.624000 432.892000 313.624000 420.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 314.728000 432.892000 317.728000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 318.832000 432.892000 322.156000 420.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 322.036000 432.892000 328.036000 420.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 328.132000 432.892000 333.448000 420.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 334.528000 432.892000 337.528000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.632000 432.892000 341.956000 420.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 341.932000 432.892000 345.928000 420.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 345.928000 432.892000 351.244000 420.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 351.232000 432.892000 356.548000 420.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 356.536000 432.892000 361.204000 420.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 361.240000 432.892000 364.240000 420.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.344000 432.892000 368.344000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 370.444000 432.892000 373.444000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 375.640000 432.892000 378.640000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.744000 432.892000 388.408000 420.892000 1.000000 0.000000 0.000000 1.000000 A +drawChar 389.440000 432.892000 392.440000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.544000 432.892000 398.212000 420.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 398.248000 432.892000 407.572000 420.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 407.548000 432.892000 412.864000 420.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 412.852000 432.892000 416.176000 420.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 416.152000 432.892000 419.476000 420.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 421.648000 432.892000 424.648000 420.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 424.600000 432.892000 430.600000 420.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 430.504000 432.892000 433.828000 420.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 433.900000 432.892000 439.216000 420.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 439.204000 432.892000 445.204000 420.892000 1.000000 0.000000 0.000000 1.000000 k +drawChar 446.308000 432.892000 449.308000 420.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 450.412000 432.892000 455.728000 420.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 455.716000 432.892000 461.716000 420.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 461.716000 432.892000 467.716000 420.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 469.912000 432.892000 472.912000 420.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 472.900000 432.892000 477.568000 420.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 477.496000 432.892000 483.496000 420.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 483.592000 432.892000 489.592000 420.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 489.592000 432.892000 495.592000 420.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 495.496000 432.892000 500.812000 420.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 500.800000 432.892000 504.124000 420.892000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 432.892000 507.200000 420.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 419.492000 190.816000 407.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 419.492000 196.804000 407.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 196.804000 419.492000 206.128000 407.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 206.104000 419.492000 212.104000 407.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 212.104000 419.492000 215.428000 407.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 215.404000 419.492000 220.720000 407.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 220.708000 419.492000 224.032000 407.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.008000 419.492000 229.324000 407.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 229.504000 419.492000 232.504000 407.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 232.504000 419.492000 235.828000 407.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 235.708000 419.492000 241.708000 407.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 241.804000 419.492000 247.120000 407.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 247.204000 419.492000 250.204000 407.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 250.204000 419.492000 255.520000 407.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 255.508000 419.492000 261.508000 407.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 261.508000 419.492000 264.832000 407.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 264.808000 419.492000 268.132000 407.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 268.108000 419.492000 273.424000 407.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 273.412000 419.492000 278.728000 407.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 278.716000 419.492000 282.040000 407.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 282.016000 419.492000 285.340000 407.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 285.412000 419.492000 291.412000 407.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 291.412000 419.492000 297.412000 407.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 297.508000 419.492000 300.508000 407.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 300.508000 419.492000 306.508000 407.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 306.508000 419.492000 310.504000 407.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 310.504000 419.492000 313.504000 407.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 313.504000 419.492000 319.504000 407.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 319.504000 419.492000 324.820000 407.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 324.808000 419.492000 328.804000 407.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 328.804000 419.492000 334.804000 407.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 334.708000 419.492000 340.024000 407.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 340.012000 419.492000 346.012000 407.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 346.108000 419.492000 349.108000 407.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.108000 419.492000 352.432000 407.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 352.408000 419.492000 358.408000 407.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 358.408000 419.492000 364.408000 407.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 364.408000 419.492000 367.732000 407.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 367.708000 419.492000 372.376000 407.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 372.412000 419.492000 375.412000 407.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.508000 419.492000 378.508000 407.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.508000 419.492000 381.508000 407.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 378.488000 84.548000 362.488000 1.000000 0.000000 0.000000 1.000000 G +drawChar 84.500000 378.488000 90.724000 362.488000 1.000000 0.000000 0.000000 1.000000 r +drawChar 90.804000 378.488000 99.700000 362.488000 1.000000 0.000000 0.000000 1.000000 e +drawChar 99.700000 378.488000 108.596000 362.488000 1.000000 0.000000 0.000000 1.000000 e +drawChar 108.596000 378.488000 118.372000 362.488000 1.000000 0.000000 0.000000 1.000000 n +drawChar 118.404000 378.488000 128.180000 362.488000 1.000000 0.000000 0.000000 1.000000 h +drawChar 128.308000 378.488000 138.084000 362.488000 1.000000 0.000000 0.000000 1.000000 o +drawChar 138.116000 378.488000 147.892000 362.488000 1.000000 0.000000 0.000000 1.000000 u +drawChar 147.924000 378.488000 156.820000 362.488000 1.000000 0.000000 0.000000 1.000000 s +drawChar 156.932000 378.488000 165.828000 362.488000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 357.292000 194.164000 345.292000 1.000000 0.000000 0.000000 1.000000 A +drawChar 194.704000 357.292000 197.704000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 198.208000 357.292000 202.876000 345.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 202.912000 357.292000 212.236000 345.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 212.212000 357.292000 217.528000 345.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 217.516000 357.292000 220.840000 345.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 220.816000 357.292000 224.140000 345.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 224.716000 357.292000 227.716000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 228.316000 357.292000 234.316000 345.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 234.316000 357.292000 238.312000 345.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 238.312000 357.292000 243.628000 345.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 243.616000 357.292000 248.932000 345.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 248.920000 357.292000 254.920000 345.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 254.824000 357.292000 260.824000 345.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 260.920000 357.292000 266.920000 345.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 266.920000 357.292000 272.920000 345.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 272.920000 357.292000 277.588000 345.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 277.624000 357.292000 282.940000 345.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 283.420000 357.292000 286.420000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.020000 357.292000 290.344000 345.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 290.320000 357.292000 294.988000 345.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 295.516000 357.292000 298.516000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 299.020000 357.292000 304.336000 345.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 304.324000 357.292000 307.648000 345.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 307.624000 357.292000 312.292000 345.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 312.328000 357.292000 318.328000 345.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 318.928000 357.292000 321.928000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 322.432000 357.292000 328.432000 345.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 328.336000 357.292000 333.652000 345.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 333.640000 357.292000 337.636000 345.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 337.636000 357.292000 340.960000 345.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 341.632000 357.292000 344.632000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.136000 357.292000 351.136000 345.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 351.136000 357.292000 355.132000 345.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 355.636000 357.292000 358.636000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 359.236000 357.292000 368.560000 345.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 368.536000 357.292000 374.536000 345.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 375.040000 357.292000 378.040000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 378.544000 357.292000 384.544000 345.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 384.544000 357.292000 389.860000 345.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 389.848000 357.292000 393.844000 345.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 393.844000 357.292000 399.844000 345.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 399.748000 357.292000 405.064000 345.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 405.052000 357.292000 411.052000 345.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 411.052000 357.292000 414.052000 345.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.748000 357.292000 417.748000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 418.252000 357.292000 425.572000 345.292000 1.000000 0.000000 0.000000 1.000000 T +drawChar 425.548000 357.292000 431.548000 345.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 431.548000 357.292000 434.872000 345.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 434.944000 357.292000 439.612000 345.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 440.140000 357.292000 443.140000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 443.644000 357.292000 446.968000 345.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 447.040000 357.292000 451.708000 345.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 452.140000 357.292000 455.140000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 455.740000 357.292000 464.404000 345.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 464.344000 357.292000 470.344000 345.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 470.440000 357.292000 475.756000 345.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 475.744000 357.292000 479.740000 345.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 479.740000 357.292000 485.056000 345.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 485.536000 357.292000 488.536000 345.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 489.136000 357.292000 492.460000 345.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.340000 357.292000 498.340000 345.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.436000 357.292000 503.752000 345.292000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 357.292000 507.200000 345.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 343.892000 188.824000 331.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 188.800000 343.892000 194.800000 331.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 194.800000 343.892000 204.124000 331.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 204.100000 343.892000 209.416000 331.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 209.404000 343.892000 212.728000 331.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 212.704000 343.892000 218.704000 331.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 218.704000 343.892000 224.020000 331.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 224.008000 343.892000 228.676000 331.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 229.204000 343.892000 232.204000 331.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 232.504000 343.892000 237.820000 331.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 237.808000 343.892000 243.808000 331.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 243.808000 343.892000 249.808000 331.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 250.612000 343.892000 253.612000 331.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 253.600000 343.892000 258.268000 331.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 258.196000 343.892000 263.512000 331.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 263.500000 343.892000 268.816000 331.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 268.804000 343.892000 274.804000 331.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 274.804000 343.892000 278.128000 331.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 278.104000 343.892000 281.428000 331.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 281.500000 343.892000 287.500000 331.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 287.500000 343.892000 293.500000 331.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 293.500000 343.892000 298.168000 331.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 298.600000 343.892000 301.600000 331.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 301.900000 343.892000 307.216000 331.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 307.204000 343.892000 311.200000 331.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 311.200000 343.892000 316.516000 331.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 316.900000 343.892000 319.900000 331.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.296000 343.892000 326.296000 331.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 326.296000 343.892000 330.292000 331.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 330.292000 343.892000 336.292000 331.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 336.196000 343.892000 344.860000 331.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 344.896000 343.892000 350.896000 331.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 350.896000 343.892000 353.896000 331.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.292000 343.892000 357.292000 331.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 357.592000 343.892000 364.912000 331.892000 1.000000 0.000000 0.000000 1.000000 T +drawChar 364.888000 343.892000 370.888000 331.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 370.984000 343.892000 376.300000 331.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 376.588000 343.892000 379.588000 331.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.984000 343.892000 385.984000 331.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 385.984000 343.892000 389.980000 331.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 389.980000 343.892000 395.296000 331.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.284000 343.892000 400.600000 331.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 400.588000 343.892000 406.588000 331.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 406.492000 343.892000 412.492000 331.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 412.588000 343.892000 418.588000 331.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 418.588000 343.892000 424.588000 331.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 424.588000 343.892000 429.256000 331.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 429.292000 343.892000 434.608000 331.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 434.992000 343.892000 437.992000 331.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 438.292000 343.892000 441.616000 331.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 441.688000 343.892000 446.356000 331.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 446.692000 343.892000 449.692000 331.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.992000 343.892000 455.992000 331.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 455.896000 343.892000 461.212000 331.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 461.200000 343.892000 465.196000 331.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 465.304000 343.892000 471.304000 331.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 471.700000 343.892000 474.700000 331.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 475.096000 343.892000 479.764000 331.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 479.800000 343.892000 489.124000 331.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 489.100000 343.892000 494.416000 331.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 494.404000 343.892000 497.728000 331.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 497.704000 343.892000 501.028000 331.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 501.004000 343.892000 504.004000 331.892000 1.000000 0.000000 0.000000 1.000000 , +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 343.892000 507.100000 331.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 330.392000 188.824000 318.392000 1.000000 0.000000 0.000000 1.000000 j +drawChar 188.896000 330.392000 194.896000 318.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 194.800000 330.392000 199.468000 318.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 199.504000 330.392000 202.828000 318.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 203.800000 330.392000 206.800000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 207.796000 330.392000 213.796000 318.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 213.796000 330.392000 217.120000 318.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 217.192000 330.392000 223.192000 318.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 224.188000 330.392000 227.188000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 228.184000 330.392000 233.500000 318.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 233.488000 330.392000 239.488000 318.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 239.488000 330.392000 245.488000 318.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 245.488000 330.392000 251.488000 318.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 251.488000 330.392000 257.488000 318.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 257.392000 330.392000 263.392000 318.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 264.496000 330.392000 267.496000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 268.492000 330.392000 272.488000 318.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 272.488000 330.392000 278.488000 318.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 278.488000 330.392000 282.484000 318.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 283.492000 330.392000 286.492000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.488000 330.392000 293.488000 318.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 293.488000 330.392000 299.488000 318.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 299.488000 330.392000 304.804000 318.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 305.788000 330.392000 308.788000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.784000 330.392000 315.784000 318.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 315.688000 330.392000 321.004000 318.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.992000 330.392000 324.988000 318.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 324.988000 330.392000 329.656000 318.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 329.692000 330.392000 335.692000 318.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 335.692000 330.392000 341.692000 318.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 342.796000 330.392000 345.796000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.792000 330.392000 350.116000 318.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 350.092000 330.392000 356.092000 318.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.196000 330.392000 360.196000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.192000 330.392000 366.508000 318.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 366.496000 330.392000 372.496000 318.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 372.496000 330.392000 375.820000 318.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 375.796000 330.392000 381.112000 318.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 381.100000 330.392000 385.096000 318.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 385.096000 330.392000 388.096000 318.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 389.092000 330.392000 392.092000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.088000 330.392000 399.088000 318.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 399.088000 330.392000 405.088000 318.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 405.088000 330.392000 408.412000 318.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 409.492000 330.392000 412.492000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.488000 330.392000 419.488000 318.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 419.488000 330.392000 425.488000 318.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 425.488000 330.392000 428.812000 318.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 429.784000 330.392000 432.784000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 433.780000 330.392000 439.780000 318.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 439.780000 330.392000 443.104000 318.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 443.080000 330.392000 449.080000 318.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 450.076000 330.392000 453.076000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 454.072000 330.392000 459.388000 318.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 459.376000 330.392000 465.376000 318.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 465.376000 330.392000 471.376000 318.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 471.376000 330.392000 477.376000 318.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 477.376000 330.392000 483.376000 318.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 483.376000 330.392000 489.376000 318.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 490.480000 330.392000 493.480000 318.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 494.476000 330.392000 497.800000 318.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 497.776000 330.392000 503.776000 318.392000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 330.392000 507.100000 318.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 316.992000 190.168000 304.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 316.992000 193.528000 304.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 193.504000 316.992000 198.820000 304.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 198.808000 316.992000 204.808000 304.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 204.808000 316.992000 210.808000 304.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 210.808000 316.992000 213.808000 304.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.808000 316.992000 217.132000 304.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 217.204000 316.992000 223.204000 304.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 223.204000 316.992000 226.204000 304.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 275.988000 81.876000 259.988000 1.000000 0.000000 0.000000 1.000000 F +drawChar 81.908000 275.988000 86.356000 259.988000 1.000000 0.000000 0.000000 1.000000 l +drawChar 86.308000 275.988000 96.084000 259.988000 1.000000 0.000000 0.000000 1.000000 o +drawChar 96.212000 275.988000 108.660000 259.988000 1.000000 0.000000 0.000000 1.000000 w +drawChar 108.612000 275.988000 117.508000 259.988000 1.000000 0.000000 0.000000 1.000000 e +drawChar 117.508000 275.988000 123.732000 259.988000 1.000000 0.000000 0.000000 1.000000 r +drawChar 123.812000 275.988000 132.708000 259.988000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 254.792000 194.164000 242.792000 1.000000 0.000000 0.000000 1.000000 V +drawChar 194.104000 254.792000 199.420000 242.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 199.408000 254.792000 203.404000 242.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 203.404000 254.792000 206.728000 242.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 206.800000 254.792000 212.800000 242.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 212.800000 254.792000 218.800000 242.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 218.800000 254.792000 223.468000 242.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 223.900000 254.792000 226.900000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 227.296000 254.792000 230.620000 242.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 230.596000 254.792000 236.596000 242.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 236.500000 254.792000 242.500000 242.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 242.500000 254.792000 247.816000 242.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 247.804000 254.792000 252.472000 242.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 253.000000 254.792000 256.000000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 256.396000 254.792000 262.396000 242.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 262.396000 254.792000 266.392000 242.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 266.800000 254.792000 269.800000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 270.196000 254.792000 274.192000 242.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 274.192000 254.792000 277.516000 242.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 277.492000 254.792000 283.492000 242.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 283.492000 254.792000 292.156000 242.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 292.192000 254.792000 297.508000 242.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 297.496000 254.792000 301.492000 242.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 301.492000 254.792000 306.160000 242.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 306.592000 254.792000 309.592000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.988000 254.792000 315.304000 242.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 315.292000 254.792000 319.288000 242.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 319.288000 254.792000 324.604000 242.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 325.084000 254.792000 328.084000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 328.480000 254.792000 334.480000 242.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 334.384000 254.792000 337.708000 242.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 337.684000 254.792000 343.000000 242.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 342.988000 254.792000 348.988000 242.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 348.988000 254.792000 352.312000 242.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 352.288000 254.792000 357.604000 242.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 357.688000 254.792000 363.688000 242.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 364.192000 254.792000 367.192000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.588000 254.792000 370.912000 242.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 370.888000 254.792000 376.888000 242.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 377.284000 254.792000 380.284000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.680000 254.792000 384.004000 242.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 383.980000 254.792000 389.980000 242.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 390.076000 254.792000 395.392000 242.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 395.776000 254.792000 398.776000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 399.172000 254.792000 405.172000 242.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 405.172000 254.792000 410.488000 242.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 410.476000 254.792000 414.472000 242.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 414.472000 254.792000 420.472000 242.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 420.376000 254.792000 425.692000 242.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 425.680000 254.792000 431.680000 242.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 431.680000 254.792000 434.680000 242.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.184000 254.792000 438.184000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 438.580000 254.792000 442.576000 242.792000 1.000000 0.000000 0.000000 1.000000 I +drawChar 442.576000 254.792000 448.576000 242.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 448.972000 254.792000 451.972000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 452.368000 254.792000 457.684000 242.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 457.672000 254.792000 462.988000 242.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 462.976000 254.792000 468.292000 242.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 468.280000 254.792000 474.280000 242.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 474.784000 254.792000 477.784000 242.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 478.180000 254.792000 482.176000 242.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 482.176000 254.792000 485.500000 242.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 485.476000 254.792000 491.476000 242.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 491.476000 254.792000 500.140000 242.792000 1.000000 0.000000 0.000000 1.000000 w +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 254.792000 504.196000 242.792000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 241.392000 190.816000 229.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 190.804000 241.392000 194.800000 229.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 194.800000 241.392000 200.800000 229.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 200.800000 241.392000 206.116000 229.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 206.104000 241.392000 212.104000 229.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 212.704000 241.392000 215.704000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 216.208000 241.392000 220.204000 229.392000 1.000000 0.000000 0.000000 1.000000 I +drawChar 220.708000 241.392000 223.708000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 224.212000 241.392000 230.212000 229.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.308000 241.392000 235.624000 229.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 235.612000 241.392000 241.612000 229.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 241.516000 241.392000 246.832000 229.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 247.420000 241.392000 250.420000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 251.020000 241.392000 257.020000 229.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 256.924000 241.392000 260.248000 229.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 260.224000 241.392000 265.540000 229.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 265.528000 241.392000 271.528000 229.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 271.528000 241.392000 274.852000 229.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 274.828000 241.392000 280.144000 229.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 280.228000 241.392000 286.228000 229.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 286.828000 241.392000 289.828000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 290.332000 241.392000 295.648000 229.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 295.636000 241.392000 301.636000 229.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 302.236000 241.392000 305.236000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.740000 241.392000 311.056000 229.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 311.044000 241.392000 315.712000 229.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 315.748000 241.392000 320.416000 229.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 320.452000 241.392000 326.452000 229.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 326.452000 241.392000 330.448000 229.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 330.448000 241.392000 333.772000 229.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 333.748000 241.392000 343.072000 229.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 343.048000 241.392000 348.364000 229.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 348.352000 241.392000 354.352000 229.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 354.352000 241.392000 357.676000 229.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 358.252000 241.392000 361.252000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.852000 241.392000 367.852000 229.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 367.852000 241.392000 371.848000 229.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 372.352000 241.392000 375.352000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 375.856000 241.392000 380.524000 229.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 380.560000 241.392000 385.876000 229.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 385.864000 241.392000 391.180000 229.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 391.168000 241.392000 397.168000 229.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 397.072000 241.392000 401.740000 229.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 402.376000 241.392000 405.376000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 405.880000 241.392000 414.544000 229.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 414.580000 241.392000 420.580000 229.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 420.580000 241.392000 423.904000 229.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 423.976000 241.392000 429.292000 229.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 429.172000 241.392000 435.172000 229.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 435.772000 241.392000 438.772000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 439.276000 241.392000 445.276000 229.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 445.276000 241.392000 448.600000 229.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 448.576000 241.392000 454.576000 229.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 454.576000 241.392000 460.576000 229.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 460.576000 241.392000 469.900000 229.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 470.476000 241.392000 473.476000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.980000 241.392000 479.296000 229.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 479.284000 241.392000 482.608000 229.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 483.184000 241.392000 486.184000 229.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.784000 241.392000 492.784000 229.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 492.688000 241.392000 496.012000 229.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 496.084000 241.392000 500.080000 229.392000 1.000000 0.000000 0.000000 1.000000 f +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 241.392000 504.196000 229.392000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 227.892000 189.496000 215.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 227.892000 194.812000 215.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 194.800000 227.892000 198.796000 215.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 198.796000 227.892000 204.112000 215.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 204.100000 227.892000 210.100000 215.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 210.100000 227.892000 213.424000 215.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 214.000000 227.892000 217.000000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 217.600000 227.892000 220.924000 215.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 220.900000 227.892000 224.224000 215.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 224.296000 227.892000 233.620000 215.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 233.596000 227.892000 238.912000 215.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 238.900000 227.892000 243.568000 215.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 244.096000 227.892000 247.096000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.696000 227.892000 253.696000 215.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 253.696000 227.892000 257.692000 215.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 258.196000 227.892000 261.196000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.796000 227.892000 265.120000 215.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 265.000000 227.892000 271.000000 215.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 271.096000 227.892000 276.412000 215.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 277.000000 227.892000 280.000000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 280.504000 227.892000 286.504000 215.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 286.408000 227.892000 291.724000 215.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 291.808000 227.892000 297.124000 215.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 297.112000 227.892000 301.108000 215.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 301.108000 227.892000 304.108000 215.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 304.804000 227.892000 307.804000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 308.308000 227.892000 315.628000 215.892000 1.000000 0.000000 0.000000 1.000000 T +drawChar 315.604000 227.892000 321.604000 215.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 321.604000 227.892000 324.928000 215.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 325.000000 227.892000 329.668000 215.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 330.196000 227.892000 333.196000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 333.700000 227.892000 339.016000 215.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 339.004000 227.892000 343.000000 215.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 343.000000 227.892000 348.316000 215.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 348.304000 227.892000 353.620000 215.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 353.608000 227.892000 356.932000 215.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 356.908000 227.892000 362.224000 215.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 362.212000 227.892000 366.880000 215.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 367.612000 227.892000 370.612000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 371.116000 227.892000 376.432000 215.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 377.020000 227.892000 380.020000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.620000 227.892000 385.936000 215.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 385.924000 227.892000 391.924000 215.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 391.924000 227.892000 395.248000 215.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 395.224000 227.892000 401.224000 215.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 401.224000 227.892000 405.220000 215.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 405.220000 227.892000 409.216000 215.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 409.216000 227.892000 415.216000 215.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 415.216000 227.892000 418.540000 215.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 419.116000 227.892000 422.116000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.716000 227.892000 428.032000 215.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 428.020000 227.892000 432.016000 215.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 432.016000 227.892000 436.012000 215.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 436.012000 227.892000 441.328000 215.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 441.316000 227.892000 447.316000 215.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 447.316000 227.892000 453.316000 215.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 453.316000 227.892000 458.632000 215.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 458.620000 227.892000 467.944000 215.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 467.920000 227.892000 473.236000 215.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 473.224000 227.892000 479.224000 215.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 479.224000 227.892000 482.548000 215.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 483.220000 227.892000 486.220000 215.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 486.724000 227.892000 492.040000 215.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 492.028000 227.892000 498.028000 215.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.028000 227.892000 504.028000 215.892000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 227.892000 507.200000 215.892000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 214.492000 188.824000 202.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 188.896000 214.492000 193.564000 202.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 193.492000 214.492000 196.492000 202.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 196.996000 214.492000 199.996000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 200.596000 214.492000 203.920000 202.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 203.896000 214.492000 209.896000 202.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 210.400000 214.492000 213.400000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.904000 214.492000 223.228000 202.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 223.204000 214.492000 229.204000 202.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 229.804000 214.492000 232.804000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 233.308000 214.492000 239.308000 202.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 239.308000 214.492000 245.308000 202.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 245.212000 214.492000 248.536000 202.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 248.608000 214.492000 254.608000 202.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 254.608000 214.492000 257.932000 202.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 258.004000 214.492000 264.004000 202.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 264.004000 214.492000 270.004000 202.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 270.004000 214.492000 273.004000 202.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 273.508000 214.492000 276.508000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.012000 214.492000 286.336000 202.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 286.312000 214.492000 292.312000 202.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 292.312000 214.492000 296.308000 202.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 296.308000 214.492000 301.624000 202.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 302.212000 214.492000 305.212000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 305.812000 214.492000 311.812000 202.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 311.716000 214.492000 315.040000 202.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 315.016000 214.492000 320.332000 202.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 320.320000 214.492000 325.636000 202.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 325.624000 214.492000 330.292000 202.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 330.328000 214.492000 333.652000 202.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 333.724000 214.492000 339.724000 202.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 339.724000 214.492000 345.724000 202.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 346.324000 214.492000 349.324000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 349.828000 214.492000 353.152000 202.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 353.128000 214.492000 359.128000 202.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 359.632000 214.492000 362.632000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.232000 214.492000 366.556000 202.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 366.436000 214.492000 372.436000 202.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 372.532000 214.492000 377.848000 202.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 378.436000 214.492000 381.436000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 381.940000 214.492000 387.256000 202.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 387.244000 214.492000 393.244000 202.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 393.148000 214.492000 398.464000 202.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 399.148000 214.492000 402.148000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 402.652000 214.492000 405.976000 202.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 405.952000 214.492000 411.952000 202.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 412.048000 214.492000 417.364000 202.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 417.352000 214.492000 423.352000 202.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 423.856000 214.492000 426.856000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 427.360000 214.492000 433.360000 202.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 433.264000 214.492000 436.588000 202.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 436.660000 214.492000 441.328000 202.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 441.364000 214.492000 444.688000 202.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 444.664000 214.492000 447.988000 202.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 448.060000 214.492000 454.060000 202.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 454.060000 214.492000 459.376000 202.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 459.364000 214.492000 462.688000 202.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 463.264000 214.492000 466.264000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 466.768000 214.492000 470.764000 202.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 470.764000 214.492000 476.764000 202.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 476.764000 214.492000 485.428000 202.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 485.368000 214.492000 490.036000 202.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 490.564000 214.492000 493.564000 202.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 494.164000 214.492000 500.164000 202.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 500.164000 214.492000 504.160000 202.492000 1.000000 0.000000 0.000000 1.000000 f +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 214.492000 507.100000 202.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 200.992000 190.816000 188.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 190.804000 200.992000 196.120000 188.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 196.108000 200.992000 201.424000 188.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 201.412000 200.992000 207.412000 188.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 207.508000 200.992000 210.508000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 210.604000 200.992000 213.928000 188.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 213.904000 200.992000 219.904000 188.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 219.808000 200.992000 225.808000 188.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 225.808000 200.992000 231.124000 188.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 231.304000 200.992000 234.304000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 234.304000 200.992000 240.304000 188.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 240.304000 200.992000 244.300000 188.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 244.408000 200.992000 247.408000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.408000 200.992000 251.404000 188.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 251.404000 200.992000 254.728000 188.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 254.704000 200.992000 260.704000 188.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 260.704000 200.992000 269.368000 188.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 269.404000 200.992000 274.720000 188.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 274.708000 200.992000 278.704000 188.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 278.704000 200.992000 281.704000 188.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 281.800000 200.992000 284.800000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 284.896000 200.992000 291.568000 188.992000 1.000000 0.000000 0.000000 1.000000 S +drawChar 291.496000 200.992000 297.496000 188.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 297.496000 200.992000 306.820000 188.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 306.796000 200.992000 312.112000 188.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 312.292000 200.992000 315.292000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.292000 200.992000 321.292000 188.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 321.292000 200.992000 325.288000 188.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 325.288000 200.992000 328.288000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 328.384000 200.992000 331.708000 188.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 331.588000 200.992000 337.588000 188.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 337.684000 200.992000 343.000000 188.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.084000 200.992000 346.084000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 346.180000 200.992000 350.176000 188.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 350.176000 200.992000 353.500000 188.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 353.476000 200.992000 359.476000 188.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 359.476000 200.992000 368.140000 188.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 368.176000 200.992000 373.492000 188.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 373.480000 200.992000 377.476000 188.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 377.380000 200.992000 382.048000 188.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 382.180000 200.992000 385.180000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 385.180000 200.992000 393.844000 188.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 393.880000 200.992000 399.880000 188.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 399.880000 200.992000 403.204000 188.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 403.276000 200.992000 408.592000 188.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 408.472000 200.992000 414.472000 188.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 414.568000 200.992000 417.568000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.664000 200.992000 422.980000 188.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 422.968000 200.992000 428.284000 188.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 428.272000 200.992000 434.272000 188.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 434.368000 200.992000 437.368000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 437.368000 200.992000 443.368000 188.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 443.368000 200.992000 448.684000 188.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 448.768000 200.992000 451.768000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.864000 200.992000 455.860000 188.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 455.860000 200.992000 461.860000 188.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 461.860000 200.992000 467.860000 188.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 467.860000 200.992000 473.860000 188.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 473.860000 200.992000 479.860000 188.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 479.860000 200.992000 482.860000 188.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 482.956000 200.992000 488.956000 188.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 488.956000 200.992000 494.272000 188.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 494.260000 200.992000 498.256000 188.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 498.256000 200.992000 503.572000 188.992000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 200.992000 507.100000 188.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 187.592000 190.816000 175.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 187.592000 194.800000 175.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 194.800000 187.592000 200.116000 175.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 200.104000 187.592000 203.428000 175.592000 1.000000 0.000000 0.000000 1.000000 : +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 465.900000 85.992000 472.572000 73.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 472.596000 85.992000 477.912000 73.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 477.900000 85.992000 483.900000 73.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 483.900000 85.992000 489.216000 73.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 489.204000 85.992000 492.204000 73.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 492.200000 85.992000 498.200000 73.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 498.200000 85.992000 504.200000 73.992000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 108.000000 550.900000 0 540.000000 550.900000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 550.900000 0 +eoFillPath subpath 1 108.000000 72.000000 0 540.000000 72.000000 0 540.000000 241.100000 0 108.000000 241.100000 0 108.000000 72.000000 0 +eoFillPath subpath 1 108.000000 241.100000 0 152.200000 241.100000 0 152.200000 550.900000 0 108.000000 550.900000 0 108.000000 241.100000 0 +eoFillPath subpath 1 495.700000 241.100000 0 540.000000 241.100000 0 540.000000 550.900000 0 495.700000 550.900000 0 495.700000 241.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 15220.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 108.000000 701.500000 0 540.000000 701.500000 0 540.000000 720.000000 0 108.000000 720.000000 0 108.000000 701.500000 0 +eoFillPath subpath 1 108.000000 76.700000 0 540.000000 76.700000 0 540.000000 90.100000 0 108.000000 90.100000 0 108.000000 76.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 108.100000 716.588000 121.428000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 121.396000 716.588000 129.396000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 129.492000 716.588000 133.940000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 133.988000 716.588000 145.540000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 145.588000 716.588000 154.484000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 154.484000 716.588000 163.380000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 163.380000 716.588000 171.380000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 171.380000 716.588000 180.276000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 180.484000 716.588000 184.932000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 184.884000 716.588000 190.212000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 190.292000 716.588000 194.740000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 194.800000 716.588000 204.576000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 204.496000 716.588000 208.048000 700.588000 1.000000 0.000000 0.000000 1.000000 l +drawChar 208.096000 716.588000 216.992000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 216.992000 716.588000 228.544000 700.588000 1.000000 0.000000 0.000000 1.000000 w +drawChar 228.592000 716.588000 237.488000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 237.488000 716.588000 242.816000 700.588000 1.000000 0.000000 0.000000 1.000000 r +drawChar 242.896000 716.588000 250.896000 700.588000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 90 1 0 0 0 900.000000 0 GAAAAA+StarSymbol +drawChar 222.100000 671.336000 226.987000 662.336000 1.000000 0.000000 0.000000 1.000000 ✳ +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 236.300000 672.992000 240.296000 660.992000 1.000000 0.000000 0.000000 1.000000 I +drawChar 240.200000 672.992000 244.196000 660.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 244.196000 672.992000 247.520000 660.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 247.496000 672.992000 252.164000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 252.200000 672.992000 257.516000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 257.504000 672.992000 262.172000 660.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 90 1 0 0 0 900.000000 0 GAAAAA+StarSymbol +drawChar 222.100000 651.636000 226.987000 642.636000 1.000000 0.000000 0.000000 1.000000 ✳ +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 236.300000 653.292000 244.964000 641.292000 1.000000 0.000000 0.000000 1.000000 D +drawChar 244.904000 653.292000 250.220000 641.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 250.100000 653.292000 256.100000 641.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 256.196000 653.292000 259.520000 641.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 259.496000 653.292000 262.820000 641.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 262.892000 653.292000 268.208000 641.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 268.196000 653.292000 272.864000 641.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 90 1 0 0 0 900.000000 0 GAAAAA+StarSymbol +drawChar 222.100000 631.936000 226.987000 622.936000 1.000000 0.000000 0.000000 1.000000 ✳ +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 236.300000 633.592000 244.964000 621.592000 1.000000 0.000000 0.000000 1.000000 D +drawChar 244.904000 633.592000 250.220000 621.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 250.208000 633.592000 254.204000 621.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 254.204000 633.592000 258.200000 621.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 258.200000 633.592000 264.200000 621.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 264.200000 633.592000 270.200000 621.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 270.104000 633.592000 273.428000 621.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 273.500000 633.592000 276.824000 621.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 276.800000 633.592000 281.468000 621.592000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 90 1 0 0 0 900.000000 0 GAAAAA+StarSymbol +drawChar 222.100000 612.236000 226.987000 603.236000 1.000000 0.000000 0.000000 1.000000 ✳ +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 236.300000 613.892000 244.292000 601.892000 1.000000 0.000000 0.000000 1.000000 R +drawChar 244.196000 613.892000 250.196000 601.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 250.292000 613.892000 256.292000 601.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 256.292000 613.892000 262.292000 601.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 262.196000 613.892000 268.196000 601.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 268.196000 613.892000 274.196000 601.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 274.100000 613.892000 279.416000 601.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 279.404000 613.892000 285.404000 601.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 285.500000 613.892000 291.500000 601.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 291.404000 613.892000 295.400000 601.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 295.400000 613.892000 301.400000 601.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 301.400000 613.892000 307.400000 601.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 307.400000 613.892000 312.068000 601.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 90 1 0 0 0 900.000000 0 GAAAAA+StarSymbol +drawChar 222.100000 592.536000 226.987000 583.536000 1.000000 0.000000 0.000000 1.000000 ✳ +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 236.300000 594.192000 244.292000 582.192000 1.000000 0.000000 0.000000 1.000000 C +drawChar 244.196000 594.192000 250.196000 582.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 250.292000 594.192000 254.288000 582.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 254.288000 594.192000 260.288000 582.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 260.192000 594.192000 264.860000 582.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 264.896000 594.192000 270.212000 582.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 270.200000 594.192000 276.200000 582.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 276.200000 594.192000 279.524000 582.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 279.500000 594.192000 285.500000 582.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 285.596000 594.192000 290.912000 582.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 290.900000 594.192000 300.224000 582.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 300.200000 594.192000 306.200000 582.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 306.200000 594.192000 315.524000 582.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 315.500000 594.192000 320.168000 582.192000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 108.100000 552.988000 118.772000 536.988000 1.000000 0.000000 0.000000 1.000000 Y +drawChar 118.804000 552.988000 127.700000 536.988000 1.000000 0.000000 0.000000 1.000000 a +drawChar 127.700000 552.988000 133.924000 536.988000 1.000000 0.000000 0.000000 1.000000 r +drawChar 133.908000 552.988000 143.684000 536.988000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 531.792000 228.820000 519.792000 1.000000 0.000000 0.000000 1.000000 T +drawChar 228.796000 531.792000 234.796000 519.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 234.892000 531.792000 240.208000 519.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 240.196000 531.792000 243.196000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 243.292000 531.792000 249.292000 519.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 249.292000 531.792000 254.608000 519.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 254.596000 531.792000 259.912000 519.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 259.900000 531.792000 265.900000 519.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 265.900000 531.792000 271.900000 519.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 271.804000 531.792000 277.120000 519.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 277.108000 531.792000 281.104000 519.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 281.212000 531.792000 287.212000 519.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 287.308000 531.792000 290.308000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 290.404000 531.792000 296.404000 519.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 296.404000 531.792000 300.400000 519.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 300.400000 531.792000 304.396000 519.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 304.396000 531.792000 309.712000 519.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 309.700000 531.792000 313.696000 519.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 313.696000 531.792000 318.364000 519.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 318.496000 531.792000 321.496000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 321.592000 531.792000 326.908000 519.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 326.992000 531.792000 329.992000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.088000 531.792000 336.088000 519.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 336.088000 531.792000 342.088000 519.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 342.088000 531.792000 348.088000 519.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 348.088000 531.792000 354.088000 519.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 354.088000 531.792000 357.088000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 357.184000 531.792000 363.184000 519.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 363.088000 531.792000 368.404000 519.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 368.392000 531.792000 373.708000 519.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 373.696000 531.792000 377.020000 519.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 377.200000 531.792000 380.200000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 380.296000 531.792000 386.296000 519.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 386.296000 531.792000 390.292000 519.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 390.400000 531.792000 393.400000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 393.496000 531.792000 399.496000 519.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 399.400000 531.792000 403.396000 519.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 403.396000 531.792000 406.720000 519.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 406.792000 531.792000 412.792000 519.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 412.696000 531.792000 418.012000 519.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 418.000000 531.792000 423.316000 519.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 423.400000 531.792000 429.400000 519.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 429.496000 531.792000 432.496000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 432.592000 531.792000 435.916000 519.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 435.892000 531.792000 441.892000 519.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 441.988000 531.792000 447.304000 519.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 447.292000 531.792000 453.292000 519.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 453.292000 531.792000 459.292000 519.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 459.292000 531.792000 463.960000 519.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 463.996000 531.792000 466.996000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 467.092000 531.792000 470.416000 519.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 470.392000 531.792000 476.392000 519.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 476.488000 531.792000 479.488000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 479.584000 531.792000 482.908000 519.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 482.788000 531.792000 488.788000 519.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 488.884000 531.792000 494.200000 519.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 494.284000 531.792000 497.284000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 497.380000 531.792000 500.704000 519.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 500.680000 531.792000 504.676000 519.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 504.676000 531.792000 509.992000 519.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 509.980000 531.792000 515.296000 519.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 515.284000 531.792000 519.952000 519.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 520.084000 531.792000 523.084000 519.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 523.180000 531.792000 526.504000 519.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 526.480000 531.792000 529.804000 519.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 529.876000 531.792000 535.876000 519.792000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 531.792000 540.196000 519.792000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 518.392000 224.824000 506.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 224.896000 518.392000 230.896000 506.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 230.800000 518.392000 236.800000 506.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 237.100000 518.392000 240.100000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 240.400000 518.392000 243.724000 506.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 243.604000 518.392000 249.604000 506.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 249.700000 518.392000 255.016000 506.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 255.304000 518.392000 258.304000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.604000 518.392000 263.272000 506.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 263.308000 518.392000 266.632000 506.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 266.704000 518.392000 272.704000 506.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 272.608000 518.392000 277.924000 506.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 277.912000 518.392000 282.580000 506.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 282.916000 518.392000 285.916000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.216000 518.392000 292.216000 506.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 292.120000 518.392000 296.116000 506.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 296.416000 518.392000 299.416000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 299.716000 518.392000 303.040000 506.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 302.920000 518.392000 308.920000 506.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 309.016000 518.392000 314.332000 506.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 314.620000 518.392000 317.620000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 317.920000 518.392000 323.920000 506.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 323.824000 518.392000 327.820000 506.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 327.820000 518.392000 333.820000 506.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 333.916000 518.392000 339.916000 506.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 339.820000 518.392000 345.136000 506.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 345.124000 518.392000 349.120000 506.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 349.120000 518.392000 352.444000 506.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 352.516000 518.392000 358.516000 506.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 358.420000 518.392000 361.420000 506.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.816000 518.392000 364.816000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.116000 518.392000 373.780000 506.392000 1.000000 0.000000 0.000000 1.000000 A +drawChar 373.816000 518.392000 383.140000 506.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 383.116000 518.392000 389.116000 506.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 389.116000 518.392000 395.116000 506.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 395.116000 518.392000 401.116000 506.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 401.416000 518.392000 404.416000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 404.716000 518.392000 408.040000 506.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 407.920000 518.392000 413.920000 506.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 414.016000 518.392000 419.332000 506.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 419.620000 518.392000 422.620000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.920000 518.392000 426.244000 506.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 426.220000 518.392000 430.216000 506.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 430.216000 518.392000 435.532000 506.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 435.520000 518.392000 440.836000 506.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 440.824000 518.392000 445.492000 506.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 445.828000 518.392000 448.828000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.128000 518.392000 452.452000 506.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 452.428000 518.392000 457.096000 506.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 457.324000 518.392000 460.324000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 460.624000 518.392000 465.940000 506.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 465.928000 518.392000 469.252000 506.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 469.228000 518.392000 473.896000 506.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 473.932000 518.392000 479.932000 506.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 480.232000 518.392000 483.232000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 483.532000 518.392000 488.848000 506.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 489.136000 518.392000 492.136000 506.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 492.436000 518.392000 497.104000 506.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 497.140000 518.392000 506.464000 506.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 506.440000 518.392000 511.756000 506.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 511.744000 518.392000 515.068000 506.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 515.044000 518.392000 518.368000 506.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 519.040000 518.392000 522.040000 506.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 522.100000 518.392000 526.096000 506.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 526.096000 518.392000 529.420000 506.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 529.396000 518.392000 534.064000 506.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 534.100000 518.392000 540.100000 506.392000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 518.392000 543.100000 506.392000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 504.892000 227.500000 492.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 227.404000 504.892000 233.404000 492.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 233.404000 504.892000 239.404000 492.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 239.500000 504.892000 245.500000 492.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 245.404000 504.892000 248.404000 492.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 249.208000 504.892000 252.208000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 252.904000 504.892000 258.220000 492.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 258.208000 504.892000 264.208000 492.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 264.208000 504.892000 270.208000 492.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 270.808000 504.892000 273.808000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 274.504000 504.892000 280.504000 492.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 280.504000 504.892000 286.504000 492.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 286.504000 504.892000 291.820000 492.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 292.504000 504.892000 295.504000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 296.200000 504.892000 302.200000 492.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 302.200000 504.892000 306.196000 492.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 306.904000 504.892000 309.904000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 310.600000 504.892000 319.924000 492.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 319.900000 504.892000 325.900000 492.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 326.500000 504.892000 329.500000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 330.196000 504.892000 334.192000 492.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 334.192000 504.892000 339.508000 492.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 339.496000 504.892000 345.496000 492.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 345.400000 504.892000 351.400000 492.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 351.400000 504.892000 355.396000 492.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 355.396000 504.892000 358.720000 492.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 358.792000 504.892000 362.116000 492.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 362.092000 504.892000 367.408000 492.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 368.188000 504.892000 371.188000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 371.884000 504.892000 377.884000 492.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 377.788000 504.892000 383.104000 492.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 383.092000 504.892000 387.760000 492.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 387.796000 504.892000 391.120000 492.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 391.096000 504.892000 394.420000 492.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 394.492000 504.892000 403.816000 492.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 403.792000 504.892000 409.108000 492.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.096000 504.892000 413.764000 492.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 414.592000 504.892000 417.592000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 418.288000 504.892000 421.612000 492.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 421.588000 504.892000 426.256000 492.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 426.892000 504.892000 429.892000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.588000 504.892000 439.252000 492.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 439.288000 504.892000 444.604000 492.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 444.592000 504.892000 447.916000 492.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 447.892000 504.892000 453.208000 492.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 453.196000 504.892000 459.196000 492.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 459.196000 504.892000 462.520000 492.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 462.592000 504.892000 468.592000 492.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 468.592000 504.892000 474.592000 492.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 475.288000 504.892000 478.288000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 478.984000 504.892000 482.308000 492.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 482.188000 504.892000 488.188000 492.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 488.284000 504.892000 493.600000 492.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 494.284000 504.892000 497.284000 492.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 497.980000 504.892000 503.980000 492.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 503.980000 504.892000 507.976000 492.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 507.880000 504.892000 511.204000 492.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 511.276000 504.892000 517.276000 492.892000 1.000000 0.000000 0.000000 1.000000 g +drawChar 517.276000 504.892000 523.276000 492.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 523.276000 504.892000 526.600000 492.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 526.576000 504.892000 529.900000 492.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 529.876000 504.892000 535.876000 492.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 535.780000 504.892000 539.776000 492.892000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 491.492000 226.816000 479.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 226.804000 491.492000 232.804000 479.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 232.804000 491.492000 236.128000 479.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 236.104000 491.492000 242.104000 479.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 242.104000 491.492000 246.100000 479.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 246.100000 491.492000 251.416000 479.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 251.404000 491.492000 257.404000 479.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 257.608000 491.492000 260.608000 479.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 260.600000 491.492000 266.600000 479.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 266.600000 491.492000 272.600000 479.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 272.600000 491.492000 275.924000 479.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 275.900000 491.492000 281.900000 479.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 281.804000 491.492000 285.800000 479.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 285.800000 491.492000 289.124000 479.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 289.196000 491.492000 293.864000 479.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 293.792000 491.492000 299.792000 479.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 299.888000 491.492000 302.888000 479.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.984000 491.492000 308.300000 479.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 308.288000 491.492000 314.288000 479.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 314.288000 491.492000 320.288000 479.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 320.384000 491.492000 323.384000 479.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 323.384000 491.492000 328.700000 479.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 328.784000 491.492000 331.784000 479.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 331.784000 491.492000 335.780000 479.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 335.780000 491.492000 341.096000 479.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.084000 491.492000 349.748000 479.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 349.880000 491.492000 352.880000 479.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 352.880000 491.492000 357.548000 479.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 357.584000 491.492000 366.908000 479.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 366.884000 491.492000 372.200000 479.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 372.188000 491.492000 375.512000 479.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 375.488000 491.492000 378.812000 479.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 378.992000 491.492000 381.992000 479.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 382.200000 491.492000 385.524000 479.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 385.500000 491.492000 389.496000 479.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 389.496000 491.492000 394.812000 479.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.800000 491.492000 400.116000 479.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 400.104000 491.492000 404.100000 479.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 404.100000 491.492000 408.096000 479.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 408.096000 491.492000 414.096000 479.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 414.096000 491.492000 420.096000 479.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 420.096000 491.492000 424.764000 479.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 424.800000 491.492000 427.800000 479.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.800000 491.492000 430.800000 479.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.896000 491.492000 439.560000 479.492000 1.000000 0.000000 0.000000 1.000000 D +drawChar 439.500000 491.492000 442.824000 479.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 442.896000 491.492000 446.892000 479.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 446.892000 491.492000 452.208000 479.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 452.196000 491.492000 457.512000 479.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 457.500000 491.492000 460.824000 479.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 460.800000 491.492000 464.124000 479.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 464.100000 491.492000 470.100000 479.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 470.304000 491.492000 473.304000 479.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.304000 491.492000 476.628000 479.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 476.700000 491.492000 482.700000 479.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 482.700000 491.492000 485.700000 479.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 485.796000 491.492000 489.792000 479.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 489.792000 491.492000 493.788000 479.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 493.788000 491.492000 499.788000 479.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 499.788000 491.492000 505.788000 479.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 505.788000 491.492000 509.112000 479.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 509.088000 491.492000 512.088000 479.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 512.184000 491.492000 518.184000 479.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 518.184000 491.492000 522.180000 479.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 522.180000 491.492000 525.180000 479.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 525.276000 491.492000 528.600000 479.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 528.480000 491.492000 534.480000 479.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 534.576000 491.492000 539.892000 479.492000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 540.100000 491.492000 543.100000 479.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 477.992000 224.824000 465.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 224.800000 477.992000 230.116000 465.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 230.104000 477.992000 234.100000 465.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 234.100000 477.992000 238.096000 465.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 238.096000 477.992000 243.412000 465.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 243.400000 477.992000 248.716000 465.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 248.704000 477.992000 254.020000 465.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 254.500000 477.992000 257.500000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 258.004000 477.992000 261.328000 465.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 261.304000 477.992000 265.972000 465.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 266.404000 477.992000 269.404000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 269.800000 477.992000 273.124000 465.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 273.100000 477.992000 279.100000 465.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 279.196000 477.992000 284.512000 465.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 284.896000 477.992000 287.896000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 288.400000 477.992000 291.724000 465.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 291.700000 477.992000 297.016000 465.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 297.004000 477.992000 305.668000 465.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 305.704000 477.992000 311.704000 465.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 312.100000 477.992000 315.100000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.496000 477.992000 324.160000 465.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 324.196000 477.992000 330.196000 465.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 330.196000 477.992000 335.512000 465.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.500000 477.992000 339.496000 465.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 339.496000 477.992000 344.812000 465.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 345.292000 477.992000 348.292000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 348.688000 477.992000 352.684000 465.992000 1.000000 0.000000 0.000000 1.000000 I +drawChar 353.092000 477.992000 356.092000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 356.488000 477.992000 361.156000 465.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 361.192000 477.992000 366.508000 465.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 366.496000 477.992000 369.820000 465.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 370.300000 477.992000 373.300000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.696000 477.992000 379.696000 465.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 379.696000 477.992000 385.696000 465.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 385.696000 477.992000 389.020000 465.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 389.500000 477.992000 392.500000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 392.896000 477.992000 396.220000 465.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 396.196000 477.992000 402.196000 465.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 402.292000 477.992000 407.608000 465.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 407.992000 477.992000 410.992000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 411.388000 477.992000 414.712000 465.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 414.688000 477.992000 420.004000 465.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 419.992000 477.992000 428.656000 465.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 428.692000 477.992000 434.692000 465.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 435.196000 477.992000 438.196000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 438.592000 477.992000 442.588000 465.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 442.588000 477.992000 448.588000 465.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 448.588000 477.992000 452.584000 465.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 452.584000 477.992000 458.584000 465.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 458.584000 477.992000 461.908000 465.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 461.980000 477.992000 465.304000 465.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 465.280000 477.992000 471.280000 465.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 471.280000 477.992000 475.276000 465.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 475.276000 477.992000 480.592000 465.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 480.976000 477.992000 483.976000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 484.372000 477.992000 487.696000 465.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 487.768000 477.992000 493.768000 465.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 494.164000 477.992000 497.164000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 497.560000 477.992000 500.884000 465.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 500.860000 477.992000 506.860000 465.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 506.956000 477.992000 512.272000 465.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 512.656000 477.992000 515.656000 465.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 516.052000 477.992000 520.720000 465.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 520.756000 477.992000 526.756000 465.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 526.756000 477.992000 536.080000 465.992000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 477.992000 540.196000 465.992000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 464.592000 230.824000 452.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 230.800000 464.592000 236.116000 452.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 236.104000 464.592000 240.100000 452.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 240.100000 464.592000 243.424000 452.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 243.400000 464.592000 246.724000 452.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 246.796000 464.592000 256.120000 452.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 256.096000 464.592000 261.412000 452.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 261.400000 464.592000 264.400000 452.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.700000 464.592000 267.700000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 267.904000 464.592000 271.900000 452.592000 1.000000 0.000000 0.000000 1.000000 I +drawChar 272.104000 464.592000 275.104000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 275.404000 464.592000 280.720000 452.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 280.708000 464.592000 284.032000 452.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 284.008000 464.592000 288.676000 452.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 288.712000 464.592000 294.712000 452.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 294.916000 464.592000 297.916000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 298.216000 464.592000 304.216000 452.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 304.216000 464.592000 309.532000 452.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 309.520000 464.592000 315.520000 452.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 315.424000 464.592000 320.740000 452.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.028000 464.592000 324.028000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 324.328000 464.592000 329.644000 452.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 329.824000 464.592000 332.824000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 333.124000 464.592000 339.124000 452.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 339.124000 464.592000 343.120000 452.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 343.024000 464.592000 346.348000 452.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 346.420000 464.592000 349.744000 452.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 349.720000 464.592000 353.044000 452.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 353.320000 464.592000 356.320000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 356.524000 464.592000 360.520000 452.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 360.520000 464.592000 366.520000 452.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 366.520000 464.592000 370.516000 452.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 370.720000 464.592000 373.720000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 374.020000 464.592000 380.020000 452.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 380.020000 464.592000 385.336000 452.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 385.324000 464.592000 389.320000 452.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 389.320000 464.592000 395.320000 452.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 395.320000 464.592000 400.636000 452.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 400.624000 464.592000 405.940000 452.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 405.928000 464.592000 411.928000 452.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 411.928000 464.592000 417.244000 452.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 417.532000 464.592000 420.532000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 420.736000 464.592000 426.736000 452.592000 1.000000 0.000000 0.000000 1.000000 p +drawChar 426.640000 464.592000 431.956000 452.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 431.944000 464.592000 435.940000 452.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 435.940000 464.592000 439.264000 452.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 439.240000 464.592000 442.564000 452.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 442.636000 464.592000 447.952000 452.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 447.940000 464.592000 452.608000 452.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 452.944000 464.592000 455.944000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 456.244000 464.592000 461.560000 452.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 461.548000 464.592000 467.548000 452.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 467.548000 464.592000 473.548000 452.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 473.752000 464.592000 476.752000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 476.956000 464.592000 482.272000 452.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 482.560000 464.592000 485.560000 452.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 485.764000 464.592000 491.080000 452.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 491.068000 464.592000 497.068000 452.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 497.068000 464.592000 501.736000 452.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 501.772000 464.592000 505.096000 452.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 505.072000 464.592000 511.072000 452.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 511.072000 464.592000 520.396000 452.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 520.372000 464.592000 524.368000 452.592000 1.000000 0.000000 0.000000 1.000000 - +drawChar 524.476000 464.592000 530.476000 452.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 530.380000 464.592000 535.696000 452.592000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 536.200000 464.592000 540.196000 452.592000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 221.500000 451.092000 226.168000 439.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 226.204000 451.092000 229.528000 439.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 229.504000 451.092000 235.504000 439.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 235.504000 451.092000 241.504000 439.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 241.504000 451.092000 246.820000 439.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 246.808000 451.092000 252.808000 439.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 252.808000 451.092000 255.808000 439.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 255.808000 451.092000 261.808000 439.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 261.808000 451.092000 267.808000 439.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 267.808000 451.092000 271.132000 439.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 271.108000 451.092000 277.108000 439.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 277.012000 451.092000 283.012000 439.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 283.012000 451.092000 289.012000 439.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 289.012000 451.092000 293.008000 439.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 293.212000 451.092000 296.212000 439.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 296.212000 451.092000 300.208000 439.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 300.112000 451.092000 303.436000 439.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 303.508000 451.092000 307.504000 439.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 307.504000 451.092000 312.820000 439.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 312.808000 451.092000 318.808000 439.092000 1.000000 0.000000 0.000000 1.000000 p +drawChar 318.712000 451.092000 322.036000 439.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 322.012000 451.092000 327.328000 439.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 327.412000 451.092000 332.728000 439.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 332.716000 451.092000 338.032000 439.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 338.020000 451.092000 341.020000 439.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 108.100000 89.992000 114.772000 77.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 114.796000 89.992000 120.112000 77.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 120.100000 89.992000 126.100000 77.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 126.100000 89.992000 131.416000 77.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 131.404000 89.992000 134.404000 77.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 134.400000 89.992000 140.400000 77.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 140.496000 89.992000 146.496000 77.992000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 1.000000 1.000000 1.000000 1.000000 +eoFillPath subpath 1 72.000000 550.900000 0 504.000000 550.900000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 550.900000 0 +eoFillPath subpath 1 72.000000 72.000000 0 504.000000 72.000000 0 504.000000 241.100000 0 72.000000 241.100000 0 72.000000 72.000000 0 +eoFillPath subpath 1 72.000000 241.100000 0 116.200000 241.100000 0 116.200000 550.900000 0 72.000000 550.900000 0 72.000000 241.100000 0 +eoFillPath subpath 1 459.700000 241.100000 0 504.000000 241.100000 0 504.000000 550.900000 0 459.700000 550.900000 0 459.700000 241.100000 0 +saveState +updateCtm 34350.000000 0.000000 0.000000 -30980.000000 11620.000000 55090.000000 +drawImage 458 413 0 JPEG 8655 +restoreState +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 701.500000 0 504.000000 701.500000 0 504.000000 720.000000 0 72.000000 720.000000 0 72.000000 701.500000 0 +updateFillColor 0.933319 0.933319 0.933319 1.000000 +eoFillPath subpath 1 72.000000 654.200000 0 291.400000 654.200000 0 291.400000 673.100000 0 72.000000 673.100000 0 72.000000 654.200000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 72.000000 72.700000 0 504.000000 72.700000 0 504.000000 86.100000 0 72.000000 86.100000 0 72.000000 72.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 365.700000 716.588000 379.028000 700.588000 1.000000 0.000000 0.000000 1.000000 M +drawChar 378.996000 716.588000 386.996000 700.588000 1.000000 0.000000 0.000000 1.000000 y +drawChar 387.092000 716.588000 391.540000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 391.588000 716.588000 403.140000 700.588000 1.000000 0.000000 0.000000 1.000000 H +drawChar 403.188000 716.588000 412.084000 700.588000 1.000000 0.000000 0.000000 1.000000 o +drawChar 412.084000 716.588000 420.980000 700.588000 1.000000 0.000000 0.000000 1.000000 u +drawChar 420.980000 716.588000 428.980000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 428.980000 716.588000 437.876000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 438.084000 716.588000 442.532000 700.588000 1.000000 0.000000 0.000000 1.000000 +drawChar 442.484000 716.588000 447.812000 700.588000 1.000000 0.000000 0.000000 1.000000 - +drawChar 447.892000 716.588000 452.340000 700.588000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 452.400000 716.588000 462.176000 700.588000 1.000000 0.000000 0.000000 1.000000 F +drawChar 462.096000 716.588000 465.648000 700.588000 1.000000 0.000000 0.000000 1.000000 i +drawChar 465.696000 716.588000 470.144000 700.588000 1.000000 0.000000 0.000000 1.000000 t +drawChar 470.096000 716.588000 478.992000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 478.992000 716.588000 487.888000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 488.000000 716.588000 496.000000 700.588000 1.000000 0.000000 0.000000 1.000000 s +drawChar 496.000000 716.588000 504.000000 700.588000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 669.288000 81.876000 653.288000 1.000000 0.000000 0.000000 1.000000 F +drawChar 81.908000 669.288000 86.356000 653.288000 1.000000 0.000000 0.000000 1.000000 i +drawChar 86.308000 669.288000 91.636000 653.288000 1.000000 0.000000 0.000000 1.000000 t +drawChar 91.716000 669.288000 101.492000 653.288000 1.000000 0.000000 0.000000 1.000000 n +drawChar 101.524000 669.288000 110.420000 653.288000 1.000000 0.000000 0.000000 1.000000 e +drawChar 110.420000 669.288000 119.316000 653.288000 1.000000 0.000000 0.000000 1.000000 s +drawChar 119.316000 669.288000 128.212000 653.288000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 648.092000 194.164000 636.092000 1.000000 0.000000 0.000000 1.000000 A +drawChar 194.200000 648.092000 197.524000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 197.500000 648.092000 200.824000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 200.800000 648.092000 206.800000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 206.800000 648.092000 212.800000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 212.800000 648.092000 218.800000 636.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 218.800000 648.092000 224.800000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 224.800000 648.092000 230.800000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 231.400000 648.092000 234.400000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 235.000000 648.092000 238.324000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 238.204000 648.092000 244.204000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 244.300000 648.092000 249.616000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 250.204000 648.092000 253.204000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 253.804000 648.092000 259.804000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 259.804000 648.092000 265.120000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 265.108000 648.092000 269.104000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 269.104000 648.092000 275.104000 636.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 275.008000 648.092000 280.324000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 280.312000 648.092000 286.312000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 287.008000 648.092000 290.008000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 290.608000 648.092000 293.932000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 294.004000 648.092000 298.672000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 299.200000 648.092000 302.200000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.800000 648.092000 306.796000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 306.796000 648.092000 312.112000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 312.100000 648.092000 315.424000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 315.304000 648.092000 321.304000 636.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 321.400000 648.092000 326.716000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 326.704000 648.092000 330.700000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 331.300000 648.092000 334.300000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 334.900000 648.092000 338.224000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 338.200000 648.092000 343.516000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 343.504000 648.092000 347.500000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 347.500000 648.092000 353.500000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 353.500000 648.092000 358.816000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 358.804000 648.092000 361.804000 636.092000 1.000000 0.000000 0.000000 1.000000 , +drawChar 362.404000 648.092000 365.404000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 366.004000 648.092000 369.328000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 369.400000 648.092000 372.724000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 372.700000 648.092000 374.860000 636.092000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 374.800000 648.092000 379.468000 636.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 380.104000 648.092000 383.104000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 383.704000 648.092000 389.020000 636.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 389.008000 648.092000 394.324000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.312000 648.092000 398.308000 636.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 398.308000 648.092000 401.632000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 401.608000 648.092000 406.924000 636.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 406.912000 648.092000 410.236000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 410.308000 648.092000 416.308000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 416.308000 648.092000 419.632000 636.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 419.608000 648.092000 425.608000 636.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 426.208000 648.092000 429.208000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 429.808000 648.092000 435.808000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 435.808000 648.092000 441.808000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 441.808000 648.092000 445.132000 636.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 445.708000 648.092000 448.708000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 449.308000 648.092000 455.308000 636.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 455.308000 648.092000 458.632000 636.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 458.608000 648.092000 464.608000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 465.208000 648.092000 468.208000 636.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 468.808000 648.092000 474.124000 636.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 474.112000 648.092000 480.112000 636.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 480.112000 648.092000 486.112000 636.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 486.112000 648.092000 492.112000 636.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 492.112000 648.092000 498.112000 636.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 498.016000 648.092000 504.016000 636.092000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 648.092000 507.200000 636.092000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 634.692000 189.496000 622.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 634.692000 195.496000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 195.496000 634.692000 199.492000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 199.996000 634.692000 202.996000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.500000 634.692000 206.824000 622.692000 1.000000 0.000000 0.000000 1.000000 j +drawChar 206.896000 634.692000 212.896000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 212.896000 634.692000 218.896000 622.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 218.896000 634.692000 224.896000 622.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 224.800000 634.692000 228.124000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 228.196000 634.692000 234.196000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 234.196000 634.692000 240.196000 622.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 240.196000 634.692000 243.196000 622.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 243.700000 634.692000 246.700000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.300000 634.692000 253.300000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 253.300000 634.692000 257.296000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 257.800000 634.692000 260.800000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.304000 634.692000 270.628000 622.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 270.604000 634.692000 275.920000 622.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 275.908000 634.692000 281.908000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 281.908000 634.692000 287.908000 622.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 288.508000 634.692000 291.508000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.012000 634.692000 298.012000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 298.012000 634.692000 301.336000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 301.312000 634.692000 307.312000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 307.408000 634.692000 312.724000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 312.712000 634.692000 316.708000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 317.212000 634.692000 320.212000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 320.716000 634.692000 326.716000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 326.716000 634.692000 332.716000 622.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 332.716000 634.692000 336.040000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 336.016000 634.692000 342.016000 622.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 341.920000 634.692000 347.920000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 347.920000 634.692000 353.920000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 353.920000 634.692000 357.916000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 358.624000 634.692000 361.624000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.128000 634.692000 366.796000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 366.832000 634.692000 372.832000 622.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 372.736000 634.692000 378.736000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 378.736000 634.692000 382.732000 622.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 382.732000 634.692000 386.056000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 386.032000 634.692000 390.700000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 390.736000 634.692000 393.736000 622.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.336000 634.692000 397.336000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.840000 634.692000 405.832000 622.692000 1.000000 0.000000 0.000000 1.000000 B +drawChar 405.844000 634.692000 411.844000 622.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 411.844000 634.692000 415.168000 622.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 415.744000 634.692000 418.744000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 419.248000 634.692000 428.572000 622.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 428.548000 634.692000 434.548000 622.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 435.148000 634.692000 438.148000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 438.652000 634.692000 444.652000 622.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 444.748000 634.692000 450.748000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 450.652000 634.692000 456.652000 622.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 456.652000 634.692000 461.320000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 461.356000 634.692000 466.672000 622.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 467.152000 634.692000 470.152000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.752000 634.692000 474.076000 622.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 474.052000 634.692000 478.720000 622.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 479.248000 634.692000 482.248000 622.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 482.752000 634.692000 488.752000 622.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 488.752000 634.692000 494.752000 622.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 494.752000 634.692000 498.076000 622.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 498.052000 634.692000 504.052000 622.692000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 634.692000 507.100000 622.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 621.192000 194.824000 609.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 194.800000 621.192000 198.124000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 198.196000 621.192000 204.196000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 204.196000 621.192000 210.196000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 210.196000 621.192000 213.520000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 213.496000 621.192000 218.812000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 218.800000 621.192000 223.468000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 223.696000 621.192000 226.696000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 226.900000 621.192000 232.216000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 232.096000 621.192000 240.760000 609.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 240.796000 621.192000 246.112000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 246.100000 621.192000 252.100000 609.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 252.304000 621.192000 255.304000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 255.508000 621.192000 259.504000 609.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 259.504000 621.192000 263.500000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 263.500000 621.192000 269.500000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 269.500000 621.192000 278.824000 609.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 279.004000 621.192000 282.004000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.208000 621.192000 285.532000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 285.508000 621.192000 291.508000 609.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 291.604000 621.192000 296.920000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 297.004000 621.192000 300.004000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 300.208000 621.192000 306.208000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 306.208000 621.192000 312.208000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 312.208000 621.192000 321.532000 609.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 321.508000 621.192000 326.824000 609.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 326.812000 621.192000 330.808000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 330.808000 621.192000 336.808000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 336.808000 621.192000 342.808000 609.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 342.808000 621.192000 347.476000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 347.704000 621.192000 350.704000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 350.908000 621.192000 356.224000 609.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 356.212000 621.192000 359.536000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 359.608000 621.192000 362.932000 609.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 362.908000 621.192000 368.908000 609.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 369.004000 621.192000 372.004000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.208000 621.192000 378.208000 609.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 378.112000 621.192000 383.428000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 383.416000 621.192000 387.412000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 387.412000 621.192000 393.412000 609.192000 1.000000 0.000000 0.000000 1.000000 k +drawChar 393.412000 621.192000 398.080000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 398.416000 621.192000 401.416000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 401.620000 621.192000 404.944000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 404.920000 621.192000 410.920000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 411.124000 621.192000 414.124000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 414.328000 621.192000 421.000000 609.192000 1.000000 0.000000 0.000000 1.000000 S +drawChar 421.024000 621.192000 426.340000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 426.328000 621.192000 432.328000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 432.424000 621.192000 435.424000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 435.628000 621.192000 442.300000 609.192000 1.000000 0.000000 0.000000 1.000000 F +drawChar 442.228000 621.192000 446.224000 609.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 446.224000 621.192000 451.540000 609.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 451.528000 621.192000 457.528000 609.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 457.528000 621.192000 462.844000 609.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 462.832000 621.192000 466.156000 609.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 466.228000 621.192000 470.896000 609.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 470.932000 621.192000 476.248000 609.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 476.236000 621.192000 482.236000 609.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 482.236000 621.192000 485.236000 609.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 485.440000 621.192000 488.440000 609.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.644000 621.192000 497.968000 609.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 497.944000 621.192000 503.944000 609.192000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 621.192000 507.200000 609.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 607.792000 189.496000 595.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 607.792000 194.812000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 194.800000 607.792000 200.800000 595.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 200.704000 607.792000 206.704000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 206.704000 607.792000 210.700000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 210.700000 607.792000 214.024000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 214.096000 607.792000 217.420000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 217.396000 607.792000 222.712000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 223.096000 607.792000 226.096000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 226.300000 607.792000 232.300000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 232.300000 607.792000 236.296000 595.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 236.596000 607.792000 239.596000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.800000 607.792000 248.464000 595.792000 1.000000 0.000000 0.000000 1.000000 w +drawChar 248.500000 607.792000 254.500000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 254.500000 607.792000 257.824000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 257.896000 607.792000 263.212000 595.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 263.092000 607.792000 269.092000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 269.392000 607.792000 272.392000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.596000 607.792000 275.920000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 275.992000 607.792000 280.660000 595.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 280.888000 607.792000 283.888000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 284.092000 607.792000 287.416000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 287.392000 607.792000 293.392000 595.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 293.488000 607.792000 298.804000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 299.284000 607.792000 302.284000 595.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 302.500000 607.792000 311.164000 595.792000 1.000000 0.000000 0.000000 1.000000 G +drawChar 311.104000 607.792000 317.104000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 317.104000 607.792000 320.428000 595.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 320.404000 607.792000 326.404000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 326.308000 607.792000 331.624000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 331.612000 607.792000 337.612000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 338.008000 607.792000 341.008000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 341.308000 607.792000 349.972000 595.792000 1.000000 0.000000 0.000000 1.000000 G +drawChar 349.912000 607.792000 355.228000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 355.216000 607.792000 358.540000 595.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 358.516000 607.792000 363.832000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 364.216000 607.792000 367.216000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.420000 607.792000 374.092000 595.792000 1.000000 0.000000 0.000000 1.000000 P +drawChar 374.116000 607.792000 379.432000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 379.420000 607.792000 383.416000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 383.416000 607.792000 389.416000 595.792000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 389.500000 607.792000 392.500000 595.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 392.704000 607.792000 395.704000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 396.004000 607.792000 399.328000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 399.400000 607.792000 405.400000 595.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 405.304000 607.792000 410.620000 595.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 410.608000 607.792000 415.924000 595.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 415.912000 607.792000 419.236000 595.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 419.512000 607.792000 422.512000 595.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.812000 607.792000 426.808000 595.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 426.808000 607.792000 432.808000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 432.808000 607.792000 436.804000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 437.308000 607.792000 440.308000 595.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 440.300000 607.792000 443.624000 595.792000 1.000000 0.000000 0.000000 1.000000 j +drawChar 443.696000 607.792000 449.696000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 449.600000 607.792000 455.600000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 455.600000 607.792000 461.600000 595.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 461.600000 607.792000 464.924000 595.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 464.996000 607.792000 470.996000 595.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 470.996000 607.792000 476.996000 595.792000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 477.000000 607.792000 480.000000 595.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 480.504000 607.792000 483.504000 595.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 483.500000 607.792000 487.496000 595.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 487.400000 607.792000 493.400000 595.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 493.400000 607.792000 496.724000 595.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 496.700000 607.792000 500.024000 595.792000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.100000 607.792000 504.096000 595.792000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 594.292000 190.816000 582.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 190.804000 594.292000 194.800000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 194.800000 594.292000 198.796000 582.292000 1.000000 0.000000 0.000000 1.000000 - +drawChar 198.796000 594.292000 204.796000 582.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 204.796000 594.292000 208.120000 582.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 208.096000 594.292000 213.412000 582.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 213.400000 594.292000 219.400000 582.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 219.304000 594.292000 222.628000 582.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 222.700000 594.292000 228.700000 582.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 228.700000 594.292000 234.700000 582.292000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 234.800000 594.292000 237.800000 582.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 237.800000 594.292000 243.800000 582.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 243.800000 594.292000 247.796000 582.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 247.796000 594.292000 250.796000 582.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 250.800000 594.292000 256.800000 582.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 256.704000 594.292000 260.028000 582.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 260.100000 594.292000 266.100000 582.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 266.004000 594.292000 269.328000 582.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 269.400000 594.292000 275.400000 582.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 275.400000 594.292000 281.400000 582.292000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 281.400000 594.292000 284.400000 582.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 553.288000 82.772000 537.288000 1.000000 0.000000 0.000000 1.000000 S +drawChar 82.804000 553.288000 95.252000 537.288000 1.000000 0.000000 0.000000 1.000000 w +drawChar 95.204000 553.288000 99.652000 537.288000 1.000000 0.000000 0.000000 1.000000 i +drawChar 99.700000 553.288000 113.924000 537.288000 1.000000 0.000000 0.000000 1.000000 m +drawChar 114.004000 553.288000 128.228000 537.288000 1.000000 0.000000 0.000000 1.000000 m +drawChar 128.308000 553.288000 132.756000 537.288000 1.000000 0.000000 0.000000 1.000000 i +drawChar 132.804000 553.288000 142.580000 537.288000 1.000000 0.000000 0.000000 1.000000 n +drawChar 142.612000 553.288000 152.388000 537.288000 1.000000 0.000000 0.000000 1.000000 g +drawChar 152.516000 553.288000 156.964000 537.288000 1.000000 0.000000 0.000000 1.000000 +drawChar 157.012000 553.288000 167.684000 537.288000 1.000000 0.000000 0.000000 1.000000 P +drawChar 167.620000 553.288000 177.396000 537.288000 1.000000 0.000000 0.000000 1.000000 o +drawChar 177.524000 553.288000 187.300000 537.288000 1.000000 0.000000 0.000000 1.000000 o +drawChar 187.220000 553.288000 191.668000 537.288000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 532.192000 189.496000 520.192000 1.000000 0.000000 0.000000 1.000000 I +drawChar 189.796000 532.192000 192.796000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 193.192000 532.192000 199.192000 520.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 199.192000 532.192000 204.508000 520.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 204.496000 532.192000 210.496000 520.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 210.400000 532.192000 215.716000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 216.196000 532.192000 219.196000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 219.592000 532.192000 224.908000 520.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 225.196000 532.192000 228.196000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 228.592000 532.192000 233.260000 520.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 233.296000 532.192000 242.620000 520.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 242.596000 532.192000 247.912000 520.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 247.900000 532.192000 251.224000 520.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 251.200000 532.192000 254.524000 520.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 254.500000 532.192000 257.500000 520.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 257.896000 532.192000 260.896000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 261.292000 532.192000 266.608000 520.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 266.596000 532.192000 272.596000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 272.596000 532.192000 278.596000 520.192000 1.000000 0.000000 0.000000 1.000000 v +drawChar 278.500000 532.192000 283.816000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 283.804000 532.192000 287.800000 520.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 287.800000 532.192000 293.116000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 293.200000 532.192000 299.200000 520.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 299.596000 532.192000 302.596000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 302.992000 532.192000 307.660000 520.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 307.588000 532.192000 316.252000 520.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 316.288000 532.192000 319.612000 520.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 319.684000 532.192000 329.008000 520.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 328.984000 532.192000 338.308000 520.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 338.188000 532.192000 341.512000 520.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 341.584000 532.192000 347.584000 520.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 347.584000 532.192000 353.584000 520.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 353.980000 532.192000 356.980000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 357.280000 532.192000 363.280000 520.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 363.184000 532.192000 369.184000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 369.184000 532.192000 375.184000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 375.184000 532.192000 378.508000 520.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 378.988000 532.192000 381.988000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 382.384000 532.192000 388.384000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 388.384000 532.192000 394.384000 520.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 394.684000 532.192000 397.684000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.080000 532.192000 407.404000 520.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 407.380000 532.192000 413.380000 520.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 413.776000 532.192000 416.776000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.076000 532.192000 423.076000 520.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 422.980000 532.192000 426.976000 520.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 426.976000 532.192000 432.976000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 433.072000 532.192000 439.072000 520.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 438.976000 532.192000 444.292000 520.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 444.280000 532.192000 448.276000 520.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 448.276000 532.192000 451.600000 520.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 451.672000 532.192000 457.672000 520.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 457.576000 532.192000 460.576000 520.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.080000 532.192000 464.080000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 464.476000 532.192000 468.472000 520.192000 1.000000 0.000000 0.000000 1.000000 I +drawChar 468.472000 532.192000 471.796000 520.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 471.772000 532.192000 473.932000 520.192000 1.000000 0.000000 0.000000 1.000000 ' +drawChar 473.872000 532.192000 478.540000 520.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 478.972000 532.192000 481.972000 520.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 482.272000 532.192000 488.272000 520.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 488.272000 532.192000 494.272000 520.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 494.272000 532.192000 497.596000 520.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 497.572000 532.192000 503.572000 520.192000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 532.192000 507.100000 520.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 518.692000 190.816000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 518.692000 196.804000 506.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 196.804000 518.692000 202.804000 506.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 202.804000 518.692000 208.804000 506.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 208.804000 518.692000 212.128000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 212.308000 518.692000 215.308000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 215.404000 518.692000 221.404000 506.692000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 221.404000 518.692000 227.404000 506.692000 1.000000 0.000000 0.000000 1.000000 2 +drawChar 227.500000 518.692000 230.500000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 230.596000 518.692000 234.592000 506.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 234.592000 518.692000 237.916000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 237.892000 518.692000 240.892000 506.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.988000 518.692000 243.988000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 244.084000 518.692000 247.408000 506.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 247.384000 518.692000 253.384000 506.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 253.384000 518.692000 259.384000 506.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 259.384000 518.692000 265.384000 506.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 265.384000 518.692000 268.384000 506.692000 1.000000 0.000000 0.000000 1.000000 , +drawChar 268.480000 518.692000 271.480000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 271.576000 518.692000 277.576000 506.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 277.576000 518.692000 283.576000 506.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 283.576000 518.692000 286.900000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 287.080000 518.692000 290.080000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 290.176000 518.692000 296.176000 506.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 296.176000 518.692000 301.492000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 301.480000 518.692000 306.148000 506.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 306.280000 518.692000 309.280000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.376000 518.692000 314.692000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 314.680000 518.692000 320.680000 506.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 320.776000 518.692000 323.776000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 323.872000 518.692000 327.196000 506.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 327.172000 518.692000 333.172000 506.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 333.172000 518.692000 336.496000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 336.472000 518.692000 341.788000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.776000 518.692000 347.776000 506.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 347.776000 518.692000 351.772000 506.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 351.772000 518.692000 357.088000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 357.076000 518.692000 360.400000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 360.376000 518.692000 365.692000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 365.776000 518.692000 371.776000 506.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 371.980000 518.692000 374.980000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 375.076000 518.692000 380.392000 506.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 380.380000 518.692000 384.376000 506.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 384.376000 518.692000 390.376000 506.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 390.376000 518.692000 395.044000 506.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 394.972000 518.692000 399.640000 506.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 399.676000 518.692000 403.672000 506.692000 1.000000 0.000000 0.000000 1.000000 - +drawChar 403.672000 518.692000 408.988000 506.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 408.976000 518.692000 414.976000 506.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 414.976000 518.692000 418.972000 506.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 418.972000 518.692000 422.968000 506.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 422.968000 518.692000 428.284000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 428.272000 518.692000 434.272000 506.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 434.272000 518.692000 437.596000 506.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 437.776000 518.692000 440.776000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 440.872000 518.692000 449.536000 506.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 449.572000 518.692000 455.572000 506.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 455.572000 518.692000 458.896000 506.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 458.968000 518.692000 464.284000 506.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 464.164000 518.692000 470.164000 506.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 470.260000 518.692000 473.260000 506.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.356000 518.692000 482.680000 506.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 482.656000 518.692000 487.972000 506.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 487.960000 518.692000 493.960000 506.692000 1.000000 0.000000 0.000000 1.000000 k +drawChar 493.960000 518.692000 499.276000 506.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 499.264000 518.692000 503.932000 506.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 518.692000 507.200000 506.692000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 505.292000 188.824000 493.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 188.896000 505.292000 192.220000 493.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 193.192000 505.292000 196.192000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 197.296000 505.292000 203.296000 493.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 203.200000 505.292000 209.200000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 209.200000 505.292000 213.868000 493.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 213.904000 505.292000 218.572000 493.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 218.608000 505.292000 221.932000 493.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 222.004000 505.292000 228.004000 493.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 228.004000 505.292000 231.328000 493.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 231.304000 505.292000 236.620000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 237.700000 505.292000 240.700000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 241.804000 505.292000 245.128000 493.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 245.104000 505.292000 251.104000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 252.208000 505.292000 255.208000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 256.312000 505.292000 260.980000 493.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 260.908000 505.292000 269.572000 493.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 269.608000 505.292000 272.932000 493.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 273.004000 505.292000 282.328000 493.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 283.300000 505.292000 286.300000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.404000 505.292000 292.720000 493.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 292.708000 505.292000 298.708000 493.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 298.708000 505.292000 304.708000 493.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 305.812000 505.292000 308.812000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 309.916000 505.292000 315.916000 493.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 315.916000 505.292000 321.232000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 321.220000 505.292000 324.544000 493.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 325.624000 505.292000 328.624000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.728000 505.292000 335.044000 493.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 336.124000 505.292000 339.124000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 340.228000 505.292000 346.228000 493.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 346.228000 505.292000 352.228000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 352.228000 505.292000 358.228000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 358.228000 505.292000 364.228000 493.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 365.332000 505.292000 368.332000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 369.436000 505.292000 378.100000 493.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 378.040000 505.292000 384.040000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 384.040000 505.292000 388.036000 493.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 388.036000 505.292000 394.036000 493.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 394.036000 505.292000 400.036000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 400.036000 505.292000 406.036000 493.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 406.036000 505.292000 409.360000 493.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 409.336000 505.292000 412.336000 493.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.440000 505.292000 416.440000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 417.544000 505.292000 424.864000 493.292000 1.000000 0.000000 0.000000 1.000000 T +drawChar 424.840000 505.292000 430.840000 493.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 430.936000 505.292000 436.252000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 437.236000 505.292000 440.236000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 441.340000 505.292000 446.008000 493.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 446.044000 505.292000 452.044000 493.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 451.948000 505.292000 457.264000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 457.252000 505.292000 462.568000 493.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 462.652000 505.292000 468.652000 493.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 469.756000 505.292000 472.756000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.860000 505.292000 479.860000 493.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 479.860000 505.292000 483.856000 493.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 484.864000 505.292000 487.864000 493.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.968000 505.292000 492.292000 493.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 492.268000 505.292000 498.268000 493.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 498.364000 505.292000 503.680000 493.292000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 505.292000 507.100000 493.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 491.792000 190.816000 479.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 190.804000 491.792000 194.800000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 194.800000 491.792000 200.800000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 200.800000 491.792000 205.468000 479.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 205.504000 491.792000 210.172000 479.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 210.208000 491.792000 214.204000 479.792000 1.000000 0.000000 0.000000 1.000000 - +drawChar 214.204000 491.792000 219.520000 479.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 219.508000 491.792000 225.508000 479.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 225.508000 491.792000 229.504000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 229.504000 491.792000 233.500000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 233.500000 491.792000 238.816000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 238.804000 491.792000 244.804000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 244.804000 491.792000 248.128000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 248.200000 491.792000 251.200000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 251.296000 491.792000 255.964000 479.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 256.000000 491.792000 262.000000 479.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 261.904000 491.792000 266.572000 479.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 266.608000 491.792000 269.932000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 269.908000 491.792000 275.224000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 275.212000 491.792000 284.536000 479.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 284.716000 491.792000 287.716000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 287.812000 491.792000 293.128000 479.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 293.116000 491.792000 298.432000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 298.420000 491.792000 304.420000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 304.516000 491.792000 307.516000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 307.612000 491.792000 313.612000 479.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 313.612000 491.792000 318.928000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 319.012000 491.792000 322.012000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 322.108000 491.792000 327.424000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 327.412000 491.792000 333.412000 479.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 333.316000 491.792000 336.640000 479.792000 1.000000 0.000000 0.000000 1.000000 j +drawChar 336.712000 491.792000 342.712000 479.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 342.712000 491.792000 347.380000 479.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 347.416000 491.792000 350.740000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 350.716000 491.792000 356.032000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 356.020000 491.792000 362.020000 479.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 362.116000 491.792000 365.116000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 365.212000 491.792000 368.536000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 368.512000 491.792000 374.512000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 374.608000 491.792000 377.608000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.704000 491.792000 383.704000 479.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 383.608000 491.792000 386.932000 479.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 387.004000 491.792000 391.000000 479.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 391.000000 491.792000 394.996000 479.792000 1.000000 0.000000 0.000000 1.000000 f +drawChar 394.996000 491.792000 400.312000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 400.300000 491.792000 404.296000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 404.296000 491.792000 409.612000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 409.600000 491.792000 415.600000 479.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 415.600000 491.792000 418.924000 479.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 419.104000 491.792000 422.104000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 422.200000 491.792000 425.524000 479.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 425.500000 491.792000 430.816000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 430.804000 491.792000 436.804000 479.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 436.708000 491.792000 442.024000 479.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 442.012000 491.792000 445.336000 479.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 445.312000 491.792000 449.980000 479.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 450.016000 491.792000 453.016000 479.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.220000 491.792000 456.220000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 456.316000 491.792000 462.988000 479.792000 1.000000 0.000000 0.000000 1.000000 F +drawChar 462.916000 491.792000 468.916000 479.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 468.916000 491.792000 472.912000 479.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 473.020000 491.792000 476.020000 479.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 476.116000 491.792000 481.432000 479.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 481.612000 491.792000 484.612000 479.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 484.900000 491.792000 490.900000 479.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 490.804000 491.792000 494.128000 479.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 494.200000 491.792000 500.200000 479.792000 1.000000 0.000000 0.000000 1.000000 v +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 491.792000 504.196000 479.792000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 478.392000 188.824000 466.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 188.896000 478.392000 194.896000 466.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 194.800000 478.392000 200.800000 466.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 200.800000 478.392000 203.800000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 203.800000 478.392000 209.800000 466.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 209.800000 478.392000 215.800000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 215.800000 478.392000 221.116000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 221.104000 478.392000 225.100000 466.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 225.100000 478.392000 231.100000 466.392000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 231.200000 478.392000 234.200000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 234.200000 478.392000 237.524000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 237.404000 478.392000 243.404000 466.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 243.500000 478.392000 249.500000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 249.500000 478.392000 255.500000 466.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 255.500000 478.392000 261.500000 466.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 261.404000 478.392000 267.404000 466.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 267.500000 478.392000 270.500000 466.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 270.500000 478.392000 273.500000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 273.500000 478.392000 276.824000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 276.704000 478.392000 282.704000 466.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 282.800000 478.392000 288.116000 466.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 288.200000 478.392000 291.200000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.200000 478.392000 297.200000 466.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 297.104000 478.392000 303.104000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 303.104000 478.392000 309.104000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 309.104000 478.392000 312.428000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 312.500000 478.392000 315.500000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 315.500000 478.392000 318.824000 466.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 318.800000 478.392000 323.468000 466.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 323.504000 478.392000 326.504000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 326.504000 478.392000 332.504000 466.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 332.504000 478.392000 337.820000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 337.808000 478.392000 341.132000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 341.108000 478.392000 347.108000 466.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 347.108000 478.392000 351.104000 466.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 351.104000 478.392000 356.420000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 356.408000 478.392000 359.732000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 359.708000 478.392000 363.032000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 363.104000 478.392000 369.104000 466.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 369.200000 478.392000 372.200000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 372.200000 478.392000 381.524000 466.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 381.500000 478.392000 387.500000 466.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 387.500000 478.392000 392.816000 466.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 392.696000 478.392000 398.696000 466.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 398.792000 478.392000 401.792000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 401.792000 478.392000 405.116000 466.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 405.092000 478.392000 411.092000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 411.092000 478.392000 417.092000 466.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 417.188000 478.392000 420.188000 466.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 420.188000 478.392000 424.856000 466.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 424.892000 478.392000 434.216000 466.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 434.192000 478.392000 439.508000 466.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 439.496000 478.392000 442.820000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 442.796000 478.392000 446.120000 466.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 446.096000 478.392000 449.096000 466.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.501953 0.501953 0.501953 1.000000 +updateFont 107 0 0 0 0 1600.000000 0 Helvetica-Bold +drawChar 72.100000 437.388000 81.876000 421.388000 1.000000 0.000000 0.000000 1.000000 T +drawChar 81.908000 437.388000 90.804000 421.388000 1.000000 0.000000 0.000000 1.000000 e +drawChar 90.804000 437.388000 100.580000 421.388000 1.000000 0.000000 0.000000 1.000000 n +drawChar 100.612000 437.388000 110.388000 421.388000 1.000000 0.000000 0.000000 1.000000 n +drawChar 110.420000 437.388000 114.868000 421.388000 1.000000 0.000000 0.000000 1.000000 i +drawChar 114.916000 437.388000 123.812000 421.388000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 416.192000 188.500000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 189.400000 416.192000 193.396000 404.192000 1.000000 0.000000 0.000000 1.000000 I +drawChar 193.804000 416.192000 196.804000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 197.308000 416.192000 201.304000 404.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 201.304000 416.192000 206.620000 404.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 206.608000 416.192000 211.924000 404.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 211.912000 416.192000 217.228000 404.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 217.216000 416.192000 223.216000 404.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 223.216000 416.192000 226.540000 404.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 226.516000 416.192000 229.840000 404.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 229.816000 416.192000 235.816000 404.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 236.416000 416.192000 239.416000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 239.812000 416.192000 245.128000 404.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 245.116000 416.192000 251.116000 404.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 251.116000 416.192000 257.116000 404.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 257.020000 416.192000 262.336000 404.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 262.420000 416.192000 268.420000 404.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 269.020000 416.192000 272.020000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 272.416000 416.192000 277.732000 404.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 278.212000 416.192000 281.212000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.608000 416.192000 284.932000 404.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 284.908000 416.192000 290.224000 404.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 290.212000 416.192000 296.212000 404.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 296.212000 416.192000 302.212000 404.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 302.212000 416.192000 305.536000 404.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 305.608000 416.192000 310.276000 404.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 310.804000 416.192000 313.804000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 314.200000 416.192000 319.516000 404.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 319.504000 416.192000 325.504000 404.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 325.504000 416.192000 331.504000 404.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 331.504000 416.192000 335.500000 404.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 335.500000 416.192000 338.824000 404.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 339.304000 416.192000 342.304000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 342.808000 416.192000 348.808000 404.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 348.808000 416.192000 354.124000 404.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.004000 416.192000 360.004000 404.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 360.100000 416.192000 363.424000 404.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 363.400000 416.192000 369.400000 404.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 369.400000 416.192000 375.400000 404.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 375.904000 416.192000 378.904000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 379.300000 416.192000 382.624000 404.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 382.600000 416.192000 388.600000 404.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 388.696000 416.192000 394.012000 404.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.396000 416.192000 397.396000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 397.900000 416.192000 403.900000 404.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 403.804000 416.192000 409.804000 404.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 409.804000 416.192000 415.804000 404.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 415.804000 416.192000 419.128000 404.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 419.104000 416.192000 422.104000 404.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 422.704000 416.192000 425.704000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.100000 416.192000 434.764000 404.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 434.800000 416.192000 438.124000 404.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 438.196000 416.192000 441.520000 404.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 441.400000 416.192000 447.400000 404.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 447.904000 416.192000 450.904000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 451.408000 416.192000 454.732000 404.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 454.612000 416.192000 460.612000 404.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 460.708000 416.192000 466.024000 404.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 466.504000 416.192000 469.504000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 469.900000 416.192000 473.224000 404.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 473.296000 416.192000 479.296000 404.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 479.200000 416.192000 484.516000 404.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 484.504000 416.192000 489.820000 404.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 490.408000 416.192000 493.408000 404.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 493.804000 416.192000 499.804000 404.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 499.804000 416.192000 503.800000 404.192000 1.000000 0.000000 0.000000 1.000000 f +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 416.192000 507.100000 404.192000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 402.792000 190.816000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 190.804000 402.792000 196.804000 390.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 196.804000 402.792000 202.804000 390.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 202.708000 402.792000 206.032000 390.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 206.104000 402.792000 209.428000 390.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 209.404000 402.792000 212.728000 390.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 212.800000 402.792000 218.800000 390.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 218.800000 402.792000 224.800000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 224.800000 402.792000 230.116000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 230.104000 402.792000 233.428000 390.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 234.208000 402.792000 237.208000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 238.012000 402.792000 243.328000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 243.316000 402.792000 249.316000 390.792000 1.000000 0.000000 0.000000 1.000000 x +drawChar 249.316000 402.792000 254.632000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 254.620000 402.792000 258.616000 390.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 258.616000 402.792000 263.932000 390.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 263.920000 402.792000 267.244000 390.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 267.220000 402.792000 271.888000 390.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 271.924000 402.792000 277.240000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 278.020000 402.792000 281.020000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 281.716000 402.792000 285.040000 390.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 285.112000 402.792000 291.112000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 291.712000 402.792000 294.712000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 295.516000 402.792000 304.840000 390.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 304.816000 402.792000 308.140000 390.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 308.212000 402.792000 314.212000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 314.212000 402.792000 320.212000 390.792000 1.000000 0.000000 0.000000 1.000000 d +drawChar 320.116000 402.792000 323.116000 390.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 323.920000 402.792000 326.920000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 327.616000 402.792000 331.612000 390.792000 1.000000 0.000000 0.000000 1.000000 I +drawChar 332.320000 402.792000 335.320000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 336.124000 402.792000 341.440000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.428000 402.792000 347.428000 390.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 347.332000 402.792000 352.648000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 352.636000 402.792000 358.636000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 359.440000 402.792000 362.440000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.244000 402.792000 369.244000 390.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 369.244000 402.792000 374.560000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 374.548000 402.792000 380.548000 390.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 380.548000 402.792000 385.864000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 385.852000 402.792000 391.852000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 392.548000 402.792000 395.548000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 396.352000 402.792000 399.676000 390.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 399.652000 402.792000 404.968000 390.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 404.956000 402.792000 410.956000 390.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 410.956000 402.792000 414.280000 390.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 414.352000 402.792000 420.352000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 420.352000 402.792000 426.352000 390.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 427.048000 402.792000 430.048000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 430.744000 402.792000 434.068000 390.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 434.044000 402.792000 439.360000 390.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 439.348000 402.792000 444.016000 390.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 444.052000 402.792000 448.720000 390.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 448.756000 402.792000 454.756000 390.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 454.756000 402.792000 460.756000 390.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 460.756000 402.792000 465.424000 390.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 465.460000 402.792000 468.460000 390.792000 1.000000 0.000000 0.000000 1.000000 , +drawChar 469.156000 402.792000 472.156000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 472.852000 402.792000 476.176000 390.792000 1.000000 0.000000 0.000000 1.000000 j +drawChar 476.248000 402.792000 482.248000 390.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 482.248000 402.792000 486.916000 390.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 486.952000 402.792000 490.276000 390.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 490.948000 402.792000 493.948000 390.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 494.644000 402.792000 497.968000 390.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 497.944000 402.792000 503.944000 390.792000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 402.792000 507.200000 390.792000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 389.292000 191.500000 377.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 191.500000 389.292000 196.816000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 196.804000 389.292000 200.128000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 201.004000 389.292000 204.004000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 204.808000 389.292000 210.808000 377.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 210.712000 389.292000 216.712000 377.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 216.712000 389.292000 225.376000 377.292000 1.000000 0.000000 0.000000 1.000000 w +drawChar 225.412000 389.292000 231.412000 377.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 232.216000 389.292000 235.216000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 236.020000 389.292000 239.344000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 239.320000 389.292000 245.320000 377.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 245.416000 389.292000 250.732000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 251.512000 389.292000 254.512000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 255.316000 389.292000 261.316000 377.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 261.316000 389.292000 266.632000 377.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 266.620000 389.292000 271.288000 377.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 271.216000 389.292000 274.540000 377.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 274.612000 389.292000 279.928000 377.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 279.916000 389.292000 284.584000 377.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 284.620000 389.292000 287.620000 377.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.424000 389.292000 291.424000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 292.228000 389.292000 300.892000 377.292000 1.000000 0.000000 0.000000 1.000000 U +drawChar 300.928000 389.292000 306.928000 377.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 306.928000 389.292000 310.924000 377.292000 1.000000 0.000000 0.000000 1.000000 f +drawChar 310.924000 389.292000 316.924000 377.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 316.924000 389.292000 320.920000 377.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 320.920000 389.292000 324.244000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 324.220000 389.292000 330.220000 377.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 330.220000 389.292000 336.220000 377.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 336.220000 389.292000 341.536000 377.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 341.524000 389.292000 344.848000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 344.824000 389.292000 350.140000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 350.128000 389.292000 353.452000 377.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 353.428000 389.292000 359.428000 377.292000 1.000000 0.000000 0.000000 1.000000 y +drawChar 359.428000 389.292000 362.428000 377.292000 1.000000 0.000000 0.000000 1.000000 , +drawChar 363.328000 389.292000 366.328000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 367.132000 389.292000 371.128000 377.292000 1.000000 0.000000 0.000000 1.000000 I +drawChar 371.932000 389.292000 374.932000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 375.736000 389.292000 380.404000 377.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 380.440000 389.292000 383.764000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 383.740000 389.292000 387.064000 377.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 387.136000 389.292000 390.460000 377.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 390.436000 389.292000 393.760000 377.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 394.540000 389.292000 397.540000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 398.344000 389.292000 407.668000 377.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 407.644000 389.292000 410.968000 377.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 411.040000 389.292000 415.708000 377.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 415.744000 389.292000 420.412000 377.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 421.240000 389.292000 424.240000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.044000 389.292000 434.368000 377.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 434.344000 389.292000 440.344000 377.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 440.344000 389.292000 444.340000 377.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 444.340000 389.292000 449.656000 377.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 450.436000 389.292000 453.436000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 454.240000 389.292000 457.564000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 457.540000 389.292000 463.540000 377.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 463.636000 389.292000 468.952000 377.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 468.940000 389.292000 474.940000 377.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 475.744000 389.292000 478.744000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 479.548000 389.292000 483.544000 377.292000 1.000000 0.000000 0.000000 1.000000 I +drawChar 484.348000 389.292000 487.348000 377.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 488.152000 389.292000 494.152000 377.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 494.152000 389.292000 497.476000 377.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 497.548000 389.292000 500.872000 377.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 500.752000 389.292000 503.752000 377.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.100000 389.292000 507.100000 377.292000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 375.892000 194.164000 363.892000 1.000000 0.000000 0.000000 1.000000 A +drawChar 194.200000 375.892000 200.200000 363.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 200.200000 375.892000 206.200000 363.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 206.500000 375.892000 209.500000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 209.896000 375.892000 218.560000 363.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 218.500000 375.892000 221.824000 363.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 221.896000 375.892000 225.220000 363.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 225.196000 375.892000 231.196000 363.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 231.592000 375.892000 234.592000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 234.892000 375.892000 244.216000 363.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 244.192000 375.892000 250.192000 363.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 250.588000 375.892000 253.588000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 253.888000 375.892000 257.212000 363.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 257.188000 375.892000 262.504000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 262.492000 375.892000 268.492000 363.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 268.492000 375.892000 274.492000 363.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 274.492000 375.892000 277.816000 363.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 277.888000 375.892000 282.556000 363.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 282.988000 375.892000 285.988000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.288000 375.892000 291.604000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 291.592000 375.892000 294.916000 363.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 294.892000 375.892000 300.892000 363.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 300.892000 375.892000 306.892000 363.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 306.892000 375.892000 315.556000 363.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 315.592000 375.892000 318.592000 363.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 318.988000 375.892000 321.988000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 322.288000 375.892000 326.284000 363.892000 1.000000 0.000000 0.000000 1.000000 I +drawChar 326.692000 375.892000 329.692000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.992000 375.892000 335.992000 363.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 335.896000 375.892000 339.892000 363.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 339.892000 375.892000 345.208000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 345.196000 375.892000 349.192000 363.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 349.192000 375.892000 354.508000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.496000 375.892000 358.492000 363.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 358.996000 375.892000 361.996000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.392000 375.892000 365.716000 363.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 365.692000 375.892000 371.692000 363.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 372.088000 375.892000 375.088000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 375.388000 375.892000 384.052000 363.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 384.088000 375.892000 389.404000 363.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 389.392000 375.892000 392.716000 363.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 392.692000 375.892000 398.008000 363.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 397.996000 375.892000 403.996000 363.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 404.392000 375.892000 407.392000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 407.788000 375.892000 411.112000 363.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 410.992000 375.892000 416.992000 363.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 417.088000 375.892000 422.404000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 422.788000 375.892000 425.788000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 426.088000 375.892000 432.088000 363.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 431.992000 375.892000 435.988000 363.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 435.988000 375.892000 441.988000 363.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 441.988000 375.892000 445.984000 363.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 445.984000 375.892000 449.308000 363.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 449.380000 375.892000 454.048000 363.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 454.480000 375.892000 457.480000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 457.780000 375.892000 463.780000 363.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 463.780000 375.892000 469.780000 363.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 470.176000 375.892000 473.176000 363.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 473.476000 375.892000 476.800000 363.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 476.776000 375.892000 482.092000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 482.080000 375.892000 485.404000 363.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 485.380000 375.892000 490.696000 363.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 490.780000 375.892000 496.780000 363.892000 1.000000 0.000000 0.000000 1.000000 v +drawChar 496.684000 375.892000 500.008000 363.892000 1.000000 0.000000 0.000000 1.000000 i +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 375.892000 504.196000 363.892000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 362.392000 190.168000 350.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 190.204000 362.392000 193.528000 350.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 193.504000 362.392000 199.504000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 199.504000 362.392000 205.504000 350.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 205.504000 362.392000 208.504000 350.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 362.392000 212.200000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 213.004000 362.392000 221.668000 350.392000 1.000000 0.000000 0.000000 1.000000 H +drawChar 221.608000 362.392000 227.608000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 227.608000 362.392000 236.272000 350.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 236.308000 362.392000 241.624000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 241.612000 362.392000 247.612000 350.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 247.516000 362.392000 252.832000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 252.820000 362.392000 256.816000 350.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 256.816000 362.392000 259.816000 350.392000 1.000000 0.000000 0.000000 1.000000 , +drawChar 260.620000 362.392000 263.620000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.424000 362.392000 267.748000 350.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 267.724000 362.392000 271.720000 350.392000 1.000000 0.000000 0.000000 1.000000 f +drawChar 272.428000 362.392000 275.428000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 276.232000 362.392000 280.228000 350.392000 1.000000 0.000000 0.000000 1.000000 I +drawChar 280.936000 362.392000 283.936000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 284.632000 362.392000 287.956000 350.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 288.028000 362.392000 297.352000 350.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 297.328000 362.392000 303.328000 350.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 303.232000 362.392000 307.228000 350.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 307.228000 362.392000 313.228000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 313.228000 362.392000 319.228000 350.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 319.228000 362.392000 324.544000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 325.324000 362.392000 328.324000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 329.128000 362.392000 334.444000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 334.432000 362.392000 340.432000 350.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 340.432000 362.392000 346.432000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 346.432000 362.392000 352.432000 350.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 352.432000 362.392000 358.432000 350.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 358.336000 362.392000 364.336000 350.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 365.140000 362.392000 368.140000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 368.836000 362.392000 372.160000 350.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 372.136000 362.392000 378.136000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 378.940000 362.392000 381.940000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 382.636000 362.392000 387.952000 350.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 387.940000 362.392000 393.940000 350.392000 1.000000 0.000000 0.000000 1.000000 v +drawChar 393.844000 362.392000 399.844000 350.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 399.844000 362.392000 403.168000 350.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 403.240000 362.392000 409.240000 350.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 410.044000 362.392000 413.044000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 413.740000 362.392000 423.064000 350.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 423.040000 362.392000 428.356000 350.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 428.344000 362.392000 434.344000 350.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 434.344000 362.392000 437.668000 350.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 437.740000 362.392000 443.740000 350.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 443.740000 362.392000 449.740000 350.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 450.436000 362.392000 453.436000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 454.240000 362.392000 459.556000 350.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 459.544000 362.392000 465.544000 350.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 466.240000 362.392000 469.240000 350.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 470.044000 362.392000 475.360000 350.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 475.348000 362.392000 484.672000 350.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 484.648000 362.392000 490.648000 350.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 490.648000 362.392000 495.964000 350.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 495.952000 362.392000 499.948000 350.392000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 362.392000 504.196000 350.392000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 348.992000 189.496000 336.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 189.496000 348.992000 194.812000 336.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 194.800000 348.992000 199.468000 336.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 199.504000 348.992000 204.172000 336.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 204.208000 348.992000 213.532000 336.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 213.508000 348.992000 218.824000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 218.812000 348.992000 224.812000 336.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 224.812000 348.992000 228.136000 336.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 228.316000 348.992000 231.316000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 231.520000 348.992000 237.520000 336.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 237.520000 348.992000 241.516000 336.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 241.624000 348.992000 244.624000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 244.828000 348.992000 254.152000 336.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 254.128000 348.992000 260.128000 336.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 260.032000 348.992000 264.700000 336.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 264.736000 348.992000 270.052000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 270.040000 348.992000 273.364000 336.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 273.340000 348.992000 277.336000 336.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 277.336000 348.992000 280.336000 336.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 280.636000 348.992000 283.636000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 283.732000 348.992000 287.728000 336.992000 1.000000 0.000000 0.000000 1.000000 I +drawChar 287.932000 348.992000 290.932000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 291.028000 348.992000 299.692000 336.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 299.728000 348.992000 305.728000 336.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 305.728000 348.992000 311.728000 336.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 311.728000 348.992000 315.052000 336.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 315.028000 348.992000 321.028000 336.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 321.232000 348.992000 324.232000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 324.328000 348.992000 327.652000 336.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 327.628000 348.992000 330.952000 336.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 331.024000 348.992000 337.024000 336.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 337.024000 348.992000 342.340000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 342.520000 348.992000 345.520000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.616000 348.992000 348.940000 336.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 348.916000 348.992000 354.916000 336.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 355.120000 348.992000 358.120000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.324000 348.992000 361.648000 336.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 361.624000 348.992000 367.624000 336.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 367.624000 348.992000 373.624000 336.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 373.528000 348.992000 376.852000 336.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 376.924000 348.992000 380.248000 336.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 380.224000 348.992000 385.540000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 385.720000 348.992000 388.720000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 388.924000 348.992000 398.248000 336.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 398.224000 348.992000 404.224000 336.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 404.428000 348.992000 407.428000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 407.524000 348.992000 413.524000 336.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 413.524000 348.992000 416.848000 336.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 416.824000 348.992000 422.824000 336.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 422.920000 348.992000 428.236000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 428.224000 348.992000 432.220000 336.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 432.328000 348.992000 435.328000 336.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 435.532000 348.992000 438.856000 336.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 438.832000 348.992000 444.148000 336.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 444.136000 348.992000 450.136000 336.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 450.136000 348.992000 456.136000 336.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 456.136000 348.992000 459.460000 336.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 459.532000 348.992000 464.200000 336.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 464.128000 348.992000 468.124000 336.992000 1.000000 0.000000 0.000000 1.000000 - +drawChar 468.124000 348.992000 474.124000 336.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 474.028000 348.992000 477.352000 336.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 477.424000 348.992000 482.740000 336.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 482.728000 348.992000 488.728000 336.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 488.632000 348.992000 491.956000 336.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 492.028000 348.992000 498.028000 336.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 498.028000 348.992000 504.028000 336.992000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 504.200000 348.992000 507.200000 336.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 335.492000 189.496000 323.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 189.496000 335.492000 193.492000 323.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 193.396000 335.492000 196.720000 323.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 196.792000 335.492000 202.108000 323.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 202.096000 335.492000 208.096000 323.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 208.096000 335.492000 214.096000 323.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 214.000000 335.492000 218.668000 323.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 219.196000 335.492000 222.196000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 222.496000 335.492000 228.496000 323.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 228.496000 335.492000 234.496000 323.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 234.400000 335.492000 239.716000 323.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 239.704000 335.492000 243.700000 323.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 244.204000 335.492000 247.204000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.504000 335.492000 251.500000 323.492000 1.000000 0.000000 0.000000 1.000000 f +drawChar 251.500000 335.492000 257.500000 323.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 257.500000 335.492000 261.496000 323.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 261.904000 335.492000 264.904000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 265.204000 335.492000 270.520000 323.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 270.904000 335.492000 273.904000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 274.600000 335.492000 277.600000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 277.996000 335.492000 281.320000 323.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 281.296000 335.492000 287.296000 323.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 287.296000 335.492000 293.296000 323.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 293.296000 335.492000 297.292000 323.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 297.292000 335.492000 303.292000 323.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 303.292000 335.492000 308.608000 323.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 308.596000 335.492000 317.920000 323.492000 1.000000 0.000000 0.000000 1.000000 m +drawChar 317.896000 335.492000 323.212000 323.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 323.200000 335.492000 329.200000 323.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 329.200000 335.492000 332.524000 323.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 332.500000 335.492000 335.500000 323.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 336.004000 335.492000 339.004000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 339.304000 335.492000 345.976000 323.492000 1.000000 0.000000 0.000000 1.000000 P +drawChar 346.000000 335.492000 349.324000 323.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 349.300000 335.492000 355.300000 323.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 355.300000 335.492000 359.968000 323.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 360.004000 335.492000 363.004000 323.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 363.400000 335.492000 366.400000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 366.700000 335.492000 370.024000 323.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 370.096000 335.492000 373.420000 323.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 373.696000 335.492000 376.696000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 377.092000 335.492000 385.756000 323.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 385.696000 335.492000 391.696000 323.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 391.696000 335.492000 397.696000 323.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 397.696000 335.492000 401.020000 323.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 400.996000 335.492000 406.996000 323.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 407.392000 335.492000 410.392000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 410.788000 335.492000 416.788000 323.492000 1.000000 0.000000 0.000000 1.000000 b +drawChar 416.788000 335.492000 422.104000 323.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 422.488000 335.492000 425.488000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 425.788000 335.492000 431.104000 323.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 431.488000 335.492000 434.488000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 434.788000 335.492000 440.788000 323.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 440.788000 335.492000 444.784000 323.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 444.784000 335.492000 450.100000 323.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 450.088000 335.492000 455.404000 323.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 455.392000 335.492000 458.716000 323.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 459.196000 335.492000 462.196000 323.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 462.496000 335.492000 468.496000 323.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 468.496000 335.492000 474.496000 323.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 474.496000 335.492000 480.496000 323.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 480.400000 335.492000 486.400000 323.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 486.400000 335.492000 490.396000 323.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 490.396000 335.492000 493.720000 323.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 493.696000 335.492000 499.696000 323.492000 1.000000 0.000000 0.000000 1.000000 u +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 500.200000 335.492000 504.196000 323.492000 1.000000 0.000000 0.000000 1.000000 - +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 185.500000 322.092000 191.500000 310.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 191.500000 322.092000 194.824000 310.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 194.896000 322.092000 198.220000 310.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 198.196000 322.092000 204.196000 310.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 204.196000 322.092000 207.196000 310.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 207.196000 322.092000 210.520000 310.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 210.496000 322.092000 216.496000 310.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 216.496000 322.092000 219.496000 310.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 219.496000 322.092000 224.164000 310.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 224.200000 322.092000 230.200000 310.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 230.200000 322.092000 236.200000 310.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 236.200000 322.092000 244.864000 310.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 244.804000 322.092000 247.804000 310.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 247.804000 322.092000 253.804000 310.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 253.804000 322.092000 257.800000 310.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 257.800000 322.092000 261.796000 310.092000 1.000000 0.000000 0.000000 1.000000 f +drawChar 261.796000 322.092000 264.796000 310.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 264.796000 322.092000 268.120000 310.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 268.096000 322.092000 274.096000 310.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 274.192000 322.092000 279.508000 310.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 279.496000 322.092000 282.496000 310.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 282.496000 322.092000 288.496000 310.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 288.496000 322.092000 294.496000 310.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 294.496000 322.092000 300.496000 310.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 300.496000 322.092000 305.164000 310.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 305.200000 322.092000 310.516000 310.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 310.504000 322.092000 314.500000 310.092000 1.000000 0.000000 0.000000 1.000000 ! +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 465.900000 85.992000 472.572000 73.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 472.596000 85.992000 477.912000 73.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 477.900000 85.992000 483.900000 73.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 483.900000 85.992000 489.216000 73.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 489.204000 85.992000 492.204000 73.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.199997 0.199997 0.199997 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 492.200000 85.992000 498.200000 73.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 498.200000 85.992000 504.200000 73.992000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +restoreState +saveState +eoClipPath subpath 1 72.000000 375.900000 0 114.800000 375.900000 0 114.800000 418.700000 0 72.000000 418.700000 0 72.000000 375.900000 0 +saveState +updateCtm 4280.000000 0.000000 0.000000 -4280.000000 7200.000000 41610.000000 +drawSoftMaskedImage 57 57 57 57 JPEG 3113 PPM 9760 +restoreState +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 76.600000 701.500000 0 535.500000 701.500000 0 535.500000 720.000000 0 76.600000 720.000000 0 76.600000 701.500000 0 +updateFillColor 0.901947 0.901947 0.901947 1.000000 +eoFillPath subpath 1 76.600000 656.800000 0 291.900000 656.800000 0 291.900000 670.700000 0 76.600000 670.700000 0 76.600000 656.800000 0 +eoFillPath subpath 1 76.600000 575.700000 0 291.900000 575.700000 0 291.900000 589.600000 0 76.600000 589.600000 0 76.600000 575.700000 0 +eoFillPath subpath 1 76.600000 427.300000 0 291.900000 427.300000 0 291.900000 441.200000 0 76.600000 441.200000 0 76.600000 427.300000 0 +eoFillPath subpath 1 76.600000 171.300000 0 291.900000 171.300000 0 291.900000 185.200000 0 76.600000 185.200000 0 76.600000 171.300000 0 +eoFillPath subpath 1 320.200000 511.300000 0 535.500000 511.300000 0 535.500000 525.200000 0 320.200000 525.200000 0 320.200000 511.300000 0 +eoFillPath subpath 1 320.200000 470.500000 0 535.500000 470.500000 0 535.500000 484.400000 0 320.200000 484.400000 0 320.200000 470.500000 0 +eoFillPath subpath 1 320.200000 335.500000 0 535.500000 335.500000 0 535.500000 349.400000 0 320.200000 349.400000 0 320.200000 335.500000 0 +eoFillPath subpath 1 320.200000 227.500000 0 535.500000 227.500000 0 535.500000 241.400000 0 320.200000 241.400000 0 320.200000 227.500000 0 +eoFillPath subpath 1 320.200000 159.800000 0 535.500000 159.800000 0 535.500000 173.700000 0 320.200000 173.700000 0 320.200000 159.800000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 76.700000 716.588000 81.148000 700.588000 1.000000 0.000000 0.000000 1.000000 I +drawChar 81.100000 716.588000 89.996000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 89.996000 716.588000 98.892000 700.588000 1.000000 0.000000 0.000000 1.000000 d +drawChar 98.892000 716.588000 107.788000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 107.788000 716.588000 115.788000 700.588000 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.752930 0.752930 0.752930 1.000000 +updateFont 107 0 0 0 0 190.000000 0 Helvetica-Bold +drawChar 175.900000 672.564200 177.271800 670.664200 1.000000 0.000000 0.000000 1.000000 A +drawChar 177.199600 672.564200 177.727800 670.664200 1.000000 0.000000 0.000000 1.000000 l +drawChar 177.800000 672.564200 178.960900 670.664200 1.000000 0.000000 0.000000 1.000000 p +drawChar 178.900100 672.564200 180.061000 670.664200 1.000000 0.000000 0.000000 1.000000 h +drawChar 180.100900 672.564200 181.157300 670.664200 1.000000 0.000000 0.000000 1.000000 a +drawChar 181.100300 672.564200 182.261200 670.664200 1.000000 0.000000 0.000000 1.000000 b +drawChar 182.301100 672.564200 183.357500 670.664200 1.000000 0.000000 0.000000 1.000000 e +drawChar 183.300500 672.564200 183.933200 670.664200 1.000000 0.000000 0.000000 1.000000 t +drawChar 183.999700 672.564200 184.527900 670.664200 1.000000 0.000000 0.000000 1.000000 i +drawChar 184.499400 672.564200 185.555800 670.664200 1.000000 0.000000 0.000000 1.000000 c +drawChar 185.599500 672.564200 186.655900 670.664200 1.000000 0.000000 0.000000 1.000000 a +drawChar 186.598900 672.564200 187.127100 670.664200 1.000000 0.000000 0.000000 1.000000 l +drawChar 187.298100 672.564200 187.826300 670.664200 1.000000 0.000000 0.000000 1.000000 +drawChar 187.797800 672.564200 188.326000 670.664200 1.000000 0.000000 0.000000 1.000000 I +drawChar 188.398200 672.564200 189.559100 670.664200 1.000000 0.000000 0.000000 1.000000 n +drawChar 189.498300 672.564200 190.659200 670.664200 1.000000 0.000000 0.000000 1.000000 d +drawChar 190.699100 672.564200 191.755500 670.664200 1.000000 0.000000 0.000000 1.000000 e +drawChar 191.698500 672.564200 192.754900 670.664200 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 670.092000 85.364000 658.092000 1.000000 0.000000 0.000000 1.000000 A +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 656.692000 85.364000 644.692000 1.000000 0.000000 0.000000 1.000000 A +drawChar 85.304000 656.692000 90.620000 644.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 90.608000 656.692000 95.924000 644.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 95.912000 656.692000 101.228000 644.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 101.216000 656.692000 105.884000 644.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 105.920000 656.692000 110.588000 644.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 110.624000 656.692000 116.624000 644.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 116.624000 656.692000 120.620000 644.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 120.620000 656.692000 123.944000 644.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 124.016000 656.692000 129.332000 644.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 129.320000 656.692000 133.988000 644.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 133.900000 656.692000 136.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.900000 656.692000 139.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.900000 656.692000 142.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.900000 656.692000 145.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.900000 656.692000 148.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.900000 656.692000 151.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.900000 656.692000 154.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.900000 656.692000 157.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.900000 656.692000 160.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.900000 656.692000 163.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.900000 656.692000 166.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.900000 656.692000 169.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.900000 656.692000 172.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.900000 656.692000 175.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.900000 656.692000 178.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.900000 656.692000 181.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.900000 656.692000 184.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.900000 656.692000 187.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.900000 656.692000 190.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.900000 656.692000 193.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.900000 656.692000 196.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.900000 656.692000 199.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.900000 656.692000 202.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.900000 656.692000 205.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.900000 656.692000 208.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.900000 656.692000 211.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.900000 656.692000 214.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.900000 656.692000 217.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.900000 656.692000 220.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.900000 656.692000 223.900000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.996000 656.692000 226.996000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.092000 656.692000 230.092000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.188000 656.692000 233.188000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.284000 656.692000 236.284000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.380000 656.692000 239.380000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.476000 656.692000 242.476000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.572000 656.692000 245.572000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.668000 656.692000 248.668000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.764000 656.692000 251.764000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.860000 656.692000 254.860000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.956000 656.692000 257.956000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.052000 656.692000 261.052000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.148000 656.692000 264.148000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.244000 656.692000 267.244000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.340000 656.692000 270.340000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.436000 656.692000 273.436000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.532000 656.692000 276.532000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.628000 656.692000 279.628000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.724000 656.692000 282.724000 644.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.820000 656.692000 285.820000 644.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 656.692000 292.000000 644.692000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 643.292000 85.364000 631.292000 1.000000 0.000000 0.000000 1.000000 A +drawChar 85.400000 643.292000 91.400000 631.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 91.304000 643.292000 97.304000 631.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 97.208000 643.292000 100.532000 631.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 100.508000 643.292000 105.824000 631.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 106.004000 643.292000 109.004000 631.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 109.004000 643.292000 119.672000 631.292000 1.000000 0.000000 0.000000 1.000000 M +drawChar 119.708000 643.292000 125.024000 631.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 125.012000 643.292000 130.328000 631.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 130.208000 643.292000 133.532000 631.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 133.604000 643.292000 139.604000 631.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 139.604000 643.292000 142.928000 631.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 142.904000 643.292000 148.904000 631.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 148.904000 643.292000 153.572000 631.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 153.608000 643.292000 159.608000 631.292000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 159.500000 643.292000 162.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.500000 643.292000 165.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.500000 643.292000 168.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.500000 643.292000 171.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.500000 643.292000 174.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.500000 643.292000 177.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.500000 643.292000 180.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.500000 643.292000 183.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.500000 643.292000 186.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.500000 643.292000 189.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.500000 643.292000 192.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.500000 643.292000 195.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.500000 643.292000 198.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.500000 643.292000 201.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.500000 643.292000 204.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.500000 643.292000 207.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.500000 643.292000 210.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.500000 643.292000 213.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.500000 643.292000 216.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.500000 643.292000 219.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.500000 643.292000 222.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.500000 643.292000 225.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.500000 643.292000 228.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.500000 643.292000 231.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.500000 643.292000 234.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.500000 643.292000 237.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.500000 643.292000 240.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.500000 643.292000 243.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.500000 643.292000 246.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.500000 643.292000 249.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.500000 643.292000 252.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.500000 643.292000 255.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.500000 643.292000 258.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.500000 643.292000 261.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.500000 643.292000 264.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.500000 643.292000 267.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.500000 643.292000 270.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.500000 643.292000 273.500000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.596000 643.292000 276.596000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.692000 643.292000 279.692000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.788000 643.292000 282.788000 631.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.884000 643.292000 285.884000 631.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 643.292000 292.000000 631.292000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 629.792000 85.364000 617.792000 1.000000 0.000000 0.000000 1.000000 A +drawChar 85.400000 629.792000 91.400000 617.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 91.304000 629.792000 97.304000 617.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 97.208000 629.792000 100.532000 617.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 100.508000 629.792000 105.824000 617.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 105.812000 629.792000 110.480000 617.792000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 110.500000 629.792000 113.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 113.500000 629.792000 116.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 116.500000 629.792000 119.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.500000 629.792000 122.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.500000 629.792000 125.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.500000 629.792000 128.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.500000 629.792000 131.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.500000 629.792000 134.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.500000 629.792000 137.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.500000 629.792000 140.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.500000 629.792000 143.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.500000 629.792000 146.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.500000 629.792000 149.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.500000 629.792000 152.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.500000 629.792000 155.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.500000 629.792000 158.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.500000 629.792000 161.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.500000 629.792000 164.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.500000 629.792000 167.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.500000 629.792000 170.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.500000 629.792000 173.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.500000 629.792000 176.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.500000 629.792000 179.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.500000 629.792000 182.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.500000 629.792000 185.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.500000 629.792000 188.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.500000 629.792000 191.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.500000 629.792000 194.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.500000 629.792000 197.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.500000 629.792000 200.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.500000 629.792000 203.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.500000 629.792000 206.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.500000 629.792000 209.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.500000 629.792000 212.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.500000 629.792000 215.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.500000 629.792000 218.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.500000 629.792000 221.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.500000 629.792000 224.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.500000 629.792000 227.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.500000 629.792000 230.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.500000 629.792000 233.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.500000 629.792000 236.500000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.596000 629.792000 239.596000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.692000 629.792000 242.692000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.788000 629.792000 245.788000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.884000 629.792000 248.884000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.980000 629.792000 251.980000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.076000 629.792000 255.076000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.172000 629.792000 258.172000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.268000 629.792000 261.268000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.364000 629.792000 264.364000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.460000 629.792000 267.460000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.556000 629.792000 270.556000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.652000 629.792000 273.652000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.748000 629.792000 276.748000 617.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.844000 629.792000 279.844000 617.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 629.792000 286.000000 617.792000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 629.792000 292.000000 617.792000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 616.392000 85.364000 604.392000 1.000000 0.000000 0.000000 1.000000 A +drawChar 85.304000 616.392000 89.972000 604.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 90.008000 616.392000 96.008000 604.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 95.912000 616.392000 99.236000 604.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 99.308000 616.392000 103.304000 604.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 103.304000 616.392000 106.628000 604.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 106.700000 616.392000 112.700000 604.392000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 112.600000 616.392000 115.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.600000 616.392000 118.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.600000 616.392000 121.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.600000 616.392000 124.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.600000 616.392000 127.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.600000 616.392000 130.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.600000 616.392000 133.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.600000 616.392000 136.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.600000 616.392000 139.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.600000 616.392000 142.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.600000 616.392000 145.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.600000 616.392000 148.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.600000 616.392000 151.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.600000 616.392000 154.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.600000 616.392000 157.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.600000 616.392000 160.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.600000 616.392000 163.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.600000 616.392000 166.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.600000 616.392000 169.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.600000 616.392000 172.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.600000 616.392000 175.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.600000 616.392000 178.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.600000 616.392000 181.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.600000 616.392000 184.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.600000 616.392000 187.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.600000 616.392000 190.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.600000 616.392000 193.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.600000 616.392000 196.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.600000 616.392000 199.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.600000 616.392000 202.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.600000 616.392000 205.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.600000 616.392000 208.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.600000 616.392000 211.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.600000 616.392000 214.600000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.696000 616.392000 217.696000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.792000 616.392000 220.792000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.888000 616.392000 223.888000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.984000 616.392000 226.984000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.080000 616.392000 230.080000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.176000 616.392000 233.176000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.272000 616.392000 236.272000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.368000 616.392000 239.368000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.464000 616.392000 242.464000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.560000 616.392000 245.560000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.656000 616.392000 248.656000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.752000 616.392000 251.752000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.848000 616.392000 254.848000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.944000 616.392000 257.944000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.040000 616.392000 261.040000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.136000 616.392000 264.136000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.232000 616.392000 267.232000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.328000 616.392000 270.328000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.424000 616.392000 273.424000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.520000 616.392000 276.520000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.616000 616.392000 279.616000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.712000 616.392000 282.712000 604.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.808000 616.392000 285.808000 604.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 616.392000 292.000000 604.392000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 602.892000 85.364000 590.892000 1.000000 0.000000 0.000000 1.000000 A +drawChar 85.304000 602.892000 91.304000 590.892000 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 91.200000 602.892000 94.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 94.200000 602.892000 97.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 97.200000 602.892000 100.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 100.200000 602.892000 103.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 103.200000 602.892000 106.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 106.200000 602.892000 109.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 109.200000 602.892000 112.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 112.200000 602.892000 115.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.200000 602.892000 118.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.200000 602.892000 121.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.200000 602.892000 124.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.200000 602.892000 127.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.200000 602.892000 130.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.200000 602.892000 133.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.200000 602.892000 136.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.200000 602.892000 139.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.200000 602.892000 142.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.200000 602.892000 145.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.200000 602.892000 148.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.200000 602.892000 151.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.200000 602.892000 154.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.200000 602.892000 157.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.200000 602.892000 160.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.200000 602.892000 163.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.200000 602.892000 166.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.200000 602.892000 169.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.200000 602.892000 172.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.200000 602.892000 175.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.200000 602.892000 178.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.200000 602.892000 181.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.200000 602.892000 184.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.200000 602.892000 187.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.200000 602.892000 190.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.200000 602.892000 193.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.200000 602.892000 196.200000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.296000 602.892000 199.296000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.392000 602.892000 202.392000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.488000 602.892000 205.488000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.584000 602.892000 208.584000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.680000 602.892000 211.680000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.776000 602.892000 214.776000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.872000 602.892000 217.872000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.968000 602.892000 220.968000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.064000 602.892000 224.064000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.160000 602.892000 227.160000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.256000 602.892000 230.256000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.352000 602.892000 233.352000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.448000 602.892000 236.448000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.544000 602.892000 239.544000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.640000 602.892000 242.640000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.736000 602.892000 245.736000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.832000 602.892000 248.832000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.928000 602.892000 251.928000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.024000 602.892000 255.024000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.120000 602.892000 258.120000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.216000 602.892000 261.216000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.312000 602.892000 264.312000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.408000 602.892000 267.408000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.504000 602.892000 270.504000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.600000 602.892000 273.600000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.696000 602.892000 276.696000 590.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.792000 602.892000 279.792000 590.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 602.892000 286.000000 590.892000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 602.892000 292.000000 590.892000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 588.992000 84.692000 576.992000 1.000000 0.000000 0.000000 1.000000 B +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 575.592000 84.692000 563.592000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.704000 575.592000 90.020000 563.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.008000 575.592000 94.676000 563.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 94.604000 575.592000 97.928000 563.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 98.000000 575.592000 101.324000 563.592000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 101.200000 575.592000 104.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 104.200000 575.592000 107.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 107.200000 575.592000 110.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 110.200000 575.592000 113.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 113.200000 575.592000 116.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 116.200000 575.592000 119.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.200000 575.592000 122.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.200000 575.592000 125.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.200000 575.592000 128.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.200000 575.592000 131.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.200000 575.592000 134.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.200000 575.592000 137.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.200000 575.592000 140.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.200000 575.592000 143.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.200000 575.592000 146.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.200000 575.592000 149.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.200000 575.592000 152.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.200000 575.592000 155.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.200000 575.592000 158.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.200000 575.592000 161.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.200000 575.592000 164.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.200000 575.592000 167.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.200000 575.592000 170.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.200000 575.592000 173.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.200000 575.592000 176.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.200000 575.592000 179.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.200000 575.592000 182.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.200000 575.592000 185.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.200000 575.592000 188.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.200000 575.592000 191.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.200000 575.592000 194.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.200000 575.592000 197.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.200000 575.592000 200.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.200000 575.592000 203.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.200000 575.592000 206.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.200000 575.592000 209.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 575.592000 212.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.200000 575.592000 215.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.200000 575.592000 218.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.200000 575.592000 221.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.200000 575.592000 224.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.200000 575.592000 227.200000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.296000 575.592000 230.296000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.392000 575.592000 233.392000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.488000 575.592000 236.488000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.584000 575.592000 239.584000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.680000 575.592000 242.680000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.776000 575.592000 245.776000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.872000 575.592000 248.872000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.968000 575.592000 251.968000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.064000 575.592000 255.064000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.160000 575.592000 258.160000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.256000 575.592000 261.256000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.352000 575.592000 264.352000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.448000 575.592000 267.448000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.544000 575.592000 270.544000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.640000 575.592000 273.640000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.736000 575.592000 276.736000 563.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.832000 575.592000 279.832000 563.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 575.592000 286.000000 563.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 575.592000 292.000000 563.592000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 562.092000 84.692000 550.092000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.704000 562.092000 90.020000 550.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.008000 562.092000 93.332000 550.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 93.212000 562.092000 99.212000 550.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 99.308000 562.092000 102.308000 550.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 102.308000 562.092000 106.976000 550.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 107.012000 562.092000 112.328000 550.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 112.316000 562.092000 115.640000 550.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 115.616000 562.092000 118.940000 550.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 118.916000 562.092000 123.584000 550.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 123.600000 562.092000 126.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.600000 562.092000 129.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.600000 562.092000 132.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.600000 562.092000 135.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.600000 562.092000 138.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.600000 562.092000 141.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.600000 562.092000 144.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.600000 562.092000 147.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.600000 562.092000 150.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.600000 562.092000 153.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.600000 562.092000 156.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.600000 562.092000 159.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.600000 562.092000 162.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.600000 562.092000 165.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.600000 562.092000 168.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.600000 562.092000 171.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.600000 562.092000 174.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.600000 562.092000 177.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.600000 562.092000 180.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.600000 562.092000 183.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.600000 562.092000 186.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.600000 562.092000 189.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.600000 562.092000 192.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.600000 562.092000 195.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.600000 562.092000 198.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.600000 562.092000 201.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.600000 562.092000 204.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.600000 562.092000 207.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.600000 562.092000 210.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.600000 562.092000 213.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.600000 562.092000 216.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.600000 562.092000 219.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.600000 562.092000 222.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.600000 562.092000 225.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.600000 562.092000 228.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.600000 562.092000 231.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.600000 562.092000 234.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.600000 562.092000 237.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.600000 562.092000 240.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.600000 562.092000 243.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.600000 562.092000 246.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.600000 562.092000 249.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.600000 562.092000 252.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.600000 562.092000 255.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.600000 562.092000 258.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.600000 562.092000 261.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.600000 562.092000 264.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.600000 562.092000 267.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.600000 562.092000 270.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.600000 562.092000 273.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.600000 562.092000 276.600000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.696000 562.092000 279.696000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.792000 562.092000 282.792000 550.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.888000 562.092000 285.888000 550.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 562.092000 292.000000 550.092000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 548.692000 84.692000 536.692000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.704000 548.692000 90.020000 536.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.008000 548.692000 93.332000 536.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 93.212000 548.692000 99.212000 536.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 99.308000 548.692000 102.308000 536.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 102.308000 548.692000 105.632000 536.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 105.608000 548.692000 111.608000 536.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 111.608000 548.692000 120.272000 536.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 120.308000 548.692000 125.624000 536.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 125.612000 548.692000 128.936000 536.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 128.912000 548.692000 133.580000 536.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 133.600000 548.692000 136.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.600000 548.692000 139.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.600000 548.692000 142.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.600000 548.692000 145.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.600000 548.692000 148.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.600000 548.692000 151.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.600000 548.692000 154.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.600000 548.692000 157.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.600000 548.692000 160.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.600000 548.692000 163.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.600000 548.692000 166.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.600000 548.692000 169.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.600000 548.692000 172.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.600000 548.692000 175.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.600000 548.692000 178.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.600000 548.692000 181.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.600000 548.692000 184.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.600000 548.692000 187.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.600000 548.692000 190.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.600000 548.692000 193.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.600000 548.692000 196.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.600000 548.692000 199.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.600000 548.692000 202.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.600000 548.692000 205.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.600000 548.692000 208.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.600000 548.692000 211.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.600000 548.692000 214.600000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.696000 548.692000 217.696000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.792000 548.692000 220.792000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.888000 548.692000 223.888000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.984000 548.692000 226.984000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.080000 548.692000 230.080000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.176000 548.692000 233.176000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.272000 548.692000 236.272000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.368000 548.692000 239.368000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.464000 548.692000 242.464000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.560000 548.692000 245.560000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.656000 548.692000 248.656000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.752000 548.692000 251.752000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.848000 548.692000 254.848000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.944000 548.692000 257.944000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.040000 548.692000 261.040000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.136000 548.692000 264.136000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.232000 548.692000 267.232000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.328000 548.692000 270.328000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.424000 548.692000 273.424000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.520000 548.692000 276.520000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.616000 548.692000 279.616000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.712000 548.692000 282.712000 536.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.808000 548.692000 285.808000 536.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 548.692000 292.000000 536.692000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 535.192000 84.692000 523.192000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.704000 535.192000 90.020000 523.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 90.008000 535.192000 95.324000 523.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 95.312000 535.192000 100.628000 523.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 100.508000 535.192000 106.508000 523.192000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 106.500000 535.192000 109.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 109.500000 535.192000 112.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 112.500000 535.192000 115.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.500000 535.192000 118.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.500000 535.192000 121.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.500000 535.192000 124.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.500000 535.192000 127.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.500000 535.192000 130.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.500000 535.192000 133.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.500000 535.192000 136.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.500000 535.192000 139.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.500000 535.192000 142.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.500000 535.192000 145.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.500000 535.192000 148.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.500000 535.192000 151.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.500000 535.192000 154.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.500000 535.192000 157.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.500000 535.192000 160.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.500000 535.192000 163.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.500000 535.192000 166.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.500000 535.192000 169.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.500000 535.192000 172.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.500000 535.192000 175.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.500000 535.192000 178.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.500000 535.192000 181.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.500000 535.192000 184.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.500000 535.192000 187.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.500000 535.192000 190.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.500000 535.192000 193.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.500000 535.192000 196.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.500000 535.192000 199.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.500000 535.192000 202.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.500000 535.192000 205.500000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.596000 535.192000 208.596000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.692000 535.192000 211.692000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.788000 535.192000 214.788000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.884000 535.192000 217.884000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.980000 535.192000 220.980000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.076000 535.192000 224.076000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.172000 535.192000 227.172000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.268000 535.192000 230.268000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.364000 535.192000 233.364000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.460000 535.192000 236.460000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.556000 535.192000 239.556000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.652000 535.192000 242.652000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.748000 535.192000 245.748000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.844000 535.192000 248.844000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.940000 535.192000 251.940000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.036000 535.192000 255.036000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.132000 535.192000 258.132000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.228000 535.192000 261.228000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.324000 535.192000 264.324000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.420000 535.192000 267.420000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.516000 535.192000 270.516000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.612000 535.192000 273.612000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.708000 535.192000 276.708000 523.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.804000 535.192000 279.804000 523.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 535.192000 286.000000 523.192000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 535.192000 292.000000 523.192000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 521.792000 84.692000 509.792000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.596000 521.792000 87.920000 509.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 87.992000 521.792000 93.308000 509.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 93.296000 521.792000 99.296000 509.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 99.200000 521.792000 104.516000 509.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 104.504000 521.792000 107.828000 509.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 107.900000 521.792000 113.216000 509.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 113.204000 521.792000 117.872000 509.792000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 117.900000 521.792000 120.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.900000 521.792000 123.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.900000 521.792000 126.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.900000 521.792000 129.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.900000 521.792000 132.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.900000 521.792000 135.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.900000 521.792000 138.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.900000 521.792000 141.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.900000 521.792000 144.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.900000 521.792000 147.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.900000 521.792000 150.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.900000 521.792000 153.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 521.792000 156.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 521.792000 159.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 521.792000 162.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 521.792000 165.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 521.792000 168.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 521.792000 171.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 521.792000 174.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 521.792000 177.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 521.792000 180.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 521.792000 183.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 521.792000 186.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 521.792000 189.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 521.792000 192.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 521.792000 195.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 521.792000 198.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 521.792000 201.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 521.792000 204.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 521.792000 207.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 521.792000 210.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 521.792000 213.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 521.792000 216.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 521.792000 219.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 521.792000 222.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 521.792000 225.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 521.792000 228.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 521.792000 231.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 521.792000 234.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 521.792000 237.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 521.792000 240.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 521.792000 243.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 521.792000 246.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 521.792000 249.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 521.792000 252.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 521.792000 255.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 521.792000 258.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 521.792000 261.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 521.792000 264.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 521.792000 267.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 521.792000 270.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 521.792000 273.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 521.792000 276.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 521.792000 279.900000 509.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 521.792000 286.000000 509.792000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 521.792000 292.000000 509.792000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 508.292000 84.692000 496.292000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.596000 508.292000 87.920000 496.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 87.992000 508.292000 93.992000 496.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 93.896000 508.292000 97.220000 496.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 97.292000 508.292000 103.292000 496.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 103.292000 508.292000 109.292000 496.292000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 109.200000 508.292000 112.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 112.200000 508.292000 115.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.200000 508.292000 118.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.200000 508.292000 121.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.200000 508.292000 124.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.200000 508.292000 127.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.200000 508.292000 130.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.200000 508.292000 133.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.200000 508.292000 136.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.200000 508.292000 139.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.200000 508.292000 142.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.200000 508.292000 145.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.200000 508.292000 148.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.200000 508.292000 151.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.200000 508.292000 154.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.200000 508.292000 157.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.200000 508.292000 160.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.200000 508.292000 163.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.200000 508.292000 166.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.200000 508.292000 169.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.200000 508.292000 172.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.200000 508.292000 175.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.200000 508.292000 178.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.200000 508.292000 181.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.200000 508.292000 184.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.200000 508.292000 187.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.200000 508.292000 190.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.200000 508.292000 193.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.200000 508.292000 196.200000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.296000 508.292000 199.296000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.392000 508.292000 202.392000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.488000 508.292000 205.488000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.584000 508.292000 208.584000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.680000 508.292000 211.680000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.776000 508.292000 214.776000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.872000 508.292000 217.872000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.968000 508.292000 220.968000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.064000 508.292000 224.064000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.160000 508.292000 227.160000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.256000 508.292000 230.256000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.352000 508.292000 233.352000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.448000 508.292000 236.448000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.544000 508.292000 239.544000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.640000 508.292000 242.640000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.736000 508.292000 245.736000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.832000 508.292000 248.832000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.928000 508.292000 251.928000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.024000 508.292000 255.024000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.120000 508.292000 258.120000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.216000 508.292000 261.216000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.312000 508.292000 264.312000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.408000 508.292000 267.408000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.504000 508.292000 270.504000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.600000 508.292000 273.600000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.696000 508.292000 276.696000 496.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.792000 508.292000 279.792000 496.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 508.292000 286.000000 496.292000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 508.292000 292.000000 496.292000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 494.892000 84.692000 482.892000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.704000 494.892000 88.028000 482.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 88.004000 494.892000 93.320000 482.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 93.308000 494.892000 98.624000 482.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 98.612000 494.892000 104.612000 482.892000 1.000000 0.000000 0.000000 1.000000 k +drawChar 104.612000 494.892000 110.612000 482.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 110.612000 494.892000 115.928000 482.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 115.916000 494.892000 119.912000 482.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 119.912000 494.892000 123.908000 482.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 123.908000 494.892000 129.908000 482.892000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 129.900000 494.892000 132.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.900000 494.892000 135.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.900000 494.892000 138.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.900000 494.892000 141.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.900000 494.892000 144.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.900000 494.892000 147.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.900000 494.892000 150.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.900000 494.892000 153.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 494.892000 156.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 494.892000 159.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 494.892000 162.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 494.892000 165.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 494.892000 168.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 494.892000 171.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 494.892000 174.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 494.892000 177.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 494.892000 180.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 494.892000 183.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 494.892000 186.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 494.892000 189.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 494.892000 192.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 494.892000 195.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 494.892000 198.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 494.892000 201.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 494.892000 204.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 494.892000 207.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 494.892000 210.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 494.892000 213.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 494.892000 216.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 494.892000 219.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 494.892000 222.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 494.892000 225.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 494.892000 228.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 494.892000 231.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 494.892000 234.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 494.892000 237.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 494.892000 240.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 494.892000 243.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 494.892000 246.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 494.892000 249.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 494.892000 252.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 494.892000 255.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 494.892000 258.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 494.892000 261.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 494.892000 264.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 494.892000 267.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 494.892000 270.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 494.892000 273.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 494.892000 276.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 494.892000 279.900000 482.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 494.892000 286.000000 482.892000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 494.892000 292.000000 482.892000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 481.392000 84.692000 469.392000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.704000 481.392000 90.704000 469.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 90.704000 481.392000 94.028000 469.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 94.004000 481.392000 97.328000 469.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 97.304000 481.392000 101.972000 469.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 101.900000 481.392000 104.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 104.900000 481.392000 107.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 107.900000 481.392000 110.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 110.900000 481.392000 113.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 113.900000 481.392000 116.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 116.900000 481.392000 119.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.900000 481.392000 122.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.900000 481.392000 125.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.900000 481.392000 128.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.900000 481.392000 131.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.900000 481.392000 134.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.900000 481.392000 137.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.900000 481.392000 140.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.900000 481.392000 143.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.900000 481.392000 146.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.900000 481.392000 149.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.900000 481.392000 152.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.900000 481.392000 155.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.900000 481.392000 158.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.900000 481.392000 161.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.900000 481.392000 164.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.900000 481.392000 167.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.900000 481.392000 170.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.900000 481.392000 173.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.900000 481.392000 176.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.900000 481.392000 179.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.900000 481.392000 182.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.900000 481.392000 185.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.900000 481.392000 188.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.900000 481.392000 191.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.900000 481.392000 194.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.900000 481.392000 197.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.900000 481.392000 200.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.900000 481.392000 203.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.900000 481.392000 206.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.900000 481.392000 209.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.900000 481.392000 212.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.900000 481.392000 215.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.900000 481.392000 218.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.900000 481.392000 221.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.900000 481.392000 224.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.900000 481.392000 227.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.900000 481.392000 230.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.900000 481.392000 233.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.900000 481.392000 236.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.900000 481.392000 239.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.900000 481.392000 242.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.900000 481.392000 245.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.900000 481.392000 248.900000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.996000 481.392000 251.996000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.092000 481.392000 255.092000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.188000 481.392000 258.188000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.284000 481.392000 261.284000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.380000 481.392000 264.380000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.476000 481.392000 267.476000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.572000 481.392000 270.572000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.668000 481.392000 273.668000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.764000 481.392000 276.764000 469.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.860000 481.392000 279.860000 469.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 481.392000 286.000000 469.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 481.392000 292.000000 469.392000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 467.992000 84.692000 455.992000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.704000 467.992000 90.704000 455.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 90.704000 467.992000 96.704000 455.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 96.704000 467.992000 102.020000 455.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 102.008000 467.992000 105.008000 455.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 105.008000 467.992000 110.324000 455.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 110.204000 467.992000 116.204000 455.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 116.300000 467.992000 119.624000 455.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 119.600000 467.992000 125.600000 455.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 125.600000 467.992000 130.916000 455.992000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 130.900000 467.992000 133.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.900000 467.992000 136.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.900000 467.992000 139.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.900000 467.992000 142.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.900000 467.992000 145.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.900000 467.992000 148.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.900000 467.992000 151.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.900000 467.992000 154.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.900000 467.992000 157.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.900000 467.992000 160.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.900000 467.992000 163.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.900000 467.992000 166.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.900000 467.992000 169.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.900000 467.992000 172.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.900000 467.992000 175.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.900000 467.992000 178.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.900000 467.992000 181.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.900000 467.992000 184.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.900000 467.992000 187.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.900000 467.992000 190.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.900000 467.992000 193.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.900000 467.992000 196.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.900000 467.992000 199.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.900000 467.992000 202.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.900000 467.992000 205.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.900000 467.992000 208.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.900000 467.992000 211.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.900000 467.992000 214.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.900000 467.992000 217.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.900000 467.992000 220.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.900000 467.992000 223.900000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.996000 467.992000 226.996000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.092000 467.992000 230.092000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.188000 467.992000 233.188000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.284000 467.992000 236.284000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.380000 467.992000 239.380000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.476000 467.992000 242.476000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.572000 467.992000 245.572000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.668000 467.992000 248.668000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.764000 467.992000 251.764000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.860000 467.992000 254.860000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.956000 467.992000 257.956000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.052000 467.992000 261.052000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.148000 467.992000 264.148000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.244000 467.992000 267.244000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.340000 467.992000 270.340000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.436000 467.992000 273.436000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.532000 467.992000 276.532000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.628000 467.992000 279.628000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.724000 467.992000 282.724000 455.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.820000 467.992000 285.820000 455.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 467.992000 292.000000 455.992000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 454.492000 84.692000 442.492000 1.000000 0.000000 0.000000 1.000000 B +drawChar 84.704000 454.492000 88.700000 442.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 88.700000 454.492000 94.700000 442.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 94.700000 454.492000 100.700000 442.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 100.700000 454.492000 106.700000 442.492000 1.000000 0.000000 0.000000 1.000000 k +drawChar 106.700000 454.492000 110.024000 442.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 110.000000 454.492000 116.000000 442.492000 1.000000 0.000000 0.000000 1.000000 y +drawChar 115.904000 454.492000 121.904000 442.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 122.000000 454.492000 125.000000 442.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 125.000000 454.492000 132.992000 442.492000 1.000000 0.000000 0.000000 1.000000 B +drawChar 133.004000 454.492000 137.000000 442.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 136.904000 454.492000 140.228000 442.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 140.300000 454.492000 146.300000 442.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 146.204000 454.492000 152.204000 442.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 152.204000 454.492000 157.520000 442.492000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 157.600000 454.492000 160.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.600000 454.492000 163.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.600000 454.492000 166.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.600000 454.492000 169.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.600000 454.492000 172.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.600000 454.492000 175.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.600000 454.492000 178.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.600000 454.492000 181.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.600000 454.492000 184.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.600000 454.492000 187.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.600000 454.492000 190.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.600000 454.492000 193.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.600000 454.492000 196.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.600000 454.492000 199.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.600000 454.492000 202.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.600000 454.492000 205.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.600000 454.492000 208.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.600000 454.492000 211.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.600000 454.492000 214.600000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.696000 454.492000 217.696000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.792000 454.492000 220.792000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.888000 454.492000 223.888000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.984000 454.492000 226.984000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.080000 454.492000 230.080000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.176000 454.492000 233.176000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.272000 454.492000 236.272000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.368000 454.492000 239.368000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.464000 454.492000 242.464000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.560000 454.492000 245.560000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.656000 454.492000 248.656000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.752000 454.492000 251.752000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.848000 454.492000 254.848000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.944000 454.492000 257.944000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.040000 454.492000 261.040000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.136000 454.492000 264.136000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.232000 454.492000 267.232000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.328000 454.492000 270.328000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.424000 454.492000 273.424000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.520000 454.492000 276.520000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.616000 454.492000 279.616000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.712000 454.492000 282.712000 442.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.808000 454.492000 285.808000 442.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 454.492000 292.000000 442.492000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 440.592000 85.364000 428.592000 1.000000 0.000000 0.000000 1.000000 C +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 427.192000 84.692000 415.192000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.704000 427.192000 90.020000 415.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.008000 427.192000 99.332000 415.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 99.308000 427.192000 105.308000 415.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 105.212000 427.192000 110.528000 415.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 110.516000 427.192000 114.512000 415.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 114.512000 427.192000 117.836000 415.192000 1.000000 0.000000 0.000000 1.000000 i +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 117.900000 427.192000 120.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.900000 427.192000 123.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.900000 427.192000 126.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.900000 427.192000 129.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.900000 427.192000 132.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.900000 427.192000 135.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.900000 427.192000 138.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.900000 427.192000 141.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.900000 427.192000 144.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.900000 427.192000 147.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.900000 427.192000 150.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.900000 427.192000 153.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 427.192000 156.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 427.192000 159.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 427.192000 162.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 427.192000 165.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 427.192000 168.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 427.192000 171.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 427.192000 174.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 427.192000 177.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 427.192000 180.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 427.192000 183.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 427.192000 186.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 427.192000 189.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 427.192000 192.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 427.192000 195.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 427.192000 198.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 427.192000 201.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 427.192000 204.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 427.192000 207.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 427.192000 210.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 427.192000 213.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 427.192000 216.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 427.192000 219.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 427.192000 222.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 427.192000 225.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 427.192000 228.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 427.192000 231.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 427.192000 234.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 427.192000 237.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 427.192000 240.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 427.192000 243.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 427.192000 246.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 427.192000 249.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 427.192000 252.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 427.192000 255.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 427.192000 258.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 427.192000 261.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 427.192000 264.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 427.192000 267.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 427.192000 270.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 427.192000 273.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 427.192000 276.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 427.192000 279.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.900000 427.192000 282.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.900000 427.192000 285.900000 415.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 427.192000 292.000000 415.192000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 413.692000 84.692000 401.692000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.704000 413.692000 90.020000 401.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.008000 413.692000 96.008000 401.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 96.008000 413.692000 102.008000 401.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 101.912000 413.692000 105.236000 401.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 105.212000 413.692000 110.528000 401.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 110.516000 413.692000 115.184000 401.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 115.200000 413.692000 118.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.200000 413.692000 121.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.200000 413.692000 124.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.200000 413.692000 127.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.200000 413.692000 130.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.200000 413.692000 133.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.200000 413.692000 136.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.200000 413.692000 139.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.200000 413.692000 142.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.200000 413.692000 145.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.200000 413.692000 148.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.200000 413.692000 151.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.200000 413.692000 154.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.200000 413.692000 157.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.200000 413.692000 160.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.200000 413.692000 163.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.200000 413.692000 166.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.200000 413.692000 169.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.200000 413.692000 172.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.200000 413.692000 175.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.200000 413.692000 178.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.200000 413.692000 181.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.200000 413.692000 184.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.200000 413.692000 187.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.200000 413.692000 190.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.200000 413.692000 193.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.200000 413.692000 196.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.200000 413.692000 199.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.200000 413.692000 202.200000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.296000 413.692000 205.296000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.392000 413.692000 208.392000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.488000 413.692000 211.488000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.584000 413.692000 214.584000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.680000 413.692000 217.680000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.776000 413.692000 220.776000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.872000 413.692000 223.872000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.968000 413.692000 226.968000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.064000 413.692000 230.064000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.160000 413.692000 233.160000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.256000 413.692000 236.256000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.352000 413.692000 239.352000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.448000 413.692000 242.448000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.544000 413.692000 245.544000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.640000 413.692000 248.640000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.736000 413.692000 251.736000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.832000 413.692000 254.832000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.928000 413.692000 257.928000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.024000 413.692000 261.024000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.120000 413.692000 264.120000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.216000 413.692000 267.216000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.312000 413.692000 270.312000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.408000 413.692000 273.408000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.504000 413.692000 276.504000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.600000 413.692000 279.600000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.696000 413.692000 282.696000 401.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.792000 413.692000 285.792000 401.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 413.692000 292.000000 401.692000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 400.292000 84.692000 388.292000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.704000 400.292000 90.020000 388.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.008000 400.292000 96.008000 388.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 96.008000 400.292000 102.008000 388.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 102.008000 400.292000 107.324000 388.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 107.312000 400.292000 113.312000 388.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 113.312000 400.292000 116.312000 388.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 116.312000 400.292000 122.312000 388.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 122.312000 400.292000 128.312000 388.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 128.312000 400.292000 134.312000 388.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 134.312000 400.292000 140.312000 388.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 140.216000 400.292000 144.884000 388.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 144.900000 400.292000 147.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.900000 400.292000 150.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.900000 400.292000 153.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 400.292000 156.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 400.292000 159.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 400.292000 162.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 400.292000 165.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 400.292000 168.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 400.292000 171.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 400.292000 174.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 400.292000 177.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 400.292000 180.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 400.292000 183.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 400.292000 186.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 400.292000 189.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 400.292000 192.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 400.292000 195.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 400.292000 198.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 400.292000 201.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 400.292000 204.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 400.292000 207.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 400.292000 210.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 400.292000 213.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 400.292000 216.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 400.292000 219.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 400.292000 222.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 400.292000 225.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 400.292000 228.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 400.292000 231.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 400.292000 234.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 400.292000 237.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 400.292000 240.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 400.292000 243.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 400.292000 246.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 400.292000 249.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 400.292000 252.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 400.292000 255.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 400.292000 258.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 400.292000 261.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 400.292000 264.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 400.292000 267.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 400.292000 270.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 400.292000 273.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 400.292000 276.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 400.292000 279.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.900000 400.292000 282.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.900000 400.292000 285.900000 388.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 400.292000 292.000000 388.292000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 386.792000 84.692000 374.792000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.704000 386.792000 90.020000 374.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.008000 386.792000 96.008000 374.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 96.008000 386.792000 102.008000 374.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 102.008000 386.792000 107.324000 374.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 107.312000 386.792000 111.308000 374.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 111.308000 386.792000 117.308000 374.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 117.308000 386.792000 120.308000 374.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 120.308000 386.792000 128.300000 374.792000 1.000000 0.000000 0.000000 1.000000 R +drawChar 128.312000 386.792000 134.312000 374.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 134.312000 386.792000 142.976000 374.792000 1.000000 0.000000 0.000000 1.000000 w +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 142.900000 386.792000 145.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.900000 386.792000 148.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.900000 386.792000 151.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.900000 386.792000 154.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.900000 386.792000 157.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.900000 386.792000 160.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.900000 386.792000 163.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.900000 386.792000 166.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.900000 386.792000 169.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.900000 386.792000 172.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.900000 386.792000 175.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.900000 386.792000 178.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.900000 386.792000 181.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.900000 386.792000 184.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.900000 386.792000 187.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.900000 386.792000 190.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.900000 386.792000 193.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.900000 386.792000 196.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.900000 386.792000 199.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.900000 386.792000 202.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.900000 386.792000 205.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.900000 386.792000 208.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.900000 386.792000 211.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.900000 386.792000 214.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.900000 386.792000 217.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.900000 386.792000 220.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.900000 386.792000 223.900000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.996000 386.792000 226.996000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.092000 386.792000 230.092000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.188000 386.792000 233.188000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.284000 386.792000 236.284000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.380000 386.792000 239.380000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.476000 386.792000 242.476000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.572000 386.792000 245.572000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.668000 386.792000 248.668000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.764000 386.792000 251.764000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.860000 386.792000 254.860000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.956000 386.792000 257.956000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.052000 386.792000 261.052000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.148000 386.792000 264.148000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.244000 386.792000 267.244000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.340000 386.792000 270.340000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.436000 386.792000 273.436000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.532000 386.792000 276.532000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.628000 386.792000 279.628000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.724000 386.792000 282.724000 374.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.820000 386.792000 285.820000 374.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 386.792000 292.000000 374.792000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 373.392000 84.692000 361.392000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.704000 373.392000 90.020000 361.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 90.008000 373.392000 94.004000 361.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 94.004000 373.392000 99.320000 361.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 99.308000 373.392000 108.632000 361.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 108.608000 373.392000 111.932000 361.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 112.004000 373.392000 117.320000 361.392000 1.000000 0.000000 0.000000 1.000000 c +drawChar 117.308000 373.392000 120.308000 361.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 120.308000 373.392000 123.632000 361.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 123.608000 373.392000 126.932000 361.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 127.004000 373.392000 130.328000 361.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 130.304000 373.392000 135.620000 361.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 135.608000 373.392000 140.276000 361.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 140.200000 373.392000 143.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.200000 373.392000 146.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.200000 373.392000 149.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.200000 373.392000 152.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.200000 373.392000 155.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.200000 373.392000 158.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.200000 373.392000 161.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.200000 373.392000 164.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.200000 373.392000 167.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.200000 373.392000 170.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.200000 373.392000 173.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.200000 373.392000 176.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.200000 373.392000 179.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.200000 373.392000 182.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.200000 373.392000 185.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.200000 373.392000 188.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.200000 373.392000 191.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.200000 373.392000 194.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.200000 373.392000 197.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.200000 373.392000 200.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.200000 373.392000 203.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.200000 373.392000 206.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.200000 373.392000 209.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 373.392000 212.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.200000 373.392000 215.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.200000 373.392000 218.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.200000 373.392000 221.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.200000 373.392000 224.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.200000 373.392000 227.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.200000 373.392000 230.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.200000 373.392000 233.200000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.296000 373.392000 236.296000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.392000 373.392000 239.392000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.488000 373.392000 242.488000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.584000 373.392000 245.584000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.680000 373.392000 248.680000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.776000 373.392000 251.776000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.872000 373.392000 254.872000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.968000 373.392000 257.968000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.064000 373.392000 261.064000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.160000 373.392000 264.160000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.256000 373.392000 267.256000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.352000 373.392000 270.352000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.448000 373.392000 273.448000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.544000 373.392000 276.544000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.640000 373.392000 279.640000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.736000 373.392000 282.736000 361.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.832000 373.392000 285.832000 361.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 373.392000 292.000000 361.392000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 359.892000 84.692000 347.892000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.704000 359.892000 90.020000 347.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 90.008000 359.892000 94.004000 347.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 94.004000 359.892000 99.320000 347.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 99.308000 359.892000 104.624000 347.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 104.612000 359.892000 107.936000 347.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 107.912000 359.892000 112.580000 347.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 112.500000 359.892000 115.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.500000 359.892000 118.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.500000 359.892000 121.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.500000 359.892000 124.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.500000 359.892000 127.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.500000 359.892000 130.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.500000 359.892000 133.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.500000 359.892000 136.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.500000 359.892000 139.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.500000 359.892000 142.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.500000 359.892000 145.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.500000 359.892000 148.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.500000 359.892000 151.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.500000 359.892000 154.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.500000 359.892000 157.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.500000 359.892000 160.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.500000 359.892000 163.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.500000 359.892000 166.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.500000 359.892000 169.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.500000 359.892000 172.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.500000 359.892000 175.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.500000 359.892000 178.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.500000 359.892000 181.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.500000 359.892000 184.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.500000 359.892000 187.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.500000 359.892000 190.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.500000 359.892000 193.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.500000 359.892000 196.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.500000 359.892000 199.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.500000 359.892000 202.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.500000 359.892000 205.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.500000 359.892000 208.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.500000 359.892000 211.500000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.596000 359.892000 214.596000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.692000 359.892000 217.692000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.788000 359.892000 220.788000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.884000 359.892000 223.884000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.980000 359.892000 226.980000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.076000 359.892000 230.076000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.172000 359.892000 233.172000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.268000 359.892000 236.268000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.364000 359.892000 239.364000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.460000 359.892000 242.460000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.556000 359.892000 245.556000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.652000 359.892000 248.652000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.748000 359.892000 251.748000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.844000 359.892000 254.844000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.940000 359.892000 257.940000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.036000 359.892000 261.036000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.132000 359.892000 264.132000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.228000 359.892000 267.228000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.324000 359.892000 270.324000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.420000 359.892000 273.420000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.516000 359.892000 276.516000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.612000 359.892000 279.612000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.708000 359.892000 282.708000 347.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.804000 359.892000 285.804000 347.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 359.892000 292.000000 347.892000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 346.492000 84.692000 334.492000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.596000 346.492000 90.596000 334.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 90.692000 346.492000 96.008000 334.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 95.996000 346.492000 99.992000 334.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 99.992000 346.492000 103.988000 334.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 103.892000 346.492000 107.216000 334.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 107.288000 346.492000 112.604000 334.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 112.592000 346.492000 117.260000 334.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 117.200000 346.492000 120.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.200000 346.492000 123.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.200000 346.492000 126.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.200000 346.492000 129.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.200000 346.492000 132.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.200000 346.492000 135.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.200000 346.492000 138.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.200000 346.492000 141.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.200000 346.492000 144.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.200000 346.492000 147.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.200000 346.492000 150.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.200000 346.492000 153.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.200000 346.492000 156.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.200000 346.492000 159.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.200000 346.492000 162.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.200000 346.492000 165.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.200000 346.492000 168.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.200000 346.492000 171.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.200000 346.492000 174.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.200000 346.492000 177.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.200000 346.492000 180.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.200000 346.492000 183.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.200000 346.492000 186.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.200000 346.492000 189.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.200000 346.492000 192.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.200000 346.492000 195.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.200000 346.492000 198.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.200000 346.492000 201.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.200000 346.492000 204.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.200000 346.492000 207.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.200000 346.492000 210.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.200000 346.492000 213.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.200000 346.492000 216.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.200000 346.492000 219.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.200000 346.492000 222.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.200000 346.492000 225.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.200000 346.492000 228.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.200000 346.492000 231.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.200000 346.492000 234.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.200000 346.492000 237.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.200000 346.492000 240.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.200000 346.492000 243.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.200000 346.492000 246.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.200000 346.492000 249.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.200000 346.492000 252.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.200000 346.492000 255.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.200000 346.492000 258.200000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.296000 346.492000 261.296000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.392000 346.492000 264.392000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.488000 346.492000 267.488000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.584000 346.492000 270.584000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.680000 346.492000 273.680000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.776000 346.492000 276.776000 334.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.872000 346.492000 279.872000 334.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 346.492000 286.000000 334.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 346.492000 292.000000 334.492000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 332.992000 84.692000 320.992000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.596000 332.992000 90.596000 320.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 90.692000 332.992000 96.008000 320.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 95.996000 332.992000 100.664000 320.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 100.700000 332.992000 104.024000 320.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 104.000000 332.992000 110.000000 320.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 110.000000 332.992000 116.000000 320.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 116.000000 332.992000 119.324000 320.992000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 119.200000 332.992000 122.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.200000 332.992000 125.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.200000 332.992000 128.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.200000 332.992000 131.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.200000 332.992000 134.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.200000 332.992000 137.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.200000 332.992000 140.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.200000 332.992000 143.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.200000 332.992000 146.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.200000 332.992000 149.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.200000 332.992000 152.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.200000 332.992000 155.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.200000 332.992000 158.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.200000 332.992000 161.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.200000 332.992000 164.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.200000 332.992000 167.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.200000 332.992000 170.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.200000 332.992000 173.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.200000 332.992000 176.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.200000 332.992000 179.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.200000 332.992000 182.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.200000 332.992000 185.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.200000 332.992000 188.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.200000 332.992000 191.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.200000 332.992000 194.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.200000 332.992000 197.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.200000 332.992000 200.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.200000 332.992000 203.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.200000 332.992000 206.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.200000 332.992000 209.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 332.992000 212.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.200000 332.992000 215.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.200000 332.992000 218.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.200000 332.992000 221.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.200000 332.992000 224.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.200000 332.992000 227.200000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.296000 332.992000 230.296000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.392000 332.992000 233.392000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.488000 332.992000 236.488000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.584000 332.992000 239.584000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.680000 332.992000 242.680000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.776000 332.992000 245.776000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.872000 332.992000 248.872000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.968000 332.992000 251.968000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.064000 332.992000 255.064000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.160000 332.992000 258.160000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.256000 332.992000 261.256000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.352000 332.992000 264.352000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.448000 332.992000 267.448000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.544000 332.992000 270.544000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.640000 332.992000 273.640000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.736000 332.992000 276.736000 320.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.832000 332.992000 279.832000 320.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 332.992000 286.000000 320.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 332.992000 292.000000 320.992000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 319.592000 84.692000 307.592000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.596000 319.592000 90.596000 307.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 90.692000 319.592000 94.688000 307.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 94.592000 319.592000 97.916000 307.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 97.988000 319.592000 102.656000 307.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 102.692000 319.592000 106.016000 307.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 105.896000 319.592000 109.220000 307.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 109.292000 319.592000 114.608000 307.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 114.596000 319.592000 117.596000 307.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 117.692000 319.592000 120.692000 307.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 120.692000 319.592000 129.356000 307.592000 1.000000 0.000000 0.000000 1.000000 A +drawChar 129.296000 319.592000 135.296000 307.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 135.296000 319.592000 140.612000 307.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 140.600000 319.592000 143.924000 307.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 143.900000 319.592000 149.900000 307.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 149.996000 319.592000 155.312000 307.592000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 155.200000 319.592000 158.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.200000 319.592000 161.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.200000 319.592000 164.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.200000 319.592000 167.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.200000 319.592000 170.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.200000 319.592000 173.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.200000 319.592000 176.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.200000 319.592000 179.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.200000 319.592000 182.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.200000 319.592000 185.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.200000 319.592000 188.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.200000 319.592000 191.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.200000 319.592000 194.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.200000 319.592000 197.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.200000 319.592000 200.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.200000 319.592000 203.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.200000 319.592000 206.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.200000 319.592000 209.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 319.592000 212.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.200000 319.592000 215.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.200000 319.592000 218.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.200000 319.592000 221.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.200000 319.592000 224.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.200000 319.592000 227.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.200000 319.592000 230.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.200000 319.592000 233.200000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.296000 319.592000 236.296000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.392000 319.592000 239.392000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.488000 319.592000 242.488000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.584000 319.592000 245.584000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.680000 319.592000 248.680000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.776000 319.592000 251.776000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.872000 319.592000 254.872000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.968000 319.592000 257.968000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.064000 319.592000 261.064000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.160000 319.592000 264.160000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.256000 319.592000 267.256000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.352000 319.592000 270.352000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.448000 319.592000 273.448000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.544000 319.592000 276.544000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.640000 319.592000 279.640000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.736000 319.592000 282.736000 307.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.832000 319.592000 285.832000 307.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 319.592000 292.000000 307.592000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 306.092000 84.692000 294.092000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.596000 306.092000 90.596000 294.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 90.692000 306.092000 94.688000 294.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 94.592000 306.092000 97.916000 294.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 97.988000 306.092000 102.656000 294.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 102.692000 306.092000 106.016000 294.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 105.992000 306.092000 115.316000 294.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 115.292000 306.092000 120.608000 294.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 120.596000 306.092000 125.264000 294.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 125.300000 306.092000 128.300000 294.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 128.300000 306.092000 134.300000 294.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 134.204000 306.092000 139.520000 294.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 139.508000 306.092000 144.824000 294.092000 1.000000 0.000000 0.000000 1.000000 c +drawChar 144.812000 306.092000 150.812000 294.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 150.812000 306.092000 154.808000 294.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 154.916000 306.092000 160.232000 294.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 160.220000 306.092000 163.544000 294.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 163.520000 306.092000 166.844000 294.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 166.916000 306.092000 172.916000 294.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 172.916000 306.092000 178.916000 294.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 178.916000 306.092000 183.584000 294.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 183.500000 306.092000 186.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.500000 306.092000 189.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.500000 306.092000 192.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.500000 306.092000 195.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.500000 306.092000 198.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.500000 306.092000 201.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.500000 306.092000 204.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.500000 306.092000 207.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.500000 306.092000 210.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.500000 306.092000 213.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.500000 306.092000 216.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.500000 306.092000 219.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.500000 306.092000 222.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.500000 306.092000 225.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.500000 306.092000 228.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.500000 306.092000 231.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.500000 306.092000 234.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.500000 306.092000 237.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.500000 306.092000 240.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.500000 306.092000 243.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.500000 306.092000 246.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.500000 306.092000 249.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.500000 306.092000 252.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.500000 306.092000 255.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.500000 306.092000 258.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.500000 306.092000 261.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.500000 306.092000 264.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.500000 306.092000 267.500000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.596000 306.092000 270.596000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.692000 306.092000 273.692000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.788000 306.092000 276.788000 294.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.884000 306.092000 279.884000 294.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 306.092000 286.000000 294.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 306.092000 292.000000 294.092000 1.000000 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 292.692000 84.692000 280.692000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.596000 292.692000 90.596000 280.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 90.692000 292.692000 94.688000 280.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 94.688000 292.692000 100.688000 280.692000 1.000000 0.000000 0.000000 1.000000 y +drawChar 100.592000 292.692000 105.260000 280.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 105.296000 292.692000 110.612000 280.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 110.600000 292.692000 116.600000 280.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 116.600000 292.692000 119.924000 280.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 119.900000 292.692000 125.900000 280.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 125.996000 292.692000 131.312000 280.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 131.300000 292.692000 140.624000 280.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 140.600000 292.692000 146.600000 280.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 146.600000 292.692000 155.924000 280.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 155.900000 292.692000 160.568000 280.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 160.600000 292.692000 163.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.600000 292.692000 166.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.600000 292.692000 169.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.600000 292.692000 172.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.600000 292.692000 175.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.600000 292.692000 178.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.600000 292.692000 181.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.600000 292.692000 184.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.600000 292.692000 187.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.600000 292.692000 190.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.600000 292.692000 193.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.600000 292.692000 196.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.600000 292.692000 199.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.600000 292.692000 202.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.600000 292.692000 205.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.600000 292.692000 208.600000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.696000 292.692000 211.696000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.792000 292.692000 214.792000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.888000 292.692000 217.888000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.984000 292.692000 220.984000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.080000 292.692000 224.080000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.176000 292.692000 227.176000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.272000 292.692000 230.272000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.368000 292.692000 233.368000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.464000 292.692000 236.464000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.560000 292.692000 239.560000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.656000 292.692000 242.656000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.752000 292.692000 245.752000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.848000 292.692000 248.848000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.944000 292.692000 251.944000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.040000 292.692000 255.040000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.136000 292.692000 258.136000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.232000 292.692000 261.232000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.328000 292.692000 264.328000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.424000 292.692000 267.424000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.520000 292.692000 270.520000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.616000 292.692000 273.616000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.712000 292.692000 276.712000 280.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.808000 292.692000 279.808000 280.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 292.692000 286.000000 280.692000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 292.692000 292.000000 280.692000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 279.192000 84.692000 267.192000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.596000 279.192000 90.596000 267.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 90.692000 279.192000 94.688000 267.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 94.688000 279.192000 100.688000 267.192000 1.000000 0.000000 0.000000 1.000000 y +drawChar 100.592000 279.192000 105.260000 267.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 105.296000 279.192000 108.620000 267.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 108.596000 279.192000 113.912000 267.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 113.900000 279.192000 117.896000 267.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 118.004000 279.192000 121.004000 267.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 121.004000 279.192000 128.996000 267.192000 1.000000 0.000000 0.000000 1.000000 B +drawChar 129.008000 279.192000 135.008000 267.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 134.912000 279.192000 138.236000 267.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 138.308000 279.192000 141.632000 267.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 141.608000 279.192000 147.608000 267.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 147.512000 279.192000 150.836000 267.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 150.908000 279.192000 156.908000 267.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 156.908000 279.192000 162.908000 267.192000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 162.900000 279.192000 165.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 279.192000 168.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 279.192000 171.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 279.192000 174.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 279.192000 177.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 279.192000 180.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 279.192000 183.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 279.192000 186.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 279.192000 189.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 279.192000 192.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 279.192000 195.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 279.192000 198.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 279.192000 201.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 279.192000 204.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 279.192000 207.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 279.192000 210.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 279.192000 213.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 279.192000 216.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 279.192000 219.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 279.192000 222.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 279.192000 225.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 279.192000 228.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 279.192000 231.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 279.192000 234.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 279.192000 237.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 279.192000 240.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 279.192000 243.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 279.192000 246.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 279.192000 249.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 279.192000 252.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 279.192000 255.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 279.192000 258.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 279.192000 261.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 279.192000 264.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 279.192000 267.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 279.192000 270.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 279.192000 273.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 279.192000 276.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 279.192000 279.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.900000 279.192000 282.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.900000 279.192000 285.900000 267.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 279.192000 292.000000 267.192000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 265.792000 84.692000 253.792000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.704000 265.792000 90.704000 253.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 90.704000 265.792000 96.020000 253.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 96.008000 265.792000 99.332000 253.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 99.308000 265.792000 102.308000 253.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 102.308000 265.792000 106.304000 253.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 106.304000 265.792000 111.620000 253.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 111.608000 265.792000 116.924000 253.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 116.912000 265.792000 122.912000 253.792000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 122.900000 265.792000 125.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.900000 265.792000 128.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.900000 265.792000 131.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.900000 265.792000 134.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.900000 265.792000 137.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.900000 265.792000 140.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.900000 265.792000 143.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.900000 265.792000 146.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.900000 265.792000 149.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.900000 265.792000 152.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.900000 265.792000 155.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.900000 265.792000 158.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.900000 265.792000 161.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.900000 265.792000 164.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.900000 265.792000 167.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.900000 265.792000 170.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.900000 265.792000 173.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.900000 265.792000 176.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.900000 265.792000 179.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.900000 265.792000 182.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.900000 265.792000 185.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.900000 265.792000 188.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.900000 265.792000 191.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.900000 265.792000 194.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.900000 265.792000 197.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.900000 265.792000 200.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.900000 265.792000 203.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.900000 265.792000 206.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.900000 265.792000 209.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.900000 265.792000 212.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.900000 265.792000 215.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.900000 265.792000 218.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.900000 265.792000 221.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.900000 265.792000 224.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.900000 265.792000 227.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.900000 265.792000 230.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.900000 265.792000 233.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.900000 265.792000 236.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.900000 265.792000 239.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.900000 265.792000 242.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.900000 265.792000 245.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.900000 265.792000 248.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.900000 265.792000 251.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.900000 265.792000 254.900000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.996000 265.792000 257.996000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.092000 265.792000 261.092000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.188000 265.792000 264.188000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.284000 265.792000 267.284000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.380000 265.792000 270.380000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.476000 265.792000 273.476000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.572000 265.792000 276.572000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.668000 265.792000 279.668000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.764000 265.792000 282.764000 253.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.860000 265.792000 285.860000 253.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 265.792000 292.000000 253.792000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 252.292000 84.692000 240.292000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.704000 252.292000 90.704000 240.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 90.704000 252.292000 96.020000 240.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 96.008000 252.292000 102.008000 240.292000 1.000000 0.000000 0.000000 1.000000 k +drawChar 102.008000 252.292000 105.332000 240.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 105.308000 252.292000 110.624000 240.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 110.612000 252.292000 113.936000 240.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 114.008000 252.292000 117.332000 240.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 117.308000 252.292000 121.976000 240.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 121.900000 252.292000 124.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.900000 252.292000 127.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.900000 252.292000 130.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.900000 252.292000 133.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.900000 252.292000 136.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.900000 252.292000 139.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.900000 252.292000 142.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.900000 252.292000 145.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.900000 252.292000 148.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.900000 252.292000 151.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.900000 252.292000 154.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.900000 252.292000 157.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.900000 252.292000 160.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.900000 252.292000 163.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.900000 252.292000 166.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.900000 252.292000 169.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.900000 252.292000 172.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.900000 252.292000 175.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.900000 252.292000 178.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.900000 252.292000 181.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.900000 252.292000 184.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.900000 252.292000 187.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.900000 252.292000 190.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.900000 252.292000 193.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.900000 252.292000 196.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.900000 252.292000 199.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.900000 252.292000 202.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.900000 252.292000 205.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.900000 252.292000 208.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.900000 252.292000 211.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.900000 252.292000 214.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.900000 252.292000 217.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.900000 252.292000 220.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.900000 252.292000 223.900000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.996000 252.292000 226.996000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.092000 252.292000 230.092000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.188000 252.292000 233.188000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.284000 252.292000 236.284000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.380000 252.292000 239.380000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.476000 252.292000 242.476000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.572000 252.292000 245.572000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.668000 252.292000 248.668000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.764000 252.292000 251.764000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.860000 252.292000 254.860000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.956000 252.292000 257.956000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.052000 252.292000 261.052000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.148000 252.292000 264.148000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.244000 252.292000 267.244000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.340000 252.292000 270.340000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.436000 252.292000 273.436000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.532000 252.292000 276.532000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.628000 252.292000 279.628000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.724000 252.292000 282.724000 240.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.820000 252.292000 285.820000 240.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 252.292000 292.000000 240.292000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 238.892000 84.692000 226.892000 1.000000 0.000000 0.000000 1.000000 C +drawChar 84.704000 238.892000 90.704000 226.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 90.704000 238.892000 96.704000 226.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 96.608000 238.892000 99.932000 226.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 100.004000 238.892000 104.000000 226.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 104.000000 238.892000 109.316000 226.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 109.304000 238.892000 113.300000 226.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 113.300000 238.892000 119.300000 226.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 119.300000 238.892000 125.300000 226.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 125.300000 238.892000 129.968000 226.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 130.004000 238.892000 133.004000 226.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 133.004000 238.892000 136.328000 226.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 136.304000 238.892000 140.300000 226.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 140.300000 238.892000 145.616000 226.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 145.604000 238.892000 150.920000 226.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 150.908000 238.892000 155.576000 226.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 155.500000 238.892000 158.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.500000 238.892000 161.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.500000 238.892000 164.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.500000 238.892000 167.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.500000 238.892000 170.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.500000 238.892000 173.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.500000 238.892000 176.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.500000 238.892000 179.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.500000 238.892000 182.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.500000 238.892000 185.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.500000 238.892000 188.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.500000 238.892000 191.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.500000 238.892000 194.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.500000 238.892000 197.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.500000 238.892000 200.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.500000 238.892000 203.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.500000 238.892000 206.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.500000 238.892000 209.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.500000 238.892000 212.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.500000 238.892000 215.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.500000 238.892000 218.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.500000 238.892000 221.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.500000 238.892000 224.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.500000 238.892000 227.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.500000 238.892000 230.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.500000 238.892000 233.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.500000 238.892000 236.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.500000 238.892000 239.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.500000 238.892000 242.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.500000 238.892000 245.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.500000 238.892000 248.500000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.596000 238.892000 251.596000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.692000 238.892000 254.692000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.788000 238.892000 257.788000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 257.884000 238.892000 260.884000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 260.980000 238.892000 263.980000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.076000 238.892000 267.076000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.172000 238.892000 270.172000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.268000 238.892000 273.268000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.364000 238.892000 276.364000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.460000 238.892000 279.460000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.556000 238.892000 282.556000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.652000 238.892000 285.652000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 285.748000 238.892000 288.748000 226.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.844000 238.892000 291.844000 226.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 90.800000 225.392000 99.464000 213.392000 1.000000 0.000000 0.000000 1.000000 D +drawChar 99.404000 225.392000 105.404000 213.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 105.404000 225.392000 111.404000 213.392000 1.000000 0.000000 0.000000 1.000000 u +drawChar 111.404000 225.392000 117.404000 213.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 117.404000 225.392000 120.728000 213.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 120.704000 225.392000 126.020000 213.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 126.008000 225.392000 130.676000 213.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 130.808000 225.392000 133.808000 213.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 133.808000 225.392000 140.480000 213.392000 1.000000 0.000000 0.000000 1.000000 F +drawChar 140.408000 225.392000 143.732000 213.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 143.804000 225.392000 147.800000 213.392000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 147.700000 225.392000 150.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.700000 225.392000 153.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.700000 225.392000 156.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.700000 225.392000 159.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.700000 225.392000 162.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.700000 225.392000 165.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.700000 225.392000 168.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.700000 225.392000 171.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.700000 225.392000 174.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.700000 225.392000 177.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.700000 225.392000 180.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.700000 225.392000 183.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.700000 225.392000 186.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.700000 225.392000 189.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.700000 225.392000 192.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.700000 225.392000 195.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.700000 225.392000 198.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.700000 225.392000 201.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.700000 225.392000 204.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.700000 225.392000 207.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.700000 225.392000 210.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.700000 225.392000 213.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.700000 225.392000 216.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.700000 225.392000 219.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.700000 225.392000 222.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.700000 225.392000 225.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.700000 225.392000 228.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.700000 225.392000 231.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.700000 225.392000 234.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.700000 225.392000 237.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.700000 225.392000 240.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.700000 225.392000 243.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.700000 225.392000 246.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.700000 225.392000 249.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.700000 225.392000 252.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.700000 225.392000 255.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.700000 225.392000 258.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.700000 225.392000 261.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.700000 225.392000 264.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.700000 225.392000 267.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.700000 225.392000 270.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.700000 225.392000 273.700000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.796000 225.392000 276.796000 213.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.892000 225.392000 279.892000 213.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 225.392000 286.000000 213.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 225.392000 292.000000 213.392000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 90.800000 211.992000 97.472000 199.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 97.496000 211.992000 100.820000 199.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 100.796000 211.992000 106.796000 199.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 106.796000 211.992000 112.112000 199.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 112.100000 211.992000 116.768000 199.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 116.700000 211.992000 119.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.700000 211.992000 122.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.700000 211.992000 125.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.700000 211.992000 128.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.700000 211.992000 131.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.700000 211.992000 134.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.700000 211.992000 137.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.700000 211.992000 140.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.700000 211.992000 143.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.700000 211.992000 146.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.700000 211.992000 149.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.700000 211.992000 152.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.700000 211.992000 155.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.700000 211.992000 158.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.700000 211.992000 161.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.700000 211.992000 164.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.700000 211.992000 167.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.700000 211.992000 170.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.700000 211.992000 173.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.700000 211.992000 176.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.700000 211.992000 179.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.700000 211.992000 182.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.700000 211.992000 185.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.700000 211.992000 188.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.700000 211.992000 191.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.700000 211.992000 194.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.700000 211.992000 197.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.700000 211.992000 200.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.700000 211.992000 203.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.700000 211.992000 206.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.700000 211.992000 209.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.700000 211.992000 212.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.700000 211.992000 215.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.700000 211.992000 218.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.700000 211.992000 221.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.700000 211.992000 224.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.700000 211.992000 227.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.700000 211.992000 230.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.700000 211.992000 233.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.700000 211.992000 236.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.700000 211.992000 239.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.700000 211.992000 242.700000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.796000 211.992000 245.796000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.892000 211.992000 248.892000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.988000 211.992000 251.988000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.084000 211.992000 255.084000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.180000 211.992000 258.180000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.276000 211.992000 261.276000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.372000 211.992000 264.372000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.468000 211.992000 267.468000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.564000 211.992000 270.564000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.660000 211.992000 273.660000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.756000 211.992000 276.756000 199.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.852000 211.992000 279.852000 199.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 211.992000 286.000000 199.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 211.992000 292.000000 199.992000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 90.800000 198.492000 97.472000 186.492000 1.000000 0.000000 0.000000 1.000000 S +drawChar 97.496000 198.492000 103.496000 186.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 103.400000 198.492000 107.396000 186.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 107.396000 198.492000 113.396000 186.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 113.396000 198.492000 118.712000 186.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 118.700000 198.492000 124.016000 186.492000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 124.000000 198.492000 127.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.000000 198.492000 130.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.000000 198.492000 133.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.000000 198.492000 136.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.000000 198.492000 139.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.000000 198.492000 142.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.000000 198.492000 145.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.000000 198.492000 148.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.000000 198.492000 151.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.000000 198.492000 154.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.000000 198.492000 157.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.000000 198.492000 160.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.000000 198.492000 163.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.000000 198.492000 166.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.000000 198.492000 169.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.000000 198.492000 172.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.000000 198.492000 175.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.000000 198.492000 178.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.000000 198.492000 181.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.000000 198.492000 184.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.000000 198.492000 187.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.000000 198.492000 190.000000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.096000 198.492000 193.096000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.192000 198.492000 196.192000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.288000 198.492000 199.288000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.384000 198.492000 202.384000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.480000 198.492000 205.480000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.576000 198.492000 208.576000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.672000 198.492000 211.672000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.768000 198.492000 214.768000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.864000 198.492000 217.864000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.960000 198.492000 220.960000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.056000 198.492000 224.056000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.152000 198.492000 227.152000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.248000 198.492000 230.248000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.344000 198.492000 233.344000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.440000 198.492000 236.440000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.536000 198.492000 239.536000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.632000 198.492000 242.632000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.728000 198.492000 245.728000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.824000 198.492000 248.824000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.920000 198.492000 251.920000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.016000 198.492000 255.016000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.112000 198.492000 258.112000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.208000 198.492000 261.208000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.304000 198.492000 264.304000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.400000 198.492000 267.400000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.496000 198.492000 270.496000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.592000 198.492000 273.592000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.688000 198.492000 276.688000 186.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.784000 198.492000 279.784000 186.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 198.492000 286.000000 186.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 198.492000 292.000000 186.492000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 184.592000 85.364000 172.592000 1.000000 0.000000 0.000000 1.000000 D +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 171.192000 85.364000 159.192000 1.000000 0.000000 0.000000 1.000000 D +drawChar 85.304000 171.192000 90.620000 159.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.608000 171.192000 94.604000 159.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 94.604000 171.192000 98.600000 159.192000 1.000000 0.000000 0.000000 1.000000 f +drawChar 98.600000 171.192000 104.600000 159.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 104.600000 171.192000 110.600000 159.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 110.504000 171.192000 113.828000 159.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 113.900000 171.192000 117.224000 159.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 117.200000 171.192000 121.868000 159.192000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 121.900000 171.192000 124.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.900000 171.192000 127.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.900000 171.192000 130.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.900000 171.192000 133.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.900000 171.192000 136.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.900000 171.192000 139.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.900000 171.192000 142.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.900000 171.192000 145.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.900000 171.192000 148.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.900000 171.192000 151.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.900000 171.192000 154.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.900000 171.192000 157.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.900000 171.192000 160.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.900000 171.192000 163.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.900000 171.192000 166.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.900000 171.192000 169.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.900000 171.192000 172.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.900000 171.192000 175.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.900000 171.192000 178.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.900000 171.192000 181.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.900000 171.192000 184.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.900000 171.192000 187.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.900000 171.192000 190.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.900000 171.192000 193.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.900000 171.192000 196.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.900000 171.192000 199.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.900000 171.192000 202.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.900000 171.192000 205.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.900000 171.192000 208.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.900000 171.192000 211.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.900000 171.192000 214.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.900000 171.192000 217.900000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.996000 171.192000 220.996000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.092000 171.192000 224.092000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.188000 171.192000 227.188000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.284000 171.192000 230.284000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.380000 171.192000 233.380000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.476000 171.192000 236.476000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.572000 171.192000 239.572000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.668000 171.192000 242.668000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.764000 171.192000 245.764000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.860000 171.192000 248.860000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.956000 171.192000 251.956000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.052000 171.192000 255.052000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.148000 171.192000 258.148000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.244000 171.192000 261.244000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.340000 171.192000 264.340000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.436000 171.192000 267.436000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.532000 171.192000 270.532000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.628000 171.192000 273.628000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.724000 171.192000 276.724000 159.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.820000 171.192000 279.820000 159.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 171.192000 286.000000 159.192000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 171.192000 292.000000 159.192000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 157.692000 85.364000 145.692000 1.000000 0.000000 0.000000 1.000000 D +drawChar 85.304000 157.692000 90.620000 145.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.500000 157.692000 96.500000 145.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 96.596000 157.692000 99.920000 145.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 99.896000 157.692000 103.220000 145.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 103.292000 157.692000 108.608000 145.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 108.596000 157.692000 113.264000 145.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 113.200000 157.692000 116.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 116.200000 157.692000 119.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.200000 157.692000 122.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.200000 157.692000 125.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.200000 157.692000 128.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.200000 157.692000 131.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.200000 157.692000 134.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.200000 157.692000 137.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.200000 157.692000 140.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.200000 157.692000 143.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.200000 157.692000 146.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.200000 157.692000 149.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.200000 157.692000 152.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.200000 157.692000 155.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.200000 157.692000 158.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.200000 157.692000 161.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.200000 157.692000 164.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.200000 157.692000 167.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.200000 157.692000 170.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.200000 157.692000 173.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.200000 157.692000 176.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.200000 157.692000 179.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.200000 157.692000 182.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.200000 157.692000 185.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.200000 157.692000 188.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.200000 157.692000 191.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.200000 157.692000 194.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.200000 157.692000 197.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.200000 157.692000 200.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.200000 157.692000 203.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.200000 157.692000 206.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.200000 157.692000 209.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 157.692000 212.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.200000 157.692000 215.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.200000 157.692000 218.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.200000 157.692000 221.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.200000 157.692000 224.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.200000 157.692000 227.200000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.296000 157.692000 230.296000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.392000 157.692000 233.392000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.488000 157.692000 236.488000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.584000 157.692000 239.584000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.680000 157.692000 242.680000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.776000 157.692000 245.776000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.872000 157.692000 248.872000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.968000 157.692000 251.968000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.064000 157.692000 255.064000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.160000 157.692000 258.160000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.256000 157.692000 261.256000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.352000 157.692000 264.352000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.448000 157.692000 267.448000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.544000 157.692000 270.544000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.640000 157.692000 273.640000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.736000 157.692000 276.736000 145.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.832000 157.692000 279.832000 145.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 157.692000 286.000000 145.692000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 157.692000 292.000000 145.692000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 144.292000 85.364000 132.292000 1.000000 0.000000 0.000000 1.000000 D +drawChar 85.304000 144.292000 90.620000 132.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 90.608000 144.292000 95.924000 132.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 95.912000 144.292000 99.236000 132.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 99.308000 144.292000 105.308000 132.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 105.212000 144.292000 111.212000 132.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 111.212000 144.292000 117.212000 132.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 117.212000 144.292000 123.212000 132.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 123.212000 144.292000 127.880000 132.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 128.012000 144.292000 131.012000 132.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 131.012000 144.292000 134.336000 132.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 134.312000 144.292000 138.308000 132.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 138.308000 144.292000 143.624000 132.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 143.612000 144.292000 148.928000 132.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 148.916000 144.292000 153.584000 132.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 153.500000 144.292000 156.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.500000 144.292000 159.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.500000 144.292000 162.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.500000 144.292000 165.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.500000 144.292000 168.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.500000 144.292000 171.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.500000 144.292000 174.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.500000 144.292000 177.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.500000 144.292000 180.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.500000 144.292000 183.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.500000 144.292000 186.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.500000 144.292000 189.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.500000 144.292000 192.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.500000 144.292000 195.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.500000 144.292000 198.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.500000 144.292000 201.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.500000 144.292000 204.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.500000 144.292000 207.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.500000 144.292000 210.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.500000 144.292000 213.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.500000 144.292000 216.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.500000 144.292000 219.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.500000 144.292000 222.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.500000 144.292000 225.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.500000 144.292000 228.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.500000 144.292000 231.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.500000 144.292000 234.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.500000 144.292000 237.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.500000 144.292000 240.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.500000 144.292000 243.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.500000 144.292000 246.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.500000 144.292000 249.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.500000 144.292000 252.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.500000 144.292000 255.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.500000 144.292000 258.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.500000 144.292000 261.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.500000 144.292000 264.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.500000 144.292000 267.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.500000 144.292000 270.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.500000 144.292000 273.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.500000 144.292000 276.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.500000 144.292000 279.500000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.596000 144.292000 282.596000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.692000 144.292000 285.692000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 285.788000 144.292000 288.788000 132.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.884000 144.292000 291.884000 132.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 90.800000 130.792000 98.792000 118.792000 1.000000 0.000000 0.000000 1.000000 B +drawChar 98.804000 130.792000 104.120000 118.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 104.108000 130.792000 109.424000 118.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 109.412000 130.792000 114.728000 118.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 114.716000 130.792000 120.716000 118.792000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 120.700000 130.792000 123.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.700000 130.792000 126.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.700000 130.792000 129.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.700000 130.792000 132.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.700000 130.792000 135.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.700000 130.792000 138.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.700000 130.792000 141.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.700000 130.792000 144.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.700000 130.792000 147.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.700000 130.792000 150.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.700000 130.792000 153.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.700000 130.792000 156.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.700000 130.792000 159.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.700000 130.792000 162.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.700000 130.792000 165.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.700000 130.792000 168.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.700000 130.792000 171.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.700000 130.792000 174.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.700000 130.792000 177.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.700000 130.792000 180.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.700000 130.792000 183.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.700000 130.792000 186.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.700000 130.792000 189.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.700000 130.792000 192.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.700000 130.792000 195.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.700000 130.792000 198.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.700000 130.792000 201.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.700000 130.792000 204.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.700000 130.792000 207.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.700000 130.792000 210.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.700000 130.792000 213.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.700000 130.792000 216.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.700000 130.792000 219.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.700000 130.792000 222.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.700000 130.792000 225.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.700000 130.792000 228.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.700000 130.792000 231.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.700000 130.792000 234.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.700000 130.792000 237.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.700000 130.792000 240.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.700000 130.792000 243.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.700000 130.792000 246.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.700000 130.792000 249.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.700000 130.792000 252.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.700000 130.792000 255.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.700000 130.792000 258.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.700000 130.792000 261.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.700000 130.792000 264.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.700000 130.792000 267.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.700000 130.792000 270.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.700000 130.792000 273.700000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.796000 130.792000 276.796000 118.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.892000 130.792000 279.892000 118.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 130.792000 286.000000 118.792000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 130.792000 292.000000 118.792000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.400000 672.992000 342.392000 660.992000 1.000000 0.000000 0.000000 1.000000 C +drawChar 342.404000 672.992000 348.404000 660.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 348.404000 672.992000 353.720000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 353.708000 672.992000 358.376000 660.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 358.412000 672.992000 361.736000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 361.712000 672.992000 367.712000 660.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 367.712000 672.992000 373.712000 660.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 373.712000 672.992000 377.036000 660.992000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 377.000000 672.992000 380.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.000000 672.992000 383.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.000000 672.992000 386.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.000000 672.992000 389.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.000000 672.992000 392.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.000000 672.992000 395.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.000000 672.992000 398.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.000000 672.992000 401.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.000000 672.992000 404.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.000000 672.992000 407.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.000000 672.992000 410.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.000000 672.992000 413.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.000000 672.992000 416.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.000000 672.992000 419.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.000000 672.992000 422.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.000000 672.992000 425.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.000000 672.992000 428.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.000000 672.992000 431.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.000000 672.992000 434.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.000000 672.992000 437.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.000000 672.992000 440.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.000000 672.992000 443.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.000000 672.992000 446.000000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.096000 672.992000 449.096000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.192000 672.992000 452.192000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.288000 672.992000 455.288000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.384000 672.992000 458.384000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.480000 672.992000 461.480000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.576000 672.992000 464.576000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.672000 672.992000 467.672000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.768000 672.992000 470.768000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.864000 672.992000 473.864000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.960000 672.992000 476.960000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.056000 672.992000 480.056000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.152000 672.992000 483.152000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.248000 672.992000 486.248000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.344000 672.992000 489.344000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.440000 672.992000 492.440000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.536000 672.992000 495.536000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.632000 672.992000 498.632000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.728000 672.992000 501.728000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.824000 672.992000 504.824000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.920000 672.992000 507.920000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.016000 672.992000 511.016000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.112000 672.992000 514.112000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.208000 672.992000 517.208000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.304000 672.992000 520.304000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.400000 672.992000 523.400000 660.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 672.992000 529.600000 660.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 672.992000 535.600000 660.992000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.400000 659.592000 343.064000 647.592000 1.000000 0.000000 0.000000 1.000000 O +drawChar 343.004000 659.592000 348.320000 647.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 348.308000 659.592000 354.308000 647.592000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 354.300000 659.592000 357.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.300000 659.592000 360.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.300000 659.592000 363.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.300000 659.592000 366.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.300000 659.592000 369.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.300000 659.592000 372.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.300000 659.592000 375.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.300000 659.592000 378.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.300000 659.592000 381.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.300000 659.592000 384.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.300000 659.592000 387.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.300000 659.592000 390.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.300000 659.592000 393.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.300000 659.592000 396.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.300000 659.592000 399.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.300000 659.592000 402.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.300000 659.592000 405.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.300000 659.592000 408.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.300000 659.592000 411.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.300000 659.592000 414.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.300000 659.592000 417.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.300000 659.592000 420.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.300000 659.592000 423.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.300000 659.592000 426.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.300000 659.592000 429.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.300000 659.592000 432.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.300000 659.592000 435.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.300000 659.592000 438.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.300000 659.592000 441.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.300000 659.592000 444.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.300000 659.592000 447.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.300000 659.592000 450.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.300000 659.592000 453.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.300000 659.592000 456.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.300000 659.592000 459.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.300000 659.592000 462.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.300000 659.592000 465.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.300000 659.592000 468.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.300000 659.592000 471.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.300000 659.592000 474.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.300000 659.592000 477.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.300000 659.592000 480.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.300000 659.592000 483.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.300000 659.592000 486.300000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.396000 659.592000 489.396000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.492000 659.592000 492.492000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.588000 659.592000 495.588000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.684000 659.592000 498.684000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.780000 659.592000 501.780000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.876000 659.592000 504.876000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.972000 659.592000 507.972000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.068000 659.592000 511.068000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.164000 659.592000 514.164000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.260000 659.592000 517.260000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.356000 659.592000 520.356000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.452000 659.592000 523.452000 647.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 659.592000 529.600000 647.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 659.592000 535.600000 647.592000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 646.092000 328.964000 634.092000 1.000000 0.000000 0.000000 1.000000 D +drawChar 328.904000 646.092000 332.228000 634.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 332.300000 646.092000 335.624000 634.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 335.600000 646.092000 338.924000 634.092000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 338.800000 646.092000 341.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 341.800000 646.092000 344.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 344.800000 646.092000 347.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.800000 646.092000 350.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.800000 646.092000 353.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.800000 646.092000 356.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.800000 646.092000 359.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.800000 646.092000 362.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.800000 646.092000 365.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.800000 646.092000 368.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.800000 646.092000 371.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.800000 646.092000 374.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.800000 646.092000 377.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.800000 646.092000 380.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.800000 646.092000 383.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.800000 646.092000 386.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.800000 646.092000 389.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.800000 646.092000 392.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.800000 646.092000 395.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.800000 646.092000 398.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.800000 646.092000 401.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.800000 646.092000 404.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.800000 646.092000 407.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.800000 646.092000 410.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.800000 646.092000 413.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.800000 646.092000 416.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.800000 646.092000 419.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.800000 646.092000 422.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.800000 646.092000 425.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.800000 646.092000 428.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.800000 646.092000 431.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.800000 646.092000 434.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.800000 646.092000 437.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.800000 646.092000 440.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.800000 646.092000 443.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.800000 646.092000 446.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.800000 646.092000 449.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.800000 646.092000 452.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.800000 646.092000 455.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.800000 646.092000 458.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.800000 646.092000 461.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.800000 646.092000 464.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.800000 646.092000 467.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.800000 646.092000 470.800000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.896000 646.092000 473.896000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.992000 646.092000 476.992000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.088000 646.092000 480.088000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.184000 646.092000 483.184000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.280000 646.092000 486.280000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.376000 646.092000 489.376000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.472000 646.092000 492.472000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.568000 646.092000 495.568000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.664000 646.092000 498.664000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.760000 646.092000 501.760000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.856000 646.092000 504.856000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.952000 646.092000 507.952000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.048000 646.092000 511.048000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.144000 646.092000 514.144000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.240000 646.092000 517.240000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.336000 646.092000 520.336000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.432000 646.092000 523.432000 634.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 646.092000 529.600000 634.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 646.092000 535.600000 634.092000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 632.692000 328.964000 620.692000 1.000000 0.000000 0.000000 1.000000 D +drawChar 328.904000 632.692000 332.228000 620.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 332.204000 632.692000 336.872000 620.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 336.908000 632.692000 342.908000 620.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 342.908000 632.692000 345.908000 620.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.908000 632.692000 349.232000 620.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 349.208000 632.692000 355.208000 620.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 355.208000 632.692000 363.872000 620.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 363.908000 632.692000 369.224000 620.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 369.212000 632.692000 372.536000 620.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 372.512000 632.692000 377.180000 620.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 377.200000 632.692000 380.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.200000 632.692000 383.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.200000 632.692000 386.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.200000 632.692000 389.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.200000 632.692000 392.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.200000 632.692000 395.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.200000 632.692000 398.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.200000 632.692000 401.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.200000 632.692000 404.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.200000 632.692000 407.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.200000 632.692000 410.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.200000 632.692000 413.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.200000 632.692000 416.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.200000 632.692000 419.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.200000 632.692000 422.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.200000 632.692000 425.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.200000 632.692000 428.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.200000 632.692000 431.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.200000 632.692000 434.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.200000 632.692000 437.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.200000 632.692000 440.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.200000 632.692000 443.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.200000 632.692000 446.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.200000 632.692000 449.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.200000 632.692000 452.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.200000 632.692000 455.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.200000 632.692000 458.200000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.296000 632.692000 461.296000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.392000 632.692000 464.392000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.488000 632.692000 467.488000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.584000 632.692000 470.584000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.680000 632.692000 473.680000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.776000 632.692000 476.776000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.872000 632.692000 479.872000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.968000 632.692000 482.968000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.064000 632.692000 486.064000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.160000 632.692000 489.160000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.256000 632.692000 492.256000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.352000 632.692000 495.352000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.448000 632.692000 498.448000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.544000 632.692000 501.544000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.640000 632.692000 504.640000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.736000 632.692000 507.736000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.832000 632.692000 510.832000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.928000 632.692000 513.928000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.024000 632.692000 517.024000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.120000 632.692000 520.120000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.216000 632.692000 523.216000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.312000 632.692000 526.312000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.408000 632.692000 529.408000 620.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 632.692000 535.600000 620.692000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 619.192000 328.964000 607.192000 1.000000 0.000000 0.000000 1.000000 D +drawChar 328.904000 619.192000 332.228000 607.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 332.204000 619.192000 336.872000 607.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 336.908000 619.192000 342.908000 607.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 342.908000 619.192000 351.572000 607.192000 1.000000 0.000000 0.000000 1.000000 w +drawChar 351.608000 619.192000 356.924000 607.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 356.912000 619.192000 361.580000 607.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 361.508000 619.192000 367.508000 607.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 367.604000 619.192000 372.920000 607.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 372.908000 619.192000 376.904000 607.192000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 376.800000 619.192000 379.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.800000 619.192000 382.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.800000 619.192000 385.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.800000 619.192000 388.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.800000 619.192000 391.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.800000 619.192000 394.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.800000 619.192000 397.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.800000 619.192000 400.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.800000 619.192000 403.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.800000 619.192000 406.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.800000 619.192000 409.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.800000 619.192000 412.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.800000 619.192000 415.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.800000 619.192000 418.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.800000 619.192000 421.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.800000 619.192000 424.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.800000 619.192000 427.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.800000 619.192000 430.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.800000 619.192000 433.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.800000 619.192000 436.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.800000 619.192000 439.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.800000 619.192000 442.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.800000 619.192000 445.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.896000 619.192000 448.896000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.992000 619.192000 451.992000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.088000 619.192000 455.088000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.184000 619.192000 458.184000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.280000 619.192000 461.280000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.376000 619.192000 464.376000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.472000 619.192000 467.472000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.568000 619.192000 470.568000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.664000 619.192000 473.664000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.760000 619.192000 476.760000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.856000 619.192000 479.856000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.952000 619.192000 482.952000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.048000 619.192000 486.048000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.144000 619.192000 489.144000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.240000 619.192000 492.240000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.336000 619.192000 495.336000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.432000 619.192000 498.432000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.528000 619.192000 501.528000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.624000 619.192000 504.624000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.720000 619.192000 507.720000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.816000 619.192000 510.816000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.912000 619.192000 513.912000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.008000 619.192000 517.008000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.104000 619.192000 520.104000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.200000 619.192000 523.200000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.296000 619.192000 526.296000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.392000 619.192000 529.392000 607.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 619.192000 535.600000 607.192000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 605.792000 328.964000 593.792000 1.000000 0.000000 0.000000 1.000000 D +drawChar 328.904000 605.792000 332.228000 593.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 332.300000 605.792000 338.300000 593.792000 1.000000 0.000000 0.000000 1.000000 v +drawChar 338.204000 605.792000 341.528000 593.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 341.600000 605.792000 347.600000 593.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 347.600000 605.792000 353.600000 593.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 353.600000 605.792000 356.600000 593.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 356.600000 605.792000 362.600000 593.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 362.600000 605.792000 368.600000 593.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 368.600000 605.792000 373.916000 593.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 373.904000 605.792000 377.900000 593.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 377.900000 605.792000 383.900000 593.792000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 383.800000 605.792000 386.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.800000 605.792000 389.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.800000 605.792000 392.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.800000 605.792000 395.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.800000 605.792000 398.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.800000 605.792000 401.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.800000 605.792000 404.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.800000 605.792000 407.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.800000 605.792000 410.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.800000 605.792000 413.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.800000 605.792000 416.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.800000 605.792000 419.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.800000 605.792000 422.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.800000 605.792000 425.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.800000 605.792000 428.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.800000 605.792000 431.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.800000 605.792000 434.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.800000 605.792000 437.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.800000 605.792000 440.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.800000 605.792000 443.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.800000 605.792000 446.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.800000 605.792000 449.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.800000 605.792000 452.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.800000 605.792000 455.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.800000 605.792000 458.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.800000 605.792000 461.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.800000 605.792000 464.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.800000 605.792000 467.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.800000 605.792000 470.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.896000 605.792000 473.896000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.992000 605.792000 476.992000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.088000 605.792000 480.088000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.184000 605.792000 483.184000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.280000 605.792000 486.280000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.376000 605.792000 489.376000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.472000 605.792000 492.472000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.568000 605.792000 495.568000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.664000 605.792000 498.664000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.760000 605.792000 501.760000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.856000 605.792000 504.856000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.952000 605.792000 507.952000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.048000 605.792000 511.048000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.144000 605.792000 514.144000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.240000 605.792000 517.240000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.336000 605.792000 520.336000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.432000 605.792000 523.432000 593.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 605.792000 529.600000 593.792000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 605.792000 535.600000 593.792000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 592.292000 328.964000 580.292000 1.000000 0.000000 0.000000 1.000000 D +drawChar 328.904000 592.292000 334.904000 580.292000 1.000000 0.000000 0.000000 1.000000 o +drawChar 334.904000 592.292000 340.904000 580.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 340.904000 592.292000 346.904000 580.292000 1.000000 0.000000 0.000000 1.000000 g +drawChar 346.904000 592.292000 350.228000 580.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 350.204000 592.292000 355.520000 580.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 355.508000 592.292000 360.176000 580.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 360.212000 592.292000 363.212000 580.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.212000 592.292000 369.884000 580.292000 1.000000 0.000000 0.000000 1.000000 F +drawChar 369.812000 592.292000 373.136000 580.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 373.208000 592.292000 377.204000 580.292000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 377.200000 592.292000 380.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.200000 592.292000 383.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.200000 592.292000 386.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.200000 592.292000 389.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.200000 592.292000 392.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.200000 592.292000 395.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.200000 592.292000 398.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.200000 592.292000 401.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.200000 592.292000 404.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.200000 592.292000 407.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.200000 592.292000 410.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.200000 592.292000 413.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.200000 592.292000 416.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.200000 592.292000 419.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.200000 592.292000 422.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.200000 592.292000 425.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.200000 592.292000 428.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.200000 592.292000 431.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.200000 592.292000 434.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.200000 592.292000 437.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.200000 592.292000 440.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.200000 592.292000 443.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.200000 592.292000 446.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.200000 592.292000 449.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.200000 592.292000 452.200000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.296000 592.292000 455.296000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.392000 592.292000 458.392000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.488000 592.292000 461.488000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.584000 592.292000 464.584000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.680000 592.292000 467.680000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.776000 592.292000 470.776000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.872000 592.292000 473.872000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.968000 592.292000 476.968000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.064000 592.292000 480.064000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.160000 592.292000 483.160000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.256000 592.292000 486.256000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.352000 592.292000 489.352000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.448000 592.292000 492.448000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.544000 592.292000 495.544000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.640000 592.292000 498.640000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.736000 592.292000 501.736000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.832000 592.292000 504.832000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.928000 592.292000 507.928000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.024000 592.292000 511.024000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.120000 592.292000 514.120000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.216000 592.292000 517.216000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.312000 592.292000 520.312000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.408000 592.292000 523.408000 580.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 592.292000 529.600000 580.292000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 592.292000 535.600000 580.292000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 578.892000 328.964000 566.892000 1.000000 0.000000 0.000000 1.000000 D +drawChar 328.904000 578.892000 332.900000 566.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 332.900000 578.892000 335.900000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 335.900000 578.892000 338.900000 566.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 338.900000 578.892000 345.572000 566.892000 1.000000 0.000000 0.000000 1.000000 S +drawChar 345.596000 578.892000 351.596000 566.892000 1.000000 0.000000 0.000000 1.000000 u +drawChar 351.596000 578.892000 356.912000 566.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 356.900000 578.892000 361.568000 566.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 361.496000 578.892000 366.164000 566.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 366.100000 578.892000 369.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.100000 578.892000 372.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.100000 578.892000 375.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.100000 578.892000 378.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.100000 578.892000 381.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.100000 578.892000 384.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.100000 578.892000 387.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.100000 578.892000 390.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.100000 578.892000 393.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.100000 578.892000 396.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.100000 578.892000 399.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 578.892000 402.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 578.892000 405.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 578.892000 408.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 578.892000 411.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 578.892000 414.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 578.892000 417.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 578.892000 420.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 578.892000 423.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 578.892000 426.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 578.892000 429.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 578.892000 432.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 578.892000 435.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 578.892000 438.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 578.892000 441.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 578.892000 444.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 578.892000 447.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 578.892000 450.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 578.892000 453.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 578.892000 456.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 578.892000 459.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 578.892000 462.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 578.892000 465.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 578.892000 468.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 578.892000 471.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 578.892000 474.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 578.892000 477.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 578.892000 480.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.100000 578.892000 483.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.100000 578.892000 486.100000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.196000 578.892000 489.196000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.292000 578.892000 492.292000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.388000 578.892000 495.388000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.484000 578.892000 498.484000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.580000 578.892000 501.580000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.676000 578.892000 504.676000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.772000 578.892000 507.772000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.868000 578.892000 510.868000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.964000 578.892000 513.964000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.060000 578.892000 517.060000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.156000 578.892000 520.156000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.252000 578.892000 523.252000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.348000 578.892000 526.348000 566.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.444000 578.892000 529.444000 566.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 578.892000 535.600000 566.892000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 565.392000 328.964000 553.392000 1.000000 0.000000 0.000000 1.000000 D +drawChar 328.904000 565.392000 332.900000 553.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 332.804000 565.392000 336.128000 553.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 336.200000 565.392000 339.524000 553.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 339.500000 565.392000 342.824000 553.392000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 342.800000 565.392000 345.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 345.800000 565.392000 348.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.800000 565.392000 351.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.800000 565.392000 354.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.800000 565.392000 357.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.800000 565.392000 360.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.800000 565.392000 363.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.800000 565.392000 366.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.800000 565.392000 369.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.800000 565.392000 372.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.800000 565.392000 375.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.800000 565.392000 378.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.800000 565.392000 381.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.800000 565.392000 384.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.800000 565.392000 387.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.800000 565.392000 390.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.800000 565.392000 393.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.800000 565.392000 396.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.800000 565.392000 399.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.800000 565.392000 402.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.800000 565.392000 405.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.800000 565.392000 408.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.800000 565.392000 411.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.800000 565.392000 414.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.800000 565.392000 417.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.800000 565.392000 420.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.800000 565.392000 423.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.800000 565.392000 426.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.800000 565.392000 429.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.800000 565.392000 432.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.800000 565.392000 435.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.800000 565.392000 438.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.800000 565.392000 441.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.800000 565.392000 444.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.800000 565.392000 447.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.800000 565.392000 450.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.800000 565.392000 453.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.800000 565.392000 456.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.800000 565.392000 459.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.800000 565.392000 462.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.800000 565.392000 465.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.800000 565.392000 468.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.800000 565.392000 471.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.800000 565.392000 474.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.800000 565.392000 477.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.800000 565.392000 480.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.800000 565.392000 483.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.800000 565.392000 486.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.800000 565.392000 489.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.800000 565.392000 492.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.800000 565.392000 495.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.800000 565.392000 498.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.800000 565.392000 501.800000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.896000 565.392000 504.896000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.992000 565.392000 507.992000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.088000 565.392000 511.088000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.184000 565.392000 514.184000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.280000 565.392000 517.280000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.376000 565.392000 520.376000 553.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.472000 565.392000 523.472000 553.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 565.392000 529.600000 553.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 565.392000 535.600000 553.392000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 551.992000 328.964000 539.992000 1.000000 0.000000 0.000000 1.000000 D +drawChar 328.904000 551.992000 332.900000 539.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 332.900000 551.992000 338.900000 539.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 338.804000 551.992000 344.120000 539.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.108000 551.992000 348.104000 539.992000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 348.100000 551.992000 351.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.100000 551.992000 354.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.100000 551.992000 357.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.100000 551.992000 360.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.100000 551.992000 363.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.100000 551.992000 366.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.100000 551.992000 369.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.100000 551.992000 372.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.100000 551.992000 375.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.100000 551.992000 378.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.100000 551.992000 381.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.100000 551.992000 384.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.100000 551.992000 387.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.100000 551.992000 390.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.100000 551.992000 393.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.100000 551.992000 396.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.100000 551.992000 399.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 551.992000 402.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 551.992000 405.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 551.992000 408.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 551.992000 411.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 551.992000 414.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 551.992000 417.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 551.992000 420.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 551.992000 423.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 551.992000 426.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 551.992000 429.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 551.992000 432.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 551.992000 435.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 551.992000 438.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 551.992000 441.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 551.992000 444.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 551.992000 447.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 551.992000 450.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 551.992000 453.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 551.992000 456.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 551.992000 459.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 551.992000 462.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 551.992000 465.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 551.992000 468.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 551.992000 471.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 551.992000 474.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 551.992000 477.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 551.992000 480.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.100000 551.992000 483.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.100000 551.992000 486.100000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.196000 551.992000 489.196000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.292000 551.992000 492.292000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.388000 551.992000 495.388000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.484000 551.992000 498.484000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.580000 551.992000 501.580000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.676000 551.992000 504.676000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.772000 551.992000 507.772000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.868000 551.992000 510.868000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.964000 551.992000 513.964000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.060000 551.992000 517.060000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.156000 551.992000 520.156000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.252000 551.992000 523.252000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.348000 551.992000 526.348000 539.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.444000 551.992000 529.444000 539.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 551.992000 535.600000 539.992000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 538.492000 328.964000 526.492000 1.000000 0.000000 0.000000 1.000000 D +drawChar 328.904000 538.492000 334.904000 526.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 334.904000 538.492000 339.572000 526.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 339.608000 538.492000 342.932000 526.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 342.908000 538.492000 348.908000 526.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 348.812000 538.492000 354.128000 526.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 354.116000 538.492000 360.116000 526.492000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 360.100000 538.492000 363.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.100000 538.492000 366.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.100000 538.492000 369.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.100000 538.492000 372.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.100000 538.492000 375.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.100000 538.492000 378.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.100000 538.492000 381.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.100000 538.492000 384.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.100000 538.492000 387.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.100000 538.492000 390.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.100000 538.492000 393.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.100000 538.492000 396.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.100000 538.492000 399.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 538.492000 402.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 538.492000 405.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 538.492000 408.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 538.492000 411.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 538.492000 414.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 538.492000 417.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 538.492000 420.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 538.492000 423.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 538.492000 426.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 538.492000 429.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 538.492000 432.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 538.492000 435.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 538.492000 438.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 538.492000 441.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 538.492000 444.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 538.492000 447.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 538.492000 450.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 538.492000 453.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 538.492000 456.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 538.492000 459.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 538.492000 462.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 538.492000 465.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 538.492000 468.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 538.492000 471.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 538.492000 474.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 538.492000 477.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 538.492000 480.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.100000 538.492000 483.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.100000 538.492000 486.100000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.196000 538.492000 489.196000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.292000 538.492000 492.292000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.388000 538.492000 495.388000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.484000 538.492000 498.484000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.580000 538.492000 501.580000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.676000 538.492000 504.676000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.772000 538.492000 507.772000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.868000 538.492000 510.868000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.964000 538.492000 513.964000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.060000 538.492000 517.060000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.156000 538.492000 520.156000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.252000 538.492000 523.252000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.348000 538.492000 526.348000 526.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.444000 538.492000 529.444000 526.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 538.492000 535.600000 526.492000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 320.300000 524.592000 328.292000 512.592000 1.000000 0.000000 0.000000 1.000000 E +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 511.192000 327.620000 499.192000 1.000000 0.000000 0.000000 1.000000 E +drawChar 327.596000 511.192000 330.920000 499.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 330.896000 511.192000 336.212000 499.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 336.200000 511.192000 341.516000 499.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 341.504000 511.192000 344.828000 499.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 344.804000 511.192000 348.800000 499.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 348.800000 511.192000 352.124000 499.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 352.196000 511.192000 357.512000 499.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 357.596000 511.192000 360.596000 499.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 360.596000 511.192000 369.920000 499.192000 1.000000 0.000000 0.000000 1.000000 m +drawChar 369.800000 511.192000 373.124000 499.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 373.196000 511.192000 379.196000 499.192000 1.000000 0.000000 0.000000 1.000000 x +drawChar 379.196000 511.192000 384.512000 499.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 384.500000 511.192000 388.496000 499.192000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 388.500000 511.192000 391.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.500000 511.192000 394.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.500000 511.192000 397.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.500000 511.192000 400.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.500000 511.192000 403.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.500000 511.192000 406.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.500000 511.192000 409.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.500000 511.192000 412.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.500000 511.192000 415.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.500000 511.192000 418.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.500000 511.192000 421.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.500000 511.192000 424.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.500000 511.192000 427.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.500000 511.192000 430.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.500000 511.192000 433.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.500000 511.192000 436.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.500000 511.192000 439.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.500000 511.192000 442.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.500000 511.192000 445.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.500000 511.192000 448.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.500000 511.192000 451.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.500000 511.192000 454.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.500000 511.192000 457.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.500000 511.192000 460.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.500000 511.192000 463.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.500000 511.192000 466.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.500000 511.192000 469.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.500000 511.192000 472.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.500000 511.192000 475.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.500000 511.192000 478.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.500000 511.192000 481.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.500000 511.192000 484.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.500000 511.192000 487.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.500000 511.192000 490.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.500000 511.192000 493.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.500000 511.192000 496.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.500000 511.192000 499.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.500000 511.192000 502.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.500000 511.192000 505.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.500000 511.192000 508.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.500000 511.192000 511.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.500000 511.192000 514.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.500000 511.192000 517.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.500000 511.192000 520.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.500000 511.192000 523.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.500000 511.192000 526.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.500000 511.192000 529.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 511.192000 535.600000 499.192000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 497.692000 327.620000 485.692000 1.000000 0.000000 0.000000 1.000000 E +drawChar 327.596000 497.692000 333.596000 485.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 333.596000 497.692000 339.596000 485.692000 1.000000 0.000000 0.000000 1.000000 g +drawChar 339.596000 497.692000 342.920000 485.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 342.896000 497.692000 348.212000 485.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 348.200000 497.692000 354.200000 485.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 354.200000 497.692000 360.200000 485.692000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 360.100000 497.692000 363.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.100000 497.692000 366.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.100000 497.692000 369.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.100000 497.692000 372.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.100000 497.692000 375.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.100000 497.692000 378.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.100000 497.692000 381.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.100000 497.692000 384.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.100000 497.692000 387.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.100000 497.692000 390.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.100000 497.692000 393.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.100000 497.692000 396.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.100000 497.692000 399.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 497.692000 402.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 497.692000 405.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 497.692000 408.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 497.692000 411.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 497.692000 414.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 497.692000 417.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 497.692000 420.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 497.692000 423.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 497.692000 426.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 497.692000 429.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 497.692000 432.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 497.692000 435.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 497.692000 438.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 497.692000 441.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 497.692000 444.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 497.692000 447.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 497.692000 450.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 497.692000 453.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 497.692000 456.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 497.692000 459.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 497.692000 462.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 497.692000 465.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 497.692000 468.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 497.692000 471.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 497.692000 474.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 497.692000 477.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 497.692000 480.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.100000 497.692000 483.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.100000 497.692000 486.100000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.196000 497.692000 489.196000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.292000 497.692000 492.292000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.388000 497.692000 495.388000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.484000 497.692000 498.484000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.580000 497.692000 501.580000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.676000 497.692000 504.676000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.772000 497.692000 507.772000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.868000 497.692000 510.868000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.964000 497.692000 513.964000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.060000 497.692000 517.060000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.156000 497.692000 520.156000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.252000 497.692000 523.252000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.348000 497.692000 526.348000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.444000 497.692000 529.444000 485.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 497.692000 535.600000 485.692000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 320.300000 483.792000 327.620000 471.792000 1.000000 0.000000 0.000000 1.000000 F +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 470.392000 326.972000 458.392000 1.000000 0.000000 0.000000 1.000000 F +drawChar 326.900000 470.392000 330.224000 458.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 330.296000 470.392000 334.292000 458.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 334.196000 470.392000 338.864000 458.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 338.900000 470.392000 342.224000 458.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 342.296000 470.392000 345.296000 458.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 345.296000 470.392000 350.612000 458.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 350.492000 470.392000 353.816000 458.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 353.888000 470.392000 359.888000 458.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 359.888000 470.392000 362.888000 458.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.888000 470.392000 368.888000 458.392000 1.000000 0.000000 0.000000 1.000000 k +drawChar 368.888000 470.392000 372.212000 458.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 372.284000 470.392000 375.608000 458.392000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 375.500000 470.392000 378.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.500000 470.392000 381.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.500000 470.392000 384.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.500000 470.392000 387.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.500000 470.392000 390.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.500000 470.392000 393.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.500000 470.392000 396.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.500000 470.392000 399.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.500000 470.392000 402.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.500000 470.392000 405.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.500000 470.392000 408.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.500000 470.392000 411.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.500000 470.392000 414.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.500000 470.392000 417.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.500000 470.392000 420.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.500000 470.392000 423.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.500000 470.392000 426.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.500000 470.392000 429.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.500000 470.392000 432.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.500000 470.392000 435.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.500000 470.392000 438.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.500000 470.392000 441.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.500000 470.392000 444.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.500000 470.392000 447.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.500000 470.392000 450.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.500000 470.392000 453.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.500000 470.392000 456.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.500000 470.392000 459.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.500000 470.392000 462.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.500000 470.392000 465.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.500000 470.392000 468.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.500000 470.392000 471.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.500000 470.392000 474.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.500000 470.392000 477.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.500000 470.392000 480.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.500000 470.392000 483.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.500000 470.392000 486.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.500000 470.392000 489.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.500000 470.392000 492.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.500000 470.392000 495.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.500000 470.392000 498.500000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.596000 470.392000 501.596000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.692000 470.392000 504.692000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.788000 470.392000 507.788000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.884000 470.392000 510.884000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.980000 470.392000 513.980000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.076000 470.392000 517.076000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.172000 470.392000 520.172000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.268000 470.392000 523.268000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.364000 470.392000 526.364000 458.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.460000 470.392000 529.460000 458.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 470.392000 535.600000 458.392000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 456.892000 326.972000 444.892000 1.000000 0.000000 0.000000 1.000000 F +drawChar 326.900000 456.892000 330.224000 444.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 330.200000 456.892000 334.868000 444.892000 1.000000 0.000000 0.000000 1.000000 s +drawChar 334.904000 456.892000 340.904000 444.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 340.904000 456.892000 343.904000 444.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 343.904000 456.892000 349.904000 444.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 349.808000 456.892000 355.808000 444.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 355.808000 456.892000 361.808000 444.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 361.904000 456.892000 367.904000 444.892000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 367.800000 456.892000 370.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.800000 456.892000 373.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.800000 456.892000 376.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.800000 456.892000 379.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.800000 456.892000 382.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.800000 456.892000 385.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.800000 456.892000 388.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.800000 456.892000 391.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.800000 456.892000 394.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.800000 456.892000 397.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.800000 456.892000 400.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.800000 456.892000 403.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.800000 456.892000 406.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.800000 456.892000 409.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.800000 456.892000 412.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.800000 456.892000 415.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.800000 456.892000 418.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.800000 456.892000 421.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.800000 456.892000 424.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.800000 456.892000 427.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.800000 456.892000 430.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.800000 456.892000 433.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.800000 456.892000 436.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.800000 456.892000 439.800000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.896000 456.892000 442.896000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.992000 456.892000 445.992000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.088000 456.892000 449.088000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.184000 456.892000 452.184000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.280000 456.892000 455.280000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.376000 456.892000 458.376000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.472000 456.892000 461.472000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.568000 456.892000 464.568000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.664000 456.892000 467.664000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.760000 456.892000 470.760000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.856000 456.892000 473.856000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.952000 456.892000 476.952000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.048000 456.892000 480.048000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.144000 456.892000 483.144000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.240000 456.892000 486.240000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.336000 456.892000 489.336000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.432000 456.892000 492.432000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.528000 456.892000 495.528000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.624000 456.892000 498.624000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.720000 456.892000 501.720000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.816000 456.892000 504.816000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.912000 456.892000 507.912000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.008000 456.892000 511.008000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.104000 456.892000 514.104000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.200000 456.892000 517.200000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.296000 456.892000 520.296000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.392000 456.892000 523.392000 444.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 456.892000 529.600000 444.892000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 456.892000 535.600000 444.892000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 443.492000 326.972000 431.492000 1.000000 0.000000 0.000000 1.000000 F +drawChar 326.900000 443.492000 330.224000 431.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 330.200000 443.492000 336.200000 431.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 336.200000 443.492000 344.864000 431.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 344.900000 443.492000 350.216000 431.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 350.204000 443.492000 354.200000 431.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 354.200000 443.492000 358.868000 431.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 358.800000 443.492000 361.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.800000 443.492000 364.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.800000 443.492000 367.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.800000 443.492000 370.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.800000 443.492000 373.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.800000 443.492000 376.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.800000 443.492000 379.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.800000 443.492000 382.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.800000 443.492000 385.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.800000 443.492000 388.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.800000 443.492000 391.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.800000 443.492000 394.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.800000 443.492000 397.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.800000 443.492000 400.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.800000 443.492000 403.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.800000 443.492000 406.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.800000 443.492000 409.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.800000 443.492000 412.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.800000 443.492000 415.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.800000 443.492000 418.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.800000 443.492000 421.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.800000 443.492000 424.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.800000 443.492000 427.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.800000 443.492000 430.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.800000 443.492000 433.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.800000 443.492000 436.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.800000 443.492000 439.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.800000 443.492000 442.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.800000 443.492000 445.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.800000 443.492000 448.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.800000 443.492000 451.800000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.896000 443.492000 454.896000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.992000 443.492000 457.992000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.088000 443.492000 461.088000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.184000 443.492000 464.184000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.280000 443.492000 467.280000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.376000 443.492000 470.376000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.472000 443.492000 473.472000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.568000 443.492000 476.568000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.664000 443.492000 479.664000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.760000 443.492000 482.760000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 482.856000 443.492000 485.856000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 485.952000 443.492000 488.952000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.048000 443.492000 492.048000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.144000 443.492000 495.144000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.240000 443.492000 498.240000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.336000 443.492000 501.336000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.432000 443.492000 504.432000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.528000 443.492000 507.528000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.624000 443.492000 510.624000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.720000 443.492000 513.720000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 513.816000 443.492000 516.816000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 516.912000 443.492000 519.912000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.008000 443.492000 523.008000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.104000 443.492000 526.104000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.200000 443.492000 529.200000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.296000 443.492000 532.296000 431.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.392000 443.492000 535.392000 431.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.400000 429.992000 342.392000 417.992000 1.000000 0.000000 0.000000 1.000000 C +drawChar 342.404000 429.992000 348.404000 417.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 348.404000 429.992000 352.400000 417.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 352.400000 429.992000 358.400000 417.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 358.304000 429.992000 362.972000 417.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 363.008000 429.992000 368.324000 417.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 368.312000 429.992000 374.312000 417.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 374.312000 429.992000 377.636000 417.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 377.612000 429.992000 383.612000 417.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 383.708000 429.992000 389.024000 417.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 389.012000 429.992000 398.336000 417.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 398.312000 429.992000 404.312000 417.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 404.312000 429.992000 413.636000 417.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 413.612000 429.992000 418.280000 417.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 418.300000 429.992000 421.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.300000 429.992000 424.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.300000 429.992000 427.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.300000 429.992000 430.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.300000 429.992000 433.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.300000 429.992000 436.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.300000 429.992000 439.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.300000 429.992000 442.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.300000 429.992000 445.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.300000 429.992000 448.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.300000 429.992000 451.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.300000 429.992000 454.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.300000 429.992000 457.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.300000 429.992000 460.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.300000 429.992000 463.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.300000 429.992000 466.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.300000 429.992000 469.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.300000 429.992000 472.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.300000 429.992000 475.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.300000 429.992000 478.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.300000 429.992000 481.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.300000 429.992000 484.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.300000 429.992000 487.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.300000 429.992000 490.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.300000 429.992000 493.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.300000 429.992000 496.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.300000 429.992000 499.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.300000 429.992000 502.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.300000 429.992000 505.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.300000 429.992000 508.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.300000 429.992000 511.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.300000 429.992000 514.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.300000 429.992000 517.300000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.396000 429.992000 520.396000 417.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.492000 429.992000 523.492000 417.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 429.992000 529.600000 417.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 429.992000 535.600000 417.992000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.400000 416.592000 343.064000 404.592000 1.000000 0.000000 0.000000 1.000000 D +drawChar 343.004000 416.592000 348.320000 404.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 348.308000 416.592000 352.304000 404.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 352.304000 416.592000 356.300000 404.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 356.300000 416.592000 362.300000 404.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 362.300000 416.592000 368.300000 404.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 368.204000 416.592000 371.528000 404.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 371.600000 416.592000 374.924000 404.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 374.900000 416.592000 379.568000 404.592000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 379.600000 416.592000 382.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.600000 416.592000 385.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.600000 416.592000 388.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.600000 416.592000 391.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.600000 416.592000 394.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.600000 416.592000 397.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.600000 416.592000 400.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.600000 416.592000 403.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.600000 416.592000 406.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.600000 416.592000 409.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.600000 416.592000 412.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.600000 416.592000 415.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.600000 416.592000 418.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.600000 416.592000 421.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.600000 416.592000 424.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.600000 416.592000 427.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.600000 416.592000 430.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.600000 416.592000 433.600000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.696000 416.592000 436.696000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.792000 416.592000 439.792000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.888000 416.592000 442.888000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.984000 416.592000 445.984000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.080000 416.592000 449.080000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.176000 416.592000 452.176000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.272000 416.592000 455.272000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.368000 416.592000 458.368000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.464000 416.592000 461.464000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.560000 416.592000 464.560000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.656000 416.592000 467.656000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.752000 416.592000 470.752000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.848000 416.592000 473.848000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.944000 416.592000 476.944000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.040000 416.592000 480.040000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.136000 416.592000 483.136000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.232000 416.592000 486.232000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.328000 416.592000 489.328000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.424000 416.592000 492.424000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.520000 416.592000 495.520000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.616000 416.592000 498.616000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.712000 416.592000 501.712000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.808000 416.592000 504.808000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.904000 416.592000 507.904000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.000000 416.592000 511.000000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.096000 416.592000 514.096000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.192000 416.592000 517.192000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.288000 416.592000 520.288000 404.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.384000 416.592000 523.384000 404.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 416.592000 529.600000 404.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 416.592000 535.600000 404.592000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.400000 403.092000 343.064000 391.092000 1.000000 0.000000 0.000000 1.000000 D +drawChar 343.004000 403.092000 348.320000 391.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 348.308000 403.092000 354.308000 391.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 354.404000 403.092000 357.728000 391.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 357.704000 403.092000 361.028000 391.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 361.100000 403.092000 366.416000 391.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 366.404000 403.092000 371.072000 391.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 371.000000 403.092000 374.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.000000 403.092000 377.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.000000 403.092000 380.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.000000 403.092000 383.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.000000 403.092000 386.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.000000 403.092000 389.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.000000 403.092000 392.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.000000 403.092000 395.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.000000 403.092000 398.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.000000 403.092000 401.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.000000 403.092000 404.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.000000 403.092000 407.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.000000 403.092000 410.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.000000 403.092000 413.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.000000 403.092000 416.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.000000 403.092000 419.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.000000 403.092000 422.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.000000 403.092000 425.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.000000 403.092000 428.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.000000 403.092000 431.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.000000 403.092000 434.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.000000 403.092000 437.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.000000 403.092000 440.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.000000 403.092000 443.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.000000 403.092000 446.000000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.096000 403.092000 449.096000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.192000 403.092000 452.192000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.288000 403.092000 455.288000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.384000 403.092000 458.384000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.480000 403.092000 461.480000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.576000 403.092000 464.576000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.672000 403.092000 467.672000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.768000 403.092000 470.768000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.864000 403.092000 473.864000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.960000 403.092000 476.960000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.056000 403.092000 480.056000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.152000 403.092000 483.152000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.248000 403.092000 486.248000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.344000 403.092000 489.344000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.440000 403.092000 492.440000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.536000 403.092000 495.536000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.632000 403.092000 498.632000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.728000 403.092000 501.728000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.824000 403.092000 504.824000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.920000 403.092000 507.920000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.016000 403.092000 511.016000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.112000 403.092000 514.112000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.208000 403.092000 517.208000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.304000 403.092000 520.304000 391.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.400000 403.092000 523.400000 391.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 403.092000 529.600000 391.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 403.092000 535.600000 391.092000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.400000 389.692000 338.396000 377.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 338.396000 389.692000 342.392000 377.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 342.296000 389.692000 345.620000 377.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 345.692000 389.692000 350.360000 377.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 350.396000 389.692000 355.712000 377.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 355.700000 389.692000 360.368000 377.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 360.300000 389.692000 363.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.300000 389.692000 366.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.300000 389.692000 369.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.300000 389.692000 372.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.300000 389.692000 375.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.300000 389.692000 378.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.300000 389.692000 381.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.300000 389.692000 384.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.300000 389.692000 387.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.300000 389.692000 390.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.300000 389.692000 393.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.300000 389.692000 396.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.300000 389.692000 399.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.300000 389.692000 402.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.300000 389.692000 405.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.300000 389.692000 408.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.300000 389.692000 411.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.300000 389.692000 414.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.300000 389.692000 417.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.300000 389.692000 420.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.300000 389.692000 423.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.300000 389.692000 426.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.300000 389.692000 429.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.300000 389.692000 432.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.300000 389.692000 435.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.300000 389.692000 438.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.300000 389.692000 441.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.300000 389.692000 444.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.300000 389.692000 447.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.300000 389.692000 450.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.300000 389.692000 453.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.300000 389.692000 456.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.300000 389.692000 459.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.300000 389.692000 462.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.300000 389.692000 465.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.300000 389.692000 468.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.300000 389.692000 471.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.300000 389.692000 474.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.300000 389.692000 477.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.300000 389.692000 480.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.300000 389.692000 483.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.300000 389.692000 486.300000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.396000 389.692000 489.396000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.492000 389.692000 492.492000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.588000 389.692000 495.588000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.684000 389.692000 498.684000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.780000 389.692000 501.780000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.876000 389.692000 504.876000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.972000 389.692000 507.972000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.068000 389.692000 511.068000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.164000 389.692000 514.164000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.260000 389.692000 517.260000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.356000 389.692000 520.356000 377.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.452000 389.692000 523.452000 377.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 389.692000 529.600000 377.692000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 389.692000 535.600000 377.692000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.400000 376.192000 342.392000 364.192000 1.000000 0.000000 0.000000 1.000000 R +drawChar 342.404000 376.192000 348.404000 364.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 348.404000 376.192000 354.404000 364.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 354.404000 376.192000 360.404000 364.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 360.308000 376.192000 366.308000 364.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 366.404000 376.192000 372.404000 364.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 372.308000 376.192000 377.624000 364.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 377.612000 376.192000 383.612000 364.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 383.612000 376.192000 389.612000 364.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 389.612000 376.192000 393.608000 364.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 393.608000 376.192000 399.608000 364.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 399.608000 376.192000 405.608000 364.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 405.608000 376.192000 410.276000 364.192000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 410.300000 376.192000 413.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.300000 376.192000 416.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.300000 376.192000 419.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.300000 376.192000 422.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.300000 376.192000 425.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.300000 376.192000 428.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.300000 376.192000 431.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.300000 376.192000 434.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.300000 376.192000 437.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.300000 376.192000 440.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.300000 376.192000 443.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.300000 376.192000 446.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.300000 376.192000 449.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.300000 376.192000 452.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.300000 376.192000 455.300000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.396000 376.192000 458.396000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.492000 376.192000 461.492000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.588000 376.192000 464.588000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.684000 376.192000 467.684000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.780000 376.192000 470.780000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.876000 376.192000 473.876000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.972000 376.192000 476.972000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.068000 376.192000 480.068000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.164000 376.192000 483.164000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.260000 376.192000 486.260000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.356000 376.192000 489.356000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.452000 376.192000 492.452000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.548000 376.192000 495.548000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.644000 376.192000 498.644000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.740000 376.192000 501.740000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.836000 376.192000 504.836000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.932000 376.192000 507.932000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.028000 376.192000 511.028000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.124000 376.192000 514.124000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.220000 376.192000 517.220000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.316000 376.192000 520.316000 364.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.412000 376.192000 523.412000 364.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 376.192000 529.600000 364.192000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 376.192000 535.600000 364.192000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 362.792000 326.972000 350.792000 1.000000 0.000000 0.000000 1.000000 F +drawChar 326.900000 362.792000 330.896000 350.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 330.896000 362.792000 336.896000 350.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 336.896000 362.792000 342.212000 350.792000 1.000000 0.000000 0.000000 1.000000 z +drawChar 342.200000 362.792000 347.516000 350.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 347.504000 362.792000 353.504000 350.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 353.600000 362.792000 356.600000 350.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 356.600000 362.792000 365.924000 350.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 365.900000 362.792000 371.216000 350.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 371.204000 362.792000 375.200000 350.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 375.200000 362.792000 381.200000 350.792000 1.000000 0.000000 0.000000 1.000000 g +drawChar 381.200000 362.792000 386.516000 350.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 386.504000 362.792000 390.500000 350.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 390.500000 362.792000 393.824000 350.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 393.896000 362.792000 397.220000 350.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 397.196000 362.792000 402.512000 350.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 402.500000 362.792000 407.168000 350.792000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 407.100000 362.792000 410.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.100000 362.792000 413.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.100000 362.792000 416.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.100000 362.792000 419.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 362.792000 422.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.100000 362.792000 425.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.100000 362.792000 428.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.100000 362.792000 431.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.100000 362.792000 434.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.100000 362.792000 437.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.100000 362.792000 440.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.100000 362.792000 443.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.100000 362.792000 446.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.100000 362.792000 449.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.100000 362.792000 452.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.100000 362.792000 455.100000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.196000 362.792000 458.196000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.292000 362.792000 461.292000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.388000 362.792000 464.388000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.484000 362.792000 467.484000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.580000 362.792000 470.580000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.676000 362.792000 473.676000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.772000 362.792000 476.772000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.868000 362.792000 479.868000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.964000 362.792000 482.964000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.060000 362.792000 486.060000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.156000 362.792000 489.156000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.252000 362.792000 492.252000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.348000 362.792000 495.348000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.444000 362.792000 498.444000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.540000 362.792000 501.540000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.636000 362.792000 504.636000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.732000 362.792000 507.732000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.828000 362.792000 510.828000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.924000 362.792000 513.924000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.020000 362.792000 517.020000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.116000 362.792000 520.116000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.212000 362.792000 523.212000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.308000 362.792000 526.308000 350.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.404000 362.792000 529.404000 350.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 362.792000 535.600000 350.792000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 320.300000 348.792000 329.624000 336.792000 1.000000 0.000000 0.000000 1.000000 G +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 335.392000 328.964000 323.392000 1.000000 0.000000 0.000000 1.000000 G +drawChar 328.904000 335.392000 334.220000 323.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 334.208000 335.392000 338.204000 323.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 338.204000 335.392000 344.204000 323.392000 1.000000 0.000000 0.000000 1.000000 b +drawChar 344.204000 335.392000 349.520000 323.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 349.508000 335.392000 355.508000 323.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 355.508000 335.392000 360.824000 323.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 360.908000 335.392000 363.908000 323.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.908000 335.392000 369.908000 323.392000 1.000000 0.000000 0.000000 1.000000 d +drawChar 369.812000 335.392000 373.136000 323.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 373.208000 335.392000 377.876000 323.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 377.912000 335.392000 383.912000 323.392000 1.000000 0.000000 0.000000 1.000000 p +drawChar 383.816000 335.392000 389.816000 323.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 389.816000 335.392000 394.484000 323.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 394.520000 335.392000 399.836000 323.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 399.824000 335.392000 403.148000 323.392000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 403.100000 335.392000 406.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 335.392000 409.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 335.392000 412.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 335.392000 415.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 335.392000 418.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 335.392000 421.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 335.392000 424.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 335.392000 427.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 335.392000 430.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 335.392000 433.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 335.392000 436.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 335.392000 439.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 335.392000 442.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 335.392000 445.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 335.392000 448.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 335.392000 451.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 335.392000 454.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 335.392000 457.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 335.392000 460.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 335.392000 463.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 335.392000 466.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.100000 335.392000 469.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.100000 335.392000 472.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.100000 335.392000 475.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.100000 335.392000 478.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.100000 335.392000 481.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.100000 335.392000 484.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.100000 335.392000 487.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.100000 335.392000 490.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.100000 335.392000 493.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.100000 335.392000 496.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.100000 335.392000 499.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.100000 335.392000 502.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.100000 335.392000 505.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.100000 335.392000 508.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.100000 335.392000 511.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.100000 335.392000 514.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.100000 335.392000 517.100000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.196000 335.392000 520.196000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.292000 335.392000 523.292000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.388000 335.392000 526.388000 323.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.484000 335.392000 529.484000 323.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 335.392000 535.600000 323.392000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 321.992000 328.964000 309.992000 1.000000 0.000000 0.000000 1.000000 G +drawChar 328.904000 321.992000 334.220000 309.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 334.208000 321.992000 338.204000 309.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 338.204000 321.992000 344.204000 309.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 344.108000 321.992000 349.424000 309.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 349.412000 321.992000 355.412000 309.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 355.616000 321.992000 358.616000 309.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.616000 321.992000 362.612000 309.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 362.612000 321.992000 368.612000 309.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 368.612000 321.992000 372.608000 309.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 372.608000 321.992000 378.608000 309.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 378.512000 321.992000 381.836000 309.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 381.908000 321.992000 385.232000 309.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 385.208000 321.992000 391.208000 309.992000 1.000000 0.000000 0.000000 1.000000 u +drawChar 391.208000 321.992000 395.204000 309.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 395.204000 321.992000 400.520000 309.992000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 400.500000 321.992000 403.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.500000 321.992000 406.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.500000 321.992000 409.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.500000 321.992000 412.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.500000 321.992000 415.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.500000 321.992000 418.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.500000 321.992000 421.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.500000 321.992000 424.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.500000 321.992000 427.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.500000 321.992000 430.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.500000 321.992000 433.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.500000 321.992000 436.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.500000 321.992000 439.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.500000 321.992000 442.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.500000 321.992000 445.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.500000 321.992000 448.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.500000 321.992000 451.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.500000 321.992000 454.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.500000 321.992000 457.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.500000 321.992000 460.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.500000 321.992000 463.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.500000 321.992000 466.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.500000 321.992000 469.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.500000 321.992000 472.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.500000 321.992000 475.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.500000 321.992000 478.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.500000 321.992000 481.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.500000 321.992000 484.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.500000 321.992000 487.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.500000 321.992000 490.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.500000 321.992000 493.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.500000 321.992000 496.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.500000 321.992000 499.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.500000 321.992000 502.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.500000 321.992000 505.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.500000 321.992000 508.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.500000 321.992000 511.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.500000 321.992000 514.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.500000 321.992000 517.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.500000 321.992000 520.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.500000 321.992000 523.500000 309.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 321.992000 529.600000 309.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 321.992000 535.600000 309.992000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 308.492000 328.964000 296.492000 1.000000 0.000000 0.000000 1.000000 G +drawChar 328.904000 308.492000 332.228000 296.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 332.300000 308.492000 338.300000 296.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 338.300000 308.492000 341.300000 296.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 341.300000 308.492000 346.616000 296.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 346.604000 308.492000 352.604000 296.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 352.604000 308.492000 358.604000 296.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 358.604000 308.492000 361.604000 296.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 361.604000 308.492000 368.924000 296.492000 1.000000 0.000000 0.000000 1.000000 T +drawChar 368.900000 308.492000 374.900000 296.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 374.900000 308.492000 380.900000 296.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 380.804000 308.492000 384.128000 296.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 384.200000 308.492000 389.516000 296.492000 1.000000 0.000000 0.000000 1.000000 c +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 389.500000 308.492000 392.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.500000 308.492000 395.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.500000 308.492000 398.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.500000 308.492000 401.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.500000 308.492000 404.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.500000 308.492000 407.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.500000 308.492000 410.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.500000 308.492000 413.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.500000 308.492000 416.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.500000 308.492000 419.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.500000 308.492000 422.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.500000 308.492000 425.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.500000 308.492000 428.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.500000 308.492000 431.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.500000 308.492000 434.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.500000 308.492000 437.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.500000 308.492000 440.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.500000 308.492000 443.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.500000 308.492000 446.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.500000 308.492000 449.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 308.492000 452.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.500000 308.492000 455.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.500000 308.492000 458.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.500000 308.492000 461.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.500000 308.492000 464.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.500000 308.492000 467.500000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.596000 308.492000 470.596000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.692000 308.492000 473.692000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.788000 308.492000 476.788000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.884000 308.492000 479.884000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.980000 308.492000 482.980000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.076000 308.492000 486.076000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.172000 308.492000 489.172000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.268000 308.492000 492.268000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.364000 308.492000 495.364000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.460000 308.492000 498.460000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.556000 308.492000 501.556000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.652000 308.492000 504.652000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.748000 308.492000 507.748000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.844000 308.492000 510.844000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.940000 308.492000 513.940000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.036000 308.492000 517.036000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.132000 308.492000 520.132000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.228000 308.492000 523.228000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.324000 308.492000 526.324000 296.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.420000 308.492000 529.420000 296.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 308.492000 535.600000 296.492000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 295.092000 328.964000 283.092000 1.000000 0.000000 0.000000 1.000000 G +drawChar 328.904000 295.092000 334.904000 283.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 334.904000 295.092000 338.228000 283.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 338.204000 295.092000 344.204000 283.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 344.108000 295.092000 349.424000 283.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 349.412000 295.092000 355.412000 283.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 355.616000 295.092000 358.616000 283.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.616000 295.092000 367.280000 283.092000 1.000000 0.000000 0.000000 1.000000 G +drawChar 367.220000 295.092000 372.536000 283.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 372.524000 295.092000 375.848000 283.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 375.824000 295.092000 381.140000 283.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 381.224000 295.092000 384.224000 283.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.224000 295.092000 390.896000 283.092000 1.000000 0.000000 0.000000 1.000000 P +drawChar 390.920000 295.092000 396.236000 283.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 396.224000 295.092000 400.220000 283.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 400.220000 295.092000 406.220000 283.092000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 406.100000 295.092000 409.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 295.092000 412.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 295.092000 415.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 295.092000 418.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 295.092000 421.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 295.092000 424.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 295.092000 427.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 295.092000 430.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 295.092000 433.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 295.092000 436.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 295.092000 439.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 295.092000 442.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 295.092000 445.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 295.092000 448.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 295.092000 451.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 295.092000 454.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 295.092000 457.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 295.092000 460.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 295.092000 463.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 295.092000 466.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.100000 295.092000 469.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.100000 295.092000 472.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.100000 295.092000 475.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.100000 295.092000 478.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.100000 295.092000 481.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.100000 295.092000 484.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.100000 295.092000 487.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.100000 295.092000 490.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.100000 295.092000 493.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.100000 295.092000 496.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.100000 295.092000 499.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.100000 295.092000 502.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.100000 295.092000 505.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.100000 295.092000 508.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.100000 295.092000 511.100000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.196000 295.092000 514.196000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.292000 295.092000 517.292000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.388000 295.092000 520.388000 283.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.484000 295.092000 523.484000 283.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 295.092000 529.600000 283.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 295.092000 535.600000 283.092000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 281.592000 328.964000 269.592000 1.000000 0.000000 0.000000 1.000000 G +drawChar 328.904000 281.592000 334.904000 269.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 334.904000 281.592000 338.228000 269.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 338.204000 281.592000 344.204000 269.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 344.108000 281.592000 348.104000 269.592000 1.000000 0.000000 0.000000 1.000000 f +drawChar 348.104000 281.592000 351.428000 269.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 351.500000 281.592000 356.168000 269.592000 1.000000 0.000000 0.000000 1.000000 s +drawChar 356.204000 281.592000 362.204000 269.592000 1.000000 0.000000 0.000000 1.000000 h +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 362.200000 281.592000 365.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.200000 281.592000 368.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.200000 281.592000 371.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.200000 281.592000 374.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.200000 281.592000 377.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.200000 281.592000 380.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.200000 281.592000 383.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.200000 281.592000 386.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.200000 281.592000 389.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.200000 281.592000 392.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.200000 281.592000 395.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.200000 281.592000 398.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.200000 281.592000 401.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.200000 281.592000 404.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.200000 281.592000 407.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.200000 281.592000 410.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.200000 281.592000 413.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.200000 281.592000 416.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.200000 281.592000 419.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.200000 281.592000 422.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.200000 281.592000 425.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.200000 281.592000 428.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.200000 281.592000 431.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.200000 281.592000 434.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.200000 281.592000 437.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.200000 281.592000 440.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.200000 281.592000 443.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.200000 281.592000 446.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.200000 281.592000 449.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.200000 281.592000 452.200000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.296000 281.592000 455.296000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.392000 281.592000 458.392000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.488000 281.592000 461.488000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.584000 281.592000 464.584000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.680000 281.592000 467.680000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.776000 281.592000 470.776000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.872000 281.592000 473.872000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.968000 281.592000 476.968000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.064000 281.592000 480.064000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.160000 281.592000 483.160000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.256000 281.592000 486.256000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.352000 281.592000 489.352000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.448000 281.592000 492.448000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.544000 281.592000 495.544000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.640000 281.592000 498.640000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.736000 281.592000 501.736000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.832000 281.592000 504.832000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.928000 281.592000 507.928000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.024000 281.592000 511.024000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.120000 281.592000 514.120000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.216000 281.592000 517.216000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.312000 281.592000 520.312000 269.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.408000 281.592000 523.408000 269.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 281.592000 529.600000 269.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 281.592000 535.600000 269.592000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 268.192000 328.964000 256.192000 1.000000 0.000000 0.000000 1.000000 G +drawChar 328.904000 268.192000 332.900000 256.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 332.900000 268.192000 338.216000 256.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 338.204000 268.192000 344.204000 256.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 344.204000 268.192000 349.520000 256.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 349.508000 268.192000 355.508000 256.192000 1.000000 0.000000 0.000000 1.000000 d +drawChar 355.412000 268.192000 358.736000 256.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 358.808000 268.192000 364.808000 256.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 364.808000 268.192000 370.124000 256.192000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 370.100000 268.192000 373.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.100000 268.192000 376.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.100000 268.192000 379.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.100000 268.192000 382.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.100000 268.192000 385.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.100000 268.192000 388.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.100000 268.192000 391.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.100000 268.192000 394.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.100000 268.192000 397.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.100000 268.192000 400.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.100000 268.192000 403.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.100000 268.192000 406.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 268.192000 409.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 268.192000 412.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 268.192000 415.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 268.192000 418.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 268.192000 421.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 268.192000 424.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 268.192000 427.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 268.192000 430.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 268.192000 433.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 268.192000 436.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 268.192000 439.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 268.192000 442.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 268.192000 445.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 268.192000 448.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 268.192000 451.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 268.192000 454.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 268.192000 457.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 268.192000 460.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 268.192000 463.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 268.192000 466.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.100000 268.192000 469.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.100000 268.192000 472.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.100000 268.192000 475.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.100000 268.192000 478.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.100000 268.192000 481.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.100000 268.192000 484.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.100000 268.192000 487.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.100000 268.192000 490.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.100000 268.192000 493.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.100000 268.192000 496.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.100000 268.192000 499.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.100000 268.192000 502.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.100000 268.192000 505.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.100000 268.192000 508.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.100000 268.192000 511.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.100000 268.192000 514.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.100000 268.192000 517.100000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.196000 268.192000 520.196000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.292000 268.192000 523.292000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.388000 268.192000 526.388000 256.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.484000 268.192000 529.484000 256.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 268.192000 535.600000 256.192000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 254.692000 328.964000 242.692000 1.000000 0.000000 0.000000 1.000000 G +drawChar 328.904000 254.692000 334.904000 242.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 334.904000 254.692000 340.220000 242.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 340.208000 254.692000 344.876000 242.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 344.912000 254.692000 348.236000 242.692000 1.000000 0.000000 0.000000 1.000000 t +drawChar 348.212000 254.692000 351.212000 242.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.212000 254.692000 355.208000 242.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 355.208000 254.692000 361.208000 242.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 361.208000 254.692000 367.208000 242.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 367.208000 254.692000 376.532000 242.692000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 376.500000 254.692000 379.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.500000 254.692000 382.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.500000 254.692000 385.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.500000 254.692000 388.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.500000 254.692000 391.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.500000 254.692000 394.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.500000 254.692000 397.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.500000 254.692000 400.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.500000 254.692000 403.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.500000 254.692000 406.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.500000 254.692000 409.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.500000 254.692000 412.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.500000 254.692000 415.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.500000 254.692000 418.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.500000 254.692000 421.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.500000 254.692000 424.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.500000 254.692000 427.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.500000 254.692000 430.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.500000 254.692000 433.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.500000 254.692000 436.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.500000 254.692000 439.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.500000 254.692000 442.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.500000 254.692000 445.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.500000 254.692000 448.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.500000 254.692000 451.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.500000 254.692000 454.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.500000 254.692000 457.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.500000 254.692000 460.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.500000 254.692000 463.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.500000 254.692000 466.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.500000 254.692000 469.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.500000 254.692000 472.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.500000 254.692000 475.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.500000 254.692000 478.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.500000 254.692000 481.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.500000 254.692000 484.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.500000 254.692000 487.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.500000 254.692000 490.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.500000 254.692000 493.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.500000 254.692000 496.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.500000 254.692000 499.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.500000 254.692000 502.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.500000 254.692000 505.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.500000 254.692000 508.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.500000 254.692000 511.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.500000 254.692000 514.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.500000 254.692000 517.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.500000 254.692000 520.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.500000 254.692000 523.500000 242.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 254.692000 529.600000 242.692000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 254.692000 535.600000 242.692000 1.000000 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 320.300000 240.792000 329.624000 228.792000 1.000000 0.000000 0.000000 1.000000 H +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 227.392000 328.964000 215.392000 1.000000 0.000000 0.000000 1.000000 H +drawChar 328.904000 227.392000 334.220000 215.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 334.208000 227.392000 343.532000 215.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 343.508000 227.392000 352.832000 215.392000 1.000000 0.000000 0.000000 1.000000 m +drawChar 352.808000 227.392000 358.124000 215.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 358.112000 227.392000 362.108000 215.392000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 362.100000 227.392000 365.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.100000 227.392000 368.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.100000 227.392000 371.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.100000 227.392000 374.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.100000 227.392000 377.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.100000 227.392000 380.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.100000 227.392000 383.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.100000 227.392000 386.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.100000 227.392000 389.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.100000 227.392000 392.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.100000 227.392000 395.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.100000 227.392000 398.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.100000 227.392000 401.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.100000 227.392000 404.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.100000 227.392000 407.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.100000 227.392000 410.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.100000 227.392000 413.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.100000 227.392000 416.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.100000 227.392000 419.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.100000 227.392000 422.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.100000 227.392000 425.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.100000 227.392000 428.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.100000 227.392000 431.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.100000 227.392000 434.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.100000 227.392000 437.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.100000 227.392000 440.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.100000 227.392000 443.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.100000 227.392000 446.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.100000 227.392000 449.100000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.196000 227.392000 452.196000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.292000 227.392000 455.292000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.388000 227.392000 458.388000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.484000 227.392000 461.484000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.580000 227.392000 464.580000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.676000 227.392000 467.676000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.772000 227.392000 470.772000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.868000 227.392000 473.868000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.964000 227.392000 476.964000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.060000 227.392000 480.060000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.156000 227.392000 483.156000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.252000 227.392000 486.252000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.348000 227.392000 489.348000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.444000 227.392000 492.444000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.540000 227.392000 495.540000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.636000 227.392000 498.636000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.732000 227.392000 501.732000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.828000 227.392000 504.828000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.924000 227.392000 507.924000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.020000 227.392000 511.020000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.116000 227.392000 514.116000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.212000 227.392000 517.212000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.308000 227.392000 520.308000 215.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.404000 227.392000 523.404000 215.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 227.392000 529.600000 215.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 227.392000 535.600000 215.392000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 213.892000 328.964000 201.892000 1.000000 0.000000 0.000000 1.000000 H +drawChar 328.904000 213.892000 334.220000 201.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 334.208000 213.892000 338.204000 201.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 338.204000 213.892000 344.204000 201.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 344.108000 213.892000 352.772000 201.892000 1.000000 0.000000 0.000000 1.000000 w +drawChar 352.808000 213.892000 358.808000 201.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 358.808000 213.892000 364.808000 201.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 364.904000 213.892000 370.904000 201.892000 1.000000 0.000000 0.000000 1.000000 d +drawChar 370.904000 213.892000 373.904000 201.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.904000 213.892000 377.900000 201.892000 1.000000 0.000000 0.000000 1.000000 f +drawChar 377.900000 213.892000 381.224000 201.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 381.200000 213.892000 387.200000 201.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 387.200000 213.892000 393.200000 201.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 393.200000 213.892000 397.196000 201.892000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 397.100000 213.892000 400.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.100000 213.892000 403.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.100000 213.892000 406.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 213.892000 409.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 213.892000 412.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 213.892000 415.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 213.892000 418.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 213.892000 421.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 213.892000 424.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 213.892000 427.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 213.892000 430.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 213.892000 433.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 213.892000 436.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 213.892000 439.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 213.892000 442.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 213.892000 445.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 213.892000 448.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 213.892000 451.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 213.892000 454.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 213.892000 457.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 213.892000 460.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 213.892000 463.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 213.892000 466.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.100000 213.892000 469.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.100000 213.892000 472.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.100000 213.892000 475.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.100000 213.892000 478.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.100000 213.892000 481.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.100000 213.892000 484.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.100000 213.892000 487.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.100000 213.892000 490.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.100000 213.892000 493.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.100000 213.892000 496.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.100000 213.892000 499.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.100000 213.892000 502.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.100000 213.892000 505.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.100000 213.892000 508.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.100000 213.892000 511.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.100000 213.892000 514.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.100000 213.892000 517.100000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.196000 213.892000 520.196000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.292000 213.892000 523.292000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.388000 213.892000 526.388000 201.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.484000 213.892000 529.484000 201.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 213.892000 535.600000 201.892000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 200.492000 328.964000 188.492000 1.000000 0.000000 0.000000 1.000000 H +drawChar 328.904000 200.492000 334.220000 188.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 334.208000 200.492000 340.208000 188.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 340.112000 200.492000 346.112000 188.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 346.112000 200.492000 351.428000 188.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 351.416000 200.492000 355.412000 188.492000 1.000000 0.000000 0.000000 1.000000 - +drawChar 355.616000 200.492000 360.932000 188.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 360.920000 200.492000 364.244000 188.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 364.220000 200.492000 367.544000 188.492000 1.000000 0.000000 0.000000 1.000000 i +drawChar 367.616000 200.492000 373.616000 188.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 373.520000 200.492000 379.520000 188.492000 1.000000 0.000000 0.000000 1.000000 p +drawChar 379.424000 200.492000 384.740000 188.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 384.728000 200.492000 388.724000 188.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 388.724000 200.492000 393.392000 188.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 393.500000 200.492000 396.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.500000 200.492000 399.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.500000 200.492000 402.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.500000 200.492000 405.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.500000 200.492000 408.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.500000 200.492000 411.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.500000 200.492000 414.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.500000 200.492000 417.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.500000 200.492000 420.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.500000 200.492000 423.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.500000 200.492000 426.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.500000 200.492000 429.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.500000 200.492000 432.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.500000 200.492000 435.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.500000 200.492000 438.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.500000 200.492000 441.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.500000 200.492000 444.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.500000 200.492000 447.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.500000 200.492000 450.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.500000 200.492000 453.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.500000 200.492000 456.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.500000 200.492000 459.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.500000 200.492000 462.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.500000 200.492000 465.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.500000 200.492000 468.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.500000 200.492000 471.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.500000 200.492000 474.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.500000 200.492000 477.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.500000 200.492000 480.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.500000 200.492000 483.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.500000 200.492000 486.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.500000 200.492000 489.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.500000 200.492000 492.500000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.596000 200.492000 495.596000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.692000 200.492000 498.692000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.788000 200.492000 501.788000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.884000 200.492000 504.884000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.980000 200.492000 507.980000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.076000 200.492000 511.076000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.172000 200.492000 514.172000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.268000 200.492000 517.268000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.364000 200.492000 520.364000 188.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.460000 200.492000 523.460000 188.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 200.492000 529.600000 188.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 200.492000 535.600000 188.492000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 186.992000 328.964000 174.992000 1.000000 0.000000 0.000000 1.000000 H +drawChar 328.904000 186.992000 334.220000 174.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 334.208000 186.992000 343.532000 174.992000 1.000000 0.000000 0.000000 1.000000 m +drawChar 343.508000 186.992000 346.832000 174.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 346.904000 186.992000 352.904000 174.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 352.904000 186.992000 358.904000 174.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 358.904000 186.992000 367.568000 174.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 367.604000 186.992000 372.920000 174.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 372.908000 186.992000 378.908000 174.992000 1.000000 0.000000 0.000000 1.000000 y +drawChar 378.812000 186.992000 381.812000 174.992000 1.000000 0.000000 0.000000 1.000000 , +drawChar 381.908000 186.992000 384.908000 174.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 384.908000 186.992000 392.228000 174.992000 1.000000 0.000000 0.000000 1.000000 E +drawChar 392.204000 186.992000 396.200000 174.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 396.200000 186.992000 402.200000 174.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 402.200000 186.992000 407.516000 174.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 407.504000 186.992000 412.172000 174.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 412.208000 186.992000 415.532000 174.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 415.604000 186.992000 418.604000 174.992000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 418.500000 186.992000 421.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.500000 186.992000 424.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.500000 186.992000 427.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.500000 186.992000 430.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.500000 186.992000 433.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.500000 186.992000 436.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.500000 186.992000 439.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.500000 186.992000 442.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.500000 186.992000 445.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.500000 186.992000 448.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.500000 186.992000 451.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.500000 186.992000 454.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.500000 186.992000 457.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.500000 186.992000 460.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.500000 186.992000 463.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.500000 186.992000 466.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.500000 186.992000 469.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.500000 186.992000 472.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.500000 186.992000 475.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.500000 186.992000 478.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.500000 186.992000 481.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.500000 186.992000 484.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.500000 186.992000 487.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.500000 186.992000 490.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.500000 186.992000 493.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.500000 186.992000 496.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.500000 186.992000 499.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.500000 186.992000 502.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.500000 186.992000 505.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.500000 186.992000 508.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.500000 186.992000 511.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.500000 186.992000 514.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.500000 186.992000 517.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.500000 186.992000 520.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.500000 186.992000 523.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.500000 186.992000 526.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.500000 186.992000 529.500000 174.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 186.992000 535.600000 174.992000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 320.300000 173.092000 324.968000 161.092000 1.000000 0.000000 0.000000 1.000000 I +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 159.692000 324.296000 147.692000 1.000000 0.000000 0.000000 1.000000 I +drawChar 324.200000 159.692000 328.196000 147.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 328.196000 159.692000 331.520000 147.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 331.496000 159.692000 336.164000 147.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 336.200000 159.692000 341.516000 147.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.504000 159.692000 346.172000 147.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 346.100000 159.692000 349.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 349.100000 159.692000 352.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.100000 159.692000 355.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.100000 159.692000 358.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.100000 159.692000 361.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.100000 159.692000 364.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.100000 159.692000 367.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.100000 159.692000 370.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.100000 159.692000 373.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.100000 159.692000 376.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.100000 159.692000 379.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.100000 159.692000 382.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.100000 159.692000 385.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.100000 159.692000 388.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.100000 159.692000 391.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.100000 159.692000 394.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.100000 159.692000 397.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.100000 159.692000 400.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.100000 159.692000 403.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.100000 159.692000 406.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.100000 159.692000 409.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.100000 159.692000 412.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.100000 159.692000 415.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.100000 159.692000 418.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.100000 159.692000 421.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.100000 159.692000 424.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.100000 159.692000 427.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.100000 159.692000 430.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.100000 159.692000 433.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.100000 159.692000 436.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.100000 159.692000 439.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.100000 159.692000 442.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.100000 159.692000 445.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.100000 159.692000 448.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.100000 159.692000 451.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.100000 159.692000 454.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.100000 159.692000 457.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.100000 159.692000 460.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.100000 159.692000 463.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.100000 159.692000 466.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.100000 159.692000 469.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.100000 159.692000 472.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.100000 159.692000 475.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.100000 159.692000 478.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.100000 159.692000 481.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.100000 159.692000 484.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.100000 159.692000 487.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.100000 159.692000 490.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.100000 159.692000 493.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.100000 159.692000 496.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.100000 159.692000 499.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.100000 159.692000 502.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.100000 159.692000 505.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.100000 159.692000 508.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.100000 159.692000 511.100000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.196000 159.692000 514.196000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.292000 159.692000 517.292000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.388000 159.692000 520.388000 147.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.484000 159.692000 523.484000 147.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 159.692000 529.600000 147.692000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 159.692000 535.600000 147.692000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 146.192000 324.296000 134.192000 1.000000 0.000000 0.000000 1.000000 I +drawChar 324.200000 146.192000 328.196000 134.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 328.196000 146.192000 334.196000 134.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 334.196000 146.192000 340.196000 134.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 340.196000 146.192000 343.520000 134.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 343.592000 146.192000 349.592000 134.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 349.592000 146.192000 355.592000 134.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 355.592000 146.192000 358.592000 134.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 358.592000 146.192000 364.592000 134.192000 1.000000 0.000000 0.000000 1.000000 b +drawChar 364.592000 146.192000 370.592000 134.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 370.592000 146.192000 375.908000 134.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 375.896000 146.192000 379.892000 134.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 379.892000 146.192000 385.892000 134.192000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 385.800000 146.192000 388.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.800000 146.192000 391.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.800000 146.192000 394.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.800000 146.192000 397.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.800000 146.192000 400.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.800000 146.192000 403.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.800000 146.192000 406.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.800000 146.192000 409.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.800000 146.192000 412.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.800000 146.192000 415.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.800000 146.192000 418.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.800000 146.192000 421.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.800000 146.192000 424.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.800000 146.192000 427.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.800000 146.192000 430.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.800000 146.192000 433.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.800000 146.192000 436.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.800000 146.192000 439.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.800000 146.192000 442.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.800000 146.192000 445.800000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.896000 146.192000 448.896000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.992000 146.192000 451.992000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.088000 146.192000 455.088000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.184000 146.192000 458.184000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.280000 146.192000 461.280000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.376000 146.192000 464.376000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.472000 146.192000 467.472000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.568000 146.192000 470.568000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.664000 146.192000 473.664000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.760000 146.192000 476.760000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.856000 146.192000 479.856000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.952000 146.192000 482.952000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.048000 146.192000 486.048000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.144000 146.192000 489.144000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.240000 146.192000 492.240000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.336000 146.192000 495.336000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.432000 146.192000 498.432000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.528000 146.192000 501.528000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.624000 146.192000 504.624000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.720000 146.192000 507.720000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.816000 146.192000 510.816000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.912000 146.192000 513.912000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.008000 146.192000 517.008000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.104000 146.192000 520.104000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.200000 146.192000 523.200000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.296000 146.192000 526.296000 134.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.392000 146.192000 529.392000 134.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 146.192000 535.600000 134.192000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 306.000000 136.200000 0 306.100000 136.200000 0 306.100000 644.800000 0 306.000000 644.800000 0 306.000000 136.200000 0 +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 76.600000 701.500000 0 535.500000 701.500000 0 535.500000 720.000000 0 76.600000 720.000000 0 76.600000 701.500000 0 +updateFillColor 0.901947 0.901947 0.901947 1.000000 +eoFillPath subpath 1 76.600000 659.200000 0 291.900000 659.200000 0 291.900000 673.100000 0 76.600000 673.100000 0 76.600000 659.200000 0 +eoFillPath subpath 1 76.600000 591.500000 0 291.900000 591.500000 0 291.900000 605.400000 0 76.600000 605.400000 0 76.600000 591.500000 0 +eoFillPath subpath 1 76.600000 564.200000 0 291.900000 564.200000 0 291.900000 578.100000 0 76.600000 578.100000 0 76.600000 564.200000 0 +eoFillPath subpath 1 76.600000 523.400000 0 291.900000 523.400000 0 291.900000 537.300000 0 76.600000 537.300000 0 76.600000 523.400000 0 +eoFillPath subpath 1 76.600000 469.100000 0 291.900000 469.100000 0 291.900000 483.000000 0 76.600000 483.000000 0 76.600000 469.100000 0 +eoFillPath subpath 1 76.600000 414.900000 0 291.900000 414.900000 0 291.900000 428.800000 0 76.600000 428.800000 0 76.600000 414.900000 0 +eoFillPath subpath 1 76.600000 333.700000 0 291.900000 333.700000 0 291.900000 347.600000 0 76.600000 347.600000 0 76.600000 333.700000 0 +eoFillPath subpath 1 76.600000 171.900000 0 291.900000 171.900000 0 291.900000 185.800000 0 76.600000 185.800000 0 76.600000 171.900000 0 +eoFillPath subpath 1 76.600000 131.100000 0 291.900000 131.100000 0 291.900000 145.000000 0 76.600000 145.000000 0 76.600000 131.100000 0 +eoFillPath subpath 1 320.200000 578.500000 0 535.500000 578.500000 0 535.500000 592.400000 0 320.200000 592.400000 0 320.200000 578.500000 0 +eoFillPath subpath 1 320.200000 255.300000 0 535.500000 255.300000 0 535.500000 269.200000 0 320.200000 269.200000 0 320.200000 255.300000 0 +eoFillPath subpath 1 320.200000 133.800000 0 535.500000 133.800000 0 535.500000 147.700000 0 320.200000 147.700000 0 320.200000 133.800000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 76.700000 716.588000 81.148000 700.588000 1.000000 0.000000 0.000000 1.000000 I +drawChar 81.100000 716.588000 89.996000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 89.996000 716.588000 98.892000 700.588000 1.000000 0.000000 0.000000 1.000000 d +drawChar 98.892000 716.588000 107.788000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 107.788000 716.588000 115.788000 700.588000 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 672.492000 82.700000 660.492000 1.000000 0.000000 0.000000 1.000000 J +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 659.092000 81.368000 647.092000 1.000000 0.000000 0.000000 1.000000 J +drawChar 81.296000 659.092000 86.612000 647.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 86.600000 659.092000 95.924000 647.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 95.900000 659.092000 100.568000 647.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 100.600000 659.092000 103.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 103.600000 659.092000 106.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 106.600000 659.092000 109.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 109.600000 659.092000 112.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 112.600000 659.092000 115.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.600000 659.092000 118.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.600000 659.092000 121.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.600000 659.092000 124.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.600000 659.092000 127.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.600000 659.092000 130.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.600000 659.092000 133.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.600000 659.092000 136.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.600000 659.092000 139.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.600000 659.092000 142.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.600000 659.092000 145.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.600000 659.092000 148.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.600000 659.092000 151.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.600000 659.092000 154.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.600000 659.092000 157.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.600000 659.092000 160.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.600000 659.092000 163.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.600000 659.092000 166.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.600000 659.092000 169.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.600000 659.092000 172.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.600000 659.092000 175.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.600000 659.092000 178.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.600000 659.092000 181.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.600000 659.092000 184.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.600000 659.092000 187.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.600000 659.092000 190.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.600000 659.092000 193.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.600000 659.092000 196.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.600000 659.092000 199.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.600000 659.092000 202.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.600000 659.092000 205.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.600000 659.092000 208.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.600000 659.092000 211.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.600000 659.092000 214.600000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.696000 659.092000 217.696000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.792000 659.092000 220.792000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.888000 659.092000 223.888000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.984000 659.092000 226.984000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.080000 659.092000 230.080000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.176000 659.092000 233.176000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.272000 659.092000 236.272000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.368000 659.092000 239.368000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.464000 659.092000 242.464000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.560000 659.092000 245.560000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.656000 659.092000 248.656000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.752000 659.092000 251.752000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.848000 659.092000 254.848000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.944000 659.092000 257.944000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.040000 659.092000 261.040000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.136000 659.092000 264.136000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.232000 659.092000 267.232000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.328000 659.092000 270.328000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.424000 659.092000 273.424000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.520000 659.092000 276.520000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.616000 659.092000 279.616000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.712000 659.092000 282.712000 647.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.808000 659.092000 285.808000 647.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 659.092000 292.000000 647.092000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 645.692000 81.368000 633.692000 1.000000 0.000000 0.000000 1.000000 J +drawChar 81.296000 645.692000 86.612000 633.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 86.600000 645.692000 89.924000 633.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 89.900000 645.692000 93.224000 633.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 93.200000 645.692000 96.524000 633.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 96.596000 645.692000 101.912000 633.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 101.900000 645.692000 106.568000 633.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 106.600000 645.692000 109.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 109.600000 645.692000 112.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 112.600000 645.692000 115.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.600000 645.692000 118.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.600000 645.692000 121.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.600000 645.692000 124.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.600000 645.692000 127.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.600000 645.692000 130.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.600000 645.692000 133.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.600000 645.692000 136.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.600000 645.692000 139.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.600000 645.692000 142.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.600000 645.692000 145.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.600000 645.692000 148.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.600000 645.692000 151.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.600000 645.692000 154.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.600000 645.692000 157.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.600000 645.692000 160.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.600000 645.692000 163.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.600000 645.692000 166.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.600000 645.692000 169.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.600000 645.692000 172.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.600000 645.692000 175.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.600000 645.692000 178.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.600000 645.692000 181.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.600000 645.692000 184.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.600000 645.692000 187.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.600000 645.692000 190.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.600000 645.692000 193.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.600000 645.692000 196.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.600000 645.692000 199.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.600000 645.692000 202.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.600000 645.692000 205.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.600000 645.692000 208.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.600000 645.692000 211.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.600000 645.692000 214.600000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.696000 645.692000 217.696000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.792000 645.692000 220.792000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.888000 645.692000 223.888000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.984000 645.692000 226.984000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.080000 645.692000 230.080000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.176000 645.692000 233.176000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.272000 645.692000 236.272000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.368000 645.692000 239.368000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.464000 645.692000 242.464000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.560000 645.692000 245.560000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.656000 645.692000 248.656000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.752000 645.692000 251.752000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.848000 645.692000 254.848000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.944000 645.692000 257.944000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.040000 645.692000 261.040000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.136000 645.692000 264.136000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.232000 645.692000 267.232000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.328000 645.692000 270.328000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.424000 645.692000 273.424000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.520000 645.692000 276.520000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.616000 645.692000 279.616000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.712000 645.692000 282.712000 633.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.808000 645.692000 285.808000 633.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 645.692000 292.000000 633.692000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 632.192000 81.368000 620.192000 1.000000 0.000000 0.000000 1.000000 J +drawChar 81.296000 632.192000 87.296000 620.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 87.296000 632.192000 93.296000 620.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 93.296000 632.192000 99.296000 620.192000 1.000000 0.000000 0.000000 1.000000 g +drawChar 99.296000 632.192000 102.620000 620.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 102.692000 632.192000 108.692000 620.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 108.692000 632.192000 114.692000 620.192000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 114.600000 632.192000 117.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 117.600000 632.192000 120.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.600000 632.192000 123.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.600000 632.192000 126.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.600000 632.192000 129.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.600000 632.192000 132.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.600000 632.192000 135.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.600000 632.192000 138.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.600000 632.192000 141.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.600000 632.192000 144.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.600000 632.192000 147.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.600000 632.192000 150.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.600000 632.192000 153.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.600000 632.192000 156.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.600000 632.192000 159.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.600000 632.192000 162.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.600000 632.192000 165.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.600000 632.192000 168.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.600000 632.192000 171.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.600000 632.192000 174.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.600000 632.192000 177.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.600000 632.192000 180.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.600000 632.192000 183.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.600000 632.192000 186.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.600000 632.192000 189.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.600000 632.192000 192.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.600000 632.192000 195.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.600000 632.192000 198.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.600000 632.192000 201.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.600000 632.192000 204.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.600000 632.192000 207.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.600000 632.192000 210.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.600000 632.192000 213.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.600000 632.192000 216.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.600000 632.192000 219.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.600000 632.192000 222.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.600000 632.192000 225.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.600000 632.192000 228.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.600000 632.192000 231.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.600000 632.192000 234.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.600000 632.192000 237.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.600000 632.192000 240.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.600000 632.192000 243.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.600000 632.192000 246.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.600000 632.192000 249.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.600000 632.192000 252.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.600000 632.192000 255.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.600000 632.192000 258.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.600000 632.192000 261.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.600000 632.192000 264.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.600000 632.192000 267.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.600000 632.192000 270.600000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.696000 632.192000 273.696000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.792000 632.192000 276.792000 620.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.888000 632.192000 279.888000 620.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 632.192000 286.000000 620.192000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 632.192000 292.000000 620.192000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 618.792000 81.368000 606.792000 1.000000 0.000000 0.000000 1.000000 J +drawChar 81.296000 618.792000 87.296000 606.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 87.296000 618.792000 93.296000 606.792000 1.000000 0.000000 0.000000 1.000000 k +drawChar 93.296000 618.792000 98.612000 606.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 98.600000 618.792000 104.600000 606.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 104.600000 618.792000 110.600000 606.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 110.600000 618.792000 116.600000 606.792000 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 116.500000 618.792000 119.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.500000 618.792000 122.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.500000 618.792000 125.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.500000 618.792000 128.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.500000 618.792000 131.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.500000 618.792000 134.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.500000 618.792000 137.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.500000 618.792000 140.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.500000 618.792000 143.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.500000 618.792000 146.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.500000 618.792000 149.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.500000 618.792000 152.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.500000 618.792000 155.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.500000 618.792000 158.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.500000 618.792000 161.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.500000 618.792000 164.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.500000 618.792000 167.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.500000 618.792000 170.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.500000 618.792000 173.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.500000 618.792000 176.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.500000 618.792000 179.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.500000 618.792000 182.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.500000 618.792000 185.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.500000 618.792000 188.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.500000 618.792000 191.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.500000 618.792000 194.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.500000 618.792000 197.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.500000 618.792000 200.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.500000 618.792000 203.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.500000 618.792000 206.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.500000 618.792000 209.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.500000 618.792000 212.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.500000 618.792000 215.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.500000 618.792000 218.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.500000 618.792000 221.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.500000 618.792000 224.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.500000 618.792000 227.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.500000 618.792000 230.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.500000 618.792000 233.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.500000 618.792000 236.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.500000 618.792000 239.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.500000 618.792000 242.500000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.596000 618.792000 245.596000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.692000 618.792000 248.692000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.788000 618.792000 251.788000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.884000 618.792000 254.884000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.980000 618.792000 257.980000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.076000 618.792000 261.076000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.172000 618.792000 264.172000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.268000 618.792000 267.268000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.364000 618.792000 270.364000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.460000 618.792000 273.460000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.556000 618.792000 276.556000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.652000 618.792000 279.652000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.748000 618.792000 282.748000 606.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.844000 618.792000 285.844000 606.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 618.792000 292.000000 606.792000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 604.792000 86.024000 592.792000 1.000000 0.000000 0.000000 1.000000 K +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 591.392000 85.364000 579.392000 1.000000 0.000000 0.000000 1.000000 K +drawChar 85.400000 591.392000 88.724000 579.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 88.700000 591.392000 94.016000 579.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 94.004000 591.392000 99.320000 579.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 99.308000 591.392000 105.308000 579.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 105.308000 591.392000 110.624000 579.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 110.612000 591.392000 116.612000 579.392000 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 116.500000 591.392000 119.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.500000 591.392000 122.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.500000 591.392000 125.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.500000 591.392000 128.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.500000 591.392000 131.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.500000 591.392000 134.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.500000 591.392000 137.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.500000 591.392000 140.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.500000 591.392000 143.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.500000 591.392000 146.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.500000 591.392000 149.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.500000 591.392000 152.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.500000 591.392000 155.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.500000 591.392000 158.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.500000 591.392000 161.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.500000 591.392000 164.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.500000 591.392000 167.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.500000 591.392000 170.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.500000 591.392000 173.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.500000 591.392000 176.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.500000 591.392000 179.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.500000 591.392000 182.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.500000 591.392000 185.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.500000 591.392000 188.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.500000 591.392000 191.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.500000 591.392000 194.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.500000 591.392000 197.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.500000 591.392000 200.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.500000 591.392000 203.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.500000 591.392000 206.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.500000 591.392000 209.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.500000 591.392000 212.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.500000 591.392000 215.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.500000 591.392000 218.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.500000 591.392000 221.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.500000 591.392000 224.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.500000 591.392000 227.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.500000 591.392000 230.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.500000 591.392000 233.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.500000 591.392000 236.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.500000 591.392000 239.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.500000 591.392000 242.500000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.596000 591.392000 245.596000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.692000 591.392000 248.692000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.788000 591.392000 251.788000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.884000 591.392000 254.884000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.980000 591.392000 257.980000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.076000 591.392000 261.076000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.172000 591.392000 264.172000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.268000 591.392000 267.268000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.364000 591.392000 270.364000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.460000 591.392000 273.460000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.556000 591.392000 276.556000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.652000 591.392000 279.652000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.748000 591.392000 282.748000 579.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.844000 591.392000 285.844000 579.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 591.392000 292.000000 579.392000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 577.492000 84.692000 565.492000 1.000000 0.000000 0.000000 1.000000 L +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 564.092000 84.020000 552.092000 1.000000 0.000000 0.000000 1.000000 L +drawChar 83.996000 564.092000 89.312000 552.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 89.300000 564.092000 97.964000 552.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 98.000000 564.092000 104.000000 552.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 104.000000 564.092000 113.324000 552.092000 1.000000 0.000000 0.000000 1.000000 m +drawChar 113.300000 564.092000 119.300000 552.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 119.300000 564.092000 127.964000 552.092000 1.000000 0.000000 0.000000 1.000000 w +drawChar 128.000000 564.092000 133.316000 552.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 133.304000 564.092000 137.300000 552.092000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 137.200000 564.092000 140.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.200000 564.092000 143.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.200000 564.092000 146.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.200000 564.092000 149.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.200000 564.092000 152.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.200000 564.092000 155.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.200000 564.092000 158.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.200000 564.092000 161.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.200000 564.092000 164.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.200000 564.092000 167.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.200000 564.092000 170.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.200000 564.092000 173.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.200000 564.092000 176.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.200000 564.092000 179.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.200000 564.092000 182.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.200000 564.092000 185.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.200000 564.092000 188.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.200000 564.092000 191.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.200000 564.092000 194.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.200000 564.092000 197.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.200000 564.092000 200.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.200000 564.092000 203.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.200000 564.092000 206.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.200000 564.092000 209.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 564.092000 212.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.200000 564.092000 215.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.200000 564.092000 218.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.200000 564.092000 221.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.200000 564.092000 224.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.200000 564.092000 227.200000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.296000 564.092000 230.296000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.392000 564.092000 233.392000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.488000 564.092000 236.488000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.584000 564.092000 239.584000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.680000 564.092000 242.680000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.776000 564.092000 245.776000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.872000 564.092000 248.872000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.968000 564.092000 251.968000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.064000 564.092000 255.064000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.160000 564.092000 258.160000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.256000 564.092000 261.256000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.352000 564.092000 264.352000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.448000 564.092000 267.448000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.544000 564.092000 270.544000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.640000 564.092000 273.640000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.736000 564.092000 276.736000 552.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.832000 564.092000 279.832000 552.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 564.092000 286.000000 552.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 564.092000 292.000000 552.092000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 550.592000 84.020000 538.592000 1.000000 0.000000 0.000000 1.000000 L +drawChar 83.996000 550.592000 89.996000 538.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 89.996000 550.592000 95.996000 538.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 95.996000 550.592000 101.996000 538.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 101.996000 550.592000 107.312000 538.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 107.300000 550.592000 113.300000 538.592000 1.000000 0.000000 0.000000 1.000000 g +drawChar 113.300000 550.592000 118.616000 538.592000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 118.500000 550.592000 121.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.500000 550.592000 124.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.500000 550.592000 127.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.500000 550.592000 130.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.500000 550.592000 133.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.500000 550.592000 136.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.500000 550.592000 139.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.500000 550.592000 142.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.500000 550.592000 145.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.500000 550.592000 148.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.500000 550.592000 151.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.500000 550.592000 154.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.500000 550.592000 157.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.500000 550.592000 160.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.500000 550.592000 163.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.500000 550.592000 166.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.500000 550.592000 169.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.500000 550.592000 172.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.500000 550.592000 175.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.500000 550.592000 178.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.500000 550.592000 181.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.500000 550.592000 184.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.500000 550.592000 187.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.500000 550.592000 190.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.500000 550.592000 193.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.500000 550.592000 196.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.500000 550.592000 199.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.500000 550.592000 202.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.500000 550.592000 205.500000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.596000 550.592000 208.596000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.692000 550.592000 211.692000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.788000 550.592000 214.788000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.884000 550.592000 217.884000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.980000 550.592000 220.980000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.076000 550.592000 224.076000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.172000 550.592000 227.172000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.268000 550.592000 230.268000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.364000 550.592000 233.364000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.460000 550.592000 236.460000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.556000 550.592000 239.556000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.652000 550.592000 242.652000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.748000 550.592000 245.748000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.844000 550.592000 248.844000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.940000 550.592000 251.940000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.036000 550.592000 255.036000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.132000 550.592000 258.132000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.228000 550.592000 261.228000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.324000 550.592000 264.324000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.420000 550.592000 267.420000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.516000 550.592000 270.516000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.612000 550.592000 273.612000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.708000 550.592000 276.708000 538.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.804000 550.592000 279.804000 538.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 550.592000 286.000000 538.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 550.592000 292.000000 538.592000 1.000000 0.000000 0.000000 1.000000 0 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 536.692000 88.016000 524.692000 1.000000 0.000000 0.000000 1.000000 M +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 523.292000 87.368000 511.292000 1.000000 0.000000 0.000000 1.000000 M +drawChar 87.296000 523.292000 92.612000 511.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 92.600000 523.292000 96.596000 511.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 96.596000 523.292000 102.596000 511.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 102.596000 523.292000 105.920000 511.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 105.896000 523.292000 111.212000 511.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 111.296000 523.292000 114.296000 511.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 114.296000 523.292000 117.620000 511.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 117.596000 523.292000 120.920000 511.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 120.992000 523.292000 124.316000 511.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 124.292000 523.292000 129.608000 511.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 129.596000 523.292000 134.264000 511.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 134.200000 523.292000 137.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.200000 523.292000 140.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.200000 523.292000 143.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.200000 523.292000 146.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.200000 523.292000 149.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.200000 523.292000 152.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.200000 523.292000 155.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.200000 523.292000 158.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.200000 523.292000 161.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.200000 523.292000 164.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.200000 523.292000 167.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.200000 523.292000 170.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.200000 523.292000 173.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.200000 523.292000 176.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.200000 523.292000 179.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.200000 523.292000 182.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.200000 523.292000 185.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.200000 523.292000 188.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.200000 523.292000 191.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.200000 523.292000 194.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.200000 523.292000 197.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.200000 523.292000 200.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.200000 523.292000 203.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.200000 523.292000 206.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.200000 523.292000 209.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 523.292000 212.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.200000 523.292000 215.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.200000 523.292000 218.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.200000 523.292000 221.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.200000 523.292000 224.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.200000 523.292000 227.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.200000 523.292000 230.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.200000 523.292000 233.200000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.296000 523.292000 236.296000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.392000 523.292000 239.392000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.488000 523.292000 242.488000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.584000 523.292000 245.584000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.680000 523.292000 248.680000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.776000 523.292000 251.776000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.872000 523.292000 254.872000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.968000 523.292000 257.968000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.064000 523.292000 261.064000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.160000 523.292000 264.160000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.256000 523.292000 267.256000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.352000 523.292000 270.352000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.448000 523.292000 273.448000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.544000 523.292000 276.544000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.640000 523.292000 279.640000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.736000 523.292000 282.736000 511.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.832000 523.292000 285.832000 511.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 523.292000 292.000000 511.292000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 509.792000 87.368000 497.792000 1.000000 0.000000 0.000000 1.000000 M +drawChar 87.296000 509.792000 92.612000 497.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 92.600000 509.792000 96.596000 497.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 96.596000 509.792000 99.920000 497.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 99.896000 509.792000 103.220000 497.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 103.292000 509.792000 109.292000 497.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 109.292000 509.792000 112.616000 497.792000 1.000000 0.000000 0.000000 1.000000 i +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 112.600000 509.792000 115.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.600000 509.792000 118.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.600000 509.792000 121.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.600000 509.792000 124.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.600000 509.792000 127.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.600000 509.792000 130.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.600000 509.792000 133.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.600000 509.792000 136.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.600000 509.792000 139.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.600000 509.792000 142.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.600000 509.792000 145.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.600000 509.792000 148.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.600000 509.792000 151.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.600000 509.792000 154.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.600000 509.792000 157.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.600000 509.792000 160.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.600000 509.792000 163.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.600000 509.792000 166.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.600000 509.792000 169.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.600000 509.792000 172.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.600000 509.792000 175.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.600000 509.792000 178.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.600000 509.792000 181.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.600000 509.792000 184.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.600000 509.792000 187.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.600000 509.792000 190.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.600000 509.792000 193.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.600000 509.792000 196.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.600000 509.792000 199.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.600000 509.792000 202.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.600000 509.792000 205.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.600000 509.792000 208.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.600000 509.792000 211.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.600000 509.792000 214.600000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.696000 509.792000 217.696000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.792000 509.792000 220.792000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.888000 509.792000 223.888000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.984000 509.792000 226.984000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.080000 509.792000 230.080000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.176000 509.792000 233.176000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.272000 509.792000 236.272000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.368000 509.792000 239.368000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.464000 509.792000 242.464000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.560000 509.792000 245.560000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.656000 509.792000 248.656000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.752000 509.792000 251.752000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.848000 509.792000 254.848000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.944000 509.792000 257.944000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.040000 509.792000 261.040000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.136000 509.792000 264.136000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.232000 509.792000 267.232000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.328000 509.792000 270.328000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.424000 509.792000 273.424000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.520000 509.792000 276.520000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.616000 509.792000 279.616000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.712000 509.792000 282.712000 497.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.808000 509.792000 285.808000 497.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 509.792000 292.000000 497.792000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 496.392000 87.368000 484.392000 1.000000 0.000000 0.000000 1.000000 M +drawChar 87.296000 496.392000 93.296000 484.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 93.296000 496.392000 99.296000 484.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 99.296000 496.392000 102.620000 484.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 102.596000 496.392000 107.912000 484.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 107.900000 496.392000 111.896000 484.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 111.896000 496.392000 117.212000 484.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 117.296000 496.392000 123.296000 484.392000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 123.200000 496.392000 126.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.200000 496.392000 129.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.200000 496.392000 132.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.200000 496.392000 135.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.200000 496.392000 138.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.200000 496.392000 141.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.200000 496.392000 144.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.200000 496.392000 147.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.200000 496.392000 150.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.200000 496.392000 153.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.200000 496.392000 156.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.200000 496.392000 159.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.200000 496.392000 162.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.200000 496.392000 165.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.200000 496.392000 168.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.200000 496.392000 171.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.200000 496.392000 174.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.200000 496.392000 177.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.200000 496.392000 180.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.200000 496.392000 183.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.200000 496.392000 186.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.200000 496.392000 189.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.200000 496.392000 192.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.200000 496.392000 195.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.200000 496.392000 198.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.200000 496.392000 201.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.200000 496.392000 204.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.200000 496.392000 207.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.200000 496.392000 210.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.200000 496.392000 213.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.200000 496.392000 216.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.200000 496.392000 219.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.200000 496.392000 222.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.200000 496.392000 225.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.200000 496.392000 228.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.200000 496.392000 231.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.200000 496.392000 234.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.200000 496.392000 237.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.200000 496.392000 240.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.200000 496.392000 243.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.200000 496.392000 246.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.200000 496.392000 249.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.200000 496.392000 252.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.200000 496.392000 255.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.200000 496.392000 258.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.200000 496.392000 261.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.200000 496.392000 264.200000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.296000 496.392000 267.296000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.392000 496.392000 270.392000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.488000 496.392000 273.488000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.584000 496.392000 276.584000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.680000 496.392000 279.680000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.776000 496.392000 282.776000 484.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.872000 496.392000 285.872000 484.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 496.392000 292.000000 484.392000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 482.392000 85.364000 470.392000 1.000000 0.000000 0.000000 1.000000 N +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 468.992000 85.364000 456.992000 1.000000 0.000000 0.000000 1.000000 N +drawChar 85.304000 468.992000 90.620000 456.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.608000 468.992000 93.932000 456.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 94.004000 468.992000 97.328000 456.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 97.304000 468.992000 101.972000 456.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 101.900000 468.992000 104.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 104.900000 468.992000 107.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 107.900000 468.992000 110.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 110.900000 468.992000 113.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 113.900000 468.992000 116.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 116.900000 468.992000 119.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.900000 468.992000 122.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.900000 468.992000 125.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.900000 468.992000 128.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.900000 468.992000 131.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.900000 468.992000 134.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.900000 468.992000 137.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.900000 468.992000 140.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.900000 468.992000 143.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.900000 468.992000 146.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.900000 468.992000 149.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.900000 468.992000 152.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.900000 468.992000 155.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.900000 468.992000 158.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.900000 468.992000 161.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.900000 468.992000 164.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.900000 468.992000 167.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.900000 468.992000 170.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.900000 468.992000 173.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.900000 468.992000 176.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.900000 468.992000 179.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.900000 468.992000 182.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.900000 468.992000 185.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.900000 468.992000 188.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.900000 468.992000 191.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.900000 468.992000 194.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.900000 468.992000 197.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.900000 468.992000 200.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.900000 468.992000 203.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.900000 468.992000 206.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.900000 468.992000 209.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.900000 468.992000 212.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.900000 468.992000 215.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.900000 468.992000 218.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.900000 468.992000 221.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.900000 468.992000 224.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.900000 468.992000 227.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.900000 468.992000 230.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.900000 468.992000 233.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.900000 468.992000 236.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.900000 468.992000 239.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.900000 468.992000 242.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.900000 468.992000 245.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.900000 468.992000 248.900000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.996000 468.992000 251.996000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.092000 468.992000 255.092000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.188000 468.992000 258.188000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.284000 468.992000 261.284000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.380000 468.992000 264.380000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.476000 468.992000 267.476000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.572000 468.992000 270.572000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.668000 468.992000 273.668000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.764000 468.992000 276.764000 456.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.860000 468.992000 279.860000 456.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 468.992000 286.000000 456.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 468.992000 292.000000 456.992000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 455.592000 85.364000 443.592000 1.000000 0.000000 0.000000 1.000000 N +drawChar 85.304000 455.592000 90.620000 443.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 90.608000 455.592000 99.272000 443.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 99.308000 455.592000 102.308000 443.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 102.308000 455.592000 110.972000 443.592000 1.000000 0.000000 0.000000 1.000000 Y +drawChar 111.008000 455.592000 117.008000 443.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 117.008000 455.592000 121.004000 443.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 121.004000 455.592000 127.004000 443.592000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 126.900000 455.592000 129.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.900000 455.592000 132.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.900000 455.592000 135.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.900000 455.592000 138.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.900000 455.592000 141.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.900000 455.592000 144.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.900000 455.592000 147.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.900000 455.592000 150.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.900000 455.592000 153.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 455.592000 156.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 455.592000 159.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 455.592000 162.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 455.592000 165.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 455.592000 168.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 455.592000 171.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 455.592000 174.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 455.592000 177.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 455.592000 180.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 455.592000 183.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 455.592000 186.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 455.592000 189.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 455.592000 192.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 455.592000 195.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 455.592000 198.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 455.592000 201.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 455.592000 204.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 455.592000 207.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 455.592000 210.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 455.592000 213.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 455.592000 216.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 455.592000 219.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 455.592000 222.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 455.592000 225.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 455.592000 228.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 455.592000 231.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 455.592000 234.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 455.592000 237.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 455.592000 240.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 455.592000 243.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 455.592000 246.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 455.592000 249.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 455.592000 252.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 455.592000 255.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 455.592000 258.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 455.592000 261.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 455.592000 264.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 455.592000 267.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 455.592000 270.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 455.592000 273.900000 443.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 274.000000 455.592000 280.000000 443.592000 1.000000 0.000000 0.000000 1.000000 6 +drawChar 280.000000 455.592000 283.000000 443.592000 1.000000 0.000000 0.000000 1.000000 , +drawChar 283.000000 455.592000 286.000000 443.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 286.000000 455.592000 292.000000 443.592000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 90.800000 442.092000 98.792000 430.092000 1.000000 0.000000 0.000000 1.000000 B +drawChar 98.804000 442.092000 102.800000 430.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 102.800000 442.092000 108.800000 430.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 108.800000 442.092000 114.800000 430.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 114.800000 442.092000 120.800000 430.092000 1.000000 0.000000 0.000000 1.000000 k +drawChar 120.800000 442.092000 124.124000 430.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 124.100000 442.092000 130.100000 430.092000 1.000000 0.000000 0.000000 1.000000 y +drawChar 130.004000 442.092000 136.004000 430.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 136.100000 442.092000 139.100000 430.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 139.100000 442.092000 147.092000 430.092000 1.000000 0.000000 0.000000 1.000000 B +drawChar 147.104000 442.092000 151.100000 430.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 151.100000 442.092000 154.424000 430.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 154.496000 442.092000 160.496000 430.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 160.400000 442.092000 166.400000 430.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 166.400000 442.092000 171.716000 430.092000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 171.700000 442.092000 174.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.700000 442.092000 177.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.700000 442.092000 180.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.700000 442.092000 183.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.700000 442.092000 186.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.700000 442.092000 189.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.700000 442.092000 192.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.700000 442.092000 195.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.700000 442.092000 198.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.700000 442.092000 201.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.700000 442.092000 204.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.700000 442.092000 207.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.700000 442.092000 210.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.700000 442.092000 213.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.700000 442.092000 216.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.700000 442.092000 219.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.700000 442.092000 222.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.700000 442.092000 225.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.700000 442.092000 228.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.700000 442.092000 231.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.700000 442.092000 234.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.700000 442.092000 237.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.700000 442.092000 240.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.700000 442.092000 243.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.700000 442.092000 246.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.700000 442.092000 249.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.700000 442.092000 252.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.700000 442.092000 255.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.700000 442.092000 258.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.700000 442.092000 261.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.700000 442.092000 264.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.700000 442.092000 267.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.700000 442.092000 270.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.700000 442.092000 273.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.700000 442.092000 276.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.700000 442.092000 279.700000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.796000 442.092000 282.796000 430.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.892000 442.092000 285.892000 430.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 442.092000 292.000000 430.092000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 428.192000 86.024000 416.192000 1.000000 0.000000 0.000000 1.000000 O +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 414.792000 85.364000 402.792000 1.000000 0.000000 0.000000 1.000000 O +drawChar 85.304000 414.792000 90.620000 402.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.608000 414.792000 96.608000 402.792000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 96.500000 414.792000 99.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 99.500000 414.792000 102.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 102.500000 414.792000 105.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 105.500000 414.792000 108.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 108.500000 414.792000 111.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 111.500000 414.792000 114.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 114.500000 414.792000 117.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 117.500000 414.792000 120.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.500000 414.792000 123.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.500000 414.792000 126.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.500000 414.792000 129.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.500000 414.792000 132.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.500000 414.792000 135.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.500000 414.792000 138.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.500000 414.792000 141.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.500000 414.792000 144.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.500000 414.792000 147.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.500000 414.792000 150.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.500000 414.792000 153.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.500000 414.792000 156.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.500000 414.792000 159.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.500000 414.792000 162.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.500000 414.792000 165.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.500000 414.792000 168.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.500000 414.792000 171.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.500000 414.792000 174.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.500000 414.792000 177.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.500000 414.792000 180.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.500000 414.792000 183.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.500000 414.792000 186.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.500000 414.792000 189.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.500000 414.792000 192.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.500000 414.792000 195.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.500000 414.792000 198.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.500000 414.792000 201.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.500000 414.792000 204.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.500000 414.792000 207.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.500000 414.792000 210.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.500000 414.792000 213.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.500000 414.792000 216.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.500000 414.792000 219.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.500000 414.792000 222.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.500000 414.792000 225.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.500000 414.792000 228.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.500000 414.792000 231.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.500000 414.792000 234.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.500000 414.792000 237.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.500000 414.792000 240.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.500000 414.792000 243.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.500000 414.792000 246.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.500000 414.792000 249.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.500000 414.792000 252.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.500000 414.792000 255.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.500000 414.792000 258.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.500000 414.792000 261.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.500000 414.792000 264.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.500000 414.792000 267.500000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.596000 414.792000 270.596000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.692000 414.792000 273.692000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.788000 414.792000 276.788000 402.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.884000 414.792000 279.884000 402.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 414.792000 286.000000 402.792000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 414.792000 292.000000 402.792000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 401.292000 85.364000 389.292000 1.000000 0.000000 0.000000 1.000000 O +drawChar 85.304000 401.292000 88.628000 389.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 88.604000 401.292000 94.604000 389.292000 1.000000 0.000000 0.000000 1.000000 d +drawChar 94.508000 401.292000 98.504000 389.292000 1.000000 0.000000 0.000000 1.000000 - +drawChar 98.612000 401.292000 101.936000 389.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 101.912000 401.292000 105.236000 389.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 105.308000 401.292000 114.632000 389.292000 1.000000 0.000000 0.000000 1.000000 m +drawChar 114.608000 401.292000 119.924000 389.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 119.912000 401.292000 123.908000 389.292000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 123.900000 401.292000 126.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.900000 401.292000 129.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.900000 401.292000 132.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.900000 401.292000 135.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.900000 401.292000 138.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.900000 401.292000 141.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.900000 401.292000 144.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.900000 401.292000 147.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.900000 401.292000 150.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.900000 401.292000 153.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 401.292000 156.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 401.292000 159.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 401.292000 162.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 401.292000 165.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 401.292000 168.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 401.292000 171.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 401.292000 174.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 401.292000 177.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 401.292000 180.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 401.292000 183.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 401.292000 186.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 401.292000 189.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 401.292000 192.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 401.292000 195.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 401.292000 198.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 401.292000 201.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 401.292000 204.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 401.292000 207.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 401.292000 210.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 401.292000 213.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 401.292000 216.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 401.292000 219.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 401.292000 222.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 401.292000 225.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 401.292000 228.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 401.292000 231.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 401.292000 234.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 401.292000 237.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 401.292000 240.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 401.292000 243.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 401.292000 246.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 401.292000 249.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 401.292000 252.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 401.292000 255.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 401.292000 258.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 401.292000 261.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 401.292000 264.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 401.292000 267.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 401.292000 270.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 401.292000 273.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 401.292000 276.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 401.292000 279.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.900000 401.292000 282.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.900000 401.292000 285.900000 389.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 401.292000 292.000000 389.292000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 387.892000 85.364000 375.892000 1.000000 0.000000 0.000000 1.000000 O +drawChar 85.304000 387.892000 91.304000 375.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 91.304000 387.892000 94.628000 375.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 94.700000 387.892000 100.700000 375.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 100.700000 387.892000 106.700000 375.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 106.604000 387.892000 111.272000 375.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 111.200000 387.892000 114.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 114.200000 387.892000 117.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 117.200000 387.892000 120.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.200000 387.892000 123.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.200000 387.892000 126.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.200000 387.892000 129.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.200000 387.892000 132.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.200000 387.892000 135.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.200000 387.892000 138.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.200000 387.892000 141.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.200000 387.892000 144.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.200000 387.892000 147.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.200000 387.892000 150.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.200000 387.892000 153.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.200000 387.892000 156.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.200000 387.892000 159.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.200000 387.892000 162.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.200000 387.892000 165.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.200000 387.892000 168.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.200000 387.892000 171.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.200000 387.892000 174.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.200000 387.892000 177.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.200000 387.892000 180.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.200000 387.892000 183.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.200000 387.892000 186.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.200000 387.892000 189.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.200000 387.892000 192.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.200000 387.892000 195.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.200000 387.892000 198.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.200000 387.892000 201.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.200000 387.892000 204.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.200000 387.892000 207.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.200000 387.892000 210.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.200000 387.892000 213.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.200000 387.892000 216.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.200000 387.892000 219.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.200000 387.892000 222.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.200000 387.892000 225.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.200000 387.892000 228.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.200000 387.892000 231.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.200000 387.892000 234.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.200000 387.892000 237.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.200000 387.892000 240.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.200000 387.892000 243.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.200000 387.892000 246.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.200000 387.892000 249.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.200000 387.892000 252.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.200000 387.892000 255.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.200000 387.892000 258.200000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.296000 387.892000 261.296000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.392000 387.892000 264.392000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.488000 387.892000 267.488000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.584000 387.892000 270.584000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.680000 387.892000 273.680000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.776000 387.892000 276.776000 375.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.872000 387.892000 279.872000 375.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 387.892000 286.000000 375.892000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 387.892000 292.000000 375.892000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 374.392000 85.364000 362.392000 1.000000 0.000000 0.000000 1.000000 O +drawChar 85.304000 374.392000 89.300000 362.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 89.300000 374.392000 94.616000 362.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 94.604000 374.392000 100.604000 362.392000 1.000000 0.000000 0.000000 1.000000 g +drawChar 100.604000 374.392000 105.920000 362.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 105.908000 374.392000 111.908000 362.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 111.908000 374.392000 117.908000 362.392000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 117.900000 374.392000 120.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.900000 374.392000 123.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.900000 374.392000 126.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.900000 374.392000 129.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.900000 374.392000 132.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.900000 374.392000 135.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.900000 374.392000 138.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.900000 374.392000 141.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.900000 374.392000 144.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.900000 374.392000 147.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.900000 374.392000 150.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.900000 374.392000 153.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 374.392000 156.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 374.392000 159.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 374.392000 162.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 374.392000 165.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 374.392000 168.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 374.392000 171.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 374.392000 174.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 374.392000 177.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 374.392000 180.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 374.392000 183.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 374.392000 186.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 374.392000 189.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 374.392000 192.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 374.392000 195.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 374.392000 198.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 374.392000 201.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 374.392000 204.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 374.392000 207.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 374.392000 210.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 374.392000 213.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 374.392000 216.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 374.392000 219.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 374.392000 222.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 374.392000 225.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 374.392000 228.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 374.392000 231.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 374.392000 234.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 374.392000 237.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 374.392000 240.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 374.392000 243.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 374.392000 246.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 374.392000 249.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 374.392000 252.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 374.392000 255.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 374.392000 258.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 374.392000 261.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 374.392000 264.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 374.392000 267.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 374.392000 270.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 374.392000 273.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 374.392000 276.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 374.392000 279.900000 362.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 374.392000 286.000000 362.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 374.392000 292.000000 362.392000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 360.992000 85.364000 348.992000 1.000000 0.000000 0.000000 1.000000 O +drawChar 85.304000 360.992000 89.300000 348.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 89.204000 360.992000 92.528000 348.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 92.600000 360.992000 97.916000 348.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 97.904000 360.992000 103.904000 348.992000 1.000000 0.000000 0.000000 1.000000 n +drawChar 103.904000 360.992000 107.228000 348.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 107.204000 360.992000 112.520000 348.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 112.508000 360.992000 115.832000 348.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 116.012000 360.992000 119.012000 348.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 119.012000 360.992000 124.328000 348.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 124.316000 360.992000 129.632000 348.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 129.620000 360.992000 133.616000 348.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 133.616000 360.992000 139.616000 348.992000 1.000000 0.000000 0.000000 1.000000 p +drawChar 139.520000 360.992000 144.836000 348.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 144.824000 360.992000 148.148000 348.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 148.124000 360.992000 152.792000 348.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 152.900000 360.992000 155.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.900000 360.992000 158.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.900000 360.992000 161.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.900000 360.992000 164.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.900000 360.992000 167.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.900000 360.992000 170.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.900000 360.992000 173.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.900000 360.992000 176.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.900000 360.992000 179.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.900000 360.992000 182.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.900000 360.992000 185.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.900000 360.992000 188.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.900000 360.992000 191.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.900000 360.992000 194.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.900000 360.992000 197.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.900000 360.992000 200.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.900000 360.992000 203.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.900000 360.992000 206.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.900000 360.992000 209.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.900000 360.992000 212.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.900000 360.992000 215.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.900000 360.992000 218.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.900000 360.992000 221.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.900000 360.992000 224.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.900000 360.992000 227.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.900000 360.992000 230.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.900000 360.992000 233.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.900000 360.992000 236.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.900000 360.992000 239.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.900000 360.992000 242.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.900000 360.992000 245.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.900000 360.992000 248.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.900000 360.992000 251.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.900000 360.992000 254.900000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.996000 360.992000 257.996000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.092000 360.992000 261.092000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.188000 360.992000 264.188000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.284000 360.992000 267.284000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.380000 360.992000 270.380000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.476000 360.992000 273.476000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.572000 360.992000 276.572000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.668000 360.992000 279.668000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.764000 360.992000 282.764000 348.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.860000 360.992000 285.860000 348.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 360.992000 292.000000 348.992000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 346.992000 84.020000 334.992000 1.000000 0.000000 0.000000 1.000000 P +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 333.592000 83.372000 321.592000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.396000 333.592000 88.712000 321.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 88.700000 333.592000 94.700000 321.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 94.700000 333.592000 100.700000 321.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 100.604000 333.592000 104.600000 321.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 104.600000 333.592000 109.916000 321.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 109.904000 333.592000 119.228000 321.592000 1.000000 0.000000 0.000000 1.000000 m +drawChar 119.204000 333.592000 124.520000 321.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 124.604000 333.592000 127.604000 321.592000 1.000000 0.000000 0.000000 1.000000 +drawChar 127.604000 333.592000 136.268000 321.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 136.304000 333.592000 139.628000 321.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 139.604000 333.592000 145.604000 321.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 145.604000 333.592000 151.604000 321.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 151.508000 333.592000 157.508000 321.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 157.508000 333.592000 166.172000 321.592000 1.000000 0.000000 0.000000 1.000000 w +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 166.200000 333.592000 169.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.200000 333.592000 172.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.200000 333.592000 175.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.200000 333.592000 178.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.200000 333.592000 181.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.200000 333.592000 184.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.200000 333.592000 187.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.200000 333.592000 190.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.200000 333.592000 193.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.200000 333.592000 196.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.200000 333.592000 199.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.200000 333.592000 202.200000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.296000 333.592000 205.296000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.392000 333.592000 208.392000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.488000 333.592000 211.488000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.584000 333.592000 214.584000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.680000 333.592000 217.680000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.776000 333.592000 220.776000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.872000 333.592000 223.872000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.968000 333.592000 226.968000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.064000 333.592000 230.064000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.160000 333.592000 233.160000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.256000 333.592000 236.256000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.352000 333.592000 239.352000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.448000 333.592000 242.448000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.544000 333.592000 245.544000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.640000 333.592000 248.640000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.736000 333.592000 251.736000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.832000 333.592000 254.832000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.928000 333.592000 257.928000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.024000 333.592000 261.024000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.120000 333.592000 264.120000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.216000 333.592000 267.216000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.312000 333.592000 270.312000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.408000 333.592000 273.408000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.504000 333.592000 276.504000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.600000 333.592000 279.600000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.696000 333.592000 282.696000 321.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.792000 333.592000 285.792000 321.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 333.592000 292.000000 321.592000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 320.192000 83.372000 308.192000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.396000 320.192000 88.712000 308.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 88.592000 320.192000 93.260000 308.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 93.296000 320.192000 96.620000 308.192000 1.000000 0.000000 0.000000 1.000000 t +drawChar 96.596000 320.192000 101.912000 308.192000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 101.900000 320.192000 104.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 104.900000 320.192000 107.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 107.900000 320.192000 110.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 110.900000 320.192000 113.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 113.900000 320.192000 116.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 116.900000 320.192000 119.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.900000 320.192000 122.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.900000 320.192000 125.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.900000 320.192000 128.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.900000 320.192000 131.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.900000 320.192000 134.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.900000 320.192000 137.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.900000 320.192000 140.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.900000 320.192000 143.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.900000 320.192000 146.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.900000 320.192000 149.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.900000 320.192000 152.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.900000 320.192000 155.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.900000 320.192000 158.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.900000 320.192000 161.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.900000 320.192000 164.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.900000 320.192000 167.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.900000 320.192000 170.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.900000 320.192000 173.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.900000 320.192000 176.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.900000 320.192000 179.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.900000 320.192000 182.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.900000 320.192000 185.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.900000 320.192000 188.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.900000 320.192000 191.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.900000 320.192000 194.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.900000 320.192000 197.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.900000 320.192000 200.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.900000 320.192000 203.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.900000 320.192000 206.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.900000 320.192000 209.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.900000 320.192000 212.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.900000 320.192000 215.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.900000 320.192000 218.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.900000 320.192000 221.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.900000 320.192000 224.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.900000 320.192000 227.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.900000 320.192000 230.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.900000 320.192000 233.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.900000 320.192000 236.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.900000 320.192000 239.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.900000 320.192000 242.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.900000 320.192000 245.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.900000 320.192000 248.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.900000 320.192000 251.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.900000 320.192000 254.900000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.996000 320.192000 257.996000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.092000 320.192000 261.092000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.188000 320.192000 264.188000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.284000 320.192000 267.284000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.380000 320.192000 270.380000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.476000 320.192000 273.476000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.572000 320.192000 276.572000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.668000 320.192000 279.668000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.764000 320.192000 282.764000 308.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.860000 320.192000 285.860000 308.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 320.192000 292.000000 308.192000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 306.692000 83.372000 294.692000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.300000 306.692000 91.292000 294.692000 1.000000 0.000000 0.000000 1.000000 C +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 91.200000 306.692000 94.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 94.200000 306.692000 97.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 97.200000 306.692000 100.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 100.200000 306.692000 103.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 103.200000 306.692000 106.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 106.200000 306.692000 109.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 109.200000 306.692000 112.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 112.200000 306.692000 115.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.200000 306.692000 118.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.200000 306.692000 121.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.200000 306.692000 124.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.200000 306.692000 127.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.200000 306.692000 130.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.200000 306.692000 133.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.200000 306.692000 136.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.200000 306.692000 139.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.200000 306.692000 142.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.200000 306.692000 145.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.200000 306.692000 148.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.200000 306.692000 151.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.200000 306.692000 154.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.200000 306.692000 157.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.200000 306.692000 160.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.200000 306.692000 163.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.200000 306.692000 166.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.200000 306.692000 169.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.200000 306.692000 172.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.200000 306.692000 175.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.200000 306.692000 178.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.200000 306.692000 181.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.200000 306.692000 184.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.200000 306.692000 187.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.200000 306.692000 190.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.200000 306.692000 193.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.200000 306.692000 196.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.200000 306.692000 199.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.200000 306.692000 202.200000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.296000 306.692000 205.296000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.392000 306.692000 208.392000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.488000 306.692000 211.488000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.584000 306.692000 214.584000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.680000 306.692000 217.680000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.776000 306.692000 220.776000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.872000 306.692000 223.872000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.968000 306.692000 226.968000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.064000 306.692000 230.064000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.160000 306.692000 233.160000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.256000 306.692000 236.256000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.352000 306.692000 239.352000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.448000 306.692000 242.448000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.544000 306.692000 245.544000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.640000 306.692000 248.640000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.736000 306.692000 251.736000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.832000 306.692000 254.832000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.928000 306.692000 257.928000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.024000 306.692000 261.024000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.120000 306.692000 264.120000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.216000 306.692000 267.216000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.312000 306.692000 270.312000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.408000 306.692000 273.408000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.504000 306.692000 276.504000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.600000 306.692000 279.600000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.696000 306.692000 282.696000 294.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.792000 306.692000 285.792000 294.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 306.692000 292.000000 294.692000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 293.292000 83.372000 281.292000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.396000 293.292000 88.712000 281.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 88.700000 293.292000 94.016000 281.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 94.004000 293.292000 98.000000 281.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 97.904000 293.292000 102.572000 281.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 102.500000 293.292000 105.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 105.500000 293.292000 108.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 108.500000 293.292000 111.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 111.500000 293.292000 114.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 114.500000 293.292000 117.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 117.500000 293.292000 120.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.500000 293.292000 123.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.500000 293.292000 126.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.500000 293.292000 129.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.500000 293.292000 132.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.500000 293.292000 135.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.500000 293.292000 138.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.500000 293.292000 141.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.500000 293.292000 144.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.500000 293.292000 147.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.500000 293.292000 150.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.500000 293.292000 153.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.500000 293.292000 156.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.500000 293.292000 159.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.500000 293.292000 162.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.500000 293.292000 165.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.500000 293.292000 168.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.500000 293.292000 171.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.500000 293.292000 174.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.500000 293.292000 177.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.500000 293.292000 180.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.500000 293.292000 183.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.500000 293.292000 186.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.500000 293.292000 189.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.500000 293.292000 192.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.500000 293.292000 195.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.500000 293.292000 198.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.500000 293.292000 201.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.500000 293.292000 204.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.500000 293.292000 207.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.500000 293.292000 210.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.500000 293.292000 213.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.500000 293.292000 216.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.500000 293.292000 219.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.500000 293.292000 222.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.500000 293.292000 225.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.500000 293.292000 228.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.500000 293.292000 231.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.500000 293.292000 234.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.500000 293.292000 237.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.500000 293.292000 240.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.500000 293.292000 243.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.500000 293.292000 246.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.500000 293.292000 249.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.500000 293.292000 252.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.500000 293.292000 255.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.500000 293.292000 258.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.500000 293.292000 261.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.500000 293.292000 264.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.500000 293.292000 267.500000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.596000 293.292000 270.596000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.692000 293.292000 273.692000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.788000 293.292000 276.788000 281.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.884000 293.292000 279.884000 281.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 293.292000 286.000000 281.292000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 293.292000 292.000000 281.292000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 279.792000 83.372000 267.792000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.300000 279.792000 86.624000 267.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 86.696000 279.792000 92.012000 267.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 92.000000 279.792000 98.000000 267.792000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 97.900000 279.792000 100.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 100.900000 279.792000 103.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 103.900000 279.792000 106.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 106.900000 279.792000 109.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 109.900000 279.792000 112.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 112.900000 279.792000 115.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.900000 279.792000 118.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.900000 279.792000 121.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.900000 279.792000 124.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.900000 279.792000 127.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.900000 279.792000 130.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.900000 279.792000 133.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.900000 279.792000 136.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.900000 279.792000 139.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.900000 279.792000 142.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.900000 279.792000 145.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.900000 279.792000 148.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.900000 279.792000 151.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.900000 279.792000 154.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.900000 279.792000 157.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.900000 279.792000 160.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.900000 279.792000 163.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.900000 279.792000 166.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.900000 279.792000 169.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.900000 279.792000 172.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.900000 279.792000 175.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.900000 279.792000 178.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.900000 279.792000 181.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.900000 279.792000 184.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.900000 279.792000 187.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.900000 279.792000 190.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.900000 279.792000 193.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.900000 279.792000 196.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.900000 279.792000 199.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.900000 279.792000 202.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.900000 279.792000 205.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.900000 279.792000 208.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.900000 279.792000 211.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.900000 279.792000 214.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.900000 279.792000 217.900000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.996000 279.792000 220.996000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.092000 279.792000 224.092000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.188000 279.792000 227.188000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.284000 279.792000 230.284000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.380000 279.792000 233.380000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.476000 279.792000 236.476000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.572000 279.792000 239.572000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.668000 279.792000 242.668000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.764000 279.792000 245.764000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.860000 279.792000 248.860000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.956000 279.792000 251.956000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.052000 279.792000 255.052000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.148000 279.792000 258.148000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.244000 279.792000 261.244000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.340000 279.792000 264.340000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.436000 279.792000 267.436000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.532000 279.792000 270.532000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.628000 279.792000 273.628000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.724000 279.792000 276.724000 267.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.820000 279.792000 279.820000 267.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 279.792000 286.000000 267.792000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 279.792000 292.000000 267.792000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 266.392000 83.372000 254.392000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.300000 266.392000 86.624000 254.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 86.696000 266.392000 92.696000 254.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 92.696000 266.392000 98.012000 254.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 98.000000 266.392000 102.668000 254.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 102.600000 266.392000 105.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 105.600000 266.392000 108.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 108.600000 266.392000 111.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 111.600000 266.392000 114.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 114.600000 266.392000 117.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 117.600000 266.392000 120.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.600000 266.392000 123.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.600000 266.392000 126.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.600000 266.392000 129.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.600000 266.392000 132.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.600000 266.392000 135.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.600000 266.392000 138.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.600000 266.392000 141.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.600000 266.392000 144.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.600000 266.392000 147.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.600000 266.392000 150.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.600000 266.392000 153.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.600000 266.392000 156.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.600000 266.392000 159.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.600000 266.392000 162.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.600000 266.392000 165.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.600000 266.392000 168.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.600000 266.392000 171.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.600000 266.392000 174.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.600000 266.392000 177.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.600000 266.392000 180.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.600000 266.392000 183.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.600000 266.392000 186.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.600000 266.392000 189.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.600000 266.392000 192.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.600000 266.392000 195.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.600000 266.392000 198.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.600000 266.392000 201.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.600000 266.392000 204.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.600000 266.392000 207.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.600000 266.392000 210.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.600000 266.392000 213.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.600000 266.392000 216.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.600000 266.392000 219.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.600000 266.392000 222.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.600000 266.392000 225.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.600000 266.392000 228.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.600000 266.392000 231.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.600000 266.392000 234.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.600000 266.392000 237.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.600000 266.392000 240.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.600000 266.392000 243.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.600000 266.392000 246.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.600000 266.392000 249.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.600000 266.392000 252.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.600000 266.392000 255.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.600000 266.392000 258.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.600000 266.392000 261.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.600000 266.392000 264.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.600000 266.392000 267.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.600000 266.392000 270.600000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.696000 266.392000 273.696000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.792000 266.392000 276.792000 254.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.888000 266.392000 279.888000 254.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 266.392000 286.000000 254.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 266.392000 292.000000 254.392000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 252.892000 83.372000 240.892000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.396000 252.892000 86.720000 240.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 86.600000 252.892000 89.924000 240.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 89.996000 252.892000 95.312000 240.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 95.300000 252.892000 99.296000 240.892000 1.000000 0.000000 0.000000 1.000000 r +drawChar 99.296000 252.892000 103.964000 240.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 103.900000 252.892000 106.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 106.900000 252.892000 109.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 109.900000 252.892000 112.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 112.900000 252.892000 115.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.900000 252.892000 118.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.900000 252.892000 121.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.900000 252.892000 124.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.900000 252.892000 127.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.900000 252.892000 130.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.900000 252.892000 133.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.900000 252.892000 136.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.900000 252.892000 139.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.900000 252.892000 142.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.900000 252.892000 145.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.900000 252.892000 148.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.900000 252.892000 151.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.900000 252.892000 154.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.900000 252.892000 157.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.900000 252.892000 160.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.900000 252.892000 163.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.900000 252.892000 166.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.900000 252.892000 169.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.900000 252.892000 172.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.900000 252.892000 175.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.900000 252.892000 178.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.900000 252.892000 181.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.900000 252.892000 184.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.900000 252.892000 187.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.900000 252.892000 190.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.900000 252.892000 193.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.900000 252.892000 196.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.900000 252.892000 199.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.900000 252.892000 202.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.900000 252.892000 205.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.900000 252.892000 208.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.900000 252.892000 211.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.900000 252.892000 214.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.900000 252.892000 217.900000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.996000 252.892000 220.996000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.092000 252.892000 224.092000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.188000 252.892000 227.188000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.284000 252.892000 230.284000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.380000 252.892000 233.380000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.476000 252.892000 236.476000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.572000 252.892000 239.572000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.668000 252.892000 242.668000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.764000 252.892000 245.764000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.860000 252.892000 248.860000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.956000 252.892000 251.956000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.052000 252.892000 255.052000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.148000 252.892000 258.148000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.244000 252.892000 261.244000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.340000 252.892000 264.340000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.436000 252.892000 267.436000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.532000 252.892000 270.532000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.628000 252.892000 273.628000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.724000 252.892000 276.724000 240.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.820000 252.892000 279.820000 240.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 252.892000 286.000000 240.892000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 252.892000 292.000000 240.892000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 239.492000 83.372000 227.492000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.300000 239.492000 89.300000 227.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 89.300000 239.492000 94.616000 227.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 94.604000 239.492000 97.604000 227.492000 1.000000 0.000000 0.000000 1.000000 , +drawChar 97.700000 239.492000 100.700000 227.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 100.700000 239.492000 108.020000 227.492000 1.000000 0.000000 0.000000 1.000000 E +drawChar 107.996000 239.492000 113.996000 227.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 113.900000 239.492000 119.900000 227.492000 1.000000 0.000000 0.000000 1.000000 g +drawChar 119.900000 239.492000 125.216000 227.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 125.204000 239.492000 129.200000 227.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 129.308000 239.492000 132.308000 227.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 132.308000 239.492000 140.972000 227.492000 1.000000 0.000000 0.000000 1.000000 A +drawChar 141.008000 239.492000 144.332000 227.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 144.308000 239.492000 147.632000 227.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 147.608000 239.492000 152.924000 227.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 152.912000 239.492000 158.912000 227.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 159.008000 239.492000 162.008000 227.492000 1.000000 0.000000 0.000000 1.000000 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 161.900000 239.492000 164.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.900000 239.492000 167.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.900000 239.492000 170.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.900000 239.492000 173.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.900000 239.492000 176.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.900000 239.492000 179.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.900000 239.492000 182.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.900000 239.492000 185.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.900000 239.492000 188.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.900000 239.492000 191.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.900000 239.492000 194.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.900000 239.492000 197.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.900000 239.492000 200.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.900000 239.492000 203.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.900000 239.492000 206.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.900000 239.492000 209.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.900000 239.492000 212.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.900000 239.492000 215.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.900000 239.492000 218.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.900000 239.492000 221.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.900000 239.492000 224.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.900000 239.492000 227.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.900000 239.492000 230.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.900000 239.492000 233.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.900000 239.492000 236.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.900000 239.492000 239.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.900000 239.492000 242.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.900000 239.492000 245.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.900000 239.492000 248.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.900000 239.492000 251.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.900000 239.492000 254.900000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.996000 239.492000 257.996000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.092000 239.492000 261.092000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.188000 239.492000 264.188000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.284000 239.492000 267.284000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.380000 239.492000 270.380000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.476000 239.492000 273.476000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.572000 239.492000 276.572000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.668000 239.492000 279.668000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.764000 239.492000 282.764000 227.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.860000 239.492000 285.860000 227.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 239.492000 292.000000 227.492000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 225.992000 83.372000 213.992000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.300000 225.992000 89.300000 213.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 89.300000 225.992000 95.300000 213.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 95.300000 225.992000 98.624000 213.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 98.696000 225.992000 101.696000 213.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 101.696000 225.992000 105.020000 213.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 104.996000 225.992000 110.312000 213.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 110.300000 225.992000 116.300000 213.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 116.300000 225.992000 119.624000 213.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 119.600000 225.992000 124.916000 213.992000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 124.900000 225.992000 127.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.900000 225.992000 130.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.900000 225.992000 133.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.900000 225.992000 136.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.900000 225.992000 139.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.900000 225.992000 142.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.900000 225.992000 145.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.900000 225.992000 148.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.900000 225.992000 151.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.900000 225.992000 154.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.900000 225.992000 157.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.900000 225.992000 160.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.900000 225.992000 163.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.900000 225.992000 166.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.900000 225.992000 169.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.900000 225.992000 172.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.900000 225.992000 175.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.900000 225.992000 178.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.900000 225.992000 181.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.900000 225.992000 184.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.900000 225.992000 187.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.900000 225.992000 190.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.900000 225.992000 193.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.900000 225.992000 196.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.900000 225.992000 199.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.900000 225.992000 202.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.900000 225.992000 205.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.900000 225.992000 208.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.900000 225.992000 211.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.900000 225.992000 214.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.900000 225.992000 217.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.900000 225.992000 220.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.900000 225.992000 223.900000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.996000 225.992000 226.996000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.092000 225.992000 230.092000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.188000 225.992000 233.188000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.284000 225.992000 236.284000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.380000 225.992000 239.380000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.476000 225.992000 242.476000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.572000 225.992000 245.572000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.668000 225.992000 248.668000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.764000 225.992000 251.764000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.860000 225.992000 254.860000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.956000 225.992000 257.956000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.052000 225.992000 261.052000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.148000 225.992000 264.148000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.244000 225.992000 267.244000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.340000 225.992000 270.340000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.436000 225.992000 273.436000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.532000 225.992000 276.532000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.628000 225.992000 279.628000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.724000 225.992000 282.724000 213.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.820000 225.992000 285.820000 213.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 225.992000 292.000000 213.992000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 212.592000 83.372000 200.592000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.300000 212.592000 89.300000 200.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 89.300000 212.592000 93.296000 200.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 93.296000 212.592000 98.612000 200.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 98.600000 212.592000 103.916000 200.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 103.904000 212.592000 107.228000 200.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 107.204000 212.592000 112.520000 200.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 112.508000 212.592000 115.832000 200.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 115.904000 212.592000 121.904000 200.592000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 121.900000 212.592000 124.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.900000 212.592000 127.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.900000 212.592000 130.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.900000 212.592000 133.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.900000 212.592000 136.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.900000 212.592000 139.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.900000 212.592000 142.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.900000 212.592000 145.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.900000 212.592000 148.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.900000 212.592000 151.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.900000 212.592000 154.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.900000 212.592000 157.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.900000 212.592000 160.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.900000 212.592000 163.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.900000 212.592000 166.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.900000 212.592000 169.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.900000 212.592000 172.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.900000 212.592000 175.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.900000 212.592000 178.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.900000 212.592000 181.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.900000 212.592000 184.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.900000 212.592000 187.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.900000 212.592000 190.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.900000 212.592000 193.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.900000 212.592000 196.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.900000 212.592000 199.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.900000 212.592000 202.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.900000 212.592000 205.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.900000 212.592000 208.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.900000 212.592000 211.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.900000 212.592000 214.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.900000 212.592000 217.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.900000 212.592000 220.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.900000 212.592000 223.900000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.996000 212.592000 226.996000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.092000 212.592000 230.092000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.188000 212.592000 233.188000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.284000 212.592000 236.284000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.380000 212.592000 239.380000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.476000 212.592000 242.476000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.572000 212.592000 245.572000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.668000 212.592000 248.668000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.764000 212.592000 251.764000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.860000 212.592000 254.860000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.956000 212.592000 257.956000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.052000 212.592000 261.052000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.148000 212.592000 264.148000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.244000 212.592000 267.244000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.340000 212.592000 270.340000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.436000 212.592000 273.436000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.532000 212.592000 276.532000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.628000 212.592000 279.628000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.724000 212.592000 282.724000 200.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.820000 212.592000 285.820000 200.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 212.592000 292.000000 200.592000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 199.092000 83.372000 187.092000 1.000000 0.000000 0.000000 1.000000 P +drawChar 83.300000 199.092000 89.300000 187.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 89.300000 199.092000 92.624000 187.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 92.600000 199.092000 97.916000 187.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 97.904000 199.092000 101.228000 187.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 101.204000 199.092000 107.204000 187.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 107.204000 199.092000 112.520000 187.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 112.508000 199.092000 117.176000 187.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 117.200000 199.092000 120.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 120.200000 199.092000 123.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 123.200000 199.092000 126.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.200000 199.092000 129.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.200000 199.092000 132.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.200000 199.092000 135.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.200000 199.092000 138.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.200000 199.092000 141.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.200000 199.092000 144.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.200000 199.092000 147.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.200000 199.092000 150.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.200000 199.092000 153.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.200000 199.092000 156.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.200000 199.092000 159.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.200000 199.092000 162.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.200000 199.092000 165.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.200000 199.092000 168.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.200000 199.092000 171.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.200000 199.092000 174.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.200000 199.092000 177.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.200000 199.092000 180.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.200000 199.092000 183.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.200000 199.092000 186.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.200000 199.092000 189.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.200000 199.092000 192.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.200000 199.092000 195.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.200000 199.092000 198.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.200000 199.092000 201.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.200000 199.092000 204.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.200000 199.092000 207.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.200000 199.092000 210.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.200000 199.092000 213.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.200000 199.092000 216.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.200000 199.092000 219.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.200000 199.092000 222.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.200000 199.092000 225.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.200000 199.092000 228.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.200000 199.092000 231.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.200000 199.092000 234.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.200000 199.092000 237.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.200000 199.092000 240.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.200000 199.092000 243.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.200000 199.092000 246.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.200000 199.092000 249.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.200000 199.092000 252.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.200000 199.092000 255.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.200000 199.092000 258.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.200000 199.092000 261.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.200000 199.092000 264.200000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.296000 199.092000 267.296000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.392000 199.092000 270.392000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.488000 199.092000 273.488000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.584000 199.092000 276.584000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.680000 199.092000 279.680000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.776000 199.092000 282.776000 187.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.872000 199.092000 285.872000 187.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 199.092000 292.000000 187.092000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 185.192000 86.024000 173.192000 1.000000 0.000000 0.000000 1.000000 Q +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 171.792000 85.364000 159.792000 1.000000 0.000000 0.000000 1.000000 Q +drawChar 85.304000 171.792000 91.304000 159.792000 1.000000 0.000000 0.000000 1.000000 u +drawChar 91.304000 171.792000 96.620000 159.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 96.608000 171.792000 100.604000 159.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 100.604000 171.792000 103.928000 159.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 103.904000 171.792000 109.220000 159.792000 1.000000 0.000000 0.000000 1.000000 z +drawChar 109.304000 171.792000 112.304000 159.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 112.304000 171.792000 117.620000 159.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 117.608000 171.792000 120.932000 159.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 120.908000 171.792000 126.908000 159.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 126.908000 171.792000 132.224000 159.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 132.212000 171.792000 138.212000 159.792000 1.000000 0.000000 0.000000 1.000000 k +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 138.200000 171.792000 141.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.200000 171.792000 144.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.200000 171.792000 147.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.200000 171.792000 150.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.200000 171.792000 153.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.200000 171.792000 156.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.200000 171.792000 159.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.200000 171.792000 162.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.200000 171.792000 165.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.200000 171.792000 168.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.200000 171.792000 171.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.200000 171.792000 174.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.200000 171.792000 177.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.200000 171.792000 180.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.200000 171.792000 183.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.200000 171.792000 186.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.200000 171.792000 189.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.200000 171.792000 192.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.200000 171.792000 195.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.200000 171.792000 198.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.200000 171.792000 201.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.200000 171.792000 204.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.200000 171.792000 207.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.200000 171.792000 210.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.200000 171.792000 213.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.200000 171.792000 216.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.200000 171.792000 219.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.200000 171.792000 222.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.200000 171.792000 225.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.200000 171.792000 228.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.200000 171.792000 231.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.200000 171.792000 234.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.200000 171.792000 237.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.200000 171.792000 240.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.200000 171.792000 243.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.200000 171.792000 246.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.200000 171.792000 249.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.200000 171.792000 252.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.200000 171.792000 255.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.200000 171.792000 258.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.200000 171.792000 261.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.200000 171.792000 264.200000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.296000 171.792000 267.296000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.392000 171.792000 270.392000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.488000 171.792000 273.488000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.584000 171.792000 276.584000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.680000 171.792000 279.680000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.776000 171.792000 282.776000 159.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.872000 171.792000 285.872000 159.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 171.792000 292.000000 159.792000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 158.292000 85.364000 146.292000 1.000000 0.000000 0.000000 1.000000 Q +drawChar 85.304000 158.292000 91.304000 146.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 91.304000 158.292000 96.620000 146.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 96.608000 158.292000 101.924000 146.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 101.912000 158.292000 107.912000 146.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 107.912000 158.292000 111.908000 146.292000 1.000000 0.000000 0.000000 1.000000 - +drawChar 112.016000 158.292000 116.684000 146.292000 1.000000 0.000000 0.000000 1.000000 s +drawChar 116.612000 158.292000 119.936000 146.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 120.008000 158.292000 125.324000 146.292000 1.000000 0.000000 0.000000 1.000000 z +drawChar 125.312000 158.292000 130.628000 146.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 130.616000 158.292000 133.616000 146.292000 1.000000 0.000000 0.000000 1.000000 +drawChar 133.616000 158.292000 139.616000 146.292000 1.000000 0.000000 0.000000 1.000000 b +drawChar 139.616000 158.292000 144.932000 146.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 144.920000 158.292000 150.920000 146.292000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 150.900000 158.292000 153.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 158.292000 156.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 158.292000 159.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 158.292000 162.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 158.292000 165.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 158.292000 168.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 158.292000 171.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 158.292000 174.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 158.292000 177.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 158.292000 180.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 158.292000 183.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 158.292000 186.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 158.292000 189.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 158.292000 192.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 158.292000 195.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 158.292000 198.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 158.292000 201.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 158.292000 204.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 158.292000 207.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 158.292000 210.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 158.292000 213.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 158.292000 216.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 158.292000 219.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 158.292000 222.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 158.292000 225.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 158.292000 228.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 158.292000 231.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 158.292000 234.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 158.292000 237.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 158.292000 240.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 158.292000 243.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 158.292000 246.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 158.292000 249.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 158.292000 252.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 158.292000 255.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 158.292000 258.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 158.292000 261.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 158.292000 264.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 158.292000 267.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 158.292000 270.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 158.292000 273.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 158.292000 276.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 158.292000 279.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.900000 158.292000 282.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.900000 158.292000 285.900000 146.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 158.292000 292.000000 146.292000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 144.392000 85.364000 132.392000 1.000000 0.000000 0.000000 1.000000 R +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 130.992000 84.692000 118.992000 1.000000 0.000000 0.000000 1.000000 R +drawChar 84.704000 130.992000 90.020000 118.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 90.008000 130.992000 96.008000 118.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 95.912000 130.992000 99.236000 118.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 99.308000 130.992000 103.976000 118.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 103.904000 130.992000 109.904000 118.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 110.000000 130.992000 115.316000 118.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 115.304000 130.992000 119.972000 118.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 119.900000 130.992000 122.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.900000 130.992000 125.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.900000 130.992000 128.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.900000 130.992000 131.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.900000 130.992000 134.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.900000 130.992000 137.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.900000 130.992000 140.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.900000 130.992000 143.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.900000 130.992000 146.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.900000 130.992000 149.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.900000 130.992000 152.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.900000 130.992000 155.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.900000 130.992000 158.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.900000 130.992000 161.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.900000 130.992000 164.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.900000 130.992000 167.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.900000 130.992000 170.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.900000 130.992000 173.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.900000 130.992000 176.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.900000 130.992000 179.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.900000 130.992000 182.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.900000 130.992000 185.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.900000 130.992000 188.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.900000 130.992000 191.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.900000 130.992000 194.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.900000 130.992000 197.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.900000 130.992000 200.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.900000 130.992000 203.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.900000 130.992000 206.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.900000 130.992000 209.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.900000 130.992000 212.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.900000 130.992000 215.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.900000 130.992000 218.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.900000 130.992000 221.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.900000 130.992000 224.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.900000 130.992000 227.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.900000 130.992000 230.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.900000 130.992000 233.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.900000 130.992000 236.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.900000 130.992000 239.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.900000 130.992000 242.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.900000 130.992000 245.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.900000 130.992000 248.900000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.996000 130.992000 251.996000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.092000 130.992000 255.092000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.188000 130.992000 258.188000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.284000 130.992000 261.284000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.380000 130.992000 264.380000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.476000 130.992000 267.476000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.572000 130.992000 270.572000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.668000 130.992000 273.668000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.764000 130.992000 276.764000 118.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.860000 130.992000 279.860000 118.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 130.992000 286.000000 118.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 130.992000 292.000000 118.992000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 672.992000 328.292000 660.992000 1.000000 0.000000 0.000000 1.000000 R +drawChar 328.304000 672.992000 333.620000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 333.608000 672.992000 339.608000 660.992000 1.000000 0.000000 0.000000 1.000000 k +drawChar 339.608000 672.992000 344.924000 660.992000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 344.800000 672.992000 347.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.800000 672.992000 350.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.800000 672.992000 353.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.800000 672.992000 356.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.800000 672.992000 359.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.800000 672.992000 362.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.800000 672.992000 365.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.800000 672.992000 368.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.800000 672.992000 371.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.800000 672.992000 374.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.800000 672.992000 377.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.800000 672.992000 380.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.800000 672.992000 383.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.800000 672.992000 386.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.800000 672.992000 389.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.800000 672.992000 392.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.800000 672.992000 395.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.800000 672.992000 398.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.800000 672.992000 401.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.800000 672.992000 404.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.800000 672.992000 407.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.800000 672.992000 410.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.800000 672.992000 413.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.800000 672.992000 416.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.800000 672.992000 419.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.800000 672.992000 422.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.800000 672.992000 425.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.800000 672.992000 428.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.800000 672.992000 431.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.800000 672.992000 434.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.800000 672.992000 437.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.800000 672.992000 440.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.800000 672.992000 443.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.800000 672.992000 446.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.800000 672.992000 449.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.800000 672.992000 452.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.800000 672.992000 455.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.800000 672.992000 458.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.800000 672.992000 461.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.800000 672.992000 464.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.800000 672.992000 467.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.800000 672.992000 470.800000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.896000 672.992000 473.896000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.992000 672.992000 476.992000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.088000 672.992000 480.088000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.184000 672.992000 483.184000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.280000 672.992000 486.280000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.376000 672.992000 489.376000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.472000 672.992000 492.472000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.568000 672.992000 495.568000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.664000 672.992000 498.664000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.760000 672.992000 501.760000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.856000 672.992000 504.856000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.952000 672.992000 507.952000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.048000 672.992000 511.048000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.144000 672.992000 514.144000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.240000 672.992000 517.240000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.336000 672.992000 520.336000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.432000 672.992000 523.432000 660.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 672.992000 529.600000 660.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 672.992000 535.600000 660.992000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 659.592000 328.292000 647.592000 1.000000 0.000000 0.000000 1.000000 R +drawChar 328.196000 659.592000 334.196000 647.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 334.292000 659.592000 340.292000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 340.292000 659.592000 346.292000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 346.196000 659.592000 352.196000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 352.196000 659.592000 358.196000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 358.100000 659.592000 363.416000 647.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 363.404000 659.592000 369.404000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 369.500000 659.592000 375.500000 647.592000 1.000000 0.000000 0.000000 1.000000 d +drawChar 375.404000 659.592000 379.400000 647.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 379.400000 659.592000 385.400000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 385.400000 659.592000 391.400000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 391.400000 659.592000 396.068000 647.592000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 396.100000 659.592000 399.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 659.592000 402.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 659.592000 405.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 659.592000 408.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 659.592000 411.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 659.592000 414.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 659.592000 417.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 659.592000 420.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 659.592000 423.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 659.592000 426.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 659.592000 429.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 659.592000 432.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 659.592000 435.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 659.592000 438.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 659.592000 441.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 659.592000 444.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 659.592000 447.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 659.592000 450.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 659.592000 453.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 659.592000 456.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 659.592000 459.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 659.592000 462.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 659.592000 465.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 659.592000 468.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 659.592000 471.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 659.592000 474.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 659.592000 477.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 659.592000 480.100000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.196000 659.592000 483.196000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.292000 659.592000 486.292000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.388000 659.592000 489.388000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.484000 659.592000 492.484000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.580000 659.592000 495.580000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.676000 659.592000 498.676000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.772000 659.592000 501.772000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.868000 659.592000 504.868000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.964000 659.592000 507.964000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.060000 659.592000 511.060000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.156000 659.592000 514.156000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.252000 659.592000 517.252000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.348000 659.592000 520.348000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.444000 659.592000 523.444000 647.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 659.592000 529.600000 647.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 659.592000 535.600000 647.592000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 646.092000 328.292000 634.092000 1.000000 0.000000 0.000000 1.000000 R +drawChar 328.196000 646.092000 334.196000 634.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 334.292000 646.092000 340.292000 634.092000 1.000000 0.000000 0.000000 1.000000 u +drawChar 340.292000 646.092000 346.292000 634.092000 1.000000 0.000000 0.000000 1.000000 b +drawChar 346.292000 646.092000 351.608000 634.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 351.596000 646.092000 355.592000 634.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 355.592000 646.092000 361.592000 634.092000 1.000000 0.000000 0.000000 1.000000 b +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 361.500000 646.092000 364.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.500000 646.092000 367.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.500000 646.092000 370.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.500000 646.092000 373.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.500000 646.092000 376.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.500000 646.092000 379.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.500000 646.092000 382.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.500000 646.092000 385.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.500000 646.092000 388.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.500000 646.092000 391.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.500000 646.092000 394.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.500000 646.092000 397.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.500000 646.092000 400.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.500000 646.092000 403.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.500000 646.092000 406.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.500000 646.092000 409.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.500000 646.092000 412.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.500000 646.092000 415.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.500000 646.092000 418.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.500000 646.092000 421.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.500000 646.092000 424.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.500000 646.092000 427.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.500000 646.092000 430.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.500000 646.092000 433.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.500000 646.092000 436.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.500000 646.092000 439.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.500000 646.092000 442.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.500000 646.092000 445.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.500000 646.092000 448.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.500000 646.092000 451.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.500000 646.092000 454.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.500000 646.092000 457.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.500000 646.092000 460.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.500000 646.092000 463.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.500000 646.092000 466.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.500000 646.092000 469.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.500000 646.092000 472.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.500000 646.092000 475.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.500000 646.092000 478.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.500000 646.092000 481.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.500000 646.092000 484.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.500000 646.092000 487.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.500000 646.092000 490.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.500000 646.092000 493.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.500000 646.092000 496.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.500000 646.092000 499.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.500000 646.092000 502.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.500000 646.092000 505.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.500000 646.092000 508.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.500000 646.092000 511.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.500000 646.092000 514.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.500000 646.092000 517.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.500000 646.092000 520.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.500000 646.092000 523.500000 634.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 646.092000 529.600000 634.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 646.092000 535.600000 634.092000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 632.692000 328.292000 620.692000 1.000000 0.000000 0.000000 1.000000 R +drawChar 328.304000 632.692000 334.304000 620.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 334.304000 632.692000 337.628000 620.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 337.604000 632.692000 340.928000 620.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 340.904000 632.692000 346.220000 620.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 346.208000 632.692000 350.204000 620.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 350.204000 632.692000 354.200000 620.692000 1.000000 0.000000 0.000000 1.000000 - +drawChar 354.200000 632.692000 360.200000 620.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 360.200000 632.692000 363.524000 620.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 363.500000 632.692000 368.816000 620.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 368.900000 632.692000 374.900000 620.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 374.804000 632.692000 378.128000 620.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 378.200000 632.692000 384.200000 620.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 384.200000 632.692000 390.200000 620.692000 1.000000 0.000000 0.000000 1.000000 g +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 390.100000 632.692000 393.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.100000 632.692000 396.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.100000 632.692000 399.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 632.692000 402.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 632.692000 405.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 632.692000 408.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 632.692000 411.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 632.692000 414.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 632.692000 417.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 632.692000 420.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 632.692000 423.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 632.692000 426.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 632.692000 429.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 632.692000 432.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 632.692000 435.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 632.692000 438.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 632.692000 441.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 632.692000 444.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 632.692000 447.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 632.692000 450.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 632.692000 453.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 632.692000 456.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 632.692000 459.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 632.692000 462.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 632.692000 465.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 632.692000 468.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 632.692000 471.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 632.692000 474.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 632.692000 477.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 632.692000 480.100000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.196000 632.692000 483.196000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.292000 632.692000 486.292000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.388000 632.692000 489.388000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.484000 632.692000 492.484000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.580000 632.692000 495.580000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.676000 632.692000 498.676000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.772000 632.692000 501.772000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.868000 632.692000 504.868000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.964000 632.692000 507.964000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.060000 632.692000 511.060000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.156000 632.692000 514.156000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.252000 632.692000 517.252000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.348000 632.692000 520.348000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.444000 632.692000 523.444000 620.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 632.692000 529.600000 620.692000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 632.692000 535.600000 620.692000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 619.192000 328.292000 607.192000 1.000000 0.000000 0.000000 1.000000 R +drawChar 328.304000 619.192000 334.304000 607.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 334.304000 619.192000 340.304000 607.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 340.304000 619.192000 349.628000 607.192000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 349.500000 619.192000 352.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 352.500000 619.192000 355.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 355.500000 619.192000 358.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 358.500000 619.192000 361.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 361.500000 619.192000 364.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 364.500000 619.192000 367.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 367.500000 619.192000 370.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.500000 619.192000 373.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.500000 619.192000 376.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.500000 619.192000 379.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.500000 619.192000 382.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.500000 619.192000 385.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.500000 619.192000 388.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.500000 619.192000 391.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.500000 619.192000 394.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.500000 619.192000 397.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.500000 619.192000 400.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.500000 619.192000 403.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.500000 619.192000 406.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.500000 619.192000 409.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.500000 619.192000 412.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.500000 619.192000 415.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.500000 619.192000 418.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.500000 619.192000 421.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.500000 619.192000 424.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.500000 619.192000 427.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.500000 619.192000 430.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.500000 619.192000 433.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.500000 619.192000 436.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.500000 619.192000 439.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.500000 619.192000 442.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.500000 619.192000 445.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.500000 619.192000 448.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.500000 619.192000 451.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.500000 619.192000 454.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.500000 619.192000 457.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.500000 619.192000 460.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.500000 619.192000 463.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.500000 619.192000 466.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.500000 619.192000 469.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.500000 619.192000 472.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.500000 619.192000 475.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.500000 619.192000 478.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.500000 619.192000 481.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.500000 619.192000 484.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.500000 619.192000 487.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.500000 619.192000 490.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.500000 619.192000 493.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.500000 619.192000 496.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.500000 619.192000 499.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.500000 619.192000 502.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.500000 619.192000 505.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.500000 619.192000 508.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.500000 619.192000 511.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.500000 619.192000 514.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.500000 619.192000 517.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.500000 619.192000 520.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.500000 619.192000 523.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.500000 619.192000 526.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.500000 619.192000 529.500000 607.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 619.192000 535.600000 607.192000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 605.792000 328.292000 593.792000 1.000000 0.000000 0.000000 1.000000 R +drawChar 328.304000 605.792000 334.304000 593.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 334.208000 605.792000 338.876000 593.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 338.912000 605.792000 344.228000 593.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.216000 605.792000 353.540000 593.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 353.516000 605.792000 358.832000 593.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 358.820000 605.792000 362.816000 593.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 362.924000 605.792000 368.924000 593.792000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 368.800000 605.792000 371.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.800000 605.792000 374.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.800000 605.792000 377.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.800000 605.792000 380.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.800000 605.792000 383.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.800000 605.792000 386.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.800000 605.792000 389.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.800000 605.792000 392.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.800000 605.792000 395.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.800000 605.792000 398.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.800000 605.792000 401.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.800000 605.792000 404.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.800000 605.792000 407.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.800000 605.792000 410.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.800000 605.792000 413.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.800000 605.792000 416.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.800000 605.792000 419.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.800000 605.792000 422.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.800000 605.792000 425.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.800000 605.792000 428.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.800000 605.792000 431.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.800000 605.792000 434.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.800000 605.792000 437.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.800000 605.792000 440.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.800000 605.792000 443.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.800000 605.792000 446.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.800000 605.792000 449.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.800000 605.792000 452.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.800000 605.792000 455.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.800000 605.792000 458.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.800000 605.792000 461.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.800000 605.792000 464.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.800000 605.792000 467.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.800000 605.792000 470.800000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.896000 605.792000 473.896000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.992000 605.792000 476.992000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.088000 605.792000 480.088000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.184000 605.792000 483.184000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.280000 605.792000 486.280000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.376000 605.792000 489.376000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.472000 605.792000 492.472000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.568000 605.792000 495.568000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.664000 605.792000 498.664000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.760000 605.792000 501.760000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.856000 605.792000 504.856000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.952000 605.792000 507.952000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.048000 605.792000 511.048000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.144000 605.792000 514.144000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.240000 605.792000 517.240000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.336000 605.792000 520.336000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.432000 605.792000 523.432000 593.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 605.792000 529.600000 593.792000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 605.792000 535.600000 593.792000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 320.300000 591.792000 326.972000 579.792000 1.000000 0.000000 0.000000 1.000000 S +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 578.392000 326.972000 566.392000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 578.392000 332.312000 566.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 332.192000 578.392000 340.856000 566.392000 1.000000 0.000000 0.000000 1.000000 w +drawChar 340.892000 578.392000 345.560000 566.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 345.500000 578.392000 348.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 348.500000 578.392000 351.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.500000 578.392000 354.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.500000 578.392000 357.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.500000 578.392000 360.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.500000 578.392000 363.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.500000 578.392000 366.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.500000 578.392000 369.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.500000 578.392000 372.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.500000 578.392000 375.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.500000 578.392000 378.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.500000 578.392000 381.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.500000 578.392000 384.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.500000 578.392000 387.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.500000 578.392000 390.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.500000 578.392000 393.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.500000 578.392000 396.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.500000 578.392000 399.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.500000 578.392000 402.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.500000 578.392000 405.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.500000 578.392000 408.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.500000 578.392000 411.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.500000 578.392000 414.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.500000 578.392000 417.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.500000 578.392000 420.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.500000 578.392000 423.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.500000 578.392000 426.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.500000 578.392000 429.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.500000 578.392000 432.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.500000 578.392000 435.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.500000 578.392000 438.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.500000 578.392000 441.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.500000 578.392000 444.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.500000 578.392000 447.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.500000 578.392000 450.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.500000 578.392000 453.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.500000 578.392000 456.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.500000 578.392000 459.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.500000 578.392000 462.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.500000 578.392000 465.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.500000 578.392000 468.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.500000 578.392000 471.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.500000 578.392000 474.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.500000 578.392000 477.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.500000 578.392000 480.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.500000 578.392000 483.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.500000 578.392000 486.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.500000 578.392000 489.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.500000 578.392000 492.500000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.596000 578.392000 495.596000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.692000 578.392000 498.692000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.788000 578.392000 501.788000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.884000 578.392000 504.884000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.980000 578.392000 507.980000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.076000 578.392000 511.076000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.172000 578.392000 514.172000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.268000 578.392000 517.268000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.364000 578.392000 520.364000 566.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.460000 578.392000 523.460000 566.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 578.392000 529.600000 566.392000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 578.392000 535.600000 566.392000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 564.992000 326.972000 552.992000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 564.992000 332.312000 552.992000 1.000000 0.000000 0.000000 1.000000 c +drawChar 332.192000 564.992000 336.188000 552.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 336.188000 564.992000 341.504000 552.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.492000 564.992000 350.156000 552.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 350.192000 564.992000 356.192000 552.992000 1.000000 0.000000 0.000000 1.000000 d +drawChar 356.096000 564.992000 360.092000 552.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 360.092000 564.992000 363.416000 552.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 363.488000 564.992000 369.488000 552.992000 1.000000 0.000000 0.000000 1.000000 v +drawChar 369.392000 564.992000 374.708000 552.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 374.696000 564.992000 378.692000 552.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 378.692000 564.992000 383.360000 552.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 383.500000 564.992000 386.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.500000 564.992000 389.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.500000 564.992000 392.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.500000 564.992000 395.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.500000 564.992000 398.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.500000 564.992000 401.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.500000 564.992000 404.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.500000 564.992000 407.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.500000 564.992000 410.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.500000 564.992000 413.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.500000 564.992000 416.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.500000 564.992000 419.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.500000 564.992000 422.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.500000 564.992000 425.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.500000 564.992000 428.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.500000 564.992000 431.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.500000 564.992000 434.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.500000 564.992000 437.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.500000 564.992000 440.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.500000 564.992000 443.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.500000 564.992000 446.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.500000 564.992000 449.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 564.992000 452.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.500000 564.992000 455.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.500000 564.992000 458.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.500000 564.992000 461.500000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.596000 564.992000 464.596000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.692000 564.992000 467.692000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.788000 564.992000 470.788000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.884000 564.992000 473.884000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.980000 564.992000 476.980000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.076000 564.992000 480.076000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.172000 564.992000 483.172000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.268000 564.992000 486.268000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.364000 564.992000 489.364000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.460000 564.992000 492.460000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.556000 564.992000 495.556000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.652000 564.992000 498.652000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.748000 564.992000 501.748000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.844000 564.992000 504.844000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.940000 564.992000 507.940000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.036000 564.992000 511.036000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.132000 564.992000 514.132000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.228000 564.992000 517.228000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.324000 564.992000 520.324000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.420000 564.992000 523.420000 552.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 564.992000 529.600000 552.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 564.992000 535.600000 552.992000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 551.492000 326.972000 539.492000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 551.492000 332.312000 539.492000 1.000000 0.000000 0.000000 1.000000 c +drawChar 332.192000 551.492000 336.188000 539.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 336.188000 551.492000 341.504000 539.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.492000 551.492000 350.156000 539.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 350.192000 551.492000 354.860000 539.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 354.800000 551.492000 357.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.800000 551.492000 360.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.800000 551.492000 363.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.800000 551.492000 366.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.800000 551.492000 369.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.800000 551.492000 372.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.800000 551.492000 375.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.800000 551.492000 378.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.800000 551.492000 381.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.800000 551.492000 384.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.800000 551.492000 387.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.800000 551.492000 390.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.800000 551.492000 393.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.800000 551.492000 396.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.800000 551.492000 399.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.800000 551.492000 402.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.800000 551.492000 405.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.800000 551.492000 408.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.800000 551.492000 411.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.800000 551.492000 414.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.800000 551.492000 417.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.800000 551.492000 420.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.800000 551.492000 423.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.800000 551.492000 426.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.800000 551.492000 429.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.800000 551.492000 432.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.800000 551.492000 435.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.800000 551.492000 438.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.800000 551.492000 441.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.800000 551.492000 444.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.800000 551.492000 447.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.800000 551.492000 450.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.800000 551.492000 453.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.800000 551.492000 456.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.800000 551.492000 459.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.800000 551.492000 462.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.800000 551.492000 465.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.800000 551.492000 468.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.800000 551.492000 471.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.800000 551.492000 474.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.800000 551.492000 477.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.800000 551.492000 480.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.800000 551.492000 483.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.800000 551.492000 486.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.800000 551.492000 489.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.800000 551.492000 492.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.800000 551.492000 495.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.800000 551.492000 498.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.800000 551.492000 501.800000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.896000 551.492000 504.896000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.992000 551.492000 507.992000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.088000 551.492000 511.088000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.184000 551.492000 514.184000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.280000 551.492000 517.280000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.376000 551.492000 520.376000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.472000 551.492000 523.472000 539.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 551.492000 529.600000 539.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 551.492000 535.600000 539.492000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 538.092000 326.972000 526.092000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 538.092000 332.312000 526.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.300000 538.092000 337.616000 526.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 337.604000 538.092000 343.604000 526.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 343.508000 538.092000 346.832000 526.092000 1.000000 0.000000 0.000000 1.000000 l +drawChar 346.808000 538.092000 350.132000 526.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 350.204000 538.092000 356.204000 526.092000 1.000000 0.000000 0.000000 1.000000 n +drawChar 356.204000 538.092000 362.204000 526.092000 1.000000 0.000000 0.000000 1.000000 g +drawChar 362.204000 538.092000 366.872000 526.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 366.800000 538.092000 369.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.800000 538.092000 372.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.800000 538.092000 375.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.800000 538.092000 378.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.800000 538.092000 381.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.800000 538.092000 384.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.800000 538.092000 387.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.800000 538.092000 390.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.800000 538.092000 393.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.800000 538.092000 396.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.800000 538.092000 399.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.800000 538.092000 402.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.800000 538.092000 405.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.800000 538.092000 408.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.800000 538.092000 411.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.800000 538.092000 414.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.800000 538.092000 417.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.800000 538.092000 420.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.800000 538.092000 423.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.800000 538.092000 426.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.800000 538.092000 429.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.800000 538.092000 432.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.800000 538.092000 435.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.800000 538.092000 438.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.800000 538.092000 441.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.800000 538.092000 444.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.800000 538.092000 447.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.800000 538.092000 450.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.800000 538.092000 453.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.800000 538.092000 456.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.800000 538.092000 459.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.800000 538.092000 462.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.800000 538.092000 465.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.800000 538.092000 468.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.800000 538.092000 471.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.800000 538.092000 474.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.800000 538.092000 477.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.800000 538.092000 480.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.800000 538.092000 483.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.800000 538.092000 486.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.800000 538.092000 489.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.800000 538.092000 492.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.800000 538.092000 495.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.800000 538.092000 498.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.800000 538.092000 501.800000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.896000 538.092000 504.896000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.992000 538.092000 507.992000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.088000 538.092000 511.088000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.184000 538.092000 514.184000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.280000 538.092000 517.280000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.376000 538.092000 520.376000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.472000 538.092000 523.472000 526.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 538.092000 529.600000 526.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 538.092000 535.600000 526.092000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 524.592000 326.972000 512.592000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 524.592000 332.900000 512.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 332.996000 524.592000 338.312000 512.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 338.300000 524.592000 344.300000 512.592000 1.000000 0.000000 0.000000 1.000000 k +drawChar 344.300000 524.592000 349.616000 512.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 349.604000 524.592000 353.600000 512.592000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 353.500000 524.592000 356.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.500000 524.592000 359.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.500000 524.592000 362.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.500000 524.592000 365.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.500000 524.592000 368.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.500000 524.592000 371.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.500000 524.592000 374.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.500000 524.592000 377.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.500000 524.592000 380.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.500000 524.592000 383.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.500000 524.592000 386.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.500000 524.592000 389.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.500000 524.592000 392.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.500000 524.592000 395.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.500000 524.592000 398.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.500000 524.592000 401.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.500000 524.592000 404.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.500000 524.592000 407.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.500000 524.592000 410.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.500000 524.592000 413.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.500000 524.592000 416.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.500000 524.592000 419.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.500000 524.592000 422.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.500000 524.592000 425.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.500000 524.592000 428.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.500000 524.592000 431.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.500000 524.592000 434.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.500000 524.592000 437.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.500000 524.592000 440.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.500000 524.592000 443.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.500000 524.592000 446.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.500000 524.592000 449.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 524.592000 452.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.500000 524.592000 455.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.500000 524.592000 458.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.500000 524.592000 461.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.500000 524.592000 464.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.500000 524.592000 467.500000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.596000 524.592000 470.596000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.692000 524.592000 473.692000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.788000 524.592000 476.788000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.884000 524.592000 479.884000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.980000 524.592000 482.980000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.076000 524.592000 486.076000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.172000 524.592000 489.172000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.268000 524.592000 492.268000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.364000 524.592000 495.364000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.460000 524.592000 498.460000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.556000 524.592000 501.556000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.652000 524.592000 504.652000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.748000 524.592000 507.748000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.844000 524.592000 510.844000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.940000 524.592000 513.940000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.036000 524.592000 517.036000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.132000 524.592000 520.132000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.228000 524.592000 523.228000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.324000 524.592000 526.324000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.420000 524.592000 529.420000 512.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 524.592000 535.600000 512.592000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 511.192000 326.972000 499.192000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 511.192000 332.900000 499.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 332.996000 511.192000 338.312000 499.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 338.300000 511.192000 344.300000 499.192000 1.000000 0.000000 0.000000 1.000000 k +drawChar 344.300000 511.192000 349.616000 499.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 349.496000 511.192000 354.164000 499.192000 1.000000 0.000000 0.000000 1.000000 s +drawChar 354.200000 511.192000 360.200000 499.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 360.104000 511.192000 365.420000 499.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 365.504000 511.192000 370.820000 499.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 370.808000 511.192000 374.804000 499.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 374.804000 511.192000 380.120000 499.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 380.108000 511.192000 383.108000 499.192000 1.000000 0.000000 0.000000 1.000000 , +drawChar 383.204000 511.192000 386.204000 499.192000 1.000000 0.000000 0.000000 1.000000 +drawChar 386.204000 511.192000 397.520000 499.192000 1.000000 0.000000 0.000000 1.000000 W +drawChar 397.508000 511.192000 400.832000 499.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 400.904000 511.192000 404.228000 499.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 404.204000 511.192000 407.528000 499.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 407.504000 511.192000 410.828000 499.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 410.900000 511.192000 416.216000 499.192000 1.000000 0.000000 0.000000 1.000000 a +drawChar 416.204000 511.192000 425.528000 499.192000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 425.500000 511.192000 428.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.500000 511.192000 431.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.500000 511.192000 434.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.500000 511.192000 437.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.500000 511.192000 440.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.500000 511.192000 443.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.500000 511.192000 446.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.500000 511.192000 449.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 511.192000 452.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.500000 511.192000 455.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.500000 511.192000 458.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.500000 511.192000 461.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.500000 511.192000 464.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.500000 511.192000 467.500000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.596000 511.192000 470.596000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.692000 511.192000 473.692000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.788000 511.192000 476.788000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.884000 511.192000 479.884000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.980000 511.192000 482.980000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.076000 511.192000 486.076000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.172000 511.192000 489.172000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.268000 511.192000 492.268000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.364000 511.192000 495.364000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.460000 511.192000 498.460000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.556000 511.192000 501.556000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.652000 511.192000 504.652000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.748000 511.192000 507.748000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.844000 511.192000 510.844000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.940000 511.192000 513.940000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.036000 511.192000 517.036000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.132000 511.192000 520.132000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.228000 511.192000 523.228000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.324000 511.192000 526.324000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.420000 511.192000 529.420000 499.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 511.192000 535.600000 499.192000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 497.692000 326.972000 485.692000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 497.692000 332.900000 485.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 332.996000 497.692000 338.312000 485.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 338.300000 497.692000 347.624000 485.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 347.600000 497.692000 353.600000 485.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 353.504000 497.692000 359.504000 485.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 359.504000 497.692000 365.504000 485.692000 1.000000 0.000000 0.000000 1.000000 o +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 365.500000 497.692000 368.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.500000 497.692000 371.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.500000 497.692000 374.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.500000 497.692000 377.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.500000 497.692000 380.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.500000 497.692000 383.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.500000 497.692000 386.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.500000 497.692000 389.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.500000 497.692000 392.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.500000 497.692000 395.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.500000 497.692000 398.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.500000 497.692000 401.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.500000 497.692000 404.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.500000 497.692000 407.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.500000 497.692000 410.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.500000 497.692000 413.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.500000 497.692000 416.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.500000 497.692000 419.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.500000 497.692000 422.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.500000 497.692000 425.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.500000 497.692000 428.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.500000 497.692000 431.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.500000 497.692000 434.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.500000 497.692000 437.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.500000 497.692000 440.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.500000 497.692000 443.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.500000 497.692000 446.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.500000 497.692000 449.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 497.692000 452.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.500000 497.692000 455.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.500000 497.692000 458.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.500000 497.692000 461.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.500000 497.692000 464.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.500000 497.692000 467.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.596000 497.692000 470.596000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.692000 497.692000 473.692000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.788000 497.692000 476.788000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.884000 497.692000 479.884000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.980000 497.692000 482.980000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.076000 497.692000 486.076000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.172000 497.692000 489.172000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.268000 497.692000 492.268000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.364000 497.692000 495.364000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.460000 497.692000 498.460000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.556000 497.692000 501.556000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.652000 497.692000 504.652000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.748000 497.692000 507.748000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.844000 497.692000 510.844000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.940000 497.692000 513.940000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.036000 497.692000 517.036000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.132000 497.692000 520.132000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.228000 497.692000 523.228000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.324000 497.692000 526.324000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.420000 497.692000 529.420000 485.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 497.692000 535.600000 485.692000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 484.292000 326.972000 472.292000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 484.292000 332.900000 472.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 332.996000 484.292000 338.312000 472.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 338.300000 484.292000 343.616000 472.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 343.604000 484.292000 346.928000 472.292000 1.000000 0.000000 0.000000 1.000000 t +drawChar 346.904000 484.292000 351.572000 472.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 351.500000 484.292000 354.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.500000 484.292000 357.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.500000 484.292000 360.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.500000 484.292000 363.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.500000 484.292000 366.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.500000 484.292000 369.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.500000 484.292000 372.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.500000 484.292000 375.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.500000 484.292000 378.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.500000 484.292000 381.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.500000 484.292000 384.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.500000 484.292000 387.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.500000 484.292000 390.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.500000 484.292000 393.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.500000 484.292000 396.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.500000 484.292000 399.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.500000 484.292000 402.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.500000 484.292000 405.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.500000 484.292000 408.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.500000 484.292000 411.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.500000 484.292000 414.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.500000 484.292000 417.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.500000 484.292000 420.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.500000 484.292000 423.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.500000 484.292000 426.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.500000 484.292000 429.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.500000 484.292000 432.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.500000 484.292000 435.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.500000 484.292000 438.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.500000 484.292000 441.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.500000 484.292000 444.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.500000 484.292000 447.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.500000 484.292000 450.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.500000 484.292000 453.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.500000 484.292000 456.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.500000 484.292000 459.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.500000 484.292000 462.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.500000 484.292000 465.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.500000 484.292000 468.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.500000 484.292000 471.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.500000 484.292000 474.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.500000 484.292000 477.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.500000 484.292000 480.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.500000 484.292000 483.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.500000 484.292000 486.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.500000 484.292000 489.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.500000 484.292000 492.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.500000 484.292000 495.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.500000 484.292000 498.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.500000 484.292000 501.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.500000 484.292000 504.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.596000 484.292000 507.596000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.692000 484.292000 510.692000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.788000 484.292000 513.788000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 513.884000 484.292000 516.884000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 516.980000 484.292000 519.980000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.076000 484.292000 523.076000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.172000 484.292000 526.172000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.268000 484.292000 529.268000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 529.364000 484.292000 532.364000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 532.460000 484.292000 535.460000 472.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.400000 470.792000 341.072000 458.792000 1.000000 0.000000 0.000000 1.000000 F +drawChar 341.000000 470.792000 344.324000 458.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 344.300000 470.792000 349.616000 458.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 349.604000 470.792000 355.604000 458.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 355.604000 470.792000 361.604000 458.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 361.604000 470.792000 366.920000 458.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 367.004000 470.792000 370.328000 458.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 370.400000 470.792000 373.400000 458.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.400000 470.792000 380.072000 458.792000 1.000000 0.000000 0.000000 1.000000 S +drawChar 380.096000 470.792000 386.096000 458.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 386.096000 470.792000 391.412000 458.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 391.400000 470.792000 396.716000 458.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 396.704000 470.792000 400.028000 458.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 400.004000 470.792000 404.672000 458.792000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 404.600000 470.792000 407.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.600000 470.792000 410.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.600000 470.792000 413.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.600000 470.792000 416.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.600000 470.792000 419.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.600000 470.792000 422.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.600000 470.792000 425.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.600000 470.792000 428.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.600000 470.792000 431.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.600000 470.792000 434.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.600000 470.792000 437.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.600000 470.792000 440.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.600000 470.792000 443.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.600000 470.792000 446.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.600000 470.792000 449.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.600000 470.792000 452.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.600000 470.792000 455.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.600000 470.792000 458.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.600000 470.792000 461.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.600000 470.792000 464.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.600000 470.792000 467.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.600000 470.792000 470.600000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.696000 470.792000 473.696000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.792000 470.792000 476.792000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.888000 470.792000 479.888000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.984000 470.792000 482.984000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.080000 470.792000 486.080000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.176000 470.792000 489.176000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.272000 470.792000 492.272000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.368000 470.792000 495.368000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.464000 470.792000 498.464000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.560000 470.792000 501.560000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.656000 470.792000 504.656000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.752000 470.792000 507.752000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.848000 470.792000 510.848000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.944000 470.792000 513.944000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.040000 470.792000 517.040000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.136000 470.792000 520.136000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.232000 470.792000 523.232000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.328000 470.792000 526.328000 458.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.424000 470.792000 529.424000 458.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 470.792000 535.600000 458.792000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 334.400000 457.392000 341.072000 445.392000 1.000000 0.000000 0.000000 1.000000 S +drawChar 341.096000 457.392000 346.412000 445.392000 1.000000 0.000000 0.000000 1.000000 a +drawChar 346.400000 457.392000 349.724000 445.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 349.700000 457.392000 353.024000 445.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 353.096000 457.392000 359.096000 445.392000 1.000000 0.000000 0.000000 1.000000 n +drawChar 359.096000 457.392000 362.096000 445.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 362.096000 457.392000 368.768000 445.392000 1.000000 0.000000 0.000000 1.000000 S +drawChar 368.696000 457.392000 374.696000 445.392000 1.000000 0.000000 0.000000 1.000000 h +drawChar 374.792000 457.392000 380.108000 445.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 380.096000 457.392000 385.412000 445.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 385.400000 457.392000 388.724000 445.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 388.700000 457.392000 393.368000 445.392000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 393.300000 457.392000 396.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.300000 457.392000 399.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.300000 457.392000 402.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.300000 457.392000 405.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.300000 457.392000 408.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.300000 457.392000 411.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.300000 457.392000 414.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.300000 457.392000 417.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.300000 457.392000 420.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.300000 457.392000 423.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.300000 457.392000 426.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.300000 457.392000 429.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.300000 457.392000 432.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.300000 457.392000 435.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.300000 457.392000 438.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.300000 457.392000 441.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.300000 457.392000 444.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.300000 457.392000 447.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.300000 457.392000 450.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.300000 457.392000 453.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.300000 457.392000 456.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.300000 457.392000 459.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.300000 457.392000 462.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.300000 457.392000 465.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.300000 457.392000 468.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.300000 457.392000 471.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.300000 457.392000 474.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.300000 457.392000 477.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.300000 457.392000 480.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.300000 457.392000 483.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.300000 457.392000 486.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.300000 457.392000 489.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.300000 457.392000 492.300000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.396000 457.392000 495.396000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.492000 457.392000 498.492000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.588000 457.392000 501.588000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.684000 457.392000 504.684000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.780000 457.392000 507.780000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.876000 457.392000 510.876000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.972000 457.392000 513.972000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.068000 457.392000 517.068000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.164000 457.392000 520.164000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.260000 457.392000 523.260000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.356000 457.392000 526.356000 445.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.452000 457.392000 529.452000 445.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 457.392000 535.600000 445.392000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 443.892000 326.972000 431.892000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 443.892000 332.900000 431.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 332.996000 443.892000 338.996000 431.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 338.996000 443.892000 344.312000 431.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.192000 443.892000 348.860000 431.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 348.800000 443.892000 351.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.800000 443.892000 354.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.800000 443.892000 357.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.800000 443.892000 360.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.800000 443.892000 363.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.800000 443.892000 366.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.800000 443.892000 369.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.800000 443.892000 372.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.800000 443.892000 375.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.800000 443.892000 378.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.800000 443.892000 381.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.800000 443.892000 384.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.800000 443.892000 387.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.800000 443.892000 390.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.800000 443.892000 393.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.800000 443.892000 396.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.800000 443.892000 399.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.800000 443.892000 402.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.800000 443.892000 405.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.800000 443.892000 408.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.800000 443.892000 411.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.800000 443.892000 414.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.800000 443.892000 417.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.800000 443.892000 420.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.800000 443.892000 423.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.800000 443.892000 426.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.800000 443.892000 429.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.800000 443.892000 432.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.800000 443.892000 435.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.800000 443.892000 438.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.800000 443.892000 441.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.800000 443.892000 444.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.800000 443.892000 447.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.800000 443.892000 450.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.800000 443.892000 453.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.800000 443.892000 456.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.800000 443.892000 459.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.800000 443.892000 462.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.800000 443.892000 465.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.800000 443.892000 468.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.800000 443.892000 471.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.800000 443.892000 474.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.800000 443.892000 477.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.800000 443.892000 480.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.800000 443.892000 483.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.800000 443.892000 486.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.800000 443.892000 489.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.800000 443.892000 492.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.800000 443.892000 495.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.800000 443.892000 498.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.800000 443.892000 501.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.800000 443.892000 504.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.800000 443.892000 507.800000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.896000 443.892000 510.896000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.992000 443.892000 513.992000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.088000 443.892000 517.088000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.184000 443.892000 520.184000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.280000 443.892000 523.280000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.376000 443.892000 526.376000 431.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.472000 443.892000 529.472000 431.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 443.892000 535.600000 431.892000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 430.492000 326.972000 418.492000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 430.492000 332.900000 418.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 332.996000 430.492000 338.996000 418.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 338.996000 430.492000 344.996000 418.492000 1.000000 0.000000 0.000000 1.000000 v +drawChar 344.900000 430.492000 350.216000 418.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 350.204000 430.492000 353.528000 418.492000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 353.500000 430.492000 356.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.500000 430.492000 359.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.500000 430.492000 362.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.500000 430.492000 365.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.500000 430.492000 368.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.500000 430.492000 371.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.500000 430.492000 374.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.500000 430.492000 377.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.500000 430.492000 380.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.500000 430.492000 383.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.500000 430.492000 386.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.500000 430.492000 389.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.500000 430.492000 392.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.500000 430.492000 395.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.500000 430.492000 398.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.500000 430.492000 401.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.500000 430.492000 404.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.500000 430.492000 407.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.500000 430.492000 410.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.500000 430.492000 413.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.500000 430.492000 416.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.500000 430.492000 419.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.500000 430.492000 422.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.500000 430.492000 425.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.500000 430.492000 428.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.500000 430.492000 431.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.500000 430.492000 434.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.500000 430.492000 437.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.500000 430.492000 440.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.500000 430.492000 443.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.500000 430.492000 446.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.500000 430.492000 449.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 430.492000 452.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.500000 430.492000 455.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.500000 430.492000 458.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.500000 430.492000 461.500000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.596000 430.492000 464.596000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.692000 430.492000 467.692000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.788000 430.492000 470.788000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.884000 430.492000 473.884000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.980000 430.492000 476.980000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.076000 430.492000 480.076000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.172000 430.492000 483.172000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.268000 430.492000 486.268000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.364000 430.492000 489.364000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.460000 430.492000 492.460000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.556000 430.492000 495.556000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.652000 430.492000 498.652000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.748000 430.492000 501.748000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.844000 430.492000 504.844000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.940000 430.492000 507.940000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.036000 430.492000 511.036000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.132000 430.492000 514.132000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.228000 430.492000 517.228000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.324000 430.492000 520.324000 418.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.420000 430.492000 523.420000 418.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 430.492000 529.600000 418.492000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 430.492000 535.600000 418.492000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 416.992000 326.972000 404.992000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 416.992000 332.900000 404.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 332.996000 416.992000 338.996000 404.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 338.900000 416.992000 347.564000 404.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 347.600000 416.992000 352.916000 404.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 352.904000 416.992000 356.900000 404.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 356.900000 416.992000 359.900000 404.992000 1.000000 0.000000 0.000000 1.000000 +drawChar 359.900000 416.992000 365.900000 404.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 365.900000 416.992000 371.216000 404.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 371.204000 416.992000 374.528000 404.992000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 374.500000 416.992000 377.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.500000 416.992000 380.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.500000 416.992000 383.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.500000 416.992000 386.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.500000 416.992000 389.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.500000 416.992000 392.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.500000 416.992000 395.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.500000 416.992000 398.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.500000 416.992000 401.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.500000 416.992000 404.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.500000 416.992000 407.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.500000 416.992000 410.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.500000 416.992000 413.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.500000 416.992000 416.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.500000 416.992000 419.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.500000 416.992000 422.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.500000 416.992000 425.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.500000 416.992000 428.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.500000 416.992000 431.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.500000 416.992000 434.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.500000 416.992000 437.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.500000 416.992000 440.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.500000 416.992000 443.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.500000 416.992000 446.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.500000 416.992000 449.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 416.992000 452.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.500000 416.992000 455.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.500000 416.992000 458.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.500000 416.992000 461.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.500000 416.992000 464.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.500000 416.992000 467.500000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.596000 416.992000 470.596000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.692000 416.992000 473.692000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.788000 416.992000 476.788000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.884000 416.992000 479.884000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.980000 416.992000 482.980000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.076000 416.992000 486.076000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.172000 416.992000 489.172000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.268000 416.992000 492.268000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.364000 416.992000 495.364000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.460000 416.992000 498.460000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.556000 416.992000 501.556000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.652000 416.992000 504.652000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.748000 416.992000 507.748000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.844000 416.992000 510.844000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.940000 416.992000 513.940000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.036000 416.992000 517.036000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.132000 416.992000 520.132000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.228000 416.992000 523.228000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.324000 416.992000 526.324000 404.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.420000 416.992000 529.420000 404.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 416.992000 535.600000 404.992000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 403.592000 326.972000 391.592000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 403.592000 330.224000 391.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 330.296000 403.592000 333.620000 391.592000 1.000000 0.000000 0.000000 1.000000 l +drawChar 333.596000 403.592000 339.596000 391.592000 1.000000 0.000000 0.000000 1.000000 v +drawChar 339.500000 403.592000 344.816000 391.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.804000 403.592000 348.800000 391.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 348.800000 403.592000 357.464000 391.592000 1.000000 0.000000 0.000000 1.000000 w +drawChar 357.500000 403.592000 362.816000 391.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 362.804000 403.592000 366.800000 391.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 366.800000 403.592000 372.116000 391.592000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 372.100000 403.592000 375.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.100000 403.592000 378.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.100000 403.592000 381.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.100000 403.592000 384.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.100000 403.592000 387.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.100000 403.592000 390.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.100000 403.592000 393.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.100000 403.592000 396.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.100000 403.592000 399.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 403.592000 402.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 403.592000 405.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 403.592000 408.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 403.592000 411.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 403.592000 414.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 403.592000 417.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 403.592000 420.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 403.592000 423.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 403.592000 426.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 403.592000 429.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 403.592000 432.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 403.592000 435.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 403.592000 438.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 403.592000 441.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 403.592000 444.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 403.592000 447.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 403.592000 450.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 403.592000 453.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 403.592000 456.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 403.592000 459.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 403.592000 462.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 403.592000 465.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 403.592000 468.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 403.592000 471.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 403.592000 474.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 403.592000 477.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 403.592000 480.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.100000 403.592000 483.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.100000 403.592000 486.100000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.196000 403.592000 489.196000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.292000 403.592000 492.292000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.388000 403.592000 495.388000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.484000 403.592000 498.484000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.580000 403.592000 501.580000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.676000 403.592000 504.676000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.772000 403.592000 507.772000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.868000 403.592000 510.868000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.964000 403.592000 513.964000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.060000 403.592000 517.060000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.156000 403.592000 520.156000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.252000 403.592000 523.252000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.348000 403.592000 526.348000 391.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.444000 403.592000 529.444000 391.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 403.592000 535.600000 391.592000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 390.092000 326.972000 378.092000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 390.092000 332.900000 378.092000 1.000000 0.000000 0.000000 1.000000 o +drawChar 332.900000 390.092000 338.216000 378.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 338.204000 390.092000 344.204000 378.092000 1.000000 0.000000 0.000000 1.000000 p +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 344.200000 390.092000 347.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 347.200000 390.092000 350.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 350.200000 390.092000 353.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 353.200000 390.092000 356.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.200000 390.092000 359.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.200000 390.092000 362.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.200000 390.092000 365.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.200000 390.092000 368.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.200000 390.092000 371.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.200000 390.092000 374.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.200000 390.092000 377.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.200000 390.092000 380.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.200000 390.092000 383.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.200000 390.092000 386.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.200000 390.092000 389.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.200000 390.092000 392.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.200000 390.092000 395.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.200000 390.092000 398.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.200000 390.092000 401.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.200000 390.092000 404.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.200000 390.092000 407.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.200000 390.092000 410.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.200000 390.092000 413.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.200000 390.092000 416.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.200000 390.092000 419.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.200000 390.092000 422.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.200000 390.092000 425.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.200000 390.092000 428.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.200000 390.092000 431.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.200000 390.092000 434.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.200000 390.092000 437.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.200000 390.092000 440.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.200000 390.092000 443.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.200000 390.092000 446.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.200000 390.092000 449.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.200000 390.092000 452.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.200000 390.092000 455.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.200000 390.092000 458.200000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.296000 390.092000 461.296000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.392000 390.092000 464.392000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.488000 390.092000 467.488000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.584000 390.092000 470.584000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.680000 390.092000 473.680000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.776000 390.092000 476.776000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.872000 390.092000 479.872000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.968000 390.092000 482.968000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.064000 390.092000 486.064000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.160000 390.092000 489.160000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.256000 390.092000 492.256000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.352000 390.092000 495.352000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.448000 390.092000 498.448000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.544000 390.092000 501.544000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.640000 390.092000 504.640000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.736000 390.092000 507.736000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.832000 390.092000 510.832000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.928000 390.092000 513.928000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.024000 390.092000 517.024000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.120000 390.092000 520.120000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.216000 390.092000 523.216000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.312000 390.092000 526.312000 378.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.408000 390.092000 529.408000 378.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 390.092000 535.600000 378.092000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 376.692000 326.972000 364.692000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 376.692000 332.900000 364.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 332.900000 376.692000 338.900000 364.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 338.804000 376.692000 344.120000 364.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 344.300000 376.692000 347.300000 364.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 347.300000 376.692000 351.968000 364.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 351.896000 376.692000 355.220000 364.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 355.292000 376.692000 361.292000 364.692000 1.000000 0.000000 0.000000 1.000000 p +drawChar 361.196000 376.692000 367.196000 364.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 367.292000 376.692000 373.292000 364.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 373.292000 376.692000 379.292000 364.692000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 379.200000 376.692000 382.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.200000 376.692000 385.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.200000 376.692000 388.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.200000 376.692000 391.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.200000 376.692000 394.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.200000 376.692000 397.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.200000 376.692000 400.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.200000 376.692000 403.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.200000 376.692000 406.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.200000 376.692000 409.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.200000 376.692000 412.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.200000 376.692000 415.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.200000 376.692000 418.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.200000 376.692000 421.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.200000 376.692000 424.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.200000 376.692000 427.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.200000 376.692000 430.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.200000 376.692000 433.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.200000 376.692000 436.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.200000 376.692000 439.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.200000 376.692000 442.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.200000 376.692000 445.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.200000 376.692000 448.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.200000 376.692000 451.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.200000 376.692000 454.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.200000 376.692000 457.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.200000 376.692000 460.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.200000 376.692000 463.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.200000 376.692000 466.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.200000 376.692000 469.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.200000 376.692000 472.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.200000 376.692000 475.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.200000 376.692000 478.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.200000 376.692000 481.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.200000 376.692000 484.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.200000 376.692000 487.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.200000 376.692000 490.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.200000 376.692000 493.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.200000 376.692000 496.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.200000 376.692000 499.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.200000 376.692000 502.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.200000 376.692000 505.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.200000 376.692000 508.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.200000 376.692000 511.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.200000 376.692000 514.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.200000 376.692000 517.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.200000 376.692000 520.200000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.296000 376.692000 523.296000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.392000 376.692000 526.392000 364.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.488000 376.692000 529.488000 364.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 376.692000 535.600000 364.692000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 363.192000 326.972000 351.192000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 363.192000 332.996000 351.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 332.900000 363.192000 336.224000 351.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 336.296000 363.192000 341.612000 351.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 341.600000 363.192000 346.916000 351.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 346.904000 363.192000 351.572000 351.192000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 351.500000 363.192000 354.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.500000 363.192000 357.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.500000 363.192000 360.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.500000 363.192000 363.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.500000 363.192000 366.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.500000 363.192000 369.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.500000 363.192000 372.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.500000 363.192000 375.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.500000 363.192000 378.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.500000 363.192000 381.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.500000 363.192000 384.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.500000 363.192000 387.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.500000 363.192000 390.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.500000 363.192000 393.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.500000 363.192000 396.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.500000 363.192000 399.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.500000 363.192000 402.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.500000 363.192000 405.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.500000 363.192000 408.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.500000 363.192000 411.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.500000 363.192000 414.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.500000 363.192000 417.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.500000 363.192000 420.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.500000 363.192000 423.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.500000 363.192000 426.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.500000 363.192000 429.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.500000 363.192000 432.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.500000 363.192000 435.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.500000 363.192000 438.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.500000 363.192000 441.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.500000 363.192000 444.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.500000 363.192000 447.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.500000 363.192000 450.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.500000 363.192000 453.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.500000 363.192000 456.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.500000 363.192000 459.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.500000 363.192000 462.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.500000 363.192000 465.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.500000 363.192000 468.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.500000 363.192000 471.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.500000 363.192000 474.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.500000 363.192000 477.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.500000 363.192000 480.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.500000 363.192000 483.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.500000 363.192000 486.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.500000 363.192000 489.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.500000 363.192000 492.500000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.596000 363.192000 495.596000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.692000 363.192000 498.692000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.788000 363.192000 501.788000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.884000 363.192000 504.884000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.980000 363.192000 507.980000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.076000 363.192000 511.076000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.172000 363.192000 514.172000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.268000 363.192000 517.268000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.364000 363.192000 520.364000 351.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.460000 363.192000 523.460000 351.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 363.192000 529.600000 351.192000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 363.192000 535.600000 351.192000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 349.792000 326.972000 337.792000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 349.792000 332.996000 337.792000 1.000000 0.000000 0.000000 1.000000 p +drawChar 332.900000 349.792000 336.224000 337.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 336.296000 349.792000 340.292000 337.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 340.292000 349.792000 345.608000 337.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 345.596000 349.792000 348.920000 337.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 348.896000 349.792000 351.896000 337.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.896000 349.792000 357.896000 337.792000 1.000000 0.000000 0.000000 1.000000 b +drawChar 357.896000 349.792000 363.212000 337.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 363.200000 349.792000 369.200000 337.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 369.200000 349.792000 372.524000 337.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 372.596000 349.792000 377.264000 337.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 377.300000 349.792000 380.624000 337.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 380.600000 349.792000 385.916000 337.792000 1.000000 0.000000 0.000000 1.000000 e +drawChar 385.904000 349.792000 389.900000 337.792000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 389.800000 349.792000 392.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.800000 349.792000 395.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.800000 349.792000 398.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.800000 349.792000 401.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.800000 349.792000 404.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.800000 349.792000 407.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.800000 349.792000 410.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.800000 349.792000 413.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.800000 349.792000 416.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.800000 349.792000 419.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.800000 349.792000 422.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.800000 349.792000 425.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.800000 349.792000 428.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.800000 349.792000 431.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.800000 349.792000 434.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.800000 349.792000 437.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.800000 349.792000 440.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.800000 349.792000 443.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.800000 349.792000 446.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.800000 349.792000 449.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.800000 349.792000 452.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.800000 349.792000 455.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.800000 349.792000 458.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.800000 349.792000 461.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.800000 349.792000 464.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.800000 349.792000 467.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.800000 349.792000 470.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.800000 349.792000 473.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.800000 349.792000 476.800000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.896000 349.792000 479.896000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.992000 349.792000 482.992000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.088000 349.792000 486.088000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.184000 349.792000 489.184000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.280000 349.792000 492.280000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.376000 349.792000 495.376000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.472000 349.792000 498.472000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.568000 349.792000 501.568000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.664000 349.792000 504.664000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.760000 349.792000 507.760000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.856000 349.792000 510.856000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.952000 349.792000 513.952000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.048000 349.792000 517.048000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.144000 349.792000 520.144000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.240000 349.792000 523.240000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.336000 349.792000 526.336000 337.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.432000 349.792000 529.432000 337.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 349.792000 535.600000 337.792000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 336.292000 326.972000 324.292000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 336.292000 332.996000 324.292000 1.000000 0.000000 0.000000 1.000000 p +drawChar 332.900000 336.292000 336.896000 324.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 336.896000 336.292000 342.896000 324.292000 1.000000 0.000000 0.000000 1.000000 u +drawChar 342.896000 336.292000 348.212000 324.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 348.200000 336.292000 353.516000 324.292000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 353.500000 336.292000 356.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 356.500000 336.292000 359.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.500000 336.292000 362.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.500000 336.292000 365.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.500000 336.292000 368.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.500000 336.292000 371.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.500000 336.292000 374.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.500000 336.292000 377.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.500000 336.292000 380.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.500000 336.292000 383.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.500000 336.292000 386.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.500000 336.292000 389.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.500000 336.292000 392.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.500000 336.292000 395.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.500000 336.292000 398.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.500000 336.292000 401.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.500000 336.292000 404.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.500000 336.292000 407.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.500000 336.292000 410.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.500000 336.292000 413.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.500000 336.292000 416.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.500000 336.292000 419.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.500000 336.292000 422.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.500000 336.292000 425.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.500000 336.292000 428.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.500000 336.292000 431.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.500000 336.292000 434.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.500000 336.292000 437.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.500000 336.292000 440.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.500000 336.292000 443.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.500000 336.292000 446.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.500000 336.292000 449.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 336.292000 452.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.500000 336.292000 455.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.500000 336.292000 458.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.500000 336.292000 461.500000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.596000 336.292000 464.596000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.692000 336.292000 467.692000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.788000 336.292000 470.788000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.884000 336.292000 473.884000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.980000 336.292000 476.980000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.076000 336.292000 480.076000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.172000 336.292000 483.172000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.268000 336.292000 486.268000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.364000 336.292000 489.364000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.460000 336.292000 492.460000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.556000 336.292000 495.556000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.652000 336.292000 498.652000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.748000 336.292000 501.748000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.844000 336.292000 504.844000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.940000 336.292000 507.940000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.036000 336.292000 511.036000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.132000 336.292000 514.132000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.228000 336.292000 517.228000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.324000 336.292000 520.324000 324.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.420000 336.292000 523.420000 324.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 336.292000 529.600000 324.292000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 336.292000 535.600000 324.292000 1.000000 0.000000 0.000000 1.000000 2 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 322.892000 326.972000 310.892000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 322.892000 330.320000 310.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 330.296000 322.892000 335.612000 310.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.492000 322.892000 338.816000 310.892000 1.000000 0.000000 0.000000 1.000000 i +drawChar 338.888000 322.892000 344.888000 310.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 344.888000 322.892000 350.888000 310.892000 1.000000 0.000000 0.000000 1.000000 b +drawChar 350.888000 322.892000 356.204000 310.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 356.192000 322.892000 361.508000 310.892000 1.000000 0.000000 0.000000 1.000000 c +drawChar 361.496000 322.892000 367.496000 310.892000 1.000000 0.000000 0.000000 1.000000 k +drawChar 367.496000 322.892000 370.496000 310.892000 1.000000 0.000000 0.000000 1.000000 , +drawChar 370.592000 322.892000 373.592000 310.892000 1.000000 0.000000 0.000000 1.000000 +drawChar 373.592000 322.892000 378.260000 310.892000 1.000000 0.000000 0.000000 1.000000 J +drawChar 378.188000 322.892000 384.188000 310.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 384.092000 322.892000 390.092000 310.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 390.188000 322.892000 396.188000 310.892000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 396.100000 322.892000 399.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 322.892000 402.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 322.892000 405.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 322.892000 408.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 322.892000 411.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 322.892000 414.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 322.892000 417.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 322.892000 420.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 322.892000 423.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 322.892000 426.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 322.892000 429.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 322.892000 432.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 322.892000 435.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 322.892000 438.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 322.892000 441.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 322.892000 444.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 322.892000 447.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 322.892000 450.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 322.892000 453.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 322.892000 456.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 322.892000 459.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 322.892000 462.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 322.892000 465.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 322.892000 468.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 322.892000 471.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 322.892000 474.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 322.892000 477.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 322.892000 480.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.100000 322.892000 483.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.100000 322.892000 486.100000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.196000 322.892000 489.196000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.292000 322.892000 492.292000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.388000 322.892000 495.388000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.484000 322.892000 498.484000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.580000 322.892000 501.580000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.676000 322.892000 504.676000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.772000 322.892000 507.772000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.868000 322.892000 510.868000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.964000 322.892000 513.964000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.060000 322.892000 517.060000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.156000 322.892000 520.156000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.252000 322.892000 523.252000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.348000 322.892000 526.348000 310.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.444000 322.892000 529.444000 310.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 322.892000 535.600000 310.892000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 309.392000 326.972000 297.392000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 309.392000 330.320000 297.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 330.296000 309.392000 335.612000 297.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 335.600000 309.392000 339.596000 297.392000 1.000000 0.000000 0.000000 1.000000 r +drawChar 339.596000 309.392000 344.912000 297.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 344.900000 309.392000 350.900000 297.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 350.900000 309.392000 353.900000 297.392000 1.000000 0.000000 0.000000 1.000000 +drawChar 353.900000 309.392000 358.568000 297.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 358.604000 309.392000 364.604000 297.392000 1.000000 0.000000 0.000000 1.000000 y +drawChar 364.508000 309.392000 369.176000 297.392000 1.000000 0.000000 0.000000 1.000000 s +drawChar 369.212000 309.392000 372.536000 297.392000 1.000000 0.000000 0.000000 1.000000 t +drawChar 372.512000 309.392000 377.828000 297.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 377.816000 309.392000 387.140000 297.392000 1.000000 0.000000 0.000000 1.000000 m +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 387.100000 309.392000 390.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.100000 309.392000 393.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.100000 309.392000 396.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.100000 309.392000 399.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 309.392000 402.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 309.392000 405.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 309.392000 408.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 309.392000 411.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 309.392000 414.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 309.392000 417.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 309.392000 420.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 309.392000 423.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 309.392000 426.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 309.392000 429.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 309.392000 432.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 309.392000 435.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 309.392000 438.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 309.392000 441.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 309.392000 444.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 309.392000 447.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 309.392000 450.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 309.392000 453.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 309.392000 456.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 309.392000 459.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 309.392000 462.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 309.392000 465.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 309.392000 468.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 309.392000 471.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 309.392000 474.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 309.392000 477.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 309.392000 480.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.100000 309.392000 483.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.100000 309.392000 486.100000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.196000 309.392000 489.196000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.292000 309.392000 492.292000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.388000 309.392000 495.388000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.484000 309.392000 498.484000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.580000 309.392000 501.580000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.676000 309.392000 504.676000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.772000 309.392000 507.772000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.868000 309.392000 510.868000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.964000 309.392000 513.964000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.060000 309.392000 517.060000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.156000 309.392000 520.156000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.252000 309.392000 523.252000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.348000 309.392000 526.348000 297.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.444000 309.392000 529.444000 297.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 309.392000 535.600000 297.392000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 295.992000 326.972000 283.992000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.996000 295.992000 330.320000 283.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 330.296000 295.992000 334.292000 283.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 334.292000 295.992000 339.608000 283.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 339.488000 295.992000 348.152000 283.992000 1.000000 0.000000 0.000000 1.000000 w +drawChar 348.188000 295.992000 354.188000 283.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 354.188000 295.992000 359.504000 283.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 359.492000 295.992000 363.488000 283.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 363.488000 295.992000 367.484000 283.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 367.484000 295.992000 373.484000 283.992000 1.000000 0.000000 0.000000 1.000000 y +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 373.500000 295.992000 376.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.500000 295.992000 379.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.500000 295.992000 382.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.500000 295.992000 385.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.500000 295.992000 388.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.500000 295.992000 391.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.500000 295.992000 394.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.500000 295.992000 397.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.500000 295.992000 400.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.500000 295.992000 403.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.500000 295.992000 406.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.500000 295.992000 409.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.500000 295.992000 412.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.500000 295.992000 415.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.500000 295.992000 418.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.500000 295.992000 421.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.500000 295.992000 424.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.500000 295.992000 427.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.500000 295.992000 430.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.500000 295.992000 433.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.500000 295.992000 436.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.500000 295.992000 439.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.500000 295.992000 442.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.500000 295.992000 445.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.500000 295.992000 448.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.500000 295.992000 451.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.500000 295.992000 454.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.500000 295.992000 457.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.500000 295.992000 460.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.500000 295.992000 463.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.500000 295.992000 466.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.500000 295.992000 469.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.500000 295.992000 472.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.500000 295.992000 475.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.500000 295.992000 478.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.500000 295.992000 481.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.500000 295.992000 484.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.500000 295.992000 487.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.500000 295.992000 490.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.500000 295.992000 493.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.500000 295.992000 496.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.500000 295.992000 499.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.500000 295.992000 502.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.500000 295.992000 505.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.500000 295.992000 508.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.500000 295.992000 511.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.500000 295.992000 514.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.500000 295.992000 517.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.500000 295.992000 520.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.500000 295.992000 523.500000 283.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 295.992000 529.600000 283.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 295.992000 535.600000 283.992000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 282.492000 326.972000 270.492000 1.000000 0.000000 0.000000 1.000000 S +drawChar 326.900000 282.492000 335.564000 270.492000 1.000000 0.000000 0.000000 1.000000 w +drawChar 335.600000 282.492000 340.916000 270.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 340.904000 282.492000 346.220000 270.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 346.208000 282.492000 349.532000 270.492000 1.000000 0.000000 0.000000 1.000000 t +drawChar 349.508000 282.492000 354.824000 270.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 354.812000 282.492000 358.808000 270.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 358.808000 282.492000 363.476000 270.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 363.500000 282.492000 366.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.500000 282.492000 369.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.500000 282.492000 372.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.500000 282.492000 375.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.500000 282.492000 378.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.500000 282.492000 381.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.500000 282.492000 384.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.500000 282.492000 387.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.500000 282.492000 390.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.500000 282.492000 393.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.500000 282.492000 396.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.500000 282.492000 399.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.500000 282.492000 402.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.500000 282.492000 405.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.500000 282.492000 408.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.500000 282.492000 411.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.500000 282.492000 414.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.500000 282.492000 417.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.500000 282.492000 420.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.500000 282.492000 423.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.500000 282.492000 426.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.500000 282.492000 429.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.500000 282.492000 432.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.500000 282.492000 435.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.500000 282.492000 438.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.500000 282.492000 441.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.500000 282.492000 444.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.500000 282.492000 447.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.500000 282.492000 450.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.500000 282.492000 453.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.500000 282.492000 456.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.500000 282.492000 459.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.500000 282.492000 462.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.500000 282.492000 465.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.500000 282.492000 468.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.500000 282.492000 471.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.500000 282.492000 474.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.500000 282.492000 477.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.500000 282.492000 480.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.500000 282.492000 483.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.500000 282.492000 486.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.500000 282.492000 489.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.500000 282.492000 492.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.500000 282.492000 495.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.500000 282.492000 498.500000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.596000 282.492000 501.596000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.692000 282.492000 504.692000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.788000 282.492000 507.788000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.884000 282.492000 510.884000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.980000 282.492000 513.980000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.076000 282.492000 517.076000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.172000 282.492000 520.172000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.268000 282.492000 523.268000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.364000 282.492000 526.364000 270.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.460000 282.492000 529.460000 270.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 282.492000 535.600000 270.492000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 320.300000 268.592000 328.292000 256.592000 1.000000 0.000000 0.000000 1.000000 T +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 255.192000 327.620000 243.192000 1.000000 0.000000 0.000000 1.000000 T +drawChar 327.596000 255.192000 332.912000 243.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.900000 255.192000 336.224000 243.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 336.200000 255.192000 341.516000 243.192000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.504000 255.192000 347.504000 243.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 347.408000 255.192000 353.408000 243.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 353.504000 255.192000 359.504000 243.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 359.504000 255.192000 365.504000 243.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 365.504000 255.192000 370.820000 243.192000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 370.800000 255.192000 373.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.800000 255.192000 376.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.800000 255.192000 379.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.800000 255.192000 382.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.800000 255.192000 385.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.800000 255.192000 388.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.800000 255.192000 391.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.800000 255.192000 394.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.800000 255.192000 397.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.800000 255.192000 400.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.800000 255.192000 403.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.800000 255.192000 406.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.800000 255.192000 409.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.800000 255.192000 412.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.800000 255.192000 415.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.800000 255.192000 418.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.800000 255.192000 421.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.800000 255.192000 424.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.800000 255.192000 427.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.800000 255.192000 430.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.800000 255.192000 433.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.800000 255.192000 436.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.800000 255.192000 439.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.800000 255.192000 442.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.800000 255.192000 445.800000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.896000 255.192000 448.896000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.992000 255.192000 451.992000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.088000 255.192000 455.088000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.184000 255.192000 458.184000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.280000 255.192000 461.280000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.376000 255.192000 464.376000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.472000 255.192000 467.472000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.568000 255.192000 470.568000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.664000 255.192000 473.664000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.760000 255.192000 476.760000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.856000 255.192000 479.856000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.952000 255.192000 482.952000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.048000 255.192000 486.048000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.144000 255.192000 489.144000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.240000 255.192000 492.240000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.336000 255.192000 495.336000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.432000 255.192000 498.432000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.528000 255.192000 501.528000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.624000 255.192000 504.624000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.720000 255.192000 507.720000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.816000 255.192000 510.816000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.912000 255.192000 513.912000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.008000 255.192000 517.008000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.104000 255.192000 520.104000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.200000 255.192000 523.200000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.296000 255.192000 526.296000 243.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.392000 255.192000 529.392000 243.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 255.192000 535.600000 243.192000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 241.692000 327.620000 229.692000 1.000000 0.000000 0.000000 1.000000 T +drawChar 327.596000 241.692000 332.912000 229.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.900000 241.692000 336.224000 229.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 336.200000 241.692000 341.516000 229.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 341.504000 241.692000 347.504000 229.692000 1.000000 0.000000 0.000000 1.000000 v +drawChar 347.408000 241.692000 350.732000 229.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 350.804000 241.692000 355.472000 229.692000 1.000000 0.000000 0.000000 1.000000 s +drawChar 355.508000 241.692000 358.832000 229.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 358.904000 241.692000 364.904000 229.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 364.904000 241.692000 370.904000 229.692000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 370.800000 241.692000 373.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.800000 241.692000 376.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.800000 241.692000 379.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.800000 241.692000 382.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.800000 241.692000 385.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.800000 241.692000 388.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.800000 241.692000 391.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.800000 241.692000 394.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.800000 241.692000 397.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.800000 241.692000 400.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.800000 241.692000 403.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.800000 241.692000 406.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.800000 241.692000 409.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.800000 241.692000 412.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.800000 241.692000 415.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.800000 241.692000 418.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.800000 241.692000 421.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.800000 241.692000 424.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.800000 241.692000 427.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.800000 241.692000 430.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.800000 241.692000 433.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.800000 241.692000 436.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.800000 241.692000 439.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.800000 241.692000 442.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.800000 241.692000 445.800000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.896000 241.692000 448.896000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.992000 241.692000 451.992000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.088000 241.692000 455.088000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.184000 241.692000 458.184000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.280000 241.692000 461.280000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.376000 241.692000 464.376000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.472000 241.692000 467.472000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.568000 241.692000 470.568000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.664000 241.692000 473.664000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.760000 241.692000 476.760000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.856000 241.692000 479.856000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.952000 241.692000 482.952000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.048000 241.692000 486.048000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.144000 241.692000 489.144000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.240000 241.692000 492.240000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.336000 241.692000 495.336000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.432000 241.692000 498.432000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.528000 241.692000 501.528000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.624000 241.692000 504.624000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.720000 241.692000 507.720000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.816000 241.692000 510.816000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.912000 241.692000 513.912000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.008000 241.692000 517.008000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.104000 241.692000 520.104000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.200000 241.692000 523.200000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.296000 241.692000 526.296000 229.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.392000 241.692000 529.392000 229.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 241.692000 535.600000 229.692000 1.000000 0.000000 0.000000 1.000000 7 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 228.292000 327.620000 216.292000 1.000000 0.000000 0.000000 1.000000 T +drawChar 327.596000 228.292000 332.912000 216.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 332.900000 228.292000 336.896000 216.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 336.896000 228.292000 340.892000 216.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 340.892000 228.292000 346.208000 216.292000 1.000000 0.000000 0.000000 1.000000 a +drawChar 346.196000 228.292000 351.512000 216.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 351.500000 228.292000 356.816000 216.292000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 356.800000 228.292000 359.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 359.800000 228.292000 362.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 362.800000 228.292000 365.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 365.800000 228.292000 368.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 368.800000 228.292000 371.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 371.800000 228.292000 374.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 374.800000 228.292000 377.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 377.800000 228.292000 380.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 380.800000 228.292000 383.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 383.800000 228.292000 386.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 386.800000 228.292000 389.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 389.800000 228.292000 392.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.800000 228.292000 395.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.800000 228.292000 398.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.800000 228.292000 401.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.800000 228.292000 404.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.800000 228.292000 407.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.800000 228.292000 410.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.800000 228.292000 413.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.800000 228.292000 416.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.800000 228.292000 419.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.800000 228.292000 422.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.800000 228.292000 425.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.800000 228.292000 428.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.800000 228.292000 431.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.800000 228.292000 434.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.800000 228.292000 437.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.800000 228.292000 440.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.800000 228.292000 443.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.800000 228.292000 446.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.800000 228.292000 449.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.800000 228.292000 452.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.800000 228.292000 455.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.800000 228.292000 458.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.800000 228.292000 461.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.800000 228.292000 464.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.800000 228.292000 467.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.800000 228.292000 470.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.800000 228.292000 473.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.800000 228.292000 476.800000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.896000 228.292000 479.896000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.992000 228.292000 482.992000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.088000 228.292000 486.088000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.184000 228.292000 489.184000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.280000 228.292000 492.280000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.376000 228.292000 495.376000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.472000 228.292000 498.472000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.568000 228.292000 501.568000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.664000 228.292000 504.664000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.760000 228.292000 507.760000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.856000 228.292000 510.856000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.952000 228.292000 513.952000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.048000 228.292000 517.048000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.144000 228.292000 520.144000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.240000 228.292000 523.240000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.336000 228.292000 526.336000 216.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.432000 228.292000 529.432000 216.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 228.292000 535.600000 216.292000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 214.792000 327.620000 202.792000 1.000000 0.000000 0.000000 1.000000 T +drawChar 327.500000 214.792000 333.500000 202.792000 1.000000 0.000000 0.000000 1.000000 h +drawChar 333.596000 214.792000 339.596000 202.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 339.500000 214.792000 348.824000 202.792000 1.000000 0.000000 0.000000 1.000000 m +drawChar 348.800000 214.792000 354.116000 202.792000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 354.100000 214.792000 357.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.100000 214.792000 360.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.100000 214.792000 363.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.100000 214.792000 366.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.100000 214.792000 369.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.100000 214.792000 372.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.100000 214.792000 375.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.100000 214.792000 378.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.100000 214.792000 381.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.100000 214.792000 384.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.100000 214.792000 387.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.100000 214.792000 390.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.100000 214.792000 393.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.100000 214.792000 396.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.100000 214.792000 399.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.100000 214.792000 402.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.100000 214.792000 405.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.100000 214.792000 408.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.100000 214.792000 411.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.100000 214.792000 414.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.100000 214.792000 417.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.100000 214.792000 420.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.100000 214.792000 423.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.100000 214.792000 426.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.100000 214.792000 429.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.100000 214.792000 432.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.100000 214.792000 435.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.100000 214.792000 438.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.100000 214.792000 441.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.100000 214.792000 444.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.100000 214.792000 447.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.100000 214.792000 450.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.100000 214.792000 453.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.100000 214.792000 456.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.100000 214.792000 459.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.100000 214.792000 462.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.100000 214.792000 465.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.100000 214.792000 468.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.100000 214.792000 471.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.100000 214.792000 474.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.100000 214.792000 477.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.100000 214.792000 480.100000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.196000 214.792000 483.196000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.292000 214.792000 486.292000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.388000 214.792000 489.388000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.484000 214.792000 492.484000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.580000 214.792000 495.580000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.676000 214.792000 498.676000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.772000 214.792000 501.772000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.868000 214.792000 504.868000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.964000 214.792000 507.964000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.060000 214.792000 511.060000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.156000 214.792000 514.156000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.252000 214.792000 517.252000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.348000 214.792000 520.348000 202.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.444000 214.792000 523.444000 202.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 214.792000 529.600000 202.792000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 214.792000 535.600000 202.792000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 201.392000 327.620000 189.392000 1.000000 0.000000 0.000000 1.000000 T +drawChar 327.596000 201.392000 333.596000 189.392000 1.000000 0.000000 0.000000 1.000000 o +drawChar 333.500000 201.392000 336.824000 189.392000 1.000000 0.000000 0.000000 1.000000 i +drawChar 336.896000 201.392000 340.220000 189.392000 1.000000 0.000000 0.000000 1.000000 l +drawChar 340.196000 201.392000 345.512000 189.392000 1.000000 0.000000 0.000000 1.000000 e +drawChar 345.500000 201.392000 348.824000 189.392000 1.000000 0.000000 0.000000 1.000000 t +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 348.800000 201.392000 351.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 351.800000 201.392000 354.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 354.800000 201.392000 357.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 357.800000 201.392000 360.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 360.800000 201.392000 363.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 363.800000 201.392000 366.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 366.800000 201.392000 369.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.800000 201.392000 372.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.800000 201.392000 375.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.800000 201.392000 378.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.800000 201.392000 381.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.800000 201.392000 384.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.800000 201.392000 387.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.800000 201.392000 390.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.800000 201.392000 393.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.800000 201.392000 396.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.800000 201.392000 399.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.800000 201.392000 402.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.800000 201.392000 405.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.800000 201.392000 408.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.800000 201.392000 411.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.800000 201.392000 414.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.800000 201.392000 417.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.800000 201.392000 420.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.800000 201.392000 423.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.800000 201.392000 426.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.800000 201.392000 429.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.800000 201.392000 432.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.800000 201.392000 435.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.800000 201.392000 438.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.800000 201.392000 441.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.800000 201.392000 444.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.800000 201.392000 447.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.800000 201.392000 450.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.800000 201.392000 453.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.800000 201.392000 456.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.800000 201.392000 459.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.800000 201.392000 462.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.800000 201.392000 465.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.800000 201.392000 468.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.800000 201.392000 471.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.800000 201.392000 474.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.800000 201.392000 477.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.800000 201.392000 480.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.800000 201.392000 483.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.800000 201.392000 486.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.800000 201.392000 489.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.800000 201.392000 492.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.800000 201.392000 495.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.800000 201.392000 498.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.800000 201.392000 501.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.800000 201.392000 504.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.800000 201.392000 507.800000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.896000 201.392000 510.896000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.992000 201.392000 513.992000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.088000 201.392000 517.088000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.184000 201.392000 520.184000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.280000 201.392000 523.280000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.376000 201.392000 526.376000 189.392000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.472000 201.392000 529.472000 189.392000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 201.392000 535.600000 189.392000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 187.892000 327.620000 175.892000 1.000000 0.000000 0.000000 1.000000 T +drawChar 327.596000 187.892000 333.596000 175.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 333.596000 187.892000 342.920000 175.892000 1.000000 0.000000 0.000000 1.000000 m +drawChar 342.896000 187.892000 348.212000 175.892000 1.000000 0.000000 0.000000 1.000000 a +drawChar 348.200000 187.892000 351.524000 175.892000 1.000000 0.000000 0.000000 1.000000 t +drawChar 351.500000 187.892000 357.500000 175.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 357.500000 187.892000 362.816000 175.892000 1.000000 0.000000 0.000000 1.000000 e +drawChar 362.804000 187.892000 367.472000 175.892000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 367.500000 187.892000 370.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 370.500000 187.892000 373.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 373.500000 187.892000 376.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 376.500000 187.892000 379.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 379.500000 187.892000 382.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 382.500000 187.892000 385.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 385.500000 187.892000 388.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 388.500000 187.892000 391.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 391.500000 187.892000 394.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 394.500000 187.892000 397.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 397.500000 187.892000 400.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 400.500000 187.892000 403.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 403.500000 187.892000 406.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 406.500000 187.892000 409.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 409.500000 187.892000 412.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 412.500000 187.892000 415.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 415.500000 187.892000 418.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 418.500000 187.892000 421.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 421.500000 187.892000 424.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 424.500000 187.892000 427.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 427.500000 187.892000 430.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 430.500000 187.892000 433.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 433.500000 187.892000 436.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 436.500000 187.892000 439.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 439.500000 187.892000 442.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 442.500000 187.892000 445.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 445.500000 187.892000 448.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 448.500000 187.892000 451.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 451.500000 187.892000 454.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 454.500000 187.892000 457.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 457.500000 187.892000 460.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 460.500000 187.892000 463.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 463.500000 187.892000 466.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 466.500000 187.892000 469.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 469.500000 187.892000 472.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 472.500000 187.892000 475.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 475.500000 187.892000 478.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 478.500000 187.892000 481.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 481.500000 187.892000 484.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 484.500000 187.892000 487.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 487.500000 187.892000 490.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 490.500000 187.892000 493.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 493.500000 187.892000 496.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 496.500000 187.892000 499.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 499.500000 187.892000 502.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 502.500000 187.892000 505.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 505.500000 187.892000 508.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.500000 187.892000 511.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.500000 187.892000 514.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.500000 187.892000 517.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.500000 187.892000 520.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.500000 187.892000 523.500000 175.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 187.892000 529.600000 175.892000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 187.892000 535.600000 175.892000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 174.492000 327.620000 162.492000 1.000000 0.000000 0.000000 1.000000 T +drawChar 327.596000 174.492000 331.592000 162.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 331.592000 174.492000 336.908000 162.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 336.896000 174.492000 342.896000 162.492000 1.000000 0.000000 0.000000 1.000000 d +drawChar 342.800000 174.492000 348.116000 162.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 348.200000 174.492000 351.200000 162.492000 1.000000 0.000000 0.000000 1.000000 +drawChar 351.200000 174.492000 354.524000 162.492000 1.000000 0.000000 0.000000 1.000000 j +drawChar 354.596000 174.492000 360.596000 162.492000 1.000000 0.000000 0.000000 1.000000 o +drawChar 360.596000 174.492000 366.596000 162.492000 1.000000 0.000000 0.000000 1.000000 u +drawChar 366.596000 174.492000 370.592000 162.492000 1.000000 0.000000 0.000000 1.000000 r +drawChar 370.592000 174.492000 376.592000 162.492000 1.000000 0.000000 0.000000 1.000000 n +drawChar 376.592000 174.492000 381.908000 162.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 381.896000 174.492000 385.220000 162.492000 1.000000 0.000000 0.000000 1.000000 l +drawChar 385.196000 174.492000 389.864000 162.492000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 389.800000 174.492000 392.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 392.800000 174.492000 395.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 395.800000 174.492000 398.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 398.800000 174.492000 401.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.800000 174.492000 404.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.800000 174.492000 407.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.800000 174.492000 410.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.800000 174.492000 413.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.800000 174.492000 416.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.800000 174.492000 419.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.800000 174.492000 422.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.800000 174.492000 425.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.800000 174.492000 428.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.800000 174.492000 431.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.800000 174.492000 434.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.800000 174.492000 437.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.800000 174.492000 440.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.800000 174.492000 443.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.800000 174.492000 446.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.800000 174.492000 449.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.800000 174.492000 452.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.800000 174.492000 455.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.800000 174.492000 458.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.800000 174.492000 461.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.800000 174.492000 464.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.800000 174.492000 467.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.800000 174.492000 470.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.800000 174.492000 473.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.800000 174.492000 476.800000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.896000 174.492000 479.896000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.992000 174.492000 482.992000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.088000 174.492000 486.088000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.184000 174.492000 489.184000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.280000 174.492000 492.280000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.376000 174.492000 495.376000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.472000 174.492000 498.472000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.568000 174.492000 501.568000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.664000 174.492000 504.664000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.760000 174.492000 507.760000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.856000 174.492000 510.856000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.952000 174.492000 513.952000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.048000 174.492000 517.048000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.144000 174.492000 520.144000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.240000 174.492000 523.240000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.336000 174.492000 526.336000 162.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.432000 174.492000 529.432000 162.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 174.492000 535.600000 162.492000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 160.992000 327.620000 148.992000 1.000000 0.000000 0.000000 1.000000 T +drawChar 327.596000 160.992000 331.592000 148.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 331.592000 160.992000 336.908000 148.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 336.896000 160.992000 342.212000 148.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 342.200000 160.992000 346.196000 148.992000 1.000000 0.000000 0.000000 1.000000 f +drawChar 346.196000 160.992000 350.192000 148.992000 1.000000 0.000000 0.000000 1.000000 r +drawChar 350.192000 160.992000 356.192000 148.992000 1.000000 0.000000 0.000000 1.000000 o +drawChar 356.192000 160.992000 362.192000 148.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 362.192000 160.992000 366.860000 148.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 366.800000 160.992000 369.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 369.800000 160.992000 372.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 372.800000 160.992000 375.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 375.800000 160.992000 378.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 378.800000 160.992000 381.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 381.800000 160.992000 384.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 384.800000 160.992000 387.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 387.800000 160.992000 390.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 390.800000 160.992000 393.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 393.800000 160.992000 396.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 396.800000 160.992000 399.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 399.800000 160.992000 402.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 402.800000 160.992000 405.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 405.800000 160.992000 408.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 408.800000 160.992000 411.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 411.800000 160.992000 414.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 414.800000 160.992000 417.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 417.800000 160.992000 420.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 420.800000 160.992000 423.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 423.800000 160.992000 426.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 426.800000 160.992000 429.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 429.800000 160.992000 432.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 432.800000 160.992000 435.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 435.800000 160.992000 438.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 438.800000 160.992000 441.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 441.800000 160.992000 444.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 444.800000 160.992000 447.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 447.800000 160.992000 450.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 450.800000 160.992000 453.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 453.800000 160.992000 456.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 456.800000 160.992000 459.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 459.800000 160.992000 462.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 462.800000 160.992000 465.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 465.800000 160.992000 468.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 468.800000 160.992000 471.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 471.800000 160.992000 474.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 474.800000 160.992000 477.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 477.800000 160.992000 480.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 480.800000 160.992000 483.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.800000 160.992000 486.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.800000 160.992000 489.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.800000 160.992000 492.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.800000 160.992000 495.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.800000 160.992000 498.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.800000 160.992000 501.800000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.896000 160.992000 504.896000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.992000 160.992000 507.992000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 508.088000 160.992000 511.088000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 511.184000 160.992000 514.184000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.280000 160.992000 517.280000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.376000 160.992000 520.376000 148.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.472000 160.992000 523.472000 148.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 523.600000 160.992000 529.600000 148.992000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 529.600000 160.992000 535.600000 148.992000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 320.300000 147.092000 328.964000 135.092000 1.000000 0.000000 0.000000 1.000000 V +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 320.300000 133.692000 328.964000 121.692000 1.000000 0.000000 0.000000 1.000000 V +drawChar 328.904000 133.692000 334.220000 121.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 334.208000 133.692000 339.524000 121.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 339.512000 133.692000 345.512000 121.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 345.512000 133.692000 351.512000 121.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 351.512000 133.692000 360.836000 121.692000 1.000000 0.000000 0.000000 1.000000 m +drawChar 360.908000 133.692000 363.908000 121.692000 1.000000 0.000000 0.000000 1.000000 +drawChar 363.908000 133.692000 369.224000 121.692000 1.000000 0.000000 0.000000 1.000000 c +drawChar 369.212000 133.692000 372.536000 121.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 372.512000 133.692000 377.828000 121.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 377.816000 133.692000 383.132000 121.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 383.120000 133.692000 389.120000 121.692000 1.000000 0.000000 0.000000 1.000000 n +drawChar 389.120000 133.692000 394.436000 121.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 394.424000 133.692000 398.420000 121.692000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 398.500000 133.692000 401.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 401.500000 133.692000 404.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 404.500000 133.692000 407.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 407.500000 133.692000 410.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 410.500000 133.692000 413.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 413.500000 133.692000 416.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 416.500000 133.692000 419.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 419.500000 133.692000 422.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 422.500000 133.692000 425.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 425.500000 133.692000 428.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 428.500000 133.692000 431.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 431.500000 133.692000 434.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 434.500000 133.692000 437.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 437.500000 133.692000 440.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 440.500000 133.692000 443.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 443.500000 133.692000 446.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 446.500000 133.692000 449.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 449.500000 133.692000 452.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 452.500000 133.692000 455.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 455.500000 133.692000 458.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 458.500000 133.692000 461.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 461.500000 133.692000 464.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 464.500000 133.692000 467.500000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 467.596000 133.692000 470.596000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 470.692000 133.692000 473.692000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 473.788000 133.692000 476.788000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 476.884000 133.692000 479.884000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 479.980000 133.692000 482.980000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 483.076000 133.692000 486.076000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 486.172000 133.692000 489.172000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 489.268000 133.692000 492.268000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 492.364000 133.692000 495.364000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 495.460000 133.692000 498.460000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 498.556000 133.692000 501.556000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 501.652000 133.692000 504.652000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 504.748000 133.692000 507.748000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 507.844000 133.692000 510.844000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 510.940000 133.692000 513.940000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 514.036000 133.692000 517.036000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 517.132000 133.692000 520.132000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 520.228000 133.692000 523.228000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 523.324000 133.692000 526.324000 121.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 526.420000 133.692000 529.420000 121.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 529.600000 133.692000 535.600000 121.692000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 306.000000 136.200000 0 306.100000 136.200000 0 306.100000 644.800000 0 306.000000 644.800000 0 306.000000 136.200000 0 +restoreState +restoreState +endPage +startPage 61200.000000 79200.000000 +updateCtm 100.000000 0.000000 0.000000 -100.000000 0.000000 79200.000000 +updateLineDash +updateFlatness 1 +updateLineJoin 0 +updateLineCap 0 +updateMiterLimit 10.000000 +updateLineWidth 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateStrokeColor 0.000000 0.000000 0.000000 1.000000 +clipPath subpath 1 0.000000 0.000000 0 612.000000 0.000000 0 612.000000 792.000000 0 0.000000 792.000000 0 0.000000 0.000000 0 +saveState +updateLineWidth 0.100000 +saveState +eoClipPath subpath 1 0.000000 -0.100000 0 612.100000 -0.100000 0 612.100000 792.000000 0 0.000000 792.000000 0 0.000000 -0.100000 0 +updateFillColor 0.898026 0.898026 0.898026 1.000000 +eoFillPath subpath 1 76.600000 701.500000 0 535.500000 701.500000 0 535.500000 720.000000 0 76.600000 720.000000 0 76.600000 701.500000 0 +updateFillColor 0.901947 0.901947 0.901947 1.000000 +eoFillPath subpath 1 76.600000 565.100000 0 291.900000 565.100000 0 291.900000 579.000000 0 76.600000 579.000000 0 76.600000 565.100000 0 +eoFillPath subpath 1 76.600000 457.000000 0 291.900000 457.000000 0 291.900000 470.900000 0 76.600000 470.900000 0 76.600000 457.000000 0 +eoFillPath subpath 1 76.600000 429.700000 0 291.900000 429.700000 0 291.900000 443.600000 0 76.600000 443.600000 0 76.600000 429.700000 0 +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 106 0 0 0 0 1600.000000 0 Helvetica +drawChar 76.700000 716.588000 81.148000 700.588000 1.000000 0.000000 0.000000 1.000000 I +drawChar 81.100000 716.588000 89.996000 700.588000 1.000000 0.000000 0.000000 1.000000 n +drawChar 89.996000 716.588000 98.892000 700.588000 1.000000 0.000000 0.000000 1.000000 d +drawChar 98.892000 716.588000 107.788000 700.588000 1.000000 0.000000 0.000000 1.000000 e +drawChar 107.788000 716.588000 115.788000 700.588000 1.000000 0.000000 0.000000 1.000000 x +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 672.992000 85.364000 660.992000 1.000000 0.000000 0.000000 1.000000 V +drawChar 85.304000 672.992000 90.620000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 90.608000 672.992000 96.608000 660.992000 1.000000 0.000000 0.000000 1.000000 g +drawChar 96.608000 672.992000 101.924000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 101.912000 672.992000 105.236000 660.992000 1.000000 0.000000 0.000000 1.000000 t +drawChar 105.212000 672.992000 110.528000 660.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 110.516000 672.992000 116.516000 660.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 116.516000 672.992000 119.840000 660.992000 1.000000 0.000000 0.000000 1.000000 l +drawChar 119.816000 672.992000 125.132000 660.992000 1.000000 0.000000 0.000000 1.000000 e +drawChar 125.120000 672.992000 129.788000 660.992000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 129.900000 672.992000 132.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.900000 672.992000 135.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.900000 672.992000 138.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.900000 672.992000 141.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.900000 672.992000 144.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.900000 672.992000 147.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.900000 672.992000 150.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.900000 672.992000 153.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 672.992000 156.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 672.992000 159.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 672.992000 162.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 672.992000 165.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 672.992000 168.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 672.992000 171.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 672.992000 174.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 672.992000 177.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 672.992000 180.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 672.992000 183.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 672.992000 186.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 672.992000 189.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 672.992000 192.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 672.992000 195.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 672.992000 198.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 672.992000 201.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 672.992000 204.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 672.992000 207.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 672.992000 210.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 672.992000 213.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 672.992000 216.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 672.992000 219.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 672.992000 222.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 672.992000 225.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 672.992000 228.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 672.992000 231.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 672.992000 234.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 672.992000 237.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 672.992000 240.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 672.992000 243.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 672.992000 246.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 672.992000 249.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 672.992000 252.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 672.992000 255.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 672.992000 258.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 672.992000 261.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 672.992000 264.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 672.992000 267.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 672.992000 270.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 672.992000 273.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 672.992000 276.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 672.992000 279.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.900000 672.992000 282.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.900000 672.992000 285.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 285.900000 672.992000 288.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 288.900000 672.992000 291.900000 660.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 90.800000 659.592000 99.464000 647.592000 1.000000 0.000000 0.000000 1.000000 O +drawChar 99.404000 659.592000 105.404000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 105.404000 659.592000 108.728000 647.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 108.800000 659.592000 114.800000 647.592000 1.000000 0.000000 0.000000 1.000000 o +drawChar 114.800000 659.592000 120.800000 647.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 120.800000 659.592000 125.468000 647.592000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 125.400000 659.592000 128.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.400000 659.592000 131.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.400000 659.592000 134.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.400000 659.592000 137.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.400000 659.592000 140.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.400000 659.592000 143.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.400000 659.592000 146.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.400000 659.592000 149.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.400000 659.592000 152.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.400000 659.592000 155.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.400000 659.592000 158.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.400000 659.592000 161.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.400000 659.592000 164.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.400000 659.592000 167.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.400000 659.592000 170.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.400000 659.592000 173.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.400000 659.592000 176.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.400000 659.592000 179.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.400000 659.592000 182.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.400000 659.592000 185.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.400000 659.592000 188.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.400000 659.592000 191.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.400000 659.592000 194.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.400000 659.592000 197.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.400000 659.592000 200.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.400000 659.592000 203.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.400000 659.592000 206.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.400000 659.592000 209.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.400000 659.592000 212.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.400000 659.592000 215.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.400000 659.592000 218.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.400000 659.592000 221.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.400000 659.592000 224.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.400000 659.592000 227.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.400000 659.592000 230.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.400000 659.592000 233.400000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.496000 659.592000 236.496000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.592000 659.592000 239.592000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.688000 659.592000 242.688000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.784000 659.592000 245.784000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.880000 659.592000 248.880000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.976000 659.592000 251.976000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.072000 659.592000 255.072000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.168000 659.592000 258.168000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.264000 659.592000 261.264000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.360000 659.592000 264.360000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.456000 659.592000 267.456000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.552000 659.592000 270.552000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.648000 659.592000 273.648000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.744000 659.592000 276.744000 647.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.840000 659.592000 279.840000 647.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 659.592000 286.000000 647.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 659.592000 292.000000 647.592000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 90.800000 646.092000 98.792000 634.092000 1.000000 0.000000 0.000000 1.000000 R +drawChar 98.804000 646.092000 104.120000 634.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 104.108000 646.092000 110.108000 634.092000 1.000000 0.000000 0.000000 1.000000 d +drawChar 110.012000 646.092000 113.336000 634.092000 1.000000 0.000000 0.000000 1.000000 i +drawChar 113.408000 646.092000 118.076000 634.092000 1.000000 0.000000 0.000000 1.000000 s +drawChar 118.112000 646.092000 124.112000 634.092000 1.000000 0.000000 0.000000 1.000000 h +drawChar 124.208000 646.092000 129.524000 634.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 129.404000 646.092000 134.072000 634.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 134.000000 646.092000 137.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.000000 646.092000 140.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.000000 646.092000 143.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.000000 646.092000 146.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.000000 646.092000 149.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.000000 646.092000 152.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.000000 646.092000 155.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.000000 646.092000 158.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.000000 646.092000 161.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.000000 646.092000 164.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.000000 646.092000 167.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.000000 646.092000 170.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.000000 646.092000 173.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.000000 646.092000 176.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.000000 646.092000 179.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.000000 646.092000 182.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.000000 646.092000 185.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.000000 646.092000 188.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.000000 646.092000 191.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.000000 646.092000 194.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.000000 646.092000 197.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.000000 646.092000 200.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.000000 646.092000 203.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.000000 646.092000 206.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.000000 646.092000 209.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.000000 646.092000 212.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.000000 646.092000 215.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.000000 646.092000 218.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.000000 646.092000 221.000000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.096000 646.092000 224.096000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.192000 646.092000 227.192000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.288000 646.092000 230.288000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.384000 646.092000 233.384000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.480000 646.092000 236.480000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.576000 646.092000 239.576000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.672000 646.092000 242.672000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.768000 646.092000 245.768000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.864000 646.092000 248.864000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.960000 646.092000 251.960000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.056000 646.092000 255.056000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.152000 646.092000 258.152000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.248000 646.092000 261.248000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.344000 646.092000 264.344000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.440000 646.092000 267.440000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.536000 646.092000 270.536000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.632000 646.092000 273.632000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.728000 646.092000 276.728000 634.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.824000 646.092000 279.824000 634.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 646.092000 286.000000 634.092000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 646.092000 292.000000 634.092000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 90.800000 632.692000 98.792000 620.692000 1.000000 0.000000 0.000000 1.000000 R +drawChar 98.804000 632.692000 104.804000 620.692000 1.000000 0.000000 0.000000 1.000000 h +drawChar 104.804000 632.692000 110.804000 620.692000 1.000000 0.000000 0.000000 1.000000 u +drawChar 110.804000 632.692000 116.804000 620.692000 1.000000 0.000000 0.000000 1.000000 b +drawChar 116.804000 632.692000 122.120000 620.692000 1.000000 0.000000 0.000000 1.000000 a +drawChar 122.108000 632.692000 126.104000 620.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 126.104000 632.692000 132.104000 620.692000 1.000000 0.000000 0.000000 1.000000 b +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 132.000000 632.692000 135.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.000000 632.692000 138.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.000000 632.692000 141.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.000000 632.692000 144.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.000000 632.692000 147.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.000000 632.692000 150.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.000000 632.692000 153.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.000000 632.692000 156.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.000000 632.692000 159.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.000000 632.692000 162.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.000000 632.692000 165.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.000000 632.692000 168.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.000000 632.692000 171.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.000000 632.692000 174.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.000000 632.692000 177.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.000000 632.692000 180.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.000000 632.692000 183.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.000000 632.692000 186.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.000000 632.692000 189.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.000000 632.692000 192.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.000000 632.692000 195.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.000000 632.692000 198.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.000000 632.692000 201.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.000000 632.692000 204.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.000000 632.692000 207.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.000000 632.692000 210.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.000000 632.692000 213.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.000000 632.692000 216.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.000000 632.692000 219.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.000000 632.692000 222.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.000000 632.692000 225.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.000000 632.692000 228.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.000000 632.692000 231.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.000000 632.692000 234.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.000000 632.692000 237.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.000000 632.692000 240.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.000000 632.692000 243.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.000000 632.692000 246.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.000000 632.692000 249.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.000000 632.692000 252.000000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.096000 632.692000 255.096000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.192000 632.692000 258.192000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.288000 632.692000 261.288000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.384000 632.692000 264.384000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.480000 632.692000 267.480000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.576000 632.692000 270.576000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.672000 632.692000 273.672000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.768000 632.692000 276.768000 620.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.864000 632.692000 279.864000 620.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 632.692000 286.000000 620.692000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 632.692000 292.000000 620.692000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 90.800000 619.192000 98.120000 607.192000 1.000000 0.000000 0.000000 1.000000 Z +drawChar 98.096000 619.192000 104.096000 607.192000 1.000000 0.000000 0.000000 1.000000 u +drawChar 104.096000 619.192000 109.412000 607.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 109.400000 619.192000 114.716000 607.192000 1.000000 0.000000 0.000000 1.000000 c +drawChar 114.704000 619.192000 120.704000 607.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 120.704000 619.192000 124.028000 607.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 124.100000 619.192000 130.100000 607.192000 1.000000 0.000000 0.000000 1.000000 n +drawChar 130.100000 619.192000 133.424000 607.192000 1.000000 0.000000 0.000000 1.000000 i +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 133.400000 619.192000 136.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.400000 619.192000 139.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.400000 619.192000 142.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.400000 619.192000 145.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.400000 619.192000 148.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.400000 619.192000 151.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.400000 619.192000 154.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.400000 619.192000 157.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.400000 619.192000 160.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.400000 619.192000 163.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.400000 619.192000 166.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.400000 619.192000 169.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.400000 619.192000 172.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.400000 619.192000 175.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.400000 619.192000 178.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.400000 619.192000 181.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.400000 619.192000 184.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.400000 619.192000 187.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.400000 619.192000 190.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.400000 619.192000 193.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.400000 619.192000 196.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.400000 619.192000 199.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.400000 619.192000 202.400000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.496000 619.192000 205.496000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.592000 619.192000 208.592000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.688000 619.192000 211.688000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.784000 619.192000 214.784000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.880000 619.192000 217.880000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.976000 619.192000 220.976000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.072000 619.192000 224.072000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.168000 619.192000 227.168000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.264000 619.192000 230.264000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.360000 619.192000 233.360000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.456000 619.192000 236.456000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.552000 619.192000 239.552000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.648000 619.192000 242.648000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.744000 619.192000 245.744000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.840000 619.192000 248.840000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.936000 619.192000 251.936000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.032000 619.192000 255.032000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.128000 619.192000 258.128000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.224000 619.192000 261.224000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.320000 619.192000 264.320000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.416000 619.192000 267.416000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.512000 619.192000 270.512000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.608000 619.192000 273.608000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.704000 619.192000 276.704000 607.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.800000 619.192000 279.800000 607.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 619.192000 286.000000 607.192000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 619.192000 292.000000 607.192000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 605.792000 85.364000 593.792000 1.000000 0.000000 0.000000 1.000000 V +drawChar 85.304000 605.792000 88.628000 593.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 88.700000 605.792000 94.016000 593.792000 1.000000 0.000000 0.000000 1.000000 c +drawChar 94.004000 605.792000 97.328000 593.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 97.304000 605.792000 103.304000 593.792000 1.000000 0.000000 0.000000 1.000000 o +drawChar 103.304000 605.792000 107.300000 593.792000 1.000000 0.000000 0.000000 1.000000 r +drawChar 107.204000 605.792000 110.528000 593.792000 1.000000 0.000000 0.000000 1.000000 i +drawChar 110.600000 605.792000 115.916000 593.792000 1.000000 0.000000 0.000000 1.000000 a +drawChar 115.904000 605.792000 121.904000 593.792000 1.000000 0.000000 0.000000 1.000000 n +drawChar 122.000000 605.792000 125.000000 593.792000 1.000000 0.000000 0.000000 1.000000 +drawChar 125.000000 605.792000 129.668000 593.792000 1.000000 0.000000 0.000000 1.000000 s +drawChar 129.704000 605.792000 133.028000 593.792000 1.000000 0.000000 0.000000 1.000000 t +drawChar 133.004000 605.792000 139.004000 593.792000 1.000000 0.000000 0.000000 1.000000 y +drawChar 138.908000 605.792000 142.232000 593.792000 1.000000 0.000000 0.000000 1.000000 l +drawChar 142.208000 605.792000 147.524000 593.792000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 147.500000 605.792000 150.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.500000 605.792000 153.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.500000 605.792000 156.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.500000 605.792000 159.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.500000 605.792000 162.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.500000 605.792000 165.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.500000 605.792000 168.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.500000 605.792000 171.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.500000 605.792000 174.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.500000 605.792000 177.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.500000 605.792000 180.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.500000 605.792000 183.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.500000 605.792000 186.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.500000 605.792000 189.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.500000 605.792000 192.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.500000 605.792000 195.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.500000 605.792000 198.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.500000 605.792000 201.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.500000 605.792000 204.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.500000 605.792000 207.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.500000 605.792000 210.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.500000 605.792000 213.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.500000 605.792000 216.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.500000 605.792000 219.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.500000 605.792000 222.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.500000 605.792000 225.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.500000 605.792000 228.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.500000 605.792000 231.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.500000 605.792000 234.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.500000 605.792000 237.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.500000 605.792000 240.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.500000 605.792000 243.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.500000 605.792000 246.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.500000 605.792000 249.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.500000 605.792000 252.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.500000 605.792000 255.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.500000 605.792000 258.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.500000 605.792000 261.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.500000 605.792000 264.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.500000 605.792000 267.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.500000 605.792000 270.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.500000 605.792000 273.500000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.596000 605.792000 276.596000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.692000 605.792000 279.692000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.788000 605.792000 282.788000 593.792000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.884000 605.792000 285.884000 593.792000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 605.792000 292.000000 593.792000 1.000000 0.000000 0.000000 1.000000 6 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 592.292000 85.364000 580.292000 1.000000 0.000000 0.000000 1.000000 V +drawChar 85.304000 592.292000 88.628000 580.292000 1.000000 0.000000 0.000000 1.000000 i +drawChar 88.700000 592.292000 92.024000 580.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 92.000000 592.292000 95.324000 580.292000 1.000000 0.000000 0.000000 1.000000 l +drawChar 95.300000 592.292000 100.616000 580.292000 1.000000 0.000000 0.000000 1.000000 a +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 100.600000 592.292000 103.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 103.600000 592.292000 106.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 106.600000 592.292000 109.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 109.600000 592.292000 112.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 112.600000 592.292000 115.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 115.600000 592.292000 118.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 118.600000 592.292000 121.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 121.600000 592.292000 124.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 124.600000 592.292000 127.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.600000 592.292000 130.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.600000 592.292000 133.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.600000 592.292000 136.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.600000 592.292000 139.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.600000 592.292000 142.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.600000 592.292000 145.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.600000 592.292000 148.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.600000 592.292000 151.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.600000 592.292000 154.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.600000 592.292000 157.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.600000 592.292000 160.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.600000 592.292000 163.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.600000 592.292000 166.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.600000 592.292000 169.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.600000 592.292000 172.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.600000 592.292000 175.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.600000 592.292000 178.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.600000 592.292000 181.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.600000 592.292000 184.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.600000 592.292000 187.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.600000 592.292000 190.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.600000 592.292000 193.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.600000 592.292000 196.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.600000 592.292000 199.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.600000 592.292000 202.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.600000 592.292000 205.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.600000 592.292000 208.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.600000 592.292000 211.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.600000 592.292000 214.600000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.696000 592.292000 217.696000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.792000 592.292000 220.792000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 220.888000 592.292000 223.888000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 223.984000 592.292000 226.984000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.080000 592.292000 230.080000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.176000 592.292000 233.176000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.272000 592.292000 236.272000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.368000 592.292000 239.368000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.464000 592.292000 242.464000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.560000 592.292000 245.560000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.656000 592.292000 248.656000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.752000 592.292000 251.752000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.848000 592.292000 254.848000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.944000 592.292000 257.944000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.040000 592.292000 261.040000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.136000 592.292000 264.136000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.232000 592.292000 267.232000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.328000 592.292000 270.328000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.424000 592.292000 273.424000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.520000 592.292000 276.520000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.616000 592.292000 279.616000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.712000 592.292000 282.712000 580.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.808000 592.292000 285.808000 580.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 592.292000 292.000000 580.292000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 578.392000 88.700000 566.392000 1.000000 0.000000 0.000000 1.000000 W +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 564.992000 88.016000 552.992000 1.000000 0.000000 0.000000 1.000000 W +drawChar 88.004000 564.992000 93.320000 552.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 93.308000 564.992000 97.976000 552.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 97.904000 564.992000 103.904000 552.992000 1.000000 0.000000 0.000000 1.000000 h +drawChar 104.000000 564.992000 110.000000 552.992000 1.000000 0.000000 0.000000 1.000000 b +drawChar 110.000000 564.992000 115.316000 552.992000 1.000000 0.000000 0.000000 1.000000 a +drawChar 115.304000 564.992000 119.972000 552.992000 1.000000 0.000000 0.000000 1.000000 s +drawChar 119.900000 564.992000 123.224000 552.992000 1.000000 0.000000 0.000000 1.000000 i +drawChar 123.296000 564.992000 129.296000 552.992000 1.000000 0.000000 0.000000 1.000000 n +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 129.200000 564.992000 132.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.200000 564.992000 135.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.200000 564.992000 138.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.200000 564.992000 141.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.200000 564.992000 144.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.200000 564.992000 147.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.200000 564.992000 150.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.200000 564.992000 153.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.200000 564.992000 156.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.200000 564.992000 159.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.200000 564.992000 162.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.200000 564.992000 165.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.200000 564.992000 168.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.200000 564.992000 171.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.200000 564.992000 174.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.200000 564.992000 177.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.200000 564.992000 180.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.200000 564.992000 183.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.200000 564.992000 186.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.200000 564.992000 189.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.200000 564.992000 192.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.200000 564.992000 195.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.200000 564.992000 198.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.200000 564.992000 201.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.200000 564.992000 204.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.200000 564.992000 207.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.200000 564.992000 210.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.200000 564.992000 213.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.200000 564.992000 216.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.200000 564.992000 219.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.200000 564.992000 222.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.200000 564.992000 225.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.200000 564.992000 228.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.200000 564.992000 231.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.200000 564.992000 234.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.200000 564.992000 237.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.200000 564.992000 240.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.200000 564.992000 243.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.200000 564.992000 246.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.200000 564.992000 249.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.200000 564.992000 252.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.200000 564.992000 255.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.200000 564.992000 258.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.200000 564.992000 261.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.200000 564.992000 264.200000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.296000 564.992000 267.296000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.392000 564.992000 270.392000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.488000 564.992000 273.488000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.584000 564.992000 276.584000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.680000 564.992000 279.680000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.776000 564.992000 282.776000 552.992000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.872000 564.992000 285.872000 552.992000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 564.992000 292.000000 552.992000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 551.492000 88.016000 539.492000 1.000000 0.000000 0.000000 1.000000 W +drawChar 88.004000 551.492000 93.320000 539.492000 1.000000 0.000000 0.000000 1.000000 a +drawChar 93.308000 551.492000 97.976000 539.492000 1.000000 0.000000 0.000000 1.000000 s +drawChar 97.904000 551.492000 103.904000 539.492000 1.000000 0.000000 0.000000 1.000000 h +drawChar 104.000000 551.492000 109.316000 539.492000 1.000000 0.000000 0.000000 1.000000 e +drawChar 109.304000 551.492000 113.300000 539.492000 1.000000 0.000000 0.000000 1.000000 r +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 113.200000 551.492000 116.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 116.200000 551.492000 119.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 119.200000 551.492000 122.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.200000 551.492000 125.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.200000 551.492000 128.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.200000 551.492000 131.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.200000 551.492000 134.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.200000 551.492000 137.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.200000 551.492000 140.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.200000 551.492000 143.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.200000 551.492000 146.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.200000 551.492000 149.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.200000 551.492000 152.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.200000 551.492000 155.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.200000 551.492000 158.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.200000 551.492000 161.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.200000 551.492000 164.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.200000 551.492000 167.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.200000 551.492000 170.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.200000 551.492000 173.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.200000 551.492000 176.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.200000 551.492000 179.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.200000 551.492000 182.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.200000 551.492000 185.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.200000 551.492000 188.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.200000 551.492000 191.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.200000 551.492000 194.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.200000 551.492000 197.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.200000 551.492000 200.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.200000 551.492000 203.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.200000 551.492000 206.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.200000 551.492000 209.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 551.492000 212.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.200000 551.492000 215.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.200000 551.492000 218.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.200000 551.492000 221.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.200000 551.492000 224.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.200000 551.492000 227.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.200000 551.492000 230.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.200000 551.492000 233.200000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.296000 551.492000 236.296000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.392000 551.492000 239.392000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.488000 551.492000 242.488000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.584000 551.492000 245.584000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.680000 551.492000 248.680000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.776000 551.492000 251.776000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.872000 551.492000 254.872000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.968000 551.492000 257.968000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.064000 551.492000 261.064000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.160000 551.492000 264.160000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.256000 551.492000 267.256000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.352000 551.492000 270.352000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.448000 551.492000 273.448000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.544000 551.492000 276.544000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.640000 551.492000 279.640000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.736000 551.492000 282.736000 539.492000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.832000 551.492000 285.832000 539.492000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 551.492000 292.000000 539.492000 1.000000 0.000000 0.000000 1.000000 5 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 538.092000 88.016000 526.092000 1.000000 0.000000 0.000000 1.000000 W +drawChar 88.004000 538.092000 93.320000 526.092000 1.000000 0.000000 0.000000 1.000000 a +drawChar 93.308000 538.092000 96.632000 526.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 96.608000 538.092000 101.924000 526.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 101.912000 538.092000 105.908000 526.092000 1.000000 0.000000 0.000000 1.000000 r +drawChar 106.016000 538.092000 109.016000 526.092000 1.000000 0.000000 0.000000 1.000000 +drawChar 109.016000 538.092000 112.340000 526.092000 1.000000 0.000000 0.000000 1.000000 j +drawChar 112.316000 538.092000 117.632000 526.092000 1.000000 0.000000 0.000000 1.000000 e +drawChar 117.620000 538.092000 120.944000 526.092000 1.000000 0.000000 0.000000 1.000000 t +drawChar 120.920000 538.092000 125.588000 526.092000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 125.500000 538.092000 128.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.500000 538.092000 131.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.500000 538.092000 134.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.500000 538.092000 137.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.500000 538.092000 140.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.500000 538.092000 143.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.500000 538.092000 146.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.500000 538.092000 149.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.500000 538.092000 152.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.500000 538.092000 155.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.500000 538.092000 158.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.500000 538.092000 161.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.500000 538.092000 164.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.500000 538.092000 167.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.500000 538.092000 170.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.500000 538.092000 173.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.500000 538.092000 176.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.500000 538.092000 179.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.500000 538.092000 182.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.500000 538.092000 185.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.500000 538.092000 188.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.500000 538.092000 191.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.500000 538.092000 194.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.500000 538.092000 197.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.500000 538.092000 200.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.500000 538.092000 203.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.500000 538.092000 206.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.500000 538.092000 209.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.500000 538.092000 212.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.500000 538.092000 215.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.500000 538.092000 218.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.500000 538.092000 221.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.500000 538.092000 224.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.500000 538.092000 227.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.500000 538.092000 230.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.500000 538.092000 233.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.500000 538.092000 236.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.500000 538.092000 239.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.500000 538.092000 242.500000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.596000 538.092000 245.596000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.692000 538.092000 248.692000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.788000 538.092000 251.788000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.884000 538.092000 254.884000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.980000 538.092000 257.980000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.076000 538.092000 261.076000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.172000 538.092000 264.172000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.268000 538.092000 267.268000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.364000 538.092000 270.364000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.460000 538.092000 273.460000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.556000 538.092000 276.556000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.652000 538.092000 279.652000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.748000 538.092000 282.748000 526.092000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.844000 538.092000 285.844000 526.092000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 538.092000 292.000000 526.092000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 524.592000 88.016000 512.592000 1.000000 0.000000 0.000000 1.000000 W +drawChar 88.004000 524.592000 93.320000 512.592000 1.000000 0.000000 0.000000 1.000000 a +drawChar 93.308000 524.592000 96.632000 512.592000 1.000000 0.000000 0.000000 1.000000 t +drawChar 96.608000 524.592000 101.924000 512.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 101.912000 524.592000 105.908000 512.592000 1.000000 0.000000 0.000000 1.000000 r +drawChar 105.908000 524.592000 111.908000 512.592000 1.000000 0.000000 0.000000 1.000000 b +drawChar 111.908000 524.592000 117.224000 512.592000 1.000000 0.000000 0.000000 1.000000 e +drawChar 117.212000 524.592000 123.212000 512.592000 1.000000 0.000000 0.000000 1.000000 d +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 123.200000 524.592000 126.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 126.200000 524.592000 129.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 129.200000 524.592000 132.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.200000 524.592000 135.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.200000 524.592000 138.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.200000 524.592000 141.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.200000 524.592000 144.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.200000 524.592000 147.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.200000 524.592000 150.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.200000 524.592000 153.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.200000 524.592000 156.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.200000 524.592000 159.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.200000 524.592000 162.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.200000 524.592000 165.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.200000 524.592000 168.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.200000 524.592000 171.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.200000 524.592000 174.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.200000 524.592000 177.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.200000 524.592000 180.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.200000 524.592000 183.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.200000 524.592000 186.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.200000 524.592000 189.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.200000 524.592000 192.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.200000 524.592000 195.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.200000 524.592000 198.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.200000 524.592000 201.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.200000 524.592000 204.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.200000 524.592000 207.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.200000 524.592000 210.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.200000 524.592000 213.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.200000 524.592000 216.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.200000 524.592000 219.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.200000 524.592000 222.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.200000 524.592000 225.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.200000 524.592000 228.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.200000 524.592000 231.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.200000 524.592000 234.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.200000 524.592000 237.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.200000 524.592000 240.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.200000 524.592000 243.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.200000 524.592000 246.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.200000 524.592000 249.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.200000 524.592000 252.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.200000 524.592000 255.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.200000 524.592000 258.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.200000 524.592000 261.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.200000 524.592000 264.200000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.296000 524.592000 267.296000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.392000 524.592000 270.392000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.488000 524.592000 273.488000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.584000 524.592000 276.584000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.680000 524.592000 279.680000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.776000 524.592000 282.776000 512.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.872000 524.592000 285.872000 512.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 524.592000 292.000000 512.592000 1.000000 0.000000 0.000000 1.000000 8 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 511.192000 88.016000 499.192000 1.000000 0.000000 0.000000 1.000000 W +drawChar 87.896000 511.192000 93.896000 499.192000 1.000000 0.000000 0.000000 1.000000 h +drawChar 93.992000 511.192000 97.316000 499.192000 1.000000 0.000000 0.000000 1.000000 i +drawChar 97.292000 511.192000 101.288000 499.192000 1.000000 0.000000 0.000000 1.000000 r +drawChar 101.288000 511.192000 104.612000 499.192000 1.000000 0.000000 0.000000 1.000000 l +drawChar 104.588000 511.192000 110.588000 499.192000 1.000000 0.000000 0.000000 1.000000 p +drawChar 110.492000 511.192000 116.492000 499.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 116.492000 511.192000 122.492000 499.192000 1.000000 0.000000 0.000000 1.000000 o +drawChar 122.492000 511.192000 125.816000 499.192000 1.000000 0.000000 0.000000 1.000000 l +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 125.900000 511.192000 128.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.900000 511.192000 131.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.900000 511.192000 134.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.900000 511.192000 137.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.900000 511.192000 140.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.900000 511.192000 143.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.900000 511.192000 146.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.900000 511.192000 149.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.900000 511.192000 152.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.900000 511.192000 155.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.900000 511.192000 158.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.900000 511.192000 161.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.900000 511.192000 164.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.900000 511.192000 167.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.900000 511.192000 170.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.900000 511.192000 173.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.900000 511.192000 176.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.900000 511.192000 179.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.900000 511.192000 182.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.900000 511.192000 185.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.900000 511.192000 188.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.900000 511.192000 191.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.900000 511.192000 194.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.900000 511.192000 197.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.900000 511.192000 200.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.900000 511.192000 203.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.900000 511.192000 206.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.900000 511.192000 209.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.900000 511.192000 212.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.900000 511.192000 215.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.900000 511.192000 218.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.900000 511.192000 221.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.900000 511.192000 224.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.900000 511.192000 227.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.900000 511.192000 230.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.900000 511.192000 233.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.900000 511.192000 236.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.900000 511.192000 239.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.900000 511.192000 242.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.900000 511.192000 245.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.900000 511.192000 248.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.900000 511.192000 251.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 251.900000 511.192000 254.900000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 254.996000 511.192000 257.996000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.092000 511.192000 261.092000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.188000 511.192000 264.188000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.284000 511.192000 267.284000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.380000 511.192000 270.380000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.476000 511.192000 273.476000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.572000 511.192000 276.572000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.668000 511.192000 279.668000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.764000 511.192000 282.764000 499.192000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.860000 511.192000 285.860000 499.192000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 511.192000 292.000000 499.192000 1.000000 0.000000 0.000000 1.000000 9 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 497.692000 88.016000 485.692000 1.000000 0.000000 0.000000 1.000000 W +drawChar 87.896000 497.692000 91.220000 485.692000 1.000000 0.000000 0.000000 1.000000 i +drawChar 91.292000 497.692000 94.616000 485.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 94.592000 497.692000 100.592000 485.692000 1.000000 0.000000 0.000000 1.000000 d +drawChar 100.496000 497.692000 104.492000 485.692000 1.000000 0.000000 0.000000 1.000000 f +drawChar 104.492000 497.692000 107.816000 485.692000 1.000000 0.000000 0.000000 1.000000 l +drawChar 107.792000 497.692000 113.792000 485.692000 1.000000 0.000000 0.000000 1.000000 o +drawChar 113.792000 497.692000 122.456000 485.692000 1.000000 0.000000 0.000000 1.000000 w +drawChar 122.492000 497.692000 127.808000 485.692000 1.000000 0.000000 0.000000 1.000000 e +drawChar 127.796000 497.692000 131.792000 485.692000 1.000000 0.000000 0.000000 1.000000 r +drawChar 131.792000 497.692000 136.460000 485.692000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 136.500000 497.692000 139.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.500000 497.692000 142.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.500000 497.692000 145.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.500000 497.692000 148.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.500000 497.692000 151.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.500000 497.692000 154.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.500000 497.692000 157.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.500000 497.692000 160.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.500000 497.692000 163.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.500000 497.692000 166.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.500000 497.692000 169.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.500000 497.692000 172.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.500000 497.692000 175.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.500000 497.692000 178.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.500000 497.692000 181.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.500000 497.692000 184.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.500000 497.692000 187.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.500000 497.692000 190.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.500000 497.692000 193.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.500000 497.692000 196.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.500000 497.692000 199.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.500000 497.692000 202.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.500000 497.692000 205.500000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.596000 497.692000 208.596000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.692000 497.692000 211.692000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.788000 497.692000 214.788000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.884000 497.692000 217.884000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.980000 497.692000 220.980000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.076000 497.692000 224.076000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.172000 497.692000 227.172000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.268000 497.692000 230.268000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.364000 497.692000 233.364000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.460000 497.692000 236.460000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.556000 497.692000 239.556000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.652000 497.692000 242.652000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.748000 497.692000 245.748000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.844000 497.692000 248.844000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.940000 497.692000 251.940000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.036000 497.692000 255.036000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.132000 497.692000 258.132000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.228000 497.692000 261.228000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.324000 497.692000 264.324000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.420000 497.692000 267.420000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.516000 497.692000 270.516000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.612000 497.692000 273.612000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.708000 497.692000 276.708000 485.692000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.804000 497.692000 279.804000 485.692000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 497.692000 286.000000 485.692000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 497.692000 292.000000 485.692000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 484.292000 88.016000 472.292000 1.000000 0.000000 0.000000 1.000000 W +drawChar 88.004000 484.292000 92.000000 472.292000 1.000000 0.000000 0.000000 1.000000 r +drawChar 92.000000 484.292000 97.316000 472.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 97.304000 484.292000 103.304000 472.292000 1.000000 0.000000 0.000000 1.000000 n +drawChar 103.304000 484.292000 108.620000 472.292000 1.000000 0.000000 0.000000 1.000000 c +drawChar 108.500000 484.292000 114.500000 472.292000 1.000000 0.000000 0.000000 1.000000 h +drawChar 114.596000 484.292000 119.912000 472.292000 1.000000 0.000000 0.000000 1.000000 e +drawChar 119.900000 484.292000 124.568000 472.292000 1.000000 0.000000 0.000000 1.000000 s +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 124.500000 484.292000 127.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 127.500000 484.292000 130.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 130.500000 484.292000 133.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 133.500000 484.292000 136.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 136.500000 484.292000 139.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 139.500000 484.292000 142.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 142.500000 484.292000 145.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 145.500000 484.292000 148.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 148.500000 484.292000 151.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 151.500000 484.292000 154.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 154.500000 484.292000 157.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 157.500000 484.292000 160.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 160.500000 484.292000 163.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 163.500000 484.292000 166.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 166.500000 484.292000 169.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 169.500000 484.292000 172.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 172.500000 484.292000 175.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 175.500000 484.292000 178.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 178.500000 484.292000 181.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 181.500000 484.292000 184.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 184.500000 484.292000 187.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 187.500000 484.292000 190.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 190.500000 484.292000 193.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 193.500000 484.292000 196.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 196.500000 484.292000 199.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 199.500000 484.292000 202.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 202.500000 484.292000 205.500000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 205.596000 484.292000 208.596000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 208.692000 484.292000 211.692000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 211.788000 484.292000 214.788000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 214.884000 484.292000 217.884000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 217.980000 484.292000 220.980000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.076000 484.292000 224.076000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.172000 484.292000 227.172000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.268000 484.292000 230.268000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.364000 484.292000 233.364000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.460000 484.292000 236.460000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.556000 484.292000 239.556000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.652000 484.292000 242.652000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.748000 484.292000 245.748000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.844000 484.292000 248.844000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.940000 484.292000 251.940000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.036000 484.292000 255.036000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.132000 484.292000 258.132000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.228000 484.292000 261.228000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.324000 484.292000 264.324000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.420000 484.292000 267.420000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.516000 484.292000 270.516000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.612000 484.292000 273.612000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.708000 484.292000 276.708000 472.292000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.804000 484.292000 279.804000 472.292000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 484.292000 286.000000 472.292000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 484.292000 292.000000 472.292000 1.000000 0.000000 0.000000 1.000000 3 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 470.292000 85.364000 458.292000 1.000000 0.000000 0.000000 1.000000 X +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 456.892000 85.364000 444.892000 1.000000 0.000000 0.000000 1.000000 X +drawChar 85.304000 456.892000 91.304000 444.892000 1.000000 0.000000 0.000000 1.000000 y +drawChar 91.208000 456.892000 94.532000 444.892000 1.000000 0.000000 0.000000 1.000000 l +drawChar 94.508000 456.892000 100.508000 444.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 100.604000 456.892000 106.604000 444.892000 1.000000 0.000000 0.000000 1.000000 p +drawChar 106.508000 456.892000 112.508000 444.892000 1.000000 0.000000 0.000000 1.000000 h +drawChar 112.604000 456.892000 118.604000 444.892000 1.000000 0.000000 0.000000 1.000000 o +drawChar 118.604000 456.892000 124.604000 444.892000 1.000000 0.000000 0.000000 1.000000 n +drawChar 124.604000 456.892000 129.920000 444.892000 1.000000 0.000000 0.000000 1.000000 e +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 129.900000 456.892000 132.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 132.900000 456.892000 135.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 135.900000 456.892000 138.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 138.900000 456.892000 141.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 141.900000 456.892000 144.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 144.900000 456.892000 147.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 147.900000 456.892000 150.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 150.900000 456.892000 153.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 153.900000 456.892000 156.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 156.900000 456.892000 159.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 159.900000 456.892000 162.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 162.900000 456.892000 165.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 165.900000 456.892000 168.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 168.900000 456.892000 171.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 171.900000 456.892000 174.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 174.900000 456.892000 177.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 177.900000 456.892000 180.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 180.900000 456.892000 183.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 183.900000 456.892000 186.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 186.900000 456.892000 189.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 189.900000 456.892000 192.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 192.900000 456.892000 195.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 195.900000 456.892000 198.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 198.900000 456.892000 201.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 201.900000 456.892000 204.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 204.900000 456.892000 207.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 207.900000 456.892000 210.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 210.900000 456.892000 213.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 213.900000 456.892000 216.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 216.900000 456.892000 219.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 219.900000 456.892000 222.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 222.900000 456.892000 225.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 225.900000 456.892000 228.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 228.900000 456.892000 231.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 231.900000 456.892000 234.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 234.900000 456.892000 237.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 237.900000 456.892000 240.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 240.900000 456.892000 243.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 243.900000 456.892000 246.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 246.900000 456.892000 249.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 249.900000 456.892000 252.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.900000 456.892000 255.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.900000 456.892000 258.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.900000 456.892000 261.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.900000 456.892000 264.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.900000 456.892000 267.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.900000 456.892000 270.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.900000 456.892000 273.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.900000 456.892000 276.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.900000 456.892000 279.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 279.900000 456.892000 282.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +drawChar 282.900000 456.892000 285.900000 444.892000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 286.000000 456.892000 292.000000 444.892000 1.000000 0.000000 0.000000 1.000000 4 +endTextObject +restoreState +saveState +updateFillColor 0.399994 0.399994 0.399994 1.000000 +updateFont 105 1 0 0 0 1200.000000 0 EAAAAA+Thorndale-Bold +drawChar 76.700000 442.992000 84.692000 430.992000 1.000000 0.000000 0.000000 1.000000 Z +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 76.700000 429.592000 84.020000 417.592000 1.000000 0.000000 0.000000 1.000000 Z +drawChar 83.996000 429.592000 89.996000 417.592000 1.000000 0.000000 0.000000 1.000000 u +drawChar 89.996000 429.592000 95.312000 417.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 95.300000 429.592000 100.616000 417.592000 1.000000 0.000000 0.000000 1.000000 c +drawChar 100.496000 429.592000 106.496000 417.592000 1.000000 0.000000 0.000000 1.000000 h +drawChar 106.592000 429.592000 109.916000 417.592000 1.000000 0.000000 0.000000 1.000000 i +drawChar 109.988000 429.592000 115.988000 417.592000 1.000000 0.000000 0.000000 1.000000 n +drawChar 115.892000 429.592000 119.216000 417.592000 1.000000 0.000000 0.000000 1.000000 i +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 119.200000 429.592000 122.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 122.200000 429.592000 125.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 125.200000 429.592000 128.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 128.200000 429.592000 131.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 131.200000 429.592000 134.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 134.200000 429.592000 137.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 137.200000 429.592000 140.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 140.200000 429.592000 143.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 143.200000 429.592000 146.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 146.200000 429.592000 149.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 149.200000 429.592000 152.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 152.200000 429.592000 155.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 155.200000 429.592000 158.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 158.200000 429.592000 161.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 161.200000 429.592000 164.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 164.200000 429.592000 167.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 167.200000 429.592000 170.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 170.200000 429.592000 173.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 173.200000 429.592000 176.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 176.200000 429.592000 179.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 179.200000 429.592000 182.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 182.200000 429.592000 185.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 185.200000 429.592000 188.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 188.200000 429.592000 191.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 191.200000 429.592000 194.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 194.200000 429.592000 197.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 197.200000 429.592000 200.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 200.200000 429.592000 203.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 203.200000 429.592000 206.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 206.200000 429.592000 209.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 209.200000 429.592000 212.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 212.200000 429.592000 215.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 215.200000 429.592000 218.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 218.200000 429.592000 221.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 221.200000 429.592000 224.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 224.200000 429.592000 227.200000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 227.296000 429.592000 230.296000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 230.392000 429.592000 233.392000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 233.488000 429.592000 236.488000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 236.584000 429.592000 239.584000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 239.680000 429.592000 242.680000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 242.776000 429.592000 245.776000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 245.872000 429.592000 248.872000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 248.968000 429.592000 251.968000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 252.064000 429.592000 255.064000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 255.160000 429.592000 258.160000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 258.256000 429.592000 261.256000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 261.352000 429.592000 264.352000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 264.448000 429.592000 267.448000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 267.544000 429.592000 270.544000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 270.640000 429.592000 273.640000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 273.736000 429.592000 276.736000 417.592000 1.000000 0.000000 0.000000 1.000000 . +drawChar 276.832000 429.592000 279.832000 417.592000 1.000000 0.000000 0.000000 1.000000 . +endTextObject +restoreState +saveState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +updateFont 85 1 0 0 0 1200.000000 0 FAAAAA+Thorndale +drawChar 280.000000 429.592000 286.000000 417.592000 1.000000 0.000000 0.000000 1.000000 1 +drawChar 286.000000 429.592000 292.000000 417.592000 1.000000 0.000000 0.000000 1.000000 1 +endTextObject +restoreState +updateFillColor 0.000000 0.000000 0.000000 1.000000 +eoFillPath subpath 1 306.000000 136.200000 0 306.100000 136.200000 0 306.100000 644.800000 0 306.000000 644.800000 0 306.000000 136.200000 0 +restoreState +restoreState +endPage diff --git a/xpdf/wrapper/pdfioutdev_gpl.cxx b/xpdf/wrapper/pdfioutdev_gpl.cxx index 56bd32dcf94c..8914aee4fa8a 100644 --- a/xpdf/wrapper/pdfioutdev_gpl.cxx +++ b/xpdf/wrapper/pdfioutdev_gpl.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pdfioutdev_gpl.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: thb $ $Date: 2007-12-17 01:21:52 $ + * last change: $Author: thb $ $Date: 2007-12-17 03:44:23 $ * * The Contents of this file are made available subject to * the terms of GNU General Public License Version 2. @@ -653,7 +653,7 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y, state->getFont()->getAscent(), &x2, &y2 ); const double fFontSize(state->getFontSize()); - x -= x2*fFontSize; + x += x2*fFontSize; y += y2*fFontSize; const double aPositionX(x-originX); @@ -667,7 +667,7 @@ void PDFOutDev::drawChar(GfxState *state, double x, double y, normalize(aPositionX), normalize(aPositionY), normalize(aPositionX+nWidth), - normalize(aPositionY+nHeight), + normalize(aPositionY-nHeight), normalize(pTextMat[0]), normalize(pTextMat[2]), normalize(pTextMat[1]), -- cgit From fef0be494820d3b602c8fe21495070944a49bed4 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:24:56 +0000 Subject: INTEGRATION: CWS pentaho1 (1.1.2); FILE ADDED 2007/10/22 11:49:19 oj 1.1.2.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/download/core.zip | Bin 0 -> 863104 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 jfreereport/download/core.zip diff --git a/jfreereport/download/core.zip b/jfreereport/download/core.zip new file mode 100644 index 000000000000..2b307e32bf6b Binary files /dev/null and b/jfreereport/download/core.zip differ -- cgit From 8c2cd285df3f97b0a107df4a08adda41b985eec9 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:25:09 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.6); FILE MERGED 2007/10/22 11:48:19 oj 1.3.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/download/flute.zip | Bin 0 -> 93172 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 jfreereport/download/flute.zip diff --git a/jfreereport/download/flute.zip b/jfreereport/download/flute.zip new file mode 100644 index 000000000000..c80046d37b5b Binary files /dev/null and b/jfreereport/download/flute.zip differ -- cgit From e0d87fa0010a58e1cb59bd9369530e516522a569 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:25:28 +0000 Subject: INTEGRATION: CWS pentaho1 (1.1.2); FILE ADDED 2007/12/18 07:04:10 oj 1.1.2.2: #i80723# remove last jar files from zip files 2007/10/22 11:49:47 oj 1.1.2.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/download/jcommon-1.0.10.zip | Bin 0 -> 784781 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 jfreereport/download/jcommon-1.0.10.zip diff --git a/jfreereport/download/jcommon-1.0.10.zip b/jfreereport/download/jcommon-1.0.10.zip new file mode 100644 index 000000000000..169cf809ed24 Binary files /dev/null and b/jfreereport/download/jcommon-1.0.10.zip differ -- cgit From e073e89ded613204125713d83f07f8c3da0536aa Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:26:50 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.6); FILE MERGED 2007/10/22 11:48:20 oj 1.3.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/download/jcommon-serializer.zip | Bin 349278 -> 50704 bytes jfreereport/download/libfonts.zip | Bin 1922689 -> 1360748 bytes jfreereport/download/libformula.zip | Bin 0 -> 499594 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 jfreereport/download/libformula.zip diff --git a/jfreereport/download/jcommon-serializer.zip b/jfreereport/download/jcommon-serializer.zip index ed8552987109..f348c6aa87dc 100644 Binary files a/jfreereport/download/jcommon-serializer.zip and b/jfreereport/download/jcommon-serializer.zip differ diff --git a/jfreereport/download/libfonts.zip b/jfreereport/download/libfonts.zip index 8469248ceeea..27d8ceeab23a 100644 Binary files a/jfreereport/download/libfonts.zip and b/jfreereport/download/libfonts.zip differ diff --git a/jfreereport/download/libformula.zip b/jfreereport/download/libformula.zip new file mode 100644 index 000000000000..5307e59ead08 Binary files /dev/null and b/jfreereport/download/libformula.zip differ -- cgit From f4388832a3bbc35277b3166c7b626aa3a4d4b063 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:27:22 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.6); FILE MERGED 2007/10/22 11:48:21 oj 1.3.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/download/liblayout.zip | Bin 4619385 -> 1556974 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/jfreereport/download/liblayout.zip b/jfreereport/download/liblayout.zip index c03519015f61..b1ba3e9e3ee6 100644 Binary files a/jfreereport/download/liblayout.zip and b/jfreereport/download/liblayout.zip differ -- cgit From 66183aae25797b6cf3d0f4369538df9616d0d081 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:27:39 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.6); FILE MERGED 2007/12/18 07:04:11 oj 1.3.6.2: #i80723# remove last jar files from zip files 2007/10/22 11:48:22 oj 1.3.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/download/libloader.zip | Bin 971441 -> 142459 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/jfreereport/download/libloader.zip b/jfreereport/download/libloader.zip index 251ecfdd78a9..71592c483613 100644 Binary files a/jfreereport/download/libloader.zip and b/jfreereport/download/libloader.zip differ -- cgit From 10fb3049990999bd6837384291b604b8f7ff9382 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:28:04 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.6); FILE MERGED 2007/10/22 11:48:23 oj 1.3.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/download/librepository.zip | Bin 364802 -> 62488 bytes jfreereport/download/libxml.zip | Bin 451273 -> 93651 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/jfreereport/download/librepository.zip b/jfreereport/download/librepository.zip index 99dddd82ad1e..5fe4fa836b46 100644 Binary files a/jfreereport/download/librepository.zip and b/jfreereport/download/librepository.zip differ diff --git a/jfreereport/download/libxml.zip b/jfreereport/download/libxml.zip index 10482eb7df09..88e928f31be0 100644 Binary files a/jfreereport/download/libxml.zip and b/jfreereport/download/libxml.zip differ -- cgit From 6d863f7ac59a223fa83a166683ea0980e8ee7f9d Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:28:15 +0000 Subject: INTEGRATION: CWS pentaho1 (1.1.2); FILE ADDED 2007/10/22 11:49:05 oj 1.1.2.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/download/sacjava-1.3.zip | Bin 0 -> 153157 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 jfreereport/download/sacjava-1.3.zip diff --git a/jfreereport/download/sacjava-1.3.zip b/jfreereport/download/sacjava-1.3.zip new file mode 100644 index 000000000000..20eb8012eb2a Binary files /dev/null and b/jfreereport/download/sacjava-1.3.zip differ -- cgit From cd55f1ffa3b36f0f115daef2df44d25ba7e57122 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:28:27 +0000 Subject: INTEGRATION: CWS pentaho1 (1.4.6); FILE MERGED 2007/10/23 05:45:48 oj 1.4.6.2: #i80723# #i81510# makefile changes 2007/10/22 11:41:22 oj 1.4.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/java/flute/makefile.mk | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/jfreereport/java/flute/makefile.mk b/jfreereport/java/flute/makefile.mk index 43fd9b14fb00..55113ee9db58 100644 --- a/jfreereport/java/flute/makefile.mk +++ b/jfreereport/java/flute/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.4 $ +# $Revision: 1.5 $ # -# last change: $Author: hr $ $Date: 2007-08-03 12:46:45 $ +# last change: $Author: ihi $ $Date: 2008-01-14 15:28:27 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,6 +37,7 @@ PRJ=..$/.. PRJNAME=jfreereport TARGET=flute +VERSION=-1.3-jfree-20061107 # --- Settings ----------------------------------------------------- @@ -54,17 +55,19 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -PATCH_FILE_NAME=patches/$(TARGET).patch +PATCH_FILE_NAME=patches$/$(TARGET).patch CONVERTFILES=ant$/build.xml\ - ant$/build.properties + ant$/build.properties + +OUT2CLASS=$(TARGET)$(VERSION).jar .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= .EXPORT : JAVA_HOME -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile .ELSE -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile .ENDIF .ENDIF # $(SOLAR_JAVA)!= "" -- cgit From ae7e5e50f410ad4b65aa528420d8df898d41cbfc Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:28:37 +0000 Subject: INTEGRATION: CWS pentaho1 (1.1.2); FILE ADDED 2007/12/03 07:36:50 oj 1.1.2.3: #i80723# enable patch file 2007/10/23 05:45:48 oj 1.1.2.2: #i80723# #i81510# makefile changes 2007/10/22 11:45:58 oj 1.1.2.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/java/jcommon/makefile.mk | 82 ++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 jfreereport/java/jcommon/makefile.mk diff --git a/jfreereport/java/jcommon/makefile.mk b/jfreereport/java/jcommon/makefile.mk new file mode 100644 index 000000000000..13b4802b803f --- /dev/null +++ b/jfreereport/java/jcommon/makefile.mk @@ -0,0 +1,82 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: ihi $ $Date: 2008-01-14 15:28:37 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=jcommon-1.0.10 + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=ant$/build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=$(TARGET) + +TARFILE_ROOTDIR=$(TARGET) + +PATCH_FILE_NAME=patches$/jcommon.patch + +CONVERTFILES=ant$/build.xml\ + ant$/build.properties + +OUT2CLASS=$(TARGET).jar + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + -- cgit From aec21ea5c2625a99ceaa63e189c810f1953ca1e4 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:28:50 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.6); FILE MERGED 2007/10/23 05:45:48 oj 1.3.6.2: #i80723# #i81510# makefile changes 2007/10/22 11:41:23 oj 1.3.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/java/jcommon-serializer/makefile.mk | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/jfreereport/java/jcommon-serializer/makefile.mk b/jfreereport/java/jcommon-serializer/makefile.mk index 447c507ba399..7a38afc8674b 100644 --- a/jfreereport/java/jcommon-serializer/makefile.mk +++ b/jfreereport/java/jcommon-serializer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hr $ $Date: 2007-08-03 10:11:24 $ +# last change: $Author: ihi $ $Date: 2008-01-14 15:28:50 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,13 +37,14 @@ PRJ=..$/.. PRJNAME=jfreereport TARGET=jcommon-serializer +VERSION=-0.2.0 # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk # override buildfile -ANT_BUILDFILE=ant$/build.xml +ANT_BUILDFILE=build.xml .INCLUDE : antsettings.mk @@ -54,18 +55,19 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -PATCH_FILE_NAME=patches/$(TARGET).patch - -CONVERTFILES=ant$/build.xml\ - ant$/build.properties +PATCH_FILE_NAME=patches$/$(TARGET).patch +CONVERTFILES=build.xml\ + build.properties + +OUT2CLASS=$(TARGET)$(VERSION).jar .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= .EXPORT : JAVA_HOME -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile .ELSE -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile .ENDIF .ENDIF # $(SOLAR_JAVA)!= "" -- cgit From 4e585a0f26f5d1680b8676259094d0ab1e0daba4 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:29:42 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.6); FILE MERGED 2007/10/23 05:45:49 oj 1.3.6.2: #i80723# #i81510# makefile changes 2007/10/22 11:41:23 oj 1.3.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/java/jfreereport/makefile.mk | 25 +++++++++++++------------ jfreereport/java/libfonts/makefile.mk | 19 +++++++++++-------- jfreereport/java/libformula/makefile.mk | 19 +++++++++++-------- jfreereport/java/liblayout/makefile.mk | 19 +++++++++++-------- 4 files changed, 46 insertions(+), 36 deletions(-) diff --git a/jfreereport/java/jfreereport/makefile.mk b/jfreereport/java/jfreereport/makefile.mk index 02cd899705b5..b8bac18f4d14 100644 --- a/jfreereport/java/jfreereport/makefile.mk +++ b/jfreereport/java/jfreereport/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hr $ $Date: 2007-08-03 10:11:35 $ +# last change: $Author: ihi $ $Date: 2008-01-14 15:29:03 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -36,35 +36,37 @@ PRJ=..$/.. PRJNAME=jfreereport -TARGET=jfreereport +TARGET=pentaho-reporting-flow-engine +VERSION=-0.9.2 # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk # override buildfile -ANT_BUILDFILE=ant$/build.xml +ANT_BUILDFILE=build.xml .INCLUDE : antsettings.mk .IF "$(SOLAR_JAVA)" != "" # --- Files -------------------------------------------------------- -TARFILE_NAME=$(TARGET) +TARFILE_NAME=core -TARFILE_ROOTDIR=$(TARGET) +TARFILE_ROOTDIR=core -PATCH_FILE_NAME=patches/$(TARGET).patch +PATCH_FILE_NAME=patches$/$(TARGET).patch -CONVERTFILES=ant$/build.xml\ - ant$/build.properties +CONVERTFILES=build.xml\ + build.properties +OUT2CLASS=$(TARGET)$(VERSION).jar .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= .EXPORT : JAVA_HOME -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile .ELSE -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile .ENDIF .ENDIF # $(SOLAR_JAVA)!= "" @@ -77,4 +79,3 @@ BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all .IF "$(SOLAR_JAVA)" != "" .INCLUDE : tg_ext.mk .ENDIF - diff --git a/jfreereport/java/libfonts/makefile.mk b/jfreereport/java/libfonts/makefile.mk index 2a3d2cad0629..5b0b3b64c415 100644 --- a/jfreereport/java/libfonts/makefile.mk +++ b/jfreereport/java/libfonts/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hr $ $Date: 2007-08-03 10:11:49 $ +# last change: $Author: ihi $ $Date: 2008-01-14 15:29:19 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,13 +37,14 @@ PRJ=..$/.. PRJNAME=jfreereport TARGET=libfonts +VERSION=-0.3.3 # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk # override buildfile -ANT_BUILDFILE=ant$/build.xml +ANT_BUILDFILE=build.xml .INCLUDE : antsettings.mk @@ -54,17 +55,19 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -PATCH_FILE_NAME=patches/$(TARGET).patch +PATCH_FILE_NAME=patches$/$(TARGET).patch -CONVERTFILES=ant$/build.xml\ - ant$/build.properties +CONVERTFILES=build.xml\ + build.properties + +OUT2CLASS=$(TARGET)$(VERSION).jar .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= .EXPORT : JAVA_HOME -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile .ELSE -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile .ENDIF .ENDIF # $(SOLAR_JAVA)!= "" diff --git a/jfreereport/java/libformula/makefile.mk b/jfreereport/java/libformula/makefile.mk index b7a7490eea42..4ccd88354833 100644 --- a/jfreereport/java/libformula/makefile.mk +++ b/jfreereport/java/libformula/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hr $ $Date: 2007-08-03 10:12:02 $ +# last change: $Author: ihi $ $Date: 2008-01-14 15:29:31 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,13 +37,14 @@ PRJ=..$/.. PRJNAME=jfreereport TARGET=libformula +VERSION=-0.1.14 # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk # override buildfile -ANT_BUILDFILE=ant$/build.xml +ANT_BUILDFILE=build.xml .INCLUDE : antsettings.mk @@ -54,17 +55,19 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -PATCH_FILE_NAME=patches/$(TARGET).patch +PATCH_FILE_NAME=patches$/$(TARGET).patch -CONVERTFILES=ant$/build.xml\ - ant$/build.properties +CONVERTFILES=build.xml\ + build.properties + +OUT2CLASS=$(TARGET)$(VERSION).jar .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= .EXPORT : JAVA_HOME -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile .ELSE -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile .ENDIF .ENDIF # $(SOLAR_JAVA)!= "" diff --git a/jfreereport/java/liblayout/makefile.mk b/jfreereport/java/liblayout/makefile.mk index d09cbd312c98..cb5a26bf09ba 100644 --- a/jfreereport/java/liblayout/makefile.mk +++ b/jfreereport/java/liblayout/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hr $ $Date: 2007-08-03 10:12:15 $ +# last change: $Author: ihi $ $Date: 2008-01-14 15:29:42 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,13 +37,14 @@ PRJ=..$/.. PRJNAME=jfreereport TARGET=liblayout +VERSION=-0.2.8 # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk # override buildfile -ANT_BUILDFILE=ant$/build.xml +ANT_BUILDFILE=build.xml .INCLUDE : antsettings.mk @@ -54,17 +55,19 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -PATCH_FILE_NAME=patches/$(TARGET).patch +PATCH_FILE_NAME=patches$/$(TARGET).patch -CONVERTFILES=ant$/build.xml\ - ant$/build.properties +CONVERTFILES=build.xml\ + build.properties + +OUT2CLASS=$(TARGET)$(VERSION).jar .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= .EXPORT : JAVA_HOME -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile .ELSE -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile .ENDIF .ENDIF # $(SOLAR_JAVA)!= "" -- cgit From e0dfccfc39071b5684dd0eb006d0386db5db0d78 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:30:14 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.6); FILE MERGED 2007/10/23 05:45:49 oj 1.3.6.2: #i80723# #i81510# makefile changes 2007/10/22 11:41:24 oj 1.3.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/java/libloader/makefile.mk | 19 +++++++++++-------- jfreereport/java/librepository/makefile.mk | 19 +++++++++++-------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/jfreereport/java/libloader/makefile.mk b/jfreereport/java/libloader/makefile.mk index cee8b2d98432..64c57ab41035 100644 --- a/jfreereport/java/libloader/makefile.mk +++ b/jfreereport/java/libloader/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hr $ $Date: 2007-08-03 10:12:27 $ +# last change: $Author: ihi $ $Date: 2008-01-14 15:29:55 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,13 +37,14 @@ PRJ=..$/.. PRJNAME=jfreereport TARGET=libloader +VERSION=-0.3.6 # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk # override buildfile -ANT_BUILDFILE=ant$/build.xml +ANT_BUILDFILE=build.xml .INCLUDE : antsettings.mk @@ -54,17 +55,19 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -PATCH_FILE_NAME=patches/$(TARGET).patch +PATCH_FILE_NAME=patches$/$(TARGET).patch -CONVERTFILES=ant$/build.xml\ - ant$/build.properties +CONVERTFILES=build.xml\ + build.properties + +OUT2CLASS=$(TARGET)$(VERSION).jar .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= .EXPORT : JAVA_HOME -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile .ELSE -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile .ENDIF .ENDIF # $(SOLAR_JAVA)!= "" diff --git a/jfreereport/java/librepository/makefile.mk b/jfreereport/java/librepository/makefile.mk index 8179ae7697c1..30e05204f1fb 100644 --- a/jfreereport/java/librepository/makefile.mk +++ b/jfreereport/java/librepository/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hr $ $Date: 2007-08-03 10:12:38 $ +# last change: $Author: ihi $ $Date: 2008-01-14 15:30:14 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,13 +37,14 @@ PRJ=..$/.. PRJNAME=jfreereport TARGET=librepository +VERSION=-0.1.4 # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk # override buildfile -ANT_BUILDFILE=ant$/build.xml +ANT_BUILDFILE=build.xml .INCLUDE : antsettings.mk @@ -54,17 +55,19 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -PATCH_FILE_NAME=patches/$(TARGET).patch +PATCH_FILE_NAME=patches$/$(TARGET).patch -CONVERTFILES=ant$/build.xml\ - ant$/build.properties +CONVERTFILES=build.xml\ + build.properties + +OUT2CLASS=$(TARGET)$(VERSION).jar .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= .EXPORT : JAVA_HOME -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile .ELSE -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile .ENDIF .ENDIF # $(SOLAR_JAVA)!= "" -- cgit From d72b25d3a78281c60e31c4760a8a6f75632893a4 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:30:27 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.6); FILE MERGED 2007/10/23 05:45:50 oj 1.3.6.2: #i80723# #i81510# makefile changes 2007/10/22 11:41:24 oj 1.3.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/java/libxml/makefile.mk | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/jfreereport/java/libxml/makefile.mk b/jfreereport/java/libxml/makefile.mk index c69a3f8e92c0..d225b7aee630 100644 --- a/jfreereport/java/libxml/makefile.mk +++ b/jfreereport/java/libxml/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hr $ $Date: 2007-08-03 10:12:50 $ +# last change: $Author: ihi $ $Date: 2008-01-14 15:30:27 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,13 +37,14 @@ PRJ=..$/.. PRJNAME=jfreereport TARGET=libxml +VERSION=-0.9.9 # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk # override buildfile -ANT_BUILDFILE=ant$/build.xml +ANT_BUILDFILE=build.xml .INCLUDE : antsettings.mk @@ -54,17 +55,19 @@ TARFILE_NAME=$(TARGET) TARFILE_ROOTDIR=$(TARGET) -PATCH_FILE_NAME=patches/$(TARGET).patch +PATCH_FILE_NAME=patches$/$(TARGET).patch -CONVERTFILES=ant$/build.xml\ - ant$/build.properties +CONVERTFILES=build.xml\ + build.properties + +OUT2CLASS=$(TARGET)$(VERSION).jar .IF "$(JAVACISGCJ)"=="yes" JAVA_HOME= .EXPORT : JAVA_HOME -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) compile .ELSE -BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +BUILD_ACTION=$(ANT) -Dlibdir="../../../class" -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) compile .ENDIF .ENDIF # $(SOLAR_JAVA)!= "" -- cgit From 1a89430b9c020e23b272e3356c76fc9411a16f50 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:30:37 +0000 Subject: INTEGRATION: CWS pentaho1 (1.1.2); FILE ADDED 2007/10/23 05:45:50 oj 1.1.2.2: #i80723# #i81510# makefile changes 2007/10/22 11:45:27 oj 1.1.2.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/java/sac/makefile.mk | 86 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 jfreereport/java/sac/makefile.mk diff --git a/jfreereport/java/sac/makefile.mk b/jfreereport/java/sac/makefile.mk new file mode 100644 index 000000000000..914b1481e3a2 --- /dev/null +++ b/jfreereport/java/sac/makefile.mk @@ -0,0 +1,86 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: ihi $ $Date: 2008-01-14 15:30:37 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=jfreereport +TARGET=sac-1.3 + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=sacjava-1.3 + +TARFILE_ROOTDIR=$(TARGET) + +PATCH_FILE_NAME=patches$/sac.patch + +ADDITIONAL_FILES=build.xml + +# CONVERTFILES=build.xml + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) all +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) all +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk + +ALLTAR : $(CLASSDIR)$/sac.jar + +$(CLASSDIR)$/sac.jar : $(PACKAGE_DIR)$/$(INSTALL_FLAG_FILE) + $(COPY) $(PACKAGE_DIR)$/$(TARFILE_ROOTDIR)$/build$/lib$/sac.jar $(CLASSDIR)$/sac.jar +.ENDIF + -- cgit From 4b33f5d9f1d4741f4c028c6993a3a12fd38a806a Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:31:14 +0000 Subject: INTEGRATION: CWS pentaho1 (1.1.2); FILE ADDED 2007/12/03 07:37:18 oj 1.1.2.2: #i80723# enable patch file 2007/10/22 11:50:44 oj 1.1.2.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/patches/jcommon.patch | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 jfreereport/patches/jcommon.patch diff --git a/jfreereport/patches/jcommon.patch b/jfreereport/patches/jcommon.patch new file mode 100644 index 000000000000..1deea7683a64 --- /dev/null +++ b/jfreereport/patches/jcommon.patch @@ -0,0 +1,50 @@ +*** misc/jcommon-1.0.10/ant/build.properties Mon Dec 11 13:40:27 2006 +--- misc/build/jcommon-1.0.10/ant/build.properties Fri Jul 27 09:04:38 2007 +*************** +*** 14,21 **** + + ## + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + + # + # All path settings are relative to the project root directory +--- 14,21 ---- + + ## + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + + # + # All path settings are relative to the project root directory +*** misc/jcommon-1.0.10/ant/build.xml Mon May 21 19:25:06 2007 +--- misc/build/jcommon-1.0.10/ant/build.xml Thu Oct 18 11:58:48 2007 +*************** +*** 329,338 **** + + + + + + + + +--- 329,342 ---- + + + ++ ++ ++ ++ + + + + + -- cgit From 3981e0ae44c786aaecfd6771e606a518b78b69ed Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:32:44 +0000 Subject: INTEGRATION: CWS pentaho1 (1.2.6); FILE MERGED 2007/10/22 11:50:22 oj 1.2.6.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/patches/flute.patch | 69 +++++++++++++++++++++++++++- jfreereport/patches/jcommon-serializer.patch | 4 +- jfreereport/patches/libfonts.patch | 16 +++---- jfreereport/patches/libformula.patch | 20 ++++---- jfreereport/patches/liblayout.patch | 66 ++++++++++++++++++++++++-- jfreereport/patches/libloader.patch | 12 ++--- jfreereport/patches/librepository.patch | 17 +++---- jfreereport/patches/libxml.patch | 20 ++++---- 8 files changed, 174 insertions(+), 50 deletions(-) diff --git a/jfreereport/patches/flute.patch b/jfreereport/patches/flute.patch index 9599e9175da4..f06f2a630a63 100644 --- a/jfreereport/patches/flute.patch +++ b/jfreereport/patches/flute.patch @@ -1,5 +1,5 @@ -*** misc/flute/ant/build.properties Sun Dec 3 18:56:06 2006 ---- misc/build/flute/ant/build.properties Fri Jul 27 09:07:03 2007 +*** misc/flute/ant/build.properties Thu Oct 18 08:20:03 2007 +--- misc/build/flute/ant/build.properties Thu Oct 18 14:07:28 2007 *************** *** 14,21 **** @@ -19,3 +19,68 @@ # # All path settings are relative to the project root directory +*** misc/flute/ant/build.xml Thu Oct 18 08:20:03 2007 +--- misc/build/flute/ant/build.xml Mon Oct 22 09:13:22 2007 +*************** +*** 19,26 **** + + + + + +--- 19,25 ---- + + + + + +*************** +*** 38,59 **** + + + +! +! +! +! +! +! +! +! +! +! +! +! +! + + + +--- 37,56 ---- + + + +! +! +! +! +! +! +! +! +! +! +! +! +! +! + + + diff --git a/jfreereport/patches/jcommon-serializer.patch b/jfreereport/patches/jcommon-serializer.patch index 6a451af2ee8b..c717ef4e0fa6 100644 --- a/jfreereport/patches/jcommon-serializer.patch +++ b/jfreereport/patches/jcommon-serializer.patch @@ -1,5 +1,5 @@ -*** misc/jcommon-serializer/ant/build.properties Mon Dec 11 13:40:27 2006 ---- misc/build/jcommon-serializer/ant/build.properties Fri Jul 27 09:04:38 2007 +*** misc/jcommon-serializer/build.properties Mon Dec 11 13:40:27 2006 +--- misc/build/jcommon-serializer/build.properties Fri Jul 27 09:04:38 2007 *************** *** 13,20 **** diff --git a/jfreereport/patches/libfonts.patch b/jfreereport/patches/libfonts.patch index a1fe7994ab31..0a088773db3a 100644 --- a/jfreereport/patches/libfonts.patch +++ b/jfreereport/patches/libfonts.patch @@ -1,21 +1,21 @@ -*** misc/libfonts/ant/build.properties Sun May 27 19:19:06 2007 ---- misc/build/libfonts/ant/build.properties Fri Jul 27 09:05:17 2007 +*** misc/libfonts/build.properties Sun May 27 19:19:06 2007 +--- misc/build/libfonts/build.properties Fri Jul 27 09:05:17 2007 *************** *** 14,21 **** # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.2 + build.target=1.4 ! build.source=1.2 + build.retro.target=1.2 + build.retro.jdk=/opt/jdk1.2.2 - # - # All path settings are relative to the project root directory --- 14,21 ---- # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.3 + build.target=1.4 ! build.source=1.3 + build.retro.target=1.2 + build.retro.jdk=/opt/jdk1.2.2 - # - # All path settings are relative to the project root directory diff --git a/jfreereport/patches/libformula.patch b/jfreereport/patches/libformula.patch index 4ed09016cc8c..159dbd89b246 100644 --- a/jfreereport/patches/libformula.patch +++ b/jfreereport/patches/libformula.patch @@ -1,21 +1,21 @@ -*** misc/libformula/ant/build.properties Mon May 21 19:44:21 2007 ---- misc/build/libformula/ant/build.properties Fri Jul 27 09:05:29 2007 +*** misc/libformula/build.properties Mon May 21 19:44:21 2007 +--- misc/build/libformula/build.properties Fri Jul 27 09:05:29 2007 *************** *** 18,25 **** # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.2 + build.target=1.4 ! build.source=1.2 + build.retro.target=1.2 + build.retro.jdk=/opt/jdk1.2.2 - # - # All path settings are relative to the project root directory --- 18,25 ---- # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.3 -! build.source=1.3 - - # - # All path settings are relative to the project root directory + build.target=1.4 +! build.source=1.2 + build.retro.target=1.2 + build.retro.jdk=/opt/jdk1.2.2 + \ No newline at end of file diff --git a/jfreereport/patches/liblayout.patch b/jfreereport/patches/liblayout.patch index d3ffc7ba8f90..a304ccf59c25 100644 --- a/jfreereport/patches/liblayout.patch +++ b/jfreereport/patches/liblayout.patch @@ -1,5 +1,5 @@ -*** misc/liblayout/ant/build.properties Wed May 30 19:06:41 2007 ---- misc/build/liblayout/ant/build.properties Fri Jul 27 09:05:42 2007 +*** misc/liblayout/build.properties Wed May 30 19:06:41 2007 +--- misc/build/liblayout/build.properties Fri Jul 27 09:05:42 2007 *************** *** 14,21 **** @@ -7,15 +7,73 @@ # Make sure that JDK 1.2 compatible class files are generated ! build.target=1.2 ! build.source=1.2 + build.retro.jdk=/opt/jdk1.2.2 # - # All path settings are relative to the project root directory --- 14,21 ---- # # Make sure that JDK 1.2 compatible class files are generated ! build.target=1.3 ! build.source=1.3 + build.retro.jdk=/opt/jdk1.2.2 # - # All path settings are relative to the project root directory +*************** +*** 39,51 **** + # JFree.org/JFreeReport libraries + jcommon-jar-file=jcommon-1.0.10.jar + flute-jar-file=flute-1.3-jfree-20061107.jar +! libloader-jar-file=libloader-0.3.5.jar +! librepository-jar-file=librepository-0.1.3.jar + # + # One of these is required. + libfonts-core-jar-file=libfonts-core-0.3.3.jar +! libfonts-jar-file=libfonts-0.3.2.jar +! libxml-jar-file=libxml-0.9.8.jar + + # 3rd party libraries .. + +--- 39,51 ---- + # JFree.org/JFreeReport libraries + jcommon-jar-file=jcommon-1.0.10.jar + flute-jar-file=flute-1.3-jfree-20061107.jar +! libloader-jar-file=libloader-0.3.6.jar +! librepository-jar-file=librepository-0.1.4.jar + # + # One of these is required. + libfonts-core-jar-file=libfonts-core-0.3.3.jar +! libfonts-jar-file=libfonts-0.3.3.jar +! libxml-jar-file=libxml-0.9.9.jar + + # 3rd party libraries .. + +*************** +*** 66,69 **** + liblayout-bundle-file=${liblayout.name}-${liblayout.version}-bundle.jar + liblayout-jar-file=${liblayout.name}-${liblayout.version}.jar + liblayout-core-jar-file=${liblayout.name}-core-${liblayout.version}.jar +! module-output-pdf-jar-file=${liblayout.name}-module-output-pdf-${liblayout.version}.jar +--- 66,69 ---- + liblayout-bundle-file=${liblayout.name}-${liblayout.version}-bundle.jar + liblayout-jar-file=${liblayout.name}-${liblayout.version}.jar + liblayout-core-jar-file=${liblayout.name}-core-${liblayout.version}.jar +! module-output-pdf-jar-file=${liblayout.name}-module-output-pdf-${liblayout.version}.jar +*** misc/liblayout/build.xml Thu Oct 18 08:21:18 2007 +--- misc/build/liblayout/build.xml Mon Oct 22 12:42:45 2007 +*************** +*** 55,67 **** + + +- + + + + + +- + + + +--- 55,65 ---- diff --git a/jfreereport/patches/libloader.patch b/jfreereport/patches/libloader.patch index 155c0c732549..75f1b190c31b 100644 --- a/jfreereport/patches/libloader.patch +++ b/jfreereport/patches/libloader.patch @@ -1,21 +1,21 @@ -*** misc/libloader/ant/build.properties Mon May 21 19:29:36 2007 ---- misc/build/libloader/ant/build.properties Fri Jul 27 09:05:56 2007 +*** misc/libloader/build.properties Mon May 21 19:29:36 2007 +--- misc/build/libloader/build.properties Fri Jul 27 09:05:56 2007 *************** *** 14,21 **** # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.2 +! build.target=1.4 ! build.source=1.2 - + build.retro.jdk=/opt/jdk1.2.2 # # All path settings are relative to the project root directory --- 14,21 ---- # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.3 +! build.target=1.4 ! build.source=1.3 - + build.retro.jdk=/opt/jdk1.2.2 # # All path settings are relative to the project root directory diff --git a/jfreereport/patches/librepository.patch b/jfreereport/patches/librepository.patch index 6a4f7bf8bcc2..dd86f848f87b 100644 --- a/jfreereport/patches/librepository.patch +++ b/jfreereport/patches/librepository.patch @@ -1,21 +1,22 @@ -*** misc/librepository/ant/build.properties Sun May 27 19:23:24 2007 ---- misc/build/librepository/ant/build.properties Fri Jul 27 09:06:11 2007 +*** misc/librepository/build.properties Sun May 27 19:23:24 2007 +--- misc/build/librepository/build.properties Fri Jul 27 09:06:11 2007 *************** *** 18,25 **** # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.2 + build.target=1.4 ! build.source=1.2 + build.retro.target=1.2 + build.retro.jdk=/opt/jdk1.2.2 - # - # All path settings are relative to the project root directory --- 18,25 ---- # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.3 + build.target=1.4 ! build.source=1.3 + build.retro.target=1.2 + build.retro.jdk=/opt/jdk1.2.2 + - # - # All path settings are relative to the project root directory diff --git a/jfreereport/patches/libxml.patch b/jfreereport/patches/libxml.patch index 2e8dec0f1a31..1193da101b04 100644 --- a/jfreereport/patches/libxml.patch +++ b/jfreereport/patches/libxml.patch @@ -1,21 +1,21 @@ -*** misc/libxml/ant/build.properties Sun May 27 20:44:28 2007 ---- misc/build/libxml/ant/build.properties Fri Jul 27 09:06:22 2007 +*** misc/libxml/build.properties Sun May 27 20:44:28 2007 +--- misc/build/libxml/build.properties Fri Jul 27 09:06:22 2007 *************** -*** 14,21 **** +*** 18,25 **** # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.2 + build.target=1.4 ! build.source=1.2 - # - # All path settings are relative to the project root directory ---- 14,21 ---- + # You probably want to override this in your local build setup file + build.retro.target=1.2 +--- 18,25 ---- # # Make sure that JDK 1.2 compatible class files are generated -! build.target=1.3 + build.target=1.4 ! build.source=1.3 - # - # All path settings are relative to the project root directory + # You probably want to override this in your local build setup file + build.retro.target=1.2 -- cgit From 3899cabcc8e04bb7f356ac8d396d9d0db368908c Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:32:55 +0000 Subject: INTEGRATION: CWS pentaho1 (1.1.2); FILE ADDED 2007/10/22 11:50:55 oj 1.1.2.1: #i80723# #i81510# switch to new branch from pentaho --- .../patches/pentaho-reporting-flow-engine.patch | 112 +++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 jfreereport/patches/pentaho-reporting-flow-engine.patch diff --git a/jfreereport/patches/pentaho-reporting-flow-engine.patch b/jfreereport/patches/pentaho-reporting-flow-engine.patch new file mode 100644 index 000000000000..c07da135439f --- /dev/null +++ b/jfreereport/patches/pentaho-reporting-flow-engine.patch @@ -0,0 +1,112 @@ +*** misc/core/build.properties Wed Jun 13 14:30:51 2007 +--- misc/build/core/build.properties Fri Jul 27 09:04:55 2007 +*************** +*** 17,24 **** + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.2 +! build.source=1.2 + build.retro.jdk=/opt/jdk1.2.2 + + # +--- 17,24 ---- + + # + # Make sure that JDK 1.2 compatible class files are generated +! build.target=1.3 +! build.source=1.3 + build.retro.jdk=/opt/jdk1.2.2 + + # +*************** +*** 40,54 **** + + # Used by: core libraries + jcommon-jar-file=jcommon-1.0.10.jar +! jcommon-serializer-jar-file=jcommon-serializer-0.1.0.jar +! libfonts-jar-file=libfonts-0.3.2.jar + libfonts-core-jar-file=libfonts-0.3.2.jar + libfonts-itext-jar-file=libfonts-0.3.2.jar + liblayout-jar-file=liblayout-0.2.8.jar +! libloader-jar-file=libloader-0.3.5.jar +! libxml-jar-file=libxml-0.9.8.jar +! libformula-jar-file=libformula-0.1.13.jar +! librepository-jar-file=librepository-0.1.3.jar + flute-jar-file=flute-1.3-jfree-20061107.jar + + # +--- 40,54 ---- + + # Used by: core libraries + jcommon-jar-file=jcommon-1.0.10.jar +! jcommon-serializer-jar-file=jcommon-serializer-0.2.0.jar +! libfonts-jar-file=libfonts-0.3.3.jar + libfonts-core-jar-file=libfonts-0.3.2.jar + libfonts-itext-jar-file=libfonts-0.3.2.jar + liblayout-jar-file=liblayout-0.2.8.jar +! libloader-jar-file=libloader-0.3.6.jar +! libxml-jar-file=libxml-0.9.9.jar +! libformula-jar-file=libformula-0.1.14.jar +! librepository-jar-file=librepository-0.1.4.jar + flute-jar-file=flute-1.3-jfree-20061107.jar + + # +*** misc/core/build.xml Thu Oct 18 08:20:01 2007 +--- misc/build/core/build.xml Mon Oct 22 13:05:33 2007 +*************** +*** 54,66 **** + + +- + + + + + +- + + + +--- 54,64 ---- +*************** +*** 136,141 **** +--- 134,140 ---- + source-dir="source"> + + ++ + + + +*************** +*** 168,173 **** +--- 167,173 ---- + + + ++ + + + +*************** +*** 179,184 **** +--- 179,185 ---- + jdk-dir="${build.retro.jdk}"> + + ++ + + + +*************** +*** 211,216 **** +--- 212,218 ---- + + + ++ + + + -- cgit From e99a94dbc18dfb998f7b4f3d07f1f25e9f4fe6d9 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:33:06 +0000 Subject: INTEGRATION: CWS pentaho1 (1.1.2); FILE ADDED 2007/10/22 11:51:04 oj 1.1.2.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/patches/sac.patch | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 jfreereport/patches/sac.patch diff --git a/jfreereport/patches/sac.patch b/jfreereport/patches/sac.patch new file mode 100644 index 000000000000..77db8511acbe --- /dev/null +++ b/jfreereport/patches/sac.patch @@ -0,0 +1,73 @@ +*** misc/sac-1.3/build.xml Thu Oct 18 09:22:24 2007 +--- misc/build/sac-1.3/build.xml Thu Oct 18 08:53:59 2007 +*************** +*** 1 **** +! dummy +--- 1,66 ---- +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +\ No newline at end of file -- cgit From 45d98989d9db01e4fe58422962916ca12a7e6087 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:33:19 +0000 Subject: INTEGRATION: CWS pentaho1 (1.3.10); FILE MERGED 2007/10/23 05:45:50 oj 1.3.10.2: #i80723# #i81510# makefile changes 2007/10/22 11:51:42 oj 1.3.10.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/prj/build.lst | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/jfreereport/prj/build.lst b/jfreereport/prj/build.lst index 466ff0eb853b..d9c7bb99abc4 100644 --- a/jfreereport/prj/build.lst +++ b/jfreereport/prj/build.lst @@ -1,11 +1,13 @@ jf jfreereport : solenv NULL -jf jfreereport usr1 - all jf_mkout NULL -jf jfreereport\java\flute nmake - all jf_flute NULL -jf jfreereport\java\libxml nmake - all jf_libxml NULL -jf jfreereport\java\libloader nmake - all jf_libloader NULL -jf jfreereport\java\libfonts nmake - all jf_libfonts NULL -jf jfreereport\java\libformula nmake - all jf_libformula NULL -jf jfreereport\java\librepository nmake - all jf_librepository NULL -jf jfreereport\java\jcommon-serializer nmake - all jf_jcommon-serializer NULL -jf jfreereport\java\jfreereport nmake - all jf_jfreereport NULL -jf jfreereport\java\liblayout nmake - all jf_liblayout NULL +jf jfreereport usr1 - all jf_mkout NULL +jf jfreereport\java\sac nmake - all jf_sac NULL +jf jfreereport\java\jcommon nmake - all jf_jcommon NULL +jf jfreereport\java\flute nmake - all jf_flute jf_sac NULL +jf jfreereport\java\libxml nmake - all jf_libxml jf_jcommon jf_libloader NULL +jf jfreereport\java\libloader nmake - all jf_libloader jf_jcommon NULL +jf jfreereport\java\libfonts nmake - all jf_libfonts jf_jcommon jf_libloader NULL +jf jfreereport\java\libformula nmake - all jf_libformula jf_jcommon NULL +jf jfreereport\java\librepository nmake - all jf_librepository jf_jcommon NULL +jf jfreereport\java\jcommon-serializer nmake - all jf_jcommon-serializer jf_jcommon NULL +jf jfreereport\java\jfreereport nmake - all jf_jfreereport jf_liblayout jf_libformula NULL +jf jfreereport\java\liblayout nmake - all jf_liblayout jf_jcommon jf_flute jf_libfonts jf_libloader jf_librepository jf_libxml jf_sac NULL -- cgit From 28755a36609c24d618c4bc52347bfa5f19746c12 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 14 Jan 2008 14:33:31 +0000 Subject: INTEGRATION: CWS pentaho1 (1.2.10); FILE MERGED 2007/10/22 11:51:42 oj 1.2.10.1: #i80723# #i81510# switch to new branch from pentaho --- jfreereport/prj/d.lst | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/jfreereport/prj/d.lst b/jfreereport/prj/d.lst index 9c02526dd2f0..a63f3a1312d5 100644 --- a/jfreereport/prj/d.lst +++ b/jfreereport/prj/d.lst @@ -1,11 +1 @@ -..\%__SRC%\misc\build\flute\flute-1.3-jfree-20061107.jar %_DEST%\bin%_EXT%\flute-1.3-jfree-20061107.jar -..\%__SRC%\misc\build\libxml\libxml-0.9.5.jar %_DEST%\bin%_EXT%\libxml-0.9.5.jar -..\%__SRC%\misc\build\libloader\libloader-0.3.4.jar %_DEST%\bin%_EXT%\libloader-0.3.4.jar -..\%__SRC%\misc\build\libfonts\libfonts-0.2.6.jar %_DEST%\bin%_EXT%\libfonts-0.2.6.jar -..\%__SRC%\misc\build\libformula\libformula-0.1.8.jar %_DEST%\bin%_EXT%\libformula-0.1.8.jar -..\%__SRC%\misc\build\librepository\librepository-0.1.1.jar %_DEST%\bin%_EXT%\librepository-0.1.1.jar -..\%__SRC%\misc\build\librepository\lib\jcommon-1.0.10.jar %_DEST%\bin%_EXT%\jcommon-1.0.10.jar -..\%__SRC%\misc\build\jcommon-serializer\jcommon-serializer-0.1.0.jar %_DEST%\bin%_EXT%\jcommon-serializer-0.1.0.jar -..\%__SRC%\misc\build\jfreereport\jfreereport-0.9.0-05.jar %_DEST%\bin%_EXT%\jfreereport-0.9.0-05.jar -..\%__SRC%\misc\build\jfreereport\lib\sac.jar %_DEST%\bin%_EXT%\sac.jar -..\%__SRC%\misc\build\liblayout\liblayout-0.2.6.jar %_DEST%\bin%_EXT%\liblayout-0.2.6.jar +..\%__SRC%\class\*.jar %_DEST%\bin%_EXT%\*.jar -- cgit From 91425d40f4050a639738b15936d2544ce69c8232 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 21 Jan 2008 11:57:53 +0000 Subject: prepare for localization --- swext/mediawiki/dialogs/EditSetting.xdl | 24 ++-- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 24 ++-- swext/mediawiki/dialogs/Settings.xdl | 10 +- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 140 +++++++++++++++++++-- .../src/com/sun/star/wiki/WikiDialog.java | 83 +++++++++--- .../com/sun/star/wiki/WikiEditSettingDialog.java | 59 ++++++--- .../src/com/sun/star/wiki/WikiEditorImpl.java | 25 ++-- .../sun/star/wiki/WikiOptionsEventHandlerImpl.java | 19 ++- .../src/com/sun/star/wiki/WikiPropDialog.java | 76 +++++++---- 9 files changed, 355 insertions(+), 105 deletions(-) diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl index f77e1782859d..22833559f446 100644 --- a/swext/mediawiki/dialogs/EditSetting.xdl +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -5,9 +5,9 @@ * * $RCSfile: EditSetting.xdl,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ + * last change: $Author: mav $ $Date: 2008-01-21 12:57:52 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -34,26 +34,26 @@ * ************************************************************************ --> - + - + - + - + - + - - - + + + - - + + diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 3d9a8ea1259a..8318bed3ee89 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ + * last change: $Author: mav $ $Date: 2008-01-21 12:57:52 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -34,11 +34,11 @@ * ************************************************************************ --> - + - - - + + + @@ -46,19 +46,19 @@ - + - - + + - + - + - + diff --git a/swext/mediawiki/dialogs/Settings.xdl b/swext/mediawiki/dialogs/Settings.xdl index 4d102107c951..013aa90ca9ab 100644 --- a/swext/mediawiki/dialogs/Settings.xdl +++ b/swext/mediawiki/dialogs/Settings.xdl @@ -5,9 +5,9 @@ * * $RCSfile: Settings.xdl,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2007-11-28 16:43:08 $ + * last change: $Author: mav $ $Date: 2008-01-21 12:57:52 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -36,13 +36,13 @@ - + - + - + diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 349e69869e76..a086dda1522e 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2007-12-14 13:03:53 $ + * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -85,6 +85,76 @@ import org.apache.commons.httpclient.methods.PostMethod; public class Helper { + public final static int GENERALSEND_ERROR = 0; + public final static int NOWIKIFILTER_ERROR = 1; + public final static int NOURLCONNECTION_ERROR = 2; + public final static int WRONGLOGIN_ERROR = 3; + public final static int INVALIDURL_ERROR = 4; + public final static int NOURL_ERROR = 5; + + public final static int DLG_SENDTITLE = 6; + public final static int DLG_CANCEL = 7; + public final static int DLG_NO = 8; + public final static int DLG_OK = 9; + public final static int DLG_YES = 10; + public final static int DLG_HELP = 11; + public final static int DLG_ADDBUTTON = 12; + public final static int DLG_EDITBUTTON = 13; + public final static int DLG_SENDBUTTON = 14; + public final static int DLG_REMOVEBUTTON = 15; + + public final static int DLG_EDITSETTING_URLLABEL = 16; + public final static int DLG_EDITSETTING_USERNAMELABEL = 17; + public final static int DLG_EDITSETTING_PASSWORDLABEL = 18; + public final static int DLG_NEWWIKIPAGE_LABEL1 = 19; + public final static int DLG_SENDTOMEDIAWIKI_LABEL1 = 20; + public final static int DLG_SENDTOMEDIAWIKI_LABEL2 = 21; + public final static int DLG_SENDTOMEDIAWIKI_LABEL3 = 22; + public final static int DLG_SENDTOMEDIAWIKI_MINORCHECK = 23; + public final static int DLG_SENDTOMEDIAWIKI_BROWSERCHECK = 24; + public final static int DLG_UNKNOWNCERTDIALOG_LABEL1 = 25; + public final static int DLG_MEDIAWIKI_TITLE = 26; + public final static int DLG_EDITSETTING_ACCOUNTLINE = 27; + public final static int DLG_EDITSETTING_WIKILINE = 28; + public final static int DLG_EDITSETTING_SAVEBOX = 29; + + public final static int CANCELSENDING_ERROR = 30; + + public final static int STRINGS_NUM = 31; + + private final static String[] m_pEntryNames = { "GeneralSendError", + "NoWikiFilter", + "NoConnectionToURL", + "WrongLogin", + "InvalidURL", + "NoURL", + "Dlg_SendTitle", + "Dlg_Cancel", + "Dlg_No", + "Dlg_OK", + "Dlg_Yes", + "Dlg_Help", + "Dlg_AddButton", + "Dlg_EditButton", + "Dlg_SendButton", + "Dlg_RemoveButton", + "Dlg_EditSetting_UrlLabel", + "Dlg_EditSetting_UsernameLabel", + "Dlg_EditSetting_PasswordLabel", + "Dlg_NewWikiPage_Label1", + "Dlg_SendToMediaWiki_Label1", + "Dlg_SendToMediaWiki_Label2", + "Dlg_SendToMediaWiki_Label3", + "Dlg_SendToMediaWiki_MinorCheck", + "Dlg_SendToMediaWiki_BrowserCheck", + "Dlg_UnknownCertDialog_Label1", + "Dlg_MediaWiki_Title", + "Dlg_EditSetting_AccountLine", + "Dlg_EditSetting_WikiLine", + "Dlg_EditSetting_SaveBox", + "CancelSending" }; + + private static String[] m_pConfigStrings; private static final String sHTMLHeader = ""; private static final String sHTMLFooter = ""; @@ -98,6 +168,38 @@ public class Helper private static XPasswordContainer m_xPasswordContainer; private static XInteractionHandler m_xInteractionHandler; + synchronized protected static String GetLocalizedString( XComponentContext xContext, int nID ) + throws com.sun.star.uno.Exception + { + if ( nID >= STRINGS_NUM ) + throw new com.sun.star.uno.RuntimeException(); + + if ( m_pConfigStrings == null ) + { + PropertyValue aVal = new PropertyValue(); + aVal.Name = "nodepath"; + aVal.Value = "org.openoffice.Office.Custom.WikiExtension/Strings"; + Object[] aArgs = new Object[1]; + aArgs[0] = aVal; + + Object oSettings = GetConfigurationProvider( xContext ).createInstanceWithArguments( + "com.sun.star.configuration.ConfigurationAccess", + aArgs ); + XNameAccess xNameAccess = ( XNameAccess ) UnoRuntime.queryInterface( XNameAccess.class, oSettings ); + + if ( xNameAccess == null ) + throw new com.sun.star.uno.RuntimeException(); + + String[] pStrings = new String[STRINGS_NUM]; + for ( int nInd = 0; nInd < STRINGS_NUM; nInd++ ) + pStrings[nInd] = AnyConverter.toString( xNameAccess.getByName( m_pEntryNames[nInd] ) ); + + m_pConfigStrings = pStrings; + } + + return m_pConfigStrings[nID]; + } + synchronized protected static HttpClient GetHttpClient() throws WikiCancelException { @@ -550,7 +652,15 @@ public class Helper if ( aURI.getScheme().equals( "https" ) ) { // the complete secure connection seems to be impossible - XDialog xAskDialog = WikiDialog.CreateSimpleDialog( xContext, "vnd.sun.star.script:WikiEditor.UnknownCertDialog?location=application" ); + String[] pControls = { "Label1", "CommandButton1", "CommandButton2" }; + int[] pStringIDs = { DLG_UNKNOWNCERTDIALOG_LABEL1, DLG_YES, DLG_NO }; + XDialog xAskDialog = WikiDialog.CreateSimpleDialog( + xContext, + "vnd.sun.star.script:WikiEditor.UnknownCertDialog?location=application", + DLG_MEDIAWIKI_TITLE, + pControls, + pStringIDs ); + if ( xAskDialog != null && MainThreadDialogExecutor.Execute( xContext, xAskDialog ) ) { if ( m_aAcceptedUnknownCerts == null ) @@ -728,21 +838,37 @@ public class Helper return bResult; } - protected static void ShowError( XComponentContext xContext, XDialog xDialog, String sError ) + protected static void ShowError( XComponentContext xContext, XDialog xDialog, int nErrorID, String sArg ) { XWindowPeer xPeer = null; XControl xControl = (XControl)UnoRuntime.queryInterface( XControl.class, xDialog ); if ( xControl != null ) xPeer = xControl.getPeer(); - ShowError( xContext, xPeer, sError ); + ShowError( xContext, xPeer, nErrorID, sArg ); } - protected static void ShowError( XComponentContext xContext, XWindowPeer xParentPeer, String sError ) + protected static void ShowError( XComponentContext xContext, XWindowPeer xParentPeer, int nErrorID, String sArg ) { - if ( xContext != null && sError != null ) + if ( xContext != null && nErrorID >= 0 && nErrorID < STRINGS_NUM ) { boolean bShown = false; + String sError = null; + + try + { + sError = GetLocalizedString( xContext, nErrorID ); + if ( sError != null && sArg != null ) + sError.replaceAll( "\\$ARG1", sArg ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + + if ( sError == null ) + sError = "Error: " + nErrorID; + if ( xParentPeer != null ) { try diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java index d003c4c3013e..d424f7c0d323 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiDialog.java,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-12-13 10:34:07 $ + * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -45,7 +45,8 @@ import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; -public class WikiDialog implements XDialogEventHandler{ +public class WikiDialog implements XDialogEventHandler +{ XComponentContext m_xContext; XControlContainer m_xControlContainer; @@ -56,54 +57,94 @@ public class WikiDialog implements XDialogEventHandler{ /** Creates a new instance of WikiDialog */ - public WikiDialog(XComponentContext c, String DialogURL) { + public WikiDialog(XComponentContext c, String DialogURL) + { this.m_xContext = c; XMultiComponentFactory xMCF = m_xContext.getServiceManager(); m_aSettings = Settings.getSettings(m_xContext); - try { + try + { Object obj; obj = xMCF.createInstanceWithContext("com.sun.star.awt.DialogProvider2", m_xContext ); XDialogProvider2 xDialogProvider = (XDialogProvider2) UnoRuntime.queryInterface( XDialogProvider2.class, obj ); m_xDialog = xDialogProvider.createDialogWithHandler( DialogURL, this ); m_xControlContainer = (XControlContainer)UnoRuntime.queryInterface(XControlContainer.class, m_xDialog ); - } catch (com.sun.star.uno.Exception ex) { + } + catch (com.sun.star.uno.Exception ex) + { ex.printStackTrace(); } } - protected void setMethods (String [] Methods) { + protected void setMethods (String [] Methods) + { this.m_aMethods = Methods; } - public boolean show( ) { + public boolean show( ) + { if( m_xDialog != null ) m_xDialog.execute(); return m_bAction; } - public String[] getSupportedMethodNames() { + public String[] getSupportedMethodNames() + { return m_aMethods; } - public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) { + public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) + { return true; } + public void SetTitle( String sTitle ) + throws Exception + { + SetTitle( m_xDialog, sTitle ); + } + + public static void SetTitle( XDialog xDialog, String sTitle ) + throws Exception + { + if ( xDialog != null && sTitle != null ) + { + XControl xDialogControl = (XControl)UnoRuntime.queryInterface( XControl.class, xDialog ); + if ( xDialogControl != null ) + { + XPropertySet xPropSet = (XPropertySet)UnoRuntime.queryInterface( XPropertySet.class, xDialogControl.getModel() ); + if ( xPropSet != null ) + xPropSet.setPropertyValue( "Title", sTitle ); + } + } + } + + protected XPropertySet GetPropSet(String sControl) + { + return GetPropSet( m_xControlContainer, sControl ); + } + + protected static XPropertySet GetPropSet( XControlContainer xControlContainer, String sControl ) + { + XPropertySet xPS = null; + + if ( xControlContainer != null && sControl != null ) + { + XControl xControl = xControlContainer.getControl(sControl); + xPS = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xControl.getModel() ); + } - protected XPropertySet getPropSet(String sControl) { - XControl xControl = m_xControlContainer.getControl(sControl); - XPropertySet xPS = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xControl.getModel() ); if ( xPS == null ) throw new com.sun.star.uno.RuntimeException(); return xPS; } - public static XDialog CreateSimpleDialog( XComponentContext xContext, String sURL ) + public static XDialog CreateSimpleDialog( XComponentContext xContext, String sURL, int nTitleID, String[] pControls, int[] pStringIDs ) { XDialog xResult = null; @@ -116,8 +157,19 @@ public class WikiDialog implements XDialogEventHandler{ if ( xDialogProvider != null ) xResult = xDialogProvider.createDialog( sURL ); + + if ( xResult != null ) + { + SetTitle( xResult, Helper.GetLocalizedString( xContext, nTitleID ) ); + if ( pControls != null && pStringIDs != null && pControls.length == pStringIDs.length ) + { + XControlContainer xControlContainer = (XControlContainer)UnoRuntime.queryInterface( XControlContainer.class, xResult ); + for ( int nInd = 0; nInd < pControls.length; nInd++ ) + GetPropSet( xControlContainer, pControls[nInd] ).setPropertyValue( "Label", new Integer( pStringIDs[nInd] ) ); + } + } } - catch (com.sun.star.uno.Exception ex) + catch (Exception ex) { ex.printStackTrace(); } @@ -125,5 +177,4 @@ public class WikiDialog implements XDialogEventHandler{ return xResult; } - } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 89346594ceb2..34c78ded6f60 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2007-12-14 13:03:54 $ + * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -69,8 +69,8 @@ public class WikiEditSettingDialog extends WikiDialog super.setMethods( Methods ); setting = new Hashtable(); addMode = true; - ; + InitStrings( xContext ); InitSaveCheckbox( xContext ); } @@ -81,9 +81,9 @@ public class WikiEditSettingDialog extends WikiDialog setting = ht; try { - getPropSet( "UrlField" ).setPropertyValue( "Text", ht.get( "Url" )); - getPropSet( "UsernameField" ).setPropertyValue( "Text", ht.get( "Username" )); - getPropSet( "PasswordField" ).setPropertyValue( "Text", ht.get( "Password" )); + GetPropSet( "UrlField" ).setPropertyValue( "Text", ht.get( "Url" )); + GetPropSet( "UsernameField" ).setPropertyValue( "Text", ht.get( "Username" )); + GetPropSet( "PasswordField" ).setPropertyValue( "Text", ht.get( "Password" )); } catch ( Exception ex ) { @@ -91,12 +91,34 @@ public class WikiEditSettingDialog extends WikiDialog } addMode = false; + InitStrings( xContext ); InitSaveCheckbox( xContext ); } + private void InitStrings( XComponentContext xContext ) + { + try + { + SetTitle( Helper.GetLocalizedString( xContext, Helper.DLG_MEDIAWIKI_TITLE ) ); + GetPropSet( "UrlLabel" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_EDITSETTING_URLLABEL ) ); + GetPropSet( "UsernameLabel" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_EDITSETTING_USERNAMELABEL ) ); + GetPropSet( "PasswordLabel" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_EDITSETTING_PASSWORDLABEL ) ); + GetPropSet( "AccountLine" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_EDITSETTING_ACCOUNTLINE ) ); + GetPropSet( "WikiLine" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_EDITSETTING_WIKILINE ) ); + GetPropSet( "SaveBox" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_EDITSETTING_SAVEBOX ) ); + GetPropSet( "OkButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_OK ) ); + GetPropSet( "HelpButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_HELP ) ); + GetPropSet( "CancelButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_CANCEL ) ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + private void InitSaveCheckbox( XComponentContext xContext ) { - XPropertySet xSaveCheck = getPropSet( "SaveBox" ); + XPropertySet xSaveCheck = GetPropSet( "SaveBox" ); try { xSaveCheck.setPropertyValue( "State", new Short( (short)0 ) ); @@ -116,9 +138,9 @@ public class WikiEditSettingDialog extends WikiDialog String sURL = ""; try { - sURL = ( String ) getPropSet( "UrlField" ).getPropertyValue( "Text" ); - String sUserName = ( String ) getPropSet( "UsernameField" ).getPropertyValue( "Text" ); - String sPassword = ( String ) getPropSet( "PasswordField" ).getPropertyValue( "Text" ); + sURL = ( String ) GetPropSet( "UrlField" ).getPropertyValue( "Text" ); + String sUserName = ( String ) GetPropSet( "UsernameField" ).getPropertyValue( "Text" ); + String sPassword = ( String ) GetPropSet( "PasswordField" ).getPropertyValue( "Text" ); HostConfiguration aHostConfig = new HostConfiguration(); boolean bInitHost = true; @@ -164,7 +186,8 @@ public class WikiEditSettingDialog extends WikiDialog // show error Helper.ShowError( m_xContext, m_xDialog, - m_sNoConnectionToURL1 + sURL + m_sNoConnectionToURL2 ); + Helper.NOURLCONNECTION_ERROR, + sURL ); } } else @@ -176,7 +199,8 @@ public class WikiEditSettingDialog extends WikiDialog // show error Helper.ShowError( m_xContext, m_xDialog, - m_sWrongLogin ); + Helper.WRONGLOGIN_ERROR, + null ); } else { @@ -187,7 +211,7 @@ public class WikiEditSettingDialog extends WikiDialog Settings.getSettings( m_xContext ).addWikiCon( setting ); if ( Helper.PasswordStoringIsAllowed( m_xContext ) - && ( (Short)( getPropSet( "SaveBox" ).getPropertyValue("State") ) ).shortValue() != (short)0 ) + && ( (Short)( GetPropSet( "SaveBox" ).getPropertyValue("State") ) ).shortValue() != (short)0 ) { String[] pPasswords = { sPassword }; try @@ -211,7 +235,8 @@ public class WikiEditSettingDialog extends WikiDialog // show error Helper.ShowError( m_xContext, m_xDialog, - m_sInvalidURL ); + Helper.INVALIDURL_ERROR, + null ); } } else @@ -220,7 +245,8 @@ public class WikiEditSettingDialog extends WikiDialog // show error Helper.ShowError( m_xContext, m_xDialog, - m_sNoURL ); + Helper.NOURL_ERROR, + null ); } } while ( sRedirectURL.length() > 0 ); } @@ -228,7 +254,8 @@ public class WikiEditSettingDialog extends WikiDialog { Helper.ShowError( m_xContext, m_xDialog, - m_sNoConnectionToURL1 + sURL + m_sNoConnectionToURL2 ); + Helper.NOURLCONNECTION_ERROR, + sURL ); ex.printStackTrace(); } return true; diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index f587249d4725..28a94501cce6 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditorImpl.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ + * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -76,8 +76,6 @@ public final class WikiEditorImpl extends WeakBase private final XComponentContext m_xContext; private static final String m_implementationName = WikiEditorImpl.class.getName(); private static final String[] m_serviceNames = {"com.sun.star.wiki.WikiEditor" }; - private static final String m_sGeneralSendError = "The operation 'Send to MediaWiki' could not be completed successfully."; - private static final String m_sNoWikiFilter = "The MediaWiki export filter cannot be found. Choose 'Tools-XML Filter Settings' to install the filter, or use the setup to install the component."; // information needed for component registration public static final String[] supportedServiceNames = {"com.sun.star.frame.ProtocolHandler"}; @@ -404,7 +402,8 @@ public final class WikiEditorImpl extends WeakBase { Helper.ShowError( m_xContext, (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), - m_sNoWikiFilter ); + Helper.NOWIKIFILTER_ERROR, + null ); throw new com.sun.star.uno.RuntimeException(); } @@ -442,7 +441,15 @@ public final class WikiEditorImpl extends WeakBase if ( aArticle.NotExist() ) { // ask whether creation of a new page is allowed - XDialog xDialog = WikiDialog.CreateSimpleDialog( m_xContext, "vnd.sun.star.script:WikiEditor.NewWikiPage?location=application" ); + String[] pControls = { "Label1", "CommandButton1", "CommandButton2" }; + int[] pStringIDs = { Helper.DLG_NEWWIKIPAGE_LABEL1, Helper.DLG_YES, Helper.DLG_NO }; + XDialog xDialog = WikiDialog.CreateSimpleDialog( + m_xContext, + "vnd.sun.star.script:WikiEditor.NewWikiPage?location=application", + Helper.DLG_SENDTITLE, + pControls, + pStringIDs ); + if ( xDialog != null ) { Helper.SetControlPropInDialog( xDialog, "Label1", "Label", "A wiki article with the title " + aSendDialog.m_sWikiTitle + " does not exist yet. Do you want to create a new article with that name?" ); @@ -494,7 +501,8 @@ public final class WikiEditorImpl extends WeakBase { Helper.ShowError( m_xContext, (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), - m_sGeneralSendError ); + Helper.GENERALSEND_ERROR, + null ); } } } @@ -509,7 +517,8 @@ public final class WikiEditorImpl extends WeakBase // report the error only if sending was not cancelled Helper.ShowError( m_xContext, (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), - m_sGeneralSendError ); + Helper.GENERALSEND_ERROR, + null ); } e.printStackTrace(); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java index 05ec8dd00c3f..82986ef80611 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiOptionsEventHandlerImpl.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:15:20 $ + * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -186,6 +186,20 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase } } + private void InitStrings() + { + try + { + GetPropSet( "AddButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_ADDBUTTON ) ); + GetPropSet( "EditButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_SENDBUTTON ) ); + GetPropSet( "RemoveButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_REMOVEBUTTON ) ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + // com.sun.star.lang.XServiceInfo: public String getImplementationName() { @@ -233,6 +247,7 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase m_xControlContainer = (XControlContainer)UnoRuntime.queryInterface( XControlContainer.class, m_xDialog ); m_aSettings = Settings.getSettings( m_xContext ); + InitStrings(); } else if ( m_aSettings != null ) m_aSettings.loadConfiguration(); // throw away all the changes diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index cf08a12f1190..5b921decb2cd 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2007-12-14 13:03:54 $ + * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -51,7 +51,6 @@ import com.sun.star.uno.XComponentContext; public class WikiPropDialog extends WikiDialog{ - private static final String m_sCancelSending = "The transfer has been interrupted. Please check the integrity of the wiki article."; WikiEditorImpl m_aWikiEditor; private final String sSendMethod = "Send"; @@ -62,7 +61,7 @@ public class WikiPropDialog extends WikiDialog{ private final String sArticleTextMethod = "ArticleTextChange"; private final String sAddWikiMethod = "AddWiki"; - String[] Methods = {sSendMethod, sCancelMethod, sHelpMethod, sLoadMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; + String[] m_pMethods = {sSendMethod, sCancelMethod, sHelpMethod, sLoadMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; protected String m_sWikiEngineURL = ""; protected String m_sWikiTitle = ""; @@ -73,18 +72,40 @@ public class WikiPropDialog extends WikiDialog{ private Thread m_aSendingThread; /** Creates a new instance of WikiPropDialog */ - public WikiPropDialog(XComponentContext c, String DialogURL, WikiEditorImpl aWikiEditorForThrobber ) + public WikiPropDialog(XComponentContext xContext, String DialogURL, WikiEditorImpl aWikiEditorForThrobber ) { - super(c, DialogURL); - super.setMethods(Methods); + super(xContext, DialogURL); + super.setMethods(m_pMethods); if ( aWikiEditorForThrobber != null ) { InsertThrobber(); m_aWikiEditor = aWikiEditorForThrobber; } + + InitStrings( xContext ); } + private void InitStrings( XComponentContext xContext ) + { + try + { + SetTitle( Helper.GetLocalizedString( xContext, Helper.DLG_SENDTITLE ) ); + GetPropSet( "Label1" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL1 ) ); + GetPropSet( "Label2" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL2 ) ); + GetPropSet( "Label3" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL3 ) ); + GetPropSet( "MinorCheck" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_MINORCHECK ) ); + GetPropSet( "BrowserCheck" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_BROWSERCHECK ) ); + GetPropSet( "HelpButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_HELP ) ); + GetPropSet( "CancelButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_CANCEL ) ); + GetPropSet( "AddButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_ADDBUTTON ) ); + GetPropSet( "SendButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDBUTTON ) ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } public void fillWikiList() { @@ -92,7 +113,7 @@ public class WikiPropDialog extends WikiDialog{ try { - XPropertySet xPS = getPropSet("WikiList"); + XPropertySet xPS = GetPropSet("WikiList"); xPS.setPropertyValue("StringItemList", WikiList); // short [] nSel = new short[1]; // nSel[0] = (short) m_aSettings.getLastUsedWikiServer(); @@ -106,10 +127,10 @@ public class WikiPropDialog extends WikiDialog{ public void fillDocList() { - XPropertySet xPS = getPropSet("ArticleText"); + XPropertySet xPS = GetPropSet("ArticleText"); try { - short [] sel = (short[]) getPropSet("WikiList").getPropertyValue("SelectedItems"); + short [] sel = (short[]) GetPropSet("WikiList").getPropertyValue("SelectedItems"); xPS.setPropertyValue("StringItemList", m_aSettings.getWikiDocList(sel[0], 5)); } catch (Exception ex) @@ -124,7 +145,7 @@ public class WikiPropDialog extends WikiDialog{ this.m_sWikiTitle = sArticle; try { - XPropertySet xPS = getPropSet("ArticleText"); + XPropertySet xPS = GetPropSet("ArticleText"); xPS.setPropertyValue("Text", sArticle); } catch (Exception ex) @@ -136,16 +157,16 @@ public class WikiPropDialog extends WikiDialog{ public void switchSendButtonIfNecessary() { - XPropertySet xSendButton = getPropSet( "SendButton" ); + XPropertySet xSendButton = GetPropSet( "SendButton" ); if ( xSendButton != null ) { - XPropertySet xWikiListProps = getPropSet( "WikiList" ); - XPropertySet xArticleProps = getPropSet( "ArticleText" ); + XPropertySet xWikiListProps = GetPropSet( "WikiList" ); + XPropertySet xArticleProps = GetPropSet( "ArticleText" ); if ( xWikiListProps != null && xArticleProps != null ) { try { - short [] pSel = (short[]) getPropSet("WikiList").getPropertyValue("SelectedItems"); + short [] pSel = (short[]) GetPropSet("WikiList").getPropertyValue("SelectedItems"); String sArticle = (String)xArticleProps.getPropertyValue( "Text" ); if ( pSel != null && pSel.length > 0 && sArticle != null && sArticle.length() != 0 ) xSendButton.setPropertyValue( "Enabled", Boolean.TRUE ); @@ -167,14 +188,14 @@ public class WikiPropDialog extends WikiDialog{ { try { - XPropertySet aWikiListProps = getPropSet( "WikiList" ); - XPropertySet aArticleTextProps = getPropSet( "ArticleText" ); - XPropertySet aCommentTextProps = getPropSet( "CommentText" ); - XPropertySet aMinorCheckProps = getPropSet( "MinorCheck" ); - XPropertySet aBrowserCheckProps = getPropSet( "BrowserCheck" ); - XPropertySet aHelpButtonProps = getPropSet( "HelpButton" ); - XPropertySet aSendButtonProps = getPropSet( "SendButton" ); - XPropertySet aAddButtonProps = getPropSet( "AddButton" ); + XPropertySet aWikiListProps = GetPropSet( "WikiList" ); + XPropertySet aArticleTextProps = GetPropSet( "ArticleText" ); + XPropertySet aCommentTextProps = GetPropSet( "CommentText" ); + XPropertySet aMinorCheckProps = GetPropSet( "MinorCheck" ); + XPropertySet aBrowserCheckProps = GetPropSet( "BrowserCheck" ); + XPropertySet aHelpButtonProps = GetPropSet( "HelpButton" ); + XPropertySet aSendButtonProps = GetPropSet( "SendButton" ); + XPropertySet aAddButtonProps = GetPropSet( "AddButton" ); short [] sel = (short[]) aWikiListProps.getPropertyValue("SelectedItems"); String [] items = (String []) aWikiListProps.getPropertyValue("StringItemList"); @@ -277,11 +298,11 @@ public class WikiPropDialog extends WikiDialog{ { try { - short [] sel = (short[]) getPropSet("WikiList").getPropertyValue("SelectedItems"); - String [] items = (String []) getPropSet("WikiList").getPropertyValue("StringItemList"); + short [] sel = (short[]) GetPropSet("WikiList").getPropertyValue("SelectedItems"); + String [] items = (String []) GetPropSet("WikiList").getPropertyValue("StringItemList"); m_sWikiEngineURL = items[sel[0]]; m_aSettings.setLastUsedWikiServer(sel[0]); - m_sWikiTitle = (String) getPropSet("ArticleText").getPropertyValue("Text"); + m_sWikiTitle = (String) GetPropSet("ArticleText").getPropertyValue("Text"); } catch (UnknownPropertyException ex) { @@ -309,7 +330,8 @@ public class WikiPropDialog extends WikiDialog{ { Helper.ShowError( m_xContext, m_xDialog, - m_sCancelSending ); + Helper.CANCELSENDING_ERROR, + null ); } return true; -- cgit From 52ca3bb571399c2c9cc8c0b1af875d8aa2fd89cb Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 25 Jan 2008 09:29:55 +0000 Subject: use the document title in dialog as default title --- swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java | 12 +++++------- swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java | 15 ++++++++++----- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index 28a94501cce6..573b17fcb114 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditorImpl.java,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ + * last change: $Author: mav $ $Date: 2008-01-25 10:29:55 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -323,7 +323,7 @@ public final class WikiEditorImpl extends WeakBase { Hashtable wikiSettings = m_settings.getSettingByUrl( aPropDialog.m_sWikiEngineURL ); - WikiArticle aArticle = new WikiArticle( m_xContext, aPropDialog.m_sWikiTitle, wikiSettings, false, null ); + WikiArticle aArticle = new WikiArticle( m_xContext, aPropDialog.GetWikiTitle(), wikiSettings, false, null ); if ( aArticle.m_sHTMLCode == null ) { @@ -410,7 +410,7 @@ public final class WikiEditorImpl extends WeakBase // show the send dialog WikiPropDialog aSendDialog = new WikiPropDialog( m_xContext, "vnd.sun.star.script:WikiEditor.SendToMediaWiki?location=application", this ); aSendDialog.fillWikiList(); - aSendDialog.m_sWikiTitle = Helper.GetDocTitle( m_xModel ); + aSendDialog.SetWikiTitle( Helper.GetDocTitle( m_xModel ) ); aSendDialog.show(); // triggers the sending } } @@ -435,7 +435,7 @@ public final class WikiEditorImpl extends WeakBase Hashtable wikiSettings = m_settings.getSettingByUrl( aSendDialog.m_sWikiEngineURL ); // TODO: stop progress spinning - WikiArticle aArticle = new WikiArticle( m_xContext, aSendDialog.m_sWikiTitle, wikiSettings, true, aSendDialog ); + WikiArticle aArticle = new WikiArticle( m_xContext, aSendDialog.GetWikiTitle(), wikiSettings, true, aSendDialog ); boolean bAllowSending = true; if ( aArticle.NotExist() ) @@ -452,8 +452,6 @@ public final class WikiEditorImpl extends WeakBase if ( xDialog != null ) { - Helper.SetControlPropInDialog( xDialog, "Label1", "Label", "A wiki article with the title " + aSendDialog.m_sWikiTitle + " does not exist yet. Do you want to create a new article with that name?" ); - aSendDialog.SetThrobberActive( false ); bAllowSending = MainThreadDialogExecutor.Execute( m_xContext, xDialog ); aSendDialog.SetThrobberActive( true ); diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 5b921decb2cd..63f2f08c6990 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ + * last change: $Author: mav $ $Date: 2008-01-25 10:29:55 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -63,8 +63,8 @@ public class WikiPropDialog extends WikiDialog{ String[] m_pMethods = {sSendMethod, sCancelMethod, sHelpMethod, sLoadMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; + private String m_sWikiTitle = ""; protected String m_sWikiEngineURL = ""; - protected String m_sWikiTitle = ""; protected String m_sWikiComment = ""; protected boolean m_bWikiMinorEdit = false; protected boolean m_bWikiShowBrowser = false; @@ -140,9 +140,14 @@ public class WikiPropDialog extends WikiDialog{ } - public void setm_sWikiTitle(String sArticle) + public String GetWikiTitle() { - this.m_sWikiTitle = sArticle; + return m_sWikiTitle; + } + + public void SetWikiTitle(String sArticle) + { + m_sWikiTitle = sArticle; try { XPropertySet xPS = GetPropSet("ArticleText"); -- cgit From c87fcd67b26f2a67755bb69eb5fafb99dcbe47d8 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 28 Jan 2008 12:48:00 +0000 Subject: adjust to the spec --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 188 +++++++++++++-------- .../mediawiki/src/com/sun/star/wiki/Settings.java | 114 ++----------- .../com/sun/star/wiki/WikiEditSettingDialog.java | 35 +++- .../src/com/sun/star/wiki/WikiEditorImpl.java | 58 ++++--- .../src/com/sun/star/wiki/WikiPropDialog.java | 23 ++- 5 files changed, 218 insertions(+), 200 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index a086dda1522e..06c41f5c4833 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ + * last change: $Author: mav $ $Date: 2008-01-28 13:47:59 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -48,6 +48,7 @@ import com.sun.star.beans.XPropertySet; import com.sun.star.container.XContainerQuery; import com.sun.star.container.XEnumeration; import com.sun.star.container.XNameAccess; +import com.sun.star.container.XNameContainer; import com.sun.star.document.XDocumentInfoSupplier; import com.sun.star.frame.XModel; import com.sun.star.frame.XModuleManager; @@ -112,7 +113,7 @@ public class Helper public final static int DLG_SENDTOMEDIAWIKI_LABEL3 = 22; public final static int DLG_SENDTOMEDIAWIKI_MINORCHECK = 23; public final static int DLG_SENDTOMEDIAWIKI_BROWSERCHECK = 24; - public final static int DLG_UNKNOWNCERTDIALOG_LABEL1 = 25; + public final static int UNKNOWNCERT_ERROR = 25; public final static int DLG_MEDIAWIKI_TITLE = 26; public final static int DLG_EDITSETTING_ACCOUNTLINE = 27; public final static int DLG_EDITSETTING_WIKILINE = 28; @@ -147,7 +148,7 @@ public class Helper "Dlg_SendToMediaWiki_Label3", "Dlg_SendToMediaWiki_MinorCheck", "Dlg_SendToMediaWiki_BrowserCheck", - "Dlg_UnknownCertDialog_Label1", + "UnknownCert", "Dlg_MediaWiki_Title", "Dlg_EditSetting_AccountLine", "Dlg_EditSetting_WikiLine", @@ -165,6 +166,8 @@ public class Helper private static boolean m_bAllowConnection = true; private static Hashtable m_aAcceptedUnknownCerts; + private static Boolean m_bShowInBrowser = null; + private static XPasswordContainer m_xPasswordContainer; private static XInteractionHandler m_xInteractionHandler; @@ -176,19 +179,7 @@ public class Helper if ( m_pConfigStrings == null ) { - PropertyValue aVal = new PropertyValue(); - aVal.Name = "nodepath"; - aVal.Value = "org.openoffice.Office.Custom.WikiExtension/Strings"; - Object[] aArgs = new Object[1]; - aArgs[0] = aVal; - - Object oSettings = GetConfigurationProvider( xContext ).createInstanceWithArguments( - "com.sun.star.configuration.ConfigurationAccess", - aArgs ); - XNameAccess xNameAccess = ( XNameAccess ) UnoRuntime.queryInterface( XNameAccess.class, oSettings ); - - if ( xNameAccess == null ) - throw new com.sun.star.uno.RuntimeException(); + XNameAccess xNameAccess = GetConfigNameAccess( xContext, "org.openoffice.Office.Custom.WikiExtension/Strings" ); String[] pStrings = new String[STRINGS_NUM]; for ( int nInd = 0; nInd < STRINGS_NUM; nInd++ ) @@ -236,6 +227,44 @@ public class Helper return m_bAllowConnection; } + synchronized protected static boolean GetShowInBrowserByDefault( XComponentContext xContext ) + { + if ( m_bShowInBrowser == null ) + { + try + { + XNameAccess xAccess = Helper.GetConfigNameAccess( xContext, "org.openoffice.Office.Custom.WikiExtension/Settings" ); + m_bShowInBrowser = new Boolean( AnyConverter.toBoolean( xAccess.getByName( "PreselectShowBrowser" ) ) ); + } + catch( com.sun.star.uno.Exception e ) + { + e.printStackTrace(); + } + } + + return ( m_bShowInBrowser != Boolean.FALSE ); + } + + synchronized protected static void SetShowInBrowserByDefault( XComponentContext xContext, boolean bValue ) + { + try + { + Boolean bShowInBrowser = new Boolean( bValue ); + + XNameContainer xContainer = Helper.GetConfigNameContainer( xContext, "org.openoffice.Office.Custom.WikiExtension/Settings" ); + if ( xContainer.hasByName( "PreselectShowBrowser" ) ) + xContainer.replaceByName( "PreselectShowBrowser", bShowInBrowser ); + else + xContainer.insertByName( "PreselectShowBrowser", bShowInBrowser ); + + m_bShowInBrowser = bShowInBrowser; + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + synchronized protected static XPasswordContainer GetPasswordContainer( XComponentContext xContext ) throws com.sun.star.uno.Exception { @@ -561,6 +590,50 @@ public class Helper return xConfigurationProvider; } + protected static XNameContainer GetConfigNameContainer( XComponentContext xContext, String sNodepath ) + throws com.sun.star.uno.Exception + { + if ( xContext == null || sNodepath == null ) + throw new com.sun.star.uno.RuntimeException(); + + PropertyValue aVal = new PropertyValue(); + aVal.Name = "nodepath"; + aVal.Value = sNodepath; + Object[] aArgs = new Object[1]; + aArgs[0] = aVal; + + Object oSettings = GetConfigurationProvider( xContext ).createInstanceWithArguments( + "com.sun.star.configuration.ConfigurationUpdateAccess", + aArgs ); + XNameContainer xContainer = ( XNameContainer ) UnoRuntime.queryInterface( XNameContainer.class, oSettings ); + if ( xContainer == null ) + throw new com.sun.star.uno.RuntimeException(); + + return xContainer; + } + + protected static XNameAccess GetConfigNameAccess( XComponentContext xContext, String sNodepath ) + throws com.sun.star.uno.Exception + { + if ( xContext == null || sNodepath == null ) + throw new com.sun.star.uno.RuntimeException(); + + PropertyValue aVal = new PropertyValue(); + aVal.Name = "nodepath"; + aVal.Value = sNodepath; + Object[] aArgs = new Object[1]; + aArgs[0] = aVal; + + Object oSettings = GetConfigurationProvider( xContext ).createInstanceWithArguments( + "com.sun.star.configuration.ConfigurationAccess", + aArgs ); + XNameAccess xNameAccess = ( XNameAccess ) UnoRuntime.queryInterface( XNameAccess.class, oSettings ); + if ( xNameAccess == null ) + throw new com.sun.star.uno.RuntimeException(); + + return xNameAccess; + } + protected static void SetConfigurationProxy( HostConfiguration aHostConfig, XComponentContext xContext ) { if ( aHostConfig == null || xContext == null ) @@ -568,19 +641,7 @@ public class Helper try { - PropertyValue aVal = new PropertyValue(); - aVal.Name = "nodepath"; - aVal.Value = "org.openoffice.Inet/Settings"; - Object[] aArgs = new Object[1]; - aArgs[0] = aVal; - - Object oSettings = Helper.GetConfigurationProvider( xContext ).createInstanceWithArguments( - "com.sun.star.configuration.ConfigurationAccess", - aArgs ); - XNameAccess xNameAccess = ( XNameAccess ) UnoRuntime.queryInterface( XNameAccess.class, oSettings ); - - if ( xNameAccess == null ) - return; + XNameAccess xNameAccess = GetConfigNameAccess( xContext, "org.openoffice.Inet/Settings" ); int nProxyType = AnyConverter.toInt( xNameAccess.getByName( "ooInetProxyType" ) ); String aNoProxyList = AnyConverter.toString( xNameAccess.getByName( "ooInetNoProxy" ) ); @@ -624,7 +685,7 @@ public class Helper } protected static void ExecuteMethod( HttpMethodBase aMethod, HostConfiguration aHostConfig, URI aURI, XComponentContext xContext, boolean bSetHost ) - throws WikiCancelException, IOException + throws WikiCancelException, IOException, SSLException { if ( aMethod != null && aHostConfig != null && aURI != null && xContext != null ) { @@ -643,36 +704,9 @@ public class Helper if ( !bNoUnknownCertNotification ) { - try - { - Helper.GetHttpClient().executeMethod( aHostConfig, aMethod ); - } - catch ( SSLException e ) - { - if ( aURI.getScheme().equals( "https" ) ) - { - // the complete secure connection seems to be impossible - String[] pControls = { "Label1", "CommandButton1", "CommandButton2" }; - int[] pStringIDs = { DLG_UNKNOWNCERTDIALOG_LABEL1, DLG_YES, DLG_NO }; - XDialog xAskDialog = WikiDialog.CreateSimpleDialog( - xContext, - "vnd.sun.star.script:WikiEditor.UnknownCertDialog?location=application", - DLG_MEDIAWIKI_TITLE, - pControls, - pStringIDs ); - - if ( xAskDialog != null && MainThreadDialogExecutor.Execute( xContext, xAskDialog ) ) - { - if ( m_aAcceptedUnknownCerts == null ) - m_aAcceptedUnknownCerts = new Hashtable(); - m_aAcceptedUnknownCerts.put( aURI.getHost(), Boolean.TRUE ); - bNoUnknownCertNotification = true; - } - } - } + Helper.GetHttpClient().executeMethod( aHostConfig, aMethod ); } - - if ( bNoUnknownCertNotification ) + else { { { @@ -838,28 +872,33 @@ public class Helper return bResult; } - protected static void ShowError( XComponentContext xContext, XDialog xDialog, int nErrorID, String sArg ) + protected static void ShowError( XComponentContext xContext, XDialog xDialog, int nTitleID, int nErrorID, String sArg, boolean bQuery ) { XWindowPeer xPeer = null; XControl xControl = (XControl)UnoRuntime.queryInterface( XControl.class, xDialog ); if ( xControl != null ) xPeer = xControl.getPeer(); - ShowError( xContext, xPeer, nErrorID, sArg ); + ShowError( xContext, xPeer, nTitleID, nErrorID, sArg, bQuery ); } - protected static void ShowError( XComponentContext xContext, XWindowPeer xParentPeer, int nErrorID, String sArg ) + protected static boolean ShowError( XComponentContext xContext, XWindowPeer xParentPeer, int nTitleID, int nErrorID, String sArg, boolean bQuery ) { + boolean bResult = false; + if ( xContext != null && nErrorID >= 0 && nErrorID < STRINGS_NUM ) { boolean bShown = false; String sError = null; + String sTitle = ""; try { sError = GetLocalizedString( xContext, nErrorID ); if ( sError != null && sArg != null ) sError.replaceAll( "\\$ARG1", sArg ); + + sTitle = GetLocalizedString( xContext, nTitleID ); } catch( Exception e ) { @@ -882,15 +921,30 @@ public class Helper if ( xMBFactory != null ) { - XMessageBox xMB = xMBFactory.createMessageBox( xParentPeer, + XMessageBox xMB = null; + if ( bQuery ) + { + xMB = xMBFactory.createMessageBox( + xParentPeer, + new com.sun.star.awt.Rectangle(), + "querybox", + MessageBoxButtons.BUTTONS_YES_NO | MessageBoxButtons.DEFAULT_BUTTON_NO, + sTitle, + sError ); + } + else + { + xMB = xMBFactory.createMessageBox( + xParentPeer, new com.sun.star.awt.Rectangle(), "errorbox", MessageBoxButtons.BUTTONS_OK, - "Error", + sTitle, sError ); + } if ( xMB != null ) { - MainThreadDialogExecutor.Execute( xContext, xMB ); + bResult = MainThreadDialogExecutor.Execute( xContext, xMB ); bShown = true; } } @@ -914,6 +968,8 @@ public class Helper } } } + + return bResult; } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/Settings.java b/swext/mediawiki/src/com/sun/star/wiki/Settings.java index 7277fe3d028c..0204f50c07c0 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Settings.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Settings.java @@ -4,9 +4,9 @@ * * $RCSfile: Settings.java,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:14:11 $ + * last change: $Author: mav $ $Date: 2008-01-28 13:47:59 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -53,7 +53,7 @@ import java.util.Vector; public class Settings { - private XComponentContext m_context; + private XComponentContext m_xContext; private int lastUsedWikiServer = 0; @@ -66,7 +66,7 @@ public class Settings private Settings( XComponentContext ctx ) { - m_context=ctx; + m_xContext=ctx; loadConfiguration(); } @@ -217,15 +217,12 @@ public class Settings { try { - Object oList = getConfigurationUpdateAccess( "org.openoffice.Office.Custom.WikiExtension/ConnectionList" ); - // remove stored connection information - XNameAccess xList = ( XNameAccess ) UnoRuntime.queryInterface( XNameAccess.class, oList ); - String[] names = xList.getElementNames(); - XNameContainer xContainer = ( XNameContainer ) UnoRuntime.queryInterface( XNameContainer.class, xList ); - for( int i=0; i 0 ); } + catch ( SSLException essl ) + { + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, + Helper.UNKNOWNCERT_ERROR, + null, + false ); + essl.printStackTrace(); + } catch ( Exception ex ) { Helper.ShowError( m_xContext, m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, Helper.NOURLCONNECTION_ERROR, - sURL ); + sURL, + false ); ex.printStackTrace(); } return true; diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index 573b17fcb114..1c0d368f5d7c 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditorImpl.java,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2008-01-25 10:29:55 $ + * last change: $Author: mav $ $Date: 2008-01-28 13:48:00 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -67,6 +67,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Map; import java.util.Set; +import javax.net.ssl.SSLException; public final class WikiEditorImpl extends WeakBase @@ -402,8 +403,10 @@ public final class WikiEditorImpl extends WeakBase { Helper.ShowError( m_xContext, (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), + Helper.DLG_SENDTITLE, Helper.NOWIKIFILTER_ERROR, - null ); + null, + false ); throw new com.sun.star.uno.RuntimeException(); } @@ -441,23 +444,15 @@ public final class WikiEditorImpl extends WeakBase if ( aArticle.NotExist() ) { // ask whether creation of a new page is allowed - String[] pControls = { "Label1", "CommandButton1", "CommandButton2" }; - int[] pStringIDs = { Helper.DLG_NEWWIKIPAGE_LABEL1, Helper.DLG_YES, Helper.DLG_NO }; - XDialog xDialog = WikiDialog.CreateSimpleDialog( - m_xContext, - "vnd.sun.star.script:WikiEditor.NewWikiPage?location=application", - Helper.DLG_SENDTITLE, - pControls, - pStringIDs ); - - if ( xDialog != null ) - { - aSendDialog.SetThrobberActive( false ); - bAllowSending = MainThreadDialogExecutor.Execute( m_xContext, xDialog ); - aSendDialog.SetThrobberActive( true ); - } - else - throw new WikiCancelException(); + aSendDialog.SetThrobberActive( false ); + bAllowSending = Helper.ShowError( + m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), + Helper.DLG_SENDTITLE, + Helper.DLG_NEWWIKIPAGE_LABEL1, + aSendDialog.GetWikiTitle(), + true ); + aSendDialog.SetThrobberActive( true ); } if ( bAllowSending ) @@ -492,15 +487,17 @@ public final class WikiEditorImpl extends WeakBase m_settings.addWikiDoc( aDocInfo ); m_settings.storeConfiguration(); - if ( aSendDialog.m_bWikiShowBrowser ) + if ( Helper.GetShowInBrowserByDefault( m_xContext ) ) Helper.ShowURLInBrowser( m_xContext, aArticle.GetViewURL() ); } else { Helper.ShowError( m_xContext, (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), + Helper.DLG_SENDTITLE, Helper.GENERALSEND_ERROR, - null ); + null, + false ); } } } @@ -508,6 +505,19 @@ public final class WikiEditorImpl extends WeakBase { // nothing to do, the sending was cancelled } + catch( SSLException essl ) + { + if ( Helper.IsConnectionAllowed() ) + { + // report the error only if sending was not cancelled + Helper.ShowError( m_xContext, + (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), + Helper.DLG_SENDTITLE, + Helper.UNKNOWNCERT_ERROR, + null, + false ); + } + } catch( Exception e ) { if ( Helper.IsConnectionAllowed() ) @@ -515,8 +525,10 @@ public final class WikiEditorImpl extends WeakBase // report the error only if sending was not cancelled Helper.ShowError( m_xContext, (XWindowPeer)UnoRuntime.queryInterface( XWindowPeer.class, m_xFrame.getContainerWindow() ), + Helper.DLG_SENDTITLE, Helper.GENERALSEND_ERROR, - null ); + null, + false ); } e.printStackTrace(); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 63f2f08c6990..3c1b4756586c 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2008-01-25 10:29:55 $ + * last change: $Author: mav $ $Date: 2008-01-28 13:48:00 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -67,7 +67,6 @@ public class WikiPropDialog extends WikiDialog{ protected String m_sWikiEngineURL = ""; protected String m_sWikiComment = ""; protected boolean m_bWikiMinorEdit = false; - protected boolean m_bWikiShowBrowser = false; private Thread m_aSendingThread; @@ -84,6 +83,7 @@ public class WikiPropDialog extends WikiDialog{ } InitStrings( xContext ); + InitShowBrowser( xContext ); } private void InitStrings( XComponentContext xContext ) @@ -107,6 +107,18 @@ public class WikiPropDialog extends WikiDialog{ } } + private void InitShowBrowser( XComponentContext xContext ) + { + try + { + GetPropSet( "BrowserCheck" ).setPropertyValue( "State", new Short( Helper.GetShowInBrowserByDefault( m_xContext ) ? (short)1 : (short)0 ) ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + public void fillWikiList() { String [] WikiList = m_aSettings.getWikiURLs(); @@ -216,10 +228,7 @@ public class WikiPropDialog extends WikiDialog{ m_bWikiMinorEdit = false; short nBrowserState = ((Short) aBrowserCheckProps.getPropertyValue("State")).shortValue(); - if ( nBrowserState != 0 ) - m_bWikiShowBrowser = true; - else - m_bWikiShowBrowser = false; + Helper.SetShowInBrowserByDefault( m_xContext, nBrowserState != 0 ); XPropertySet[] aToDisable = { aWikiListProps, aArticleTextProps, aCommentTextProps, aMinorCheckProps, aBrowserCheckProps, aHelpButtonProps, aSendButtonProps, aAddButtonProps }; for ( int nInd = 0; nInd < aToDisable.length; nInd++ ) -- cgit From ee64111244de6bab796972fe130f1a1e19f94bd5 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 29 Jan 2008 10:01:28 +0000 Subject: allow to do some special site-related settings in configuration --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 88 ++++++++++++++++++---- .../src/com/sun/star/wiki/WikiArticle.java | 7 +- .../com/sun/star/wiki/WikiEditSettingDialog.java | 6 +- .../src/com/sun/star/wiki/WikiPropDialog.java | 8 +- 4 files changed, 83 insertions(+), 26 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 06c41f5c4833..e3cd1c0c7bda 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: mav $ $Date: 2008-01-28 13:47:59 $ + * last change: $Author: mav $ $Date: 2008-01-29 11:01:28 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -696,18 +696,9 @@ public class Helper } boolean bNoUnknownCertNotification = false; - if ( aHostConfig.getProtocol().getScheme().equals( "https" ) && m_aAcceptedUnknownCerts != null ) - { - Boolean bAccepted = (Boolean)m_aAcceptedUnknownCerts.get( aHostConfig.getHost() ); - bNoUnknownCertNotification = ( bAccepted != null && bAccepted.booleanValue() ); - } - - if ( !bNoUnknownCertNotification ) - { - Helper.GetHttpClient().executeMethod( aHostConfig, aMethod ); - } - else + if ( aHostConfig.getProtocol().getScheme().equals( "https" ) && AllowUnknownCert( xContext, aURI.toString() ) ) { + // let unknown certificates be accepted { { aHostConfig.setHost( aHostConfig.getHost(), ( aURI.getPort() < 0 ? 443 : aURI.getPort() ), Helper.GetOwnHttps( aURI.getPort() ) ); @@ -715,6 +706,10 @@ public class Helper } } } + else + { + Helper.GetHttpClient().executeMethod( aHostConfig, aMethod ); + } } } @@ -755,12 +750,12 @@ public class Helper return bResult; } - static protected HostConfiguration Login( URI aMainURL, String sWikiUser, String sWikiPass, String sWikiDomain, XComponentContext xContext ) + static protected HostConfiguration Login( URI aMainURL, String sWikiUser, String sWikiPass, XComponentContext xContext ) throws com.sun.star.uno.Exception, java.io.IOException, WikiCancelException { HostConfiguration aHostConfig = null; - if ( sWikiUser != null && sWikiUser.length() > 0 && sWikiPass != null && sWikiDomain != null && xContext != null ) + if ( sWikiUser != null && sWikiUser.length() > 0 && sWikiPass != null && xContext != null ) { HostConfiguration aNewHostConfig = new HostConfiguration(); @@ -781,7 +776,11 @@ public class Helper aPost.addParameter( "wpName", sWikiUser ); aPost.addParameter( "wpRemember", "1" ); aPost.addParameter( "wpPassword", sWikiPass ); - aPost.addParameter( "wpDomain", sWikiDomain ); + String[][] pArgs = GetSpecialArgs( xContext, aMainURL.toString() ); + if ( pArgs != null ) + for ( int nArgInd = 0; nArgInd < pArgs.length; nArgInd++ ) + if ( pArgs[nArgInd].length == 2 && pArgs[nArgInd][0] != null && pArgs[nArgInd][1] != null ) + aPost.addParameter( pArgs[nArgInd][0], pArgs[nArgInd][1] ); ExecuteMethod( aPost, aNewHostConfig, aPostURI, xContext, false ); @@ -971,5 +970,62 @@ public class Helper return bResult; } + + private static boolean AllowUnknownCert( XComponentContext xContext, String aURL ) + { + try + { + XNameAccess xNameAccess = GetConfigNameAccess( xContext, "org.openoffice.Office.Custom.WikiExtension/SpecialData" ); + if ( xNameAccess.hasByName( aURL ) ) + { + XNameAccess xEntry = (XNameAccess)UnoRuntime.queryInterface( XNameAccess.class, xNameAccess.getByName( aURL ) ); + if ( xEntry != null && xEntry.hasByName( "AllowUnknownCertificate" ) ) + return AnyConverter.toBoolean( xEntry.getByName( "AllowUnknownCertificate" ) ); + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + + return false; + } + + private static String[][] GetSpecialArgs( XComponentContext xContext, String aURL ) + { + try + { + XNameAccess xNameAccess = GetConfigNameAccess( xContext, "org.openoffice.Office.Custom.WikiExtension/SpecialData" ); + if ( xNameAccess.hasByName( aURL ) ) + { + XNameAccess xEntry = (XNameAccess)UnoRuntime.queryInterface( XNameAccess.class, xNameAccess.getByName( aURL ) ); + if ( xEntry != null ) + { + XNameAccess xArgs = (XNameAccess)UnoRuntime.queryInterface( XNameAccess.class, xEntry.getByName( "AdditionalLoginArguments" ) ); + if ( xArgs != null ) + { + String[] pNames = xArgs.getElementNames(); + if ( pNames != null && pNames.length > 0 ) + { + String[][] pResult = new String[pNames.length][2]; + for ( int nInd = 0; nInd < pNames.length; nInd++ ) + { + pResult[nInd][0] = pNames[nInd]; + pResult[nInd][1] = AnyConverter.toString( xArgs.getByName( pNames[nInd] ) ); + } + + return pResult; + } + } + } + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + + return null; + } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java index f1cfc1a94313..6273f931ff72 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiArticle.java,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-12-13 15:11:05 $ + * last change: $Author: mav $ $Date: 2008-01-29 11:01:28 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -57,7 +57,6 @@ public class WikiArticle protected String m_sWikiUser; protected String m_sWikiPass; - protected String m_sWikiDomain = "sun"; protected String m_sTitle = ""; @@ -268,7 +267,7 @@ public class WikiArticle protected boolean Login() throws com.sun.star.uno.Exception, java.io.IOException, WikiCancelException { - m_aHostConfig = Helper.Login( m_aMainURI, m_sWikiUser, m_sWikiPass, m_sWikiDomain, m_xContext ); + m_aHostConfig = Helper.Login( m_aMainURI, m_sWikiUser, m_sWikiPass, m_xContext ); return ( m_aHostConfig != null ); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 08550631def4..a45f292816e5 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: mav $ $Date: 2008-01-28 13:48:00 $ + * last change: $Author: mav $ $Date: 2008-01-29 11:01:28 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -196,7 +196,7 @@ public class WikiEditSettingDialog extends WikiDialog else { if ( ( sUserName.length() > 0 || sPassword.length() > 0 ) - && Helper.Login( new URI( sMainURL ), sUserName, sPassword, "sun", m_xContext ) == null ) + && Helper.Login( new URI( sMainURL ), sUserName, sPassword, m_xContext ) == null ) { // a wrong login information is provided // show error diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 3c1b4756586c..9cd9d8456e6b 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: mav $ $Date: 2008-01-28 13:48:00 $ + * last change: $Author: mav $ $Date: 2008-01-29 11:01:28 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -344,8 +344,10 @@ public class WikiPropDialog extends WikiDialog{ { Helper.ShowError( m_xContext, m_xDialog, + Helper.DLG_SENDTITLE, Helper.CANCELSENDING_ERROR, - null ); + null, + false ); } return true; -- cgit From fd5be1770648c156a4adbf71272c003b2e23134c Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 29 Jan 2008 10:07:55 +0000 Subject: remove unused dialogs --- swext/mediawiki/dialogs/dialog.xlb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/swext/mediawiki/dialogs/dialog.xlb b/swext/mediawiki/dialogs/dialog.xlb index 08672ae6fe9c..6bc916691015 100644 --- a/swext/mediawiki/dialogs/dialog.xlb +++ b/swext/mediawiki/dialogs/dialog.xlb @@ -5,9 +5,9 @@ * * $RCSfile: dialog.xlb,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 10:47:53 $ + * last change: $Author: mav $ $Date: 2008-01-29 11:07:55 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -36,9 +36,6 @@ - - - -- cgit From 2828f034677daa0d7bd0cdbca145f0e5f45d7cb6 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Tue, 29 Jan 2008 13:26:29 +0000 Subject: INTEGRATION: CWS reportdesign02 (1.2.10); FILE MERGED 2008/01/15 06:24:18 oj 1.2.10.2: #i85249# set build source to 1.3 2008/01/07 14:28:54 oj 1.2.10.1: merge cws pentaho1 into reportdesign02 to avoid blocking --- jfreereport/patches/libformula.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jfreereport/patches/libformula.patch b/jfreereport/patches/libformula.patch index 159dbd89b246..d513c2352355 100644 --- a/jfreereport/patches/libformula.patch +++ b/jfreereport/patches/libformula.patch @@ -15,7 +15,7 @@ # # Make sure that JDK 1.2 compatible class files are generated build.target=1.4 -! build.source=1.2 +! build.source=1.3 build.retro.target=1.2 build.retro.jdk=/opt/jdk1.2.2 - \ No newline at end of file + -- cgit From 19e7dac1f498aa77b75aa37c4493eb3581b37f72 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 30 Jan 2008 08:24:28 +0000 Subject: set new version --- swext/mediawiki/src/description.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index dd63eb38501a..67e933d071be 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -1,6 +1,6 @@ - + -- cgit From 95692662c16f0aff363aacfc474d1e8130aefcce Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 30 Jan 2008 08:24:49 +0000 Subject: store checkbox state in configuration --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 62 ++++++++++++---------- .../com/sun/star/wiki/WikiEditSettingDialog.java | 9 ++-- 2 files changed, 39 insertions(+), 32 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index e3cd1c0c7bda..48df63f8230f 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: mav $ $Date: 2008-01-29 11:01:28 $ + * last change: $Author: mav $ $Date: 2008-01-30 09:24:49 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -67,6 +67,7 @@ import com.sun.star.task.XPasswordContainer; import com.sun.star.uno.AnyConverter; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; +import com.sun.star.util.XChangesBatch; import java.net.*; import java.io.*; import java.util.Hashtable; @@ -242,22 +243,20 @@ public class Helper } } - return ( m_bShowInBrowser != Boolean.FALSE ); + return m_bShowInBrowser.booleanValue(); } synchronized protected static void SetShowInBrowserByDefault( XComponentContext xContext, boolean bValue ) { try { - Boolean bShowInBrowser = new Boolean( bValue ); + m_bShowInBrowser = new Boolean( bValue ); - XNameContainer xContainer = Helper.GetConfigNameContainer( xContext, "org.openoffice.Office.Custom.WikiExtension/Settings" ); - if ( xContainer.hasByName( "PreselectShowBrowser" ) ) - xContainer.replaceByName( "PreselectShowBrowser", bShowInBrowser ); - else - xContainer.insertByName( "PreselectShowBrowser", bShowInBrowser ); - - m_bShowInBrowser = bShowInBrowser; + XPropertySet xProps = Helper.GetConfigProps( xContext, "org.openoffice.Office.Custom.WikiExtension/Settings" ); + xProps.setPropertyValue( "PreselectShowBrowser", new Boolean( bValue ) ); + XChangesBatch xBatch = ( XChangesBatch ) UnoRuntime.queryInterface( XChangesBatch.class, xProps ); + if ( xBatch != null ) + xBatch.commitChanges(); } catch( Exception e ) { @@ -590,7 +589,7 @@ public class Helper return xConfigurationProvider; } - protected static XNameContainer GetConfigNameContainer( XComponentContext xContext, String sNodepath ) + protected static Object GetConfig( XComponentContext xContext, String sNodepath, boolean bWriteAccess ) throws com.sun.star.uno.Exception { if ( xContext == null || sNodepath == null ) @@ -602,32 +601,37 @@ public class Helper Object[] aArgs = new Object[1]; aArgs[0] = aVal; - Object oSettings = GetConfigurationProvider( xContext ).createInstanceWithArguments( - "com.sun.star.configuration.ConfigurationUpdateAccess", + return GetConfigurationProvider( xContext ).createInstanceWithArguments( + ( bWriteAccess ? "com.sun.star.configuration.ConfigurationUpdateAccess" + : "com.sun.star.configuration.ConfigurationAccess" ), aArgs ); - XNameContainer xContainer = ( XNameContainer ) UnoRuntime.queryInterface( XNameContainer.class, oSettings ); - if ( xContainer == null ) + } + + protected static XPropertySet GetConfigProps( XComponentContext xContext, String sNodepath ) + throws com.sun.star.uno.Exception + { + XPropertySet xProps = ( XPropertySet ) UnoRuntime.queryInterface( XPropertySet.class, GetConfig( xContext, sNodepath, true ) ); + if ( xProps == null ) throw new com.sun.star.uno.RuntimeException(); - return xContainer; + return xProps; } - protected static XNameAccess GetConfigNameAccess( XComponentContext xContext, String sNodepath ) + + protected static XNameContainer GetConfigNameContainer( XComponentContext xContext, String sNodepath ) throws com.sun.star.uno.Exception { - if ( xContext == null || sNodepath == null ) + XNameContainer xContainer = ( XNameContainer ) UnoRuntime.queryInterface( XNameContainer.class, GetConfig( xContext, sNodepath, true ) ); + if ( xContainer == null ) throw new com.sun.star.uno.RuntimeException(); - PropertyValue aVal = new PropertyValue(); - aVal.Name = "nodepath"; - aVal.Value = sNodepath; - Object[] aArgs = new Object[1]; - aArgs[0] = aVal; + return xContainer; + } - Object oSettings = GetConfigurationProvider( xContext ).createInstanceWithArguments( - "com.sun.star.configuration.ConfigurationAccess", - aArgs ); - XNameAccess xNameAccess = ( XNameAccess ) UnoRuntime.queryInterface( XNameAccess.class, oSettings ); + protected static XNameAccess GetConfigNameAccess( XComponentContext xContext, String sNodepath ) + throws com.sun.star.uno.Exception + { + XNameAccess xNameAccess = ( XNameAccess ) UnoRuntime.queryInterface( XNameAccess.class, GetConfig( xContext, sNodepath, false ) ); if ( xNameAccess == null ) throw new com.sun.star.uno.RuntimeException(); @@ -895,7 +899,7 @@ public class Helper { sError = GetLocalizedString( xContext, nErrorID ); if ( sError != null && sArg != null ) - sError.replaceAll( "\\$ARG1", sArg ); + sError.replaceAll( "$ARG1", sArg ); sTitle = GetLocalizedString( xContext, nTitleID ); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index a45f292816e5..ec85a548958f 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: mav $ $Date: 2008-01-29 11:01:28 $ + * last change: $Author: mav $ $Date: 2008-01-30 09:24:49 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -82,7 +82,10 @@ public class WikiEditSettingDialog extends WikiDialog setting = ht; try { - GetPropSet( "UrlField" ).setPropertyValue( "Text", ht.get( "Url" )); + XPropertySet xUrlField = GetPropSet( "UrlField" ); + + xUrlField.setPropertyValue( "Text", ht.get( "Url" ) ); + xUrlField.setPropertyValue( "Enabled", Boolean.FALSE ); GetPropSet( "UsernameField" ).setPropertyValue( "Text", ht.get( "Username" )); GetPropSet( "PasswordField" ).setPropertyValue( "Text", ht.get( "Password" )); } -- cgit From 2e6d128db4c8c116cc9e69597c9e7730219271ef Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 30 Jan 2008 08:45:06 +0000 Subject: Fix error messages with arguments --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 48df63f8230f..6a91b93eef7e 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: mav $ $Date: 2008-01-30 09:24:49 $ + * last change: $Author: mav $ $Date: 2008-01-30 09:45:06 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -899,7 +899,7 @@ public class Helper { sError = GetLocalizedString( xContext, nErrorID ); if ( sError != null && sArg != null ) - sError.replaceAll( "$ARG1", sArg ); + sError = sError.replaceAll( "\\$ARG1", sArg ); sTitle = GetLocalizedString( xContext, nTitleID ); } -- cgit From 3d667d241d836ae680e5cd217e9858b323be7f80 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 30 Jan 2008 13:27:32 +0000 Subject: allow to provide special settings for hosts --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 15 ++++++++++----- .../src/com/sun/star/wiki/WikiEditSettingDialog.java | 7 +++++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 6a91b93eef7e..e7a63882da12 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: mav $ $Date: 2008-01-30 09:45:06 $ + * last change: $Author: mav $ $Date: 2008-01-30 14:27:32 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -700,7 +700,8 @@ public class Helper } boolean bNoUnknownCertNotification = false; - if ( aHostConfig.getProtocol().getScheme().equals( "https" ) && AllowUnknownCert( xContext, aURI.toString() ) ) + if ( aHostConfig.getProtocol().getScheme().equals( "https" ) + && AllowUnknownCert( xContext, aURI.getHost() ) ) { // let unknown certificates be accepted { @@ -780,7 +781,7 @@ public class Helper aPost.addParameter( "wpName", sWikiUser ); aPost.addParameter( "wpRemember", "1" ); aPost.addParameter( "wpPassword", sWikiPass ); - String[][] pArgs = GetSpecialArgs( xContext, aMainURL.toString() ); + String[][] pArgs = GetSpecialArgs( xContext, aMainURL.getHost() ); if ( pArgs != null ) for ( int nArgInd = 0; nArgInd < pArgs.length; nArgInd++ ) if ( pArgs[nArgInd].length == 2 && pArgs[nArgInd][0] != null && pArgs[nArgInd][1] != null ) @@ -1014,8 +1015,12 @@ public class Helper String[][] pResult = new String[pNames.length][2]; for ( int nInd = 0; nInd < pNames.length; nInd++ ) { + XNameAccess xArgument = (XNameAccess)UnoRuntime.queryInterface( XNameAccess.class, xArgs.getByName( pNames[nInd] ) ); + if ( xArgument == null ) + throw new com.sun.star.uno.RuntimeException(); + pResult[nInd][0] = pNames[nInd]; - pResult[nInd][1] = AnyConverter.toString( xArgs.getByName( pNames[nInd] ) ); + pResult[nInd][1] = AnyConverter.toString( xArgument.getByName( "Value" ) ); } return pResult; diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index ec85a548958f..eac008cf86da 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: mav $ $Date: 2008-01-30 09:24:49 $ + * last change: $Author: mav $ $Date: 2008-01-30 14:27:32 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -216,7 +216,10 @@ public class WikiEditSettingDialog extends WikiDialog setting.put( "Username", sUserName ); setting.put( "Password", sPassword ); if ( addMode ) + { Settings.getSettings( m_xContext ).addWikiCon( setting ); + Settings.getSettings( m_xContext ).storeConfiguration(); + } if ( Helper.PasswordStoringIsAllowed( m_xContext ) && ( (Short)( GetPropSet( "SaveBox" ).getPropertyValue("State") ) ).shortValue() != (short)0 ) -- cgit From adb2bb9865b3fa89b3ed4fb34ac332dbc58c8db4 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 30 Jan 2008 13:29:25 +0000 Subject: set the default button --- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 8318bed3ee89..80bbbc222b61 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2008-01-21 12:57:52 $ + * last change: $Author: mav $ $Date: 2008-01-30 14:29:25 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -55,7 +55,7 @@ - + -- cgit From ce3035900899cce324433457e77929fa4991ffae Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 30 Jan 2008 15:08:26 +0000 Subject: adopt for https proxy --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 40 ++++++++++++++++------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index e7a63882da12..ae1db647b4be 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: mav $ $Date: 2008-01-30 14:27:32 $ + * last change: $Author: mav $ $Date: 2008-01-30 16:08:26 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -648,20 +648,36 @@ public class Helper XNameAccess xNameAccess = GetConfigNameAccess( xContext, "org.openoffice.Inet/Settings" ); int nProxyType = AnyConverter.toInt( xNameAccess.getByName( "ooInetProxyType" ) ); - String aNoProxyList = AnyConverter.toString( xNameAccess.getByName( "ooInetNoProxy" ) ); - String aProxyName = AnyConverter.toString( xNameAccess.getByName( "ooInetHTTPProxyName" ) ); - - int nProxyPort = AnyConverter.toInt( xNameAccess.getByName( "ooInetHTTPProxyPort" ) ); - - if ( nProxyPort == -1 ) - nProxyPort = 80; - if ( nProxyType == 0 ) aHostConfig.setProxy( "", 0 ); else { - // TODO: check whether the URL is in the NoProxy list - aHostConfig.setProxy( aProxyName, nProxyPort ); + if ( nProxyType == 1 ) + { + // system proxy + } + else if ( nProxyType == 2 ) + { + String aProxyNameProp = "ooInetHTTPProxyName"; + String aProxyPortProp = "ooInetHTTPProxyPort"; + + if ( aHostConfig.getProtocol().getScheme().equals( "https" ) ) + { + aProxyNameProp = "ooInetHTTPSProxyName"; + aProxyPortProp = "ooInetHTTPSProxyPort"; + } + + String aNoProxyList = AnyConverter.toString( xNameAccess.getByName( "ooInetNoProxy" ) ); + String aProxyName = AnyConverter.toString( xNameAccess.getByName( aProxyNameProp ) ); + + int nProxyPort = AnyConverter.toInt( xNameAccess.getByName( aProxyPortProp ) ); + + if ( nProxyPort == -1 ) + nProxyPort = 80; + + // TODO: check whether the URL is in the NoProxy list + aHostConfig.setProxy( aProxyName, nProxyPort ); + } } } catch( java.lang.Exception e ) -- cgit From e9a361bc9c1a6387151d7b1f33ae0cc957355002 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 30 Jan 2008 18:02:16 +0000 Subject: react on actions --- swext/mediawiki/dialogs/Settings.xdl | 5 +- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 26 +- .../src/com/sun/star/wiki/WikiArticle.java | 6 +- .../com/sun/star/wiki/WikiEditSettingDialog.java | 319 +++++++++++++-------- .../sun/star/wiki/WikiOptionsEventHandlerImpl.java | 9 +- .../src/com/sun/star/wiki/WikiPropDialog.java | 21 +- 6 files changed, 237 insertions(+), 149 deletions(-) diff --git a/swext/mediawiki/dialogs/Settings.xdl b/swext/mediawiki/dialogs/Settings.xdl index 013aa90ca9ab..b986abc017c5 100644 --- a/swext/mediawiki/dialogs/Settings.xdl +++ b/swext/mediawiki/dialogs/Settings.xdl @@ -5,9 +5,9 @@ * * $RCSfile: Settings.xdl,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2008-01-21 12:57:52 $ + * last change: $Author: mav $ $Date: 2008-01-30 19:02:05 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -47,6 +47,7 @@ + diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index ae1db647b4be..a62bf189bcd5 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.12 $ + * $Revision: 1.13 $ * - * last change: $Author: mav $ $Date: 2008-01-30 16:08:26 $ + * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -1052,5 +1052,27 @@ public class Helper return null; } + + protected static boolean AllowThreadUsage( XComponentContext xContext ) + { + if ( xContext != null ) + { + try + { + XMultiComponentFactory xFactory = xContext.getServiceManager(); + if ( xFactory == null ) + throw new com.sun.star.uno.RuntimeException(); + + Object oCheckCallback = xFactory.createInstanceWithContext( "com.sun.star.awt.AsyncCallback", xContext ); + return ( oCheckCallback != null ); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + + return false; + } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java index 6273f931ff72..732682e7151c 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiArticle.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2008-01-29 11:01:28 $ + * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -103,7 +103,7 @@ public class WikiArticle while( bLogin && !bGotLogin && !Login() ) { // TODO: be sure that this is no main thread - WikiEditSettingDialog wd = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", wikiSettings ); + WikiEditSettingDialog wd = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", wikiSettings, false ); if ( aPropDialog != null ) aPropDialog.SetThrobberActive( false ); diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index eac008cf86da..11c87c42a7ba 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: mav $ $Date: 2008-01-30 14:27:32 $ + * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -63,6 +63,7 @@ public class WikiEditSettingDialog extends WikiDialog {sOKMethod, sCancelMethod, sHelpMethod}; private Hashtable setting; private boolean addMode; + private boolean m_bAllowURLChange = true; public WikiEditSettingDialog( XComponentContext xContext, String DialogURL ) { @@ -75,7 +76,7 @@ public class WikiEditSettingDialog extends WikiDialog InitSaveCheckbox( xContext ); } - public WikiEditSettingDialog( XComponentContext xContext, String DialogURL, Hashtable ht ) + public WikiEditSettingDialog( XComponentContext xContext, String DialogURL, Hashtable ht, boolean bAllowURLChange ) { super( xContext, DialogURL ); super.setMethods( Methods ); @@ -85,7 +86,6 @@ public class WikiEditSettingDialog extends WikiDialog XPropertySet xUrlField = GetPropSet( "UrlField" ); xUrlField.setPropertyValue( "Text", ht.get( "Url" ) ); - xUrlField.setPropertyValue( "Enabled", Boolean.FALSE ); GetPropSet( "UsernameField" ).setPropertyValue( "Text", ht.get( "Username" )); GetPropSet( "PasswordField" ).setPropertyValue( "Text", ht.get( "Password" )); } @@ -93,12 +93,42 @@ public class WikiEditSettingDialog extends WikiDialog { ex.printStackTrace(); } + addMode = false; + m_bAllowURLChange = bAllowURLChange; InitStrings( xContext ); InitSaveCheckbox( xContext ); } + public boolean show( ) + { + EnableControls( true ); + return super.show(); + } + + private void EnableControls( boolean bEnable ) + { + try + { + GetPropSet( "UrlField" ).setPropertyValue( "Enabled", new Boolean( m_bAllowURLChange ) ); + GetPropSet( "UsernameField" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); + GetPropSet( "PasswordField" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); + GetPropSet( "OkButton" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); + GetPropSet( "HelpButton" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); + + if ( bEnable ) + GetPropSet( "SaveBox" ).setPropertyValue( "Enabled", new Boolean( Helper.PasswordStoringIsAllowed( m_xContext ) ) ); + else + GetPropSet( "SaveBox" ).setPropertyValue( "Enabled", Boolean.FALSE ); + + } + catch ( Exception ex ) + { + ex.printStackTrace(); + } + } + private void InitStrings( XComponentContext xContext ) { try @@ -134,161 +164,210 @@ public class WikiEditSettingDialog extends WikiDialog } } - public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) + public void DoLogin( XDialog xDialog ) { - if ( MethodName.equals( sOKMethod ) ) + String sRedirectURL = ""; + String sURL = ""; + try { - String sRedirectURL = ""; - String sURL = ""; - try - { - sURL = ( String ) GetPropSet( "UrlField" ).getPropertyValue( "Text" ); - String sUserName = ( String ) GetPropSet( "UsernameField" ).getPropertyValue( "Text" ); - String sPassword = ( String ) GetPropSet( "PasswordField" ).getPropertyValue( "Text" ); + sURL = ( String ) GetPropSet( "UrlField" ).getPropertyValue( "Text" ); + String sUserName = ( String ) GetPropSet( "UsernameField" ).getPropertyValue( "Text" ); + String sPassword = ( String ) GetPropSet( "PasswordField" ).getPropertyValue( "Text" ); - HostConfiguration aHostConfig = new HostConfiguration(); - boolean bInitHost = true; + HostConfiguration aHostConfig = new HostConfiguration(); + boolean bInitHost = true; - do + do + { + if ( sRedirectURL.length() > 0 ) { - if ( sRedirectURL.length() > 0 ) - { - sURL = sRedirectURL; - sRedirectURL = ""; - } + sURL = sRedirectURL; + sRedirectURL = ""; + } + + if ( sURL.length() > 0 ) + { + URI aURI = new URI( sURL ); + GetMethod aRequest = new GetMethod( aURI.getEscapedPathQuery() ); + aRequest.setFollowRedirects( false ); + Helper.ExecuteMethod( aRequest, aHostConfig, aURI, m_xContext, bInitHost ); + bInitHost = false; + + int nResultCode = aRequest.getStatusCode(); + String sWebPage = null; + if ( nResultCode == 200 ) + sWebPage = aRequest.getResponseBodyAsString(); + else if ( nResultCode >= 301 && nResultCode <= 303 || nResultCode == 307 ) + sRedirectURL = aRequest.getResponseHeader( "Location" ).getValue(); + + aRequest.releaseConnection(); - if ( sURL.length() > 0 ) + if ( sWebPage != null && sWebPage.length() > 0 ) { - URI aURI = new URI( sURL ); - GetMethod aRequest = new GetMethod( aURI.getEscapedPathQuery() ); - aRequest.setFollowRedirects( false ); - Helper.ExecuteMethod( aRequest, aHostConfig, aURI, m_xContext, bInitHost ); - bInitHost = false; - - int nResultCode = aRequest.getStatusCode(); - String sWebPage = null; - if ( nResultCode == 200 ) - sWebPage = aRequest.getResponseBodyAsString(); - else if ( nResultCode >= 301 && nResultCode <= 303 || nResultCode == 307 ) - sRedirectURL = aRequest.getResponseHeader( "Location" ).getValue(); - - aRequest.releaseConnection(); - - if ( sWebPage != null && sWebPage.length() > 0 ) - { - //the URL is valid - String sMainURL = Helper.GetMainURL( sWebPage, sURL ); + //the URL is valid + String sMainURL = Helper.GetMainURL( sWebPage, sURL ); - if ( sMainURL.equals( "" ) ) + if ( sMainURL.equals( "" ) ) + { + // TODO: + // it's not a Wiki Page, check first whether a redirect is requested + // happens usually in case of https + sRedirectURL = Helper.GetRedirectURL( sWebPage, sURL ); + if ( sRedirectURL.equals( "" ) ) { - // TODO: - // it's not a Wiki Page, check first whether a redirect is requested - // happens usually in case of https - sRedirectURL = Helper.GetRedirectURL( sWebPage, sURL ); - if ( sRedirectURL.equals( "" ) ) - { - // show error - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_MEDIAWIKI_TITLE, - Helper.NOURLCONNECTION_ERROR, - sURL, - false ); - } + // show error + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, + Helper.NOURLCONNECTION_ERROR, + sURL, + false ); + } + } + else + { + if ( ( sUserName.length() > 0 || sPassword.length() > 0 ) + && Helper.Login( new URI( sMainURL ), sUserName, sPassword, m_xContext ) == null ) + { + // a wrong login information is provided + // show error + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, + Helper.WRONGLOGIN_ERROR, + null, + false ); } else { - if ( ( sUserName.length() > 0 || sPassword.length() > 0 ) - && Helper.Login( new URI( sMainURL ), sUserName, sPassword, m_xContext ) == null ) + setting.put( "Url",sMainURL ); + setting.put( "Username", sUserName ); + setting.put( "Password", sPassword ); + if ( addMode ) { - // a wrong login information is provided - // show error - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_MEDIAWIKI_TITLE, - Helper.WRONGLOGIN_ERROR, - null, - false ); + Settings.getSettings( m_xContext ).addWikiCon( setting ); + Settings.getSettings( m_xContext ).storeConfiguration(); } - else + + if ( Helper.PasswordStoringIsAllowed( m_xContext ) + && ( (Short)( GetPropSet( "SaveBox" ).getPropertyValue("State") ) ).shortValue() != (short)0 ) { - setting.put( "Url",sMainURL ); - setting.put( "Username", sUserName ); - setting.put( "Password", sPassword ); - if ( addMode ) + String[] pPasswords = { sPassword }; + try { - Settings.getSettings( m_xContext ).addWikiCon( setting ); - Settings.getSettings( m_xContext ).storeConfiguration(); + Helper.GetPasswordContainer( m_xContext ).addPersistent( sMainURL, sUserName, pPasswords, Helper.GetInteractionHandler( m_xContext ) ); } - - if ( Helper.PasswordStoringIsAllowed( m_xContext ) - && ( (Short)( GetPropSet( "SaveBox" ).getPropertyValue("State") ) ).shortValue() != (short)0 ) + catch( Exception e ) { - String[] pPasswords = { sPassword }; - try - { - Helper.GetPasswordContainer( m_xContext ).addPersistent( sMainURL, sUserName, pPasswords, Helper.GetInteractionHandler( m_xContext ) ); - } - catch( Exception e ) - { - e.printStackTrace(); - } + e.printStackTrace(); } - - m_bAction = true; - xDialog.endExecute(); } + + m_bAction = true; + xDialog.endExecute(); } } - else if ( sRedirectURL == null || sRedirectURL.length() == 0 ) - { - // URL invalid - // show error - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_MEDIAWIKI_TITLE, - Helper.INVALIDURL_ERROR, - null, - false ); - } } - else + else if ( sRedirectURL == null || sRedirectURL.length() == 0 ) { - // URL field empty + // URL invalid // show error Helper.ShowError( m_xContext, m_xDialog, Helper.DLG_MEDIAWIKI_TITLE, - Helper.NOURL_ERROR, + Helper.INVALIDURL_ERROR, null, false ); } - } while ( sRedirectURL.length() > 0 ); - } - catch ( SSLException essl ) + } + else + { + // URL field empty + // show error + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, + Helper.NOURL_ERROR, + null, + false ); + } + } while ( sRedirectURL.length() > 0 ); + } + catch ( SSLException essl ) + { + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, + Helper.UNKNOWNCERT_ERROR, + null, + false ); + essl.printStackTrace(); + } + catch ( Exception ex ) + { + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, + Helper.NOURLCONNECTION_ERROR, + sURL, + false ); + ex.printStackTrace(); + } + + } + + public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) + { + if ( MethodName.equals( sOKMethod ) ) + { + EnableControls( false ); + + if ( Helper.AllowThreadUsage( m_xContext ) ) { - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_MEDIAWIKI_TITLE, - Helper.UNKNOWNCERT_ERROR, - null, - false ); - essl.printStackTrace(); + final XDialog xDialogForThread = xDialog; + + // the thread name is used to allow the error dialogs + Thread aLoginThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) + { + public void run() + { + try + { + Thread.yield(); + DoLogin( xDialogForThread ); + m_bAction = true; + } catch( java.lang.Exception e ) + {} + finally + { + xDialogForThread.endExecute(); + Helper.AllowConnection( true ); + } + } + }; + + aLoginThread.start(); } - catch ( Exception ex ) + else { - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_MEDIAWIKI_TITLE, - Helper.NOURLCONNECTION_ERROR, - sURL, - false ); - ex.printStackTrace(); + try + { + DoLogin( xDialog ); + m_bAction = true; + } catch( java.lang.Exception e ) + {} + finally + { + xDialog.endExecute(); + Helper.AllowConnection( true ); + } } + return true; } else if ( MethodName.equals( sCancelMethod ) ) { + Helper.AllowConnection( false ); xDialog.endExecute(); return true; } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java index 82986ef80611..59d1f0a3299f 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiOptionsEventHandlerImpl.java,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ + * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -61,6 +61,7 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase static final String sEdit = "Edit"; static final String sRemove = "Remove"; static final String sListStatus = "ListStatus"; + static final String sListEdit = "ListEdit"; static final String sInitialize = "initialize"; static final String sOk = "ok"; static final String sBack = "back"; @@ -158,7 +159,7 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase ex.printStackTrace(); } - WikiEditSettingDialog aSettingDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", ht); + WikiEditSettingDialog aSettingDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", ht, true ); if ( aSettingDialog.show() ) RefreshView(); } @@ -279,7 +280,7 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase { AddSetting(); } - else if ( sMethod.equals( sEdit ) ) + else if ( sMethod.equals( sEdit ) || sMethod.equals( sListEdit ) ) { EditSetting(); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 9cd9d8456e6b..b515ee2bbece 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: mav $ $Date: 2008-01-29 11:01:28 $ + * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -244,25 +244,10 @@ public class WikiPropDialog extends WikiDialog{ final WikiPropDialog aThisDialog = this; final XDialog xDialogToClose = xDialog; - boolean bAllowThreadUsage = false; - try - { - XMultiComponentFactory xFactory = m_xContext.getServiceManager(); - if ( xFactory == null ) - throw new com.sun.star.uno.RuntimeException(); - - Object oCheckCallback = xFactory.createInstanceWithContext( "com.sun.star.awt.AsyncCallback", m_xContext ); - bAllowThreadUsage = ( oCheckCallback != null ); - } - catch( Exception e ) - { - e.printStackTrace(); - } - // start spinning SetThrobberActive( true ); - if ( bAllowThreadUsage ) + if ( Helper.AllowThreadUsage( m_xContext ) ) { m_aSendingThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) { -- cgit From 9414fec997e5d9aa07969f35d03e4a6369131098 Mon Sep 17 00:00:00 2001 From: René Engelhard Date: Wed, 30 Jan 2008 20:13:12 +0000 Subject: Tidy.jar was removed, remove it from build.xml, too --- swext/mediawiki/build.xml | 7 +++---- swext/mediawiki/makefile.mk | 10 ++++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 8ccfc42863cc..305b3b48bf9c 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-11-28 16:43:07 $ + * last change: $Author: rene $ $Date: 2008-01-30 21:13:12 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -75,7 +75,6 @@ - @@ -94,7 +93,7 @@ - + diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index 0f19e29b223c..d918403cba3d 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: mav $ $Date: 2007-11-28 10:45:46 $ +# last change: $Author: rene $ $Date: 2008-01-30 21:13:12 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,5 +37,11 @@ PRJ=.. PRJNAME=swext TARGET=mediawiki +.IF "$(ENABLE_MEDIAWIKI)" == "YES" .INCLUDE : ant.mk ALLTAR: ANTBUILD +.ELSE +@all: + @echo "MediaWiki Editor extension disabled." +.ENDIF + -- cgit From 45f52179f470ade2fd620eb31cf1af63e7ac98e1 Mon Sep 17 00:00:00 2001 From: René Engelhard Date: Wed, 30 Jan 2008 20:14:31 +0000 Subject: not yet... --- swext/mediawiki/makefile.mk | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index d918403cba3d..9db2c3ccb98b 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: rene $ $Date: 2008-01-30 21:13:12 $ +# last change: $Author: rene $ $Date: 2008-01-30 21:14:31 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,11 +37,5 @@ PRJ=.. PRJNAME=swext TARGET=mediawiki -.IF "$(ENABLE_MEDIAWIKI)" == "YES" .INCLUDE : ant.mk ALLTAR: ANTBUILD -.ELSE -@all: - @echo "MediaWiki Editor extension disabled." -.ENDIF - -- cgit From c09219d5ed9ff8b25b7c0cecb490d098ab42941c Mon Sep 17 00:00:00 2001 From: René Engelhard Date: Fri, 1 Feb 2008 09:21:44 +0000 Subject: #i85747# --enable-mediawiki and --with-system-apache-commons --- swext/mediawiki/build.xml | 21 +++++++++++++-------- swext/mediawiki/makefile.mk | 24 ++++++++++++++++++++++-- 2 files changed, 35 insertions(+), 10 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 305b3b48bf9c..85cfc235c6ef 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: rene $ $Date: 2008-01-30 21:13:12 $ + * last change: $Author: rene $ $Date: 2008-02-01 10:21:43 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -69,12 +69,12 @@ - + - - - - + + + + @@ -93,6 +93,7 @@ + @@ -105,7 +106,11 @@ - + + + + + diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index 9db2c3ccb98b..c2f7ebfe411d 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: rene $ $Date: 2008-01-30 21:14:31 $ +# last change: $Author: rene $ $Date: 2008-02-01 10:21:44 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -37,5 +37,25 @@ PRJ=.. PRJNAME=swext TARGET=mediawiki +.IF "$(ENABLE_MEDIAWIKI)" == "YES" .INCLUDE : ant.mk ALLTAR: ANTBUILD + +.IF "$(SYSTEM_APACHE_COMMONS)" != "YES" +COMMONS_CODEC_JAR=jars/commons-codec-1.3.jar +COMMONS_LANG_JAR=jars/commons-lang-2.3.jar +COMMONS_HTTPCLIENT_JAR=jars/commons-httpclient-3.0.1.jar +COMMONS_LOGGING_JAR=jars/commons-logging-1.1.jar +.ENDIF + +.IF "$(SYSTEM_XML_APIS)" != "YES" +XML_APIS_JAR = $(SOLARVER)$/$(INPATH)$/lib/xml-apis.jar +.ENDIF + +ANT_FLAGS+=-Dcommons-codec-jar=$(COMMONS_CODEC_JAR) -Dcommons-lang-jar=$(COMMONS_LANG_JAR) -Dcommons-httpclient-jar=$(COMMONS_HTTPCLIENT_JAR) -Dcommons-logging-jar=$(COMMONS_LOGGING_JAR) -Dxml-apis-jar=$(XML_APIS_JAR) + +.ELSE +@all: + @echo "MediaWiki Editor extension disabled." +.ENDIF + -- cgit From a294c354cd3e6fd5961d4d21f8e0575520b640b2 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 1 Feb 2008 12:25:31 +0000 Subject: the same classpath will be generated even in case of system jar-files, since the files from the package should be used --- swext/mediawiki/build.xml | 14 ++++---- .../com/sun/star/wiki/WikiEditSettingDialog.java | 40 +++++++++++----------- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 85cfc235c6ef..ce986abdcd33 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: rene $ $Date: 2008-02-01 10:21:43 $ + * last change: $Author: mav $ $Date: 2008-02-01 13:25:30 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -93,7 +93,6 @@ - @@ -106,11 +105,10 @@ - - - - - + + + + diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 11c87c42a7ba..739fe688ef83 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.12 $ + * $Revision: 1.13 $ * - * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ + * last change: $Author: mav $ $Date: 2008-02-01 13:25:31 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -53,12 +53,6 @@ public class WikiEditSettingDialog extends WikiDialog private final String sCancelMethod = "Cancel"; private final String sHelpMethod = "Help"; - private static final String m_sNoConnectionToURL1 = "A connection to the MediaWiki system at '"; - private static final String m_sNoConnectionToURL2 = "' could not be created."; - private static final String m_sWrongLogin = "User name or password is incorrect. Please try again, or leave the fields blank for an anonymous connection."; - private static final String m_sInvalidURL = "A connection could not be created, because the URL is invalid."; - private static final String m_sNoURL = "Specify a MediaWiki server by providing a URL."; - String[] Methods = {sOKMethod, sCancelMethod, sHelpMethod}; private Hashtable setting; @@ -295,22 +289,28 @@ public class WikiEditSettingDialog extends WikiDialog } catch ( SSLException essl ) { - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_MEDIAWIKI_TITLE, - Helper.UNKNOWNCERT_ERROR, - null, - false ); + if ( Helper.IsConnectionAllowed() ) + { + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, + Helper.UNKNOWNCERT_ERROR, + null, + false ); + } essl.printStackTrace(); } catch ( Exception ex ) { - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_MEDIAWIKI_TITLE, - Helper.NOURLCONNECTION_ERROR, - sURL, - false ); + if ( Helper.IsConnectionAllowed() ) + { + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, + Helper.NOURLCONNECTION_ERROR, + sURL, + false ); + } ex.printStackTrace(); } -- cgit From 6042ca024579c1e1675ec32a5f356007af1acf26 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 1 Feb 2008 12:58:15 +0000 Subject: Update the cached configuration data --- .../com/sun/star/wiki/WikiEditSettingDialog.java | 5 +- .../src/com/sun/star/wiki/WikiEditorImpl.java | 87 ++-------------------- .../sun/star/wiki/WikiOptionsEventHandlerImpl.java | 7 +- 3 files changed, 15 insertions(+), 84 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 739fe688ef83..359de8193dc5 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * - * last change: $Author: mav $ $Date: 2008-02-01 13:25:31 $ + * last change: $Author: mav $ $Date: 2008-02-01 13:58:15 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -239,6 +239,7 @@ public class WikiEditSettingDialog extends WikiDialog setting.put( "Password", sPassword ); if ( addMode ) { + // no cleaning of the settings is necessary Settings.getSettings( m_xContext ).addWikiCon( setting ); Settings.getSettings( m_xContext ).storeConfiguration(); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index 1c0d368f5d7c..c35791ea196c 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditorImpl.java,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2008-01-28 13:48:00 $ + * last change: $Author: mav $ $Date: 2008-02-01 13:58:15 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -92,7 +92,7 @@ public final class WikiEditorImpl extends WeakBase private XFrame m_xFrame; private XModel m_xModel; - private Settings m_settings; + private Settings m_aSettings; private String m_aFilterName; @@ -100,7 +100,7 @@ public final class WikiEditorImpl extends WeakBase { // Helper.trustAllSSL(); m_xContext = xContext; - m_settings = Settings.getSettings( m_xContext ); + m_aSettings = Settings.getSettings( m_xContext ); }; public static XSingleComponentFactory __getComponentFactory( String sImplementationName ) @@ -189,10 +189,6 @@ public final class WikiEditorImpl extends WeakBase try { - if ( myURL.Path.compareTo( "load" ) == 0 ) - { - loadArticle(); - } if ( myURL.Path.compareTo( "send" ) == 0 ) { sendArticle(); @@ -312,74 +308,6 @@ public final class WikiEditorImpl extends WeakBase } - - public void loadArticle() - { - try - { - WikiPropDialog aPropDialog = new WikiPropDialog( m_xContext, "vnd.sun.star.script:WikiEditor.Load?location=application", null ); - aPropDialog.fillWikiList(); - aPropDialog.fillDocList(); - if ( aPropDialog.show() ) - { - Hashtable wikiSettings = m_settings.getSettingByUrl( aPropDialog.m_sWikiEngineURL ); - - WikiArticle aArticle = new WikiArticle( m_xContext, aPropDialog.GetWikiTitle(), wikiSettings, false, null ); - - if ( aArticle.m_sHTMLCode == null ) - { - // the loading has failed - // TODO: error handling - return; - } - - aArticle.cleanHTML(); - - XInputStream xInputStream = Helper.SaveHTMLTemp( m_xContext, aArticle.m_sHTMLCode ); - if ( xInputStream == null ) - throw new com.sun.star.io.IOException(); - - Object oDesktop = m_xContext.getServiceManager().createInstanceWithContext( "com.sun.star.frame.Desktop",m_xContext ); - XComponentLoader xCL = ( XComponentLoader ) UnoRuntime.queryInterface( XComponentLoader.class, oDesktop ); - if ( xCL == null ) - throw new com.sun.star.uno.RuntimeException(); - - PropertyValue [] props = new PropertyValue[4]; - props[0] = new PropertyValue(); - props[0].Name = "FilterName"; - props[0].Value = "HTML"; - props[1] = new PropertyValue(); - props[1].Name = "DocumentTitle"; - props[1].Value = aArticle.GetTitle(); - props[2] = new PropertyValue(); - props[2].Name = "InputStream"; - props[2].Value = xInputStream; - props[3] = new PropertyValue(); - props[3].Name = "DocumentBaseURL"; - props[3].Value = aArticle.GetMainURL() + aArticle.GetTitle(); - - // the following argument seems to let office crash - // props[4] = new PropertyValue(); - // props[4].Name = "AsTemplate"; - // props[4].Value = true; - - xComp = xCL.loadComponentFromURL( "private:stream", "_blank", 0, props ); - - Hashtable htd = new Hashtable(); - - htd.put( "Doc", aArticle.GetTitle() ); - htd.put( "Url", aArticle.GetMainURL() ); - htd.put( "CompleteUrl", aArticle.GetMainURL() + aArticle.GetTitle() ); - m_settings.addWikiDoc( htd ); - m_settings.storeConfiguration(); - } - - } catch ( Exception e ) - { - e.printStackTrace(); - } - } - public void sendArticle() { if ( m_xFrame != null ) @@ -410,6 +338,7 @@ public final class WikiEditorImpl extends WeakBase throw new com.sun.star.uno.RuntimeException(); } + m_aSettings.loadConfiguration(); // throw away all the noncommited changes // show the send dialog WikiPropDialog aSendDialog = new WikiPropDialog( m_xContext, "vnd.sun.star.script:WikiEditor.SendToMediaWiki?location=application", this ); aSendDialog.fillWikiList(); @@ -435,7 +364,7 @@ public final class WikiEditorImpl extends WeakBase try { - Hashtable wikiSettings = m_settings.getSettingByUrl( aSendDialog.m_sWikiEngineURL ); + Hashtable wikiSettings = m_aSettings.getSettingByUrl( aSendDialog.m_sWikiEngineURL ); // TODO: stop progress spinning WikiArticle aArticle = new WikiArticle( m_xContext, aSendDialog.GetWikiTitle(), wikiSettings, true, aSendDialog ); @@ -484,8 +413,8 @@ public final class WikiEditorImpl extends WeakBase aDocInfo.put( "Doc", aArticle.GetTitle() ); aDocInfo.put( "Url", aArticle.GetMainURL() ); aDocInfo.put( "CompleteUrl", aArticle.GetMainURL() + aArticle.GetTitle() ); - m_settings.addWikiDoc( aDocInfo ); - m_settings.storeConfiguration(); + m_aSettings.addWikiDoc( aDocInfo ); + m_aSettings.storeConfiguration(); if ( Helper.GetShowInBrowserByDefault( m_xContext ) ) Helper.ShowURLInBrowser( m_xContext, aArticle.GetViewURL() ); diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java index 59d1f0a3299f..010aab0044e0 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiOptionsEventHandlerImpl.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ + * last change: $Author: mav $ $Date: 2008-02-01 13:58:15 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -248,10 +248,11 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase m_xControlContainer = (XControlContainer)UnoRuntime.queryInterface( XControlContainer.class, m_xDialog ); m_aSettings = Settings.getSettings( m_xContext ); + m_aSettings.loadConfiguration(); // throw away all the noncommited changes InitStrings(); } else if ( m_aSettings != null ) - m_aSettings.loadConfiguration(); // throw away all the changes + m_aSettings.loadConfiguration(); // throw away all the noncommited changes RefreshView(); CheckButtonState(); -- cgit From a65d87ff2b75a93a1529b267859701a1c2783533 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 4 Feb 2008 07:27:12 +0000 Subject: update the minimal version --- swext/mediawiki/src/description.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index 67e933d071be..0db17c6ac94e 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -3,6 +3,6 @@ - + -- cgit From f2fe8c6aad0d44c85b1c22dbdff656c8a9d3fcb0 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 4 Feb 2008 07:52:18 +0000 Subject: let the dialog closing be handled the same way as cancel --- swext/mediawiki/dialogs/EditSetting.xdl | 7 ++- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 7 ++- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 49 ++++++++++++------- .../src/com/sun/star/wiki/WikiArticle.java | 40 +++++++++------ .../src/com/sun/star/wiki/WikiDialog.java | 46 ++++++++++++++--- .../com/sun/star/wiki/WikiEditSettingDialog.java | 37 +++++++++----- .../src/com/sun/star/wiki/WikiEditorImpl.java | 12 +++-- .../sun/star/wiki/WikiOptionsEventHandlerImpl.java | 8 ++- .../src/com/sun/star/wiki/WikiPropDialog.java | 57 ++++++++++++---------- 9 files changed, 170 insertions(+), 93 deletions(-) diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl index 22833559f446..4b75c1866adc 100644 --- a/swext/mediawiki/dialogs/EditSetting.xdl +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -5,9 +5,9 @@ * * $RCSfile: EditSetting.xdl,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2008-01-21 12:57:52 $ + * last change: $Author: mav $ $Date: 2008-02-04 08:52:17 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -43,8 +43,7 @@ - - + diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 80bbbc222b61..dfb9b9e1032b 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2008-01-30 14:29:25 $ + * last change: $Author: mav $ $Date: 2008-02-04 08:52:17 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -52,8 +52,7 @@ - - + diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index a62bf189bcd5..2e0c1fb4c30f 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * - * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ + * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -58,6 +58,7 @@ import com.sun.star.io.XSeekable; import com.sun.star.io.XStream; import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.lang.XComponent; import com.sun.star.system.SystemShellExecuteFlags; import com.sun.star.system.XSystemShellExecute; import com.sun.star.task.UrlRecord; @@ -95,7 +96,7 @@ public class Helper public final static int NOURL_ERROR = 5; public final static int DLG_SENDTITLE = 6; - public final static int DLG_CANCEL = 7; + // number 7 is RESERVED public final static int DLG_NO = 8; public final static int DLG_OK = 9; public final static int DLG_YES = 10; @@ -131,7 +132,7 @@ public class Helper "InvalidURL", "NoURL", "Dlg_SendTitle", - "Dlg_Cancel", + null, // reserved "Dlg_No", "Dlg_OK", "Dlg_Yes", @@ -184,7 +185,10 @@ public class Helper String[] pStrings = new String[STRINGS_NUM]; for ( int nInd = 0; nInd < STRINGS_NUM; nInd++ ) - pStrings[nInd] = AnyConverter.toString( xNameAccess.getByName( m_pEntryNames[nInd] ) ); + if ( m_pEntryNames[nInd] != null ) + pStrings[nInd] = AnyConverter.toString( xNameAccess.getByName( m_pEntryNames[nInd] ) ); + else + pStrings[nInd] = ""; m_pConfigStrings = pStrings; } @@ -930,9 +934,10 @@ public class Helper if ( xParentPeer != null ) { + XMessageBoxFactory xMBFactory = null; + XMessageBox xMB = null; try { - XMessageBoxFactory xMBFactory = null; XMultiComponentFactory xFactory = xContext.getServiceManager(); if ( xFactory != null ) xMBFactory = (XMessageBoxFactory)UnoRuntime.queryInterface( @@ -941,7 +946,6 @@ public class Helper if ( xMBFactory != null ) { - XMessageBox xMB = null; if ( bQuery ) { xMB = xMBFactory.createMessageBox( @@ -973,18 +977,10 @@ public class Helper { e.printStackTrace(); } - } - - if ( !bShown ) - { - try - { - ErrorDialog xDialog = new ErrorDialog( xContext, "vnd.sun.star.script:WikiEditor.Error?location=application", sError ); - MainThreadDialogExecutor.Show( xContext, xDialog ); - } - catch( Exception e ) + finally { - e.printStackTrace(); + if ( xMB != null ) + Dispose( xMB ); } } } @@ -1074,5 +1070,22 @@ public class Helper return false; } + + public static void Dispose( Object oObject ) + { + if ( oObject != null ) + { + try + { + XComponent xComp = (XComponent)UnoRuntime.queryInterface( XComponent.class, oObject ); + if ( xComp != null ) + xComp.dispose(); + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java index 732682e7151c..8197cd18abc4 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiArticle.java,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ + * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -102,24 +102,32 @@ public class WikiArticle while( bLogin && !bGotLogin && !Login() ) { - // TODO: be sure that this is no main thread - WikiEditSettingDialog wd = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", wikiSettings, false ); + WikiEditSettingDialog aDialog = null; + try + { + aDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", wikiSettings, false ); - if ( aPropDialog != null ) - aPropDialog.SetThrobberActive( false ); + if ( aPropDialog != null ) + aPropDialog.SetThrobberActive( false ); - if ( MainThreadDialogExecutor.Show( xContext, wd ) ) - { - m_sWikiUser = (String) wikiSettings.get("Username"); - m_sWikiPass = (String) wikiSettings.get("Password"); - } - else - throw new WikiCancelException(); + if ( MainThreadDialogExecutor.Show( xContext, aDialog ) ) + { + m_sWikiUser = (String) wikiSettings.get("Username"); + m_sWikiPass = (String) wikiSettings.get("Password"); + } + else + throw new WikiCancelException(); - if ( aPropDialog != null ) + if ( aPropDialog != null ) + { + aPropDialog.SetThrobberActive( true ); + Thread.yield(); + } + } + finally { - aPropDialog.SetThrobberActive( true ); - Thread.yield(); + if ( aDialog != null ) + aDialog.DisposeDialog(); } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java index d424f7c0d323..6635fd813d91 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiDialog.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2008-01-21 12:57:53 $ + * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -44,10 +44,12 @@ import com.sun.star.beans.XPropertySet; import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; +import com.sun.star.awt.XTopWindow; +import com.sun.star.awt.XTopWindowListener; +import com.sun.star.lang.EventObject; -public class WikiDialog implements XDialogEventHandler +public class WikiDialog implements XDialogEventHandler, XTopWindowListener { - XComponentContext m_xContext; XControlContainer m_xControlContainer; XDialog m_xDialog; @@ -69,7 +71,10 @@ public class WikiDialog implements XDialogEventHandler XDialogProvider2 xDialogProvider = (XDialogProvider2) UnoRuntime.queryInterface( XDialogProvider2.class, obj ); m_xDialog = xDialogProvider.createDialogWithHandler( DialogURL, this ); - m_xControlContainer = (XControlContainer)UnoRuntime.queryInterface(XControlContainer.class, m_xDialog ); + m_xControlContainer = (XControlContainer)UnoRuntime.queryInterface( XControlContainer.class, m_xDialog ); + XTopWindow xTopWindow = (XTopWindow)UnoRuntime.queryInterface( XTopWindow.class, m_xDialog ); + if ( xTopWindow != null ) + xTopWindow.addTopWindowListener( this ); } catch (com.sun.star.uno.Exception ex) { @@ -77,7 +82,6 @@ public class WikiDialog implements XDialogEventHandler } } - protected void setMethods (String [] Methods) { this.m_aMethods = Methods; @@ -177,4 +181,34 @@ public class WikiDialog implements XDialogEventHandler return xResult; } + + public void DisposeDialog() + { + Helper.Dispose( m_xDialog ); + } + + public void windowOpened( EventObject e ) + {} + + public void windowClosing( EventObject e ) + {} + + public void windowClosed( EventObject e ) + {} + + public void windowMinimized( EventObject e ) + {} + + public void windowNormalized( EventObject e ) + {} + + public void windowActivated( EventObject e ) + {} + + public void windowDeactivated( EventObject e ) + {} + + public void disposing( EventObject e ) + {} } + diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 359de8193dc5..ebdad860c75f 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.14 $ + * $Revision: 1.15 $ * - * last change: $Author: mav $ $Date: 2008-02-01 13:58:15 $ + * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -40,6 +40,7 @@ import com.sun.star.awt.XWindowPeer; import com.sun.star.beans.XPropertySet; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; +import com.sun.star.lang.EventObject; import java.util.Hashtable; import javax.net.ssl.SSLException; @@ -50,14 +51,14 @@ public class WikiEditSettingDialog extends WikiDialog { private final String sOKMethod = "OK"; - private final String sCancelMethod = "Cancel"; private final String sHelpMethod = "Help"; String[] Methods = - {sOKMethod, sCancelMethod, sHelpMethod}; + {sOKMethod, sHelpMethod}; private Hashtable setting; private boolean addMode; private boolean m_bAllowURLChange = true; + private Thread m_aLoginThread; public WikiEditSettingDialog( XComponentContext xContext, String DialogURL ) { @@ -136,7 +137,6 @@ public class WikiEditSettingDialog extends WikiDialog GetPropSet( "SaveBox" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_EDITSETTING_SAVEBOX ) ); GetPropSet( "OkButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_OK ) ); GetPropSet( "HelpButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_HELP ) ); - GetPropSet( "CancelButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_CANCEL ) ); } catch( Exception e ) { @@ -328,7 +328,7 @@ public class WikiEditSettingDialog extends WikiDialog final XDialog xDialogForThread = xDialog; // the thread name is used to allow the error dialogs - Thread aLoginThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) + m_aLoginThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) { public void run() { @@ -347,7 +347,7 @@ public class WikiEditSettingDialog extends WikiDialog } }; - aLoginThread.start(); + m_aLoginThread.start(); } else { @@ -366,12 +366,6 @@ public class WikiEditSettingDialog extends WikiDialog return true; } - else if ( MethodName.equals( sCancelMethod ) ) - { - Helper.AllowConnection( false ); - xDialog.endExecute(); - return true; - } else if ( MethodName.equals( sHelpMethod ) ) { return true; @@ -380,5 +374,22 @@ public class WikiEditSettingDialog extends WikiDialog return false; } + public void windowClosed( EventObject e ) + { + if ( m_aLoginThread != null ) + { + Helper.AllowConnection( false ); + try + { + m_aLoginThread.join(); + } + catch( Exception ex ) + { + ex.printStackTrace(); + } + m_aLoginThread = null; + Helper.AllowConnection( true ); + } + } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index c35791ea196c..9b3f03a04e4f 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditorImpl.java,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: mav $ $Date: 2008-02-01 13:58:15 $ + * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -312,6 +312,7 @@ public final class WikiEditorImpl extends WeakBase { if ( m_xFrame != null ) { + WikiPropDialog aSendDialog = null; try { if ( m_xModel == null ) @@ -340,7 +341,7 @@ public final class WikiEditorImpl extends WeakBase m_aSettings.loadConfiguration(); // throw away all the noncommited changes // show the send dialog - WikiPropDialog aSendDialog = new WikiPropDialog( m_xContext, "vnd.sun.star.script:WikiEditor.SendToMediaWiki?location=application", this ); + aSendDialog = new WikiPropDialog( m_xContext, "vnd.sun.star.script:WikiEditor.SendToMediaWiki?location=application", this ); aSendDialog.fillWikiList(); aSendDialog.SetWikiTitle( Helper.GetDocTitle( m_xModel ) ); aSendDialog.show(); // triggers the sending @@ -351,6 +352,11 @@ public final class WikiEditorImpl extends WeakBase // TODO: Error handling here e.printStackTrace(); } + finally + { + if ( aSendDialog != null ) + aSendDialog.DisposeDialog(); + } } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java index 010aab0044e0..df827e62aace 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiOptionsEventHandlerImpl.java,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2008-02-01 13:58:15 $ + * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -136,6 +136,8 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase WikiEditSettingDialog aSettingDialog = new WikiEditSettingDialog( m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application" ); if ( aSettingDialog.show() ) RefreshView(); + + aSettingDialog.DisposeDialog(); } private void EditSetting() @@ -162,6 +164,8 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase WikiEditSettingDialog aSettingDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", ht, true ); if ( aSettingDialog.show() ) RefreshView(); + + aSettingDialog.DisposeDialog(); } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index b515ee2bbece..63d6367eb6d3 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: mav $ $Date: 2008-01-30 19:02:16 $ + * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -46,6 +46,7 @@ import com.sun.star.container.XNameContainer; import com.sun.star.lang.WrappedTargetException; import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.lang.EventObject; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; @@ -54,14 +55,13 @@ public class WikiPropDialog extends WikiDialog{ WikiEditorImpl m_aWikiEditor; private final String sSendMethod = "Send"; - private final String sCancelMethod = "Cancel"; private final String sHelpMethod = "Help"; private final String sLoadMethod = "Load"; private final String sWikiListMethod = "WikiListChange"; private final String sArticleTextMethod = "ArticleTextChange"; private final String sAddWikiMethod = "AddWiki"; - String[] m_pMethods = {sSendMethod, sCancelMethod, sHelpMethod, sLoadMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; + String[] m_pMethods = {sSendMethod, sHelpMethod, sLoadMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; private String m_sWikiTitle = ""; protected String m_sWikiEngineURL = ""; @@ -97,7 +97,6 @@ public class WikiPropDialog extends WikiDialog{ GetPropSet( "MinorCheck" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_MINORCHECK ) ); GetPropSet( "BrowserCheck" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_BROWSERCHECK ) ); GetPropSet( "HelpButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_HELP ) ); - GetPropSet( "CancelButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_CANCEL ) ); GetPropSet( "AddButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_ADDBUTTON ) ); GetPropSet( "SendButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDBUTTON ) ); } @@ -315,28 +314,6 @@ public class WikiPropDialog extends WikiDialog{ xDialog.endExecute(); return true; } - else if ( MethodName.equals( sCancelMethod ) ) - { - // disallow any connection till the dialog is closed - Helper.AllowConnection( false ); - - if ( m_aSendingThread == null ) - { - m_bAction = false; - xDialog.endExecute(); - } - else - { - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_SENDTITLE, - Helper.CANCELSENDING_ERROR, - null, - false ); - } - - return true; - } else if ( MethodName.equals( sHelpMethod ) ) { m_bAction = false; @@ -360,12 +337,38 @@ public class WikiPropDialog extends WikiDialog{ if ( xAddDialog.show() ) fillWikiList(); + xAddDialog.DisposeDialog(); + return true; } return false; } + public void windowClosed( EventObject e ) + { + if ( m_aSendingThread != null ) + { + Helper.AllowConnection( false ); + try { + m_aSendingThread.join(); + } catch ( Exception ex ) + { + ex.printStackTrace(); + } + + m_aSendingThread = null; + Helper.AllowConnection( true ); + + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_SENDTITLE, + Helper.CANCELSENDING_ERROR, + null, + false ); + } + } + private void InsertThrobber() { try -- cgit From ad1f290140dbf7e58c01b4e127ce044a3d6f0638 Mon Sep 17 00:00:00 2001 From: René Engelhard Date: Mon, 4 Feb 2008 08:02:15 +0000 Subject: Issue number: Submitted by: Reviewed by: #i85726# don't ship binary-only jars, build them --- .../download/commons-codec-1.3-src.tar.gz | Bin 0 -> 80427 bytes apache-commons/java/codec/makefile.mk | 81 ++++++++++++++++++++ apache-commons/java/httpclient/makefile.mk | 84 ++++++++++++++++++++ apache-commons/java/lang/makefile.mk | 81 ++++++++++++++++++++ apache-commons/java/logging/makefile.mk | 85 +++++++++++++++++++++ apache-commons/patches/codec.patch | 17 +++++ apache-commons/patches/logging.patch | 25 ++++++ apache-commons/prj/build.lst | 6 ++ apache-commons/prj/d.lst | 5 ++ swext/mediawiki/build.xml | 7 +- swext/mediawiki/makefile.mk | 12 +-- swext/prj/build.lst | 2 +- tomcat/makefile.mk | 69 +++++++++++++++++ tomcat/prj/build.lst | 2 + tomcat/prj/d.lst | 1 + tomcat/tomcat.patch | 36 +++++++++ 16 files changed, 503 insertions(+), 10 deletions(-) create mode 100644 apache-commons/download/commons-codec-1.3-src.tar.gz create mode 100644 apache-commons/java/codec/makefile.mk create mode 100644 apache-commons/java/httpclient/makefile.mk create mode 100644 apache-commons/java/lang/makefile.mk create mode 100644 apache-commons/java/logging/makefile.mk create mode 100644 apache-commons/patches/codec.patch create mode 100644 apache-commons/patches/logging.patch create mode 100644 apache-commons/prj/build.lst create mode 100644 apache-commons/prj/d.lst create mode 100755 tomcat/makefile.mk create mode 100755 tomcat/prj/build.lst create mode 100755 tomcat/prj/d.lst create mode 100644 tomcat/tomcat.patch diff --git a/apache-commons/download/commons-codec-1.3-src.tar.gz b/apache-commons/download/commons-codec-1.3-src.tar.gz new file mode 100644 index 000000000000..13e0063fbdf9 Binary files /dev/null and b/apache-commons/download/commons-codec-1.3-src.tar.gz differ diff --git a/apache-commons/java/codec/makefile.mk b/apache-commons/java/codec/makefile.mk new file mode 100644 index 000000000000..4f45192831b4 --- /dev/null +++ b/apache-commons/java/codec/makefile.mk @@ -0,0 +1,81 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: rene $ $Date: 2008-02-04 09:02:06 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=apache-commons +TARGET=commons-codec + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=commons-codec-1.3-src + +TARFILE_ROOTDIR=commons-codec-1.3 + +PATCH_FILE_NAME=patches$/codec.patch + +#CONVERTFILES=build.xml + +OUT2CLASS=dist$/commons-codec-1.3.jar + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) jar +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/apache-commons/java/httpclient/makefile.mk b/apache-commons/java/httpclient/makefile.mk new file mode 100644 index 000000000000..b8ba0ba4309d --- /dev/null +++ b/apache-commons/java/httpclient/makefile.mk @@ -0,0 +1,84 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: rene $ $Date: 2008-02-04 09:02:06 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=apache-commons +TARGET=commons-httpclient + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=commons-httpclient-3.1-src + +TARFILE_ROOTDIR=commons-httpclient-3.1 + +#PATCH_FILE_NAME=patches$/httpclient.patch + +#CONVERTFILES=build.xml + +OUT2CLASS=dist$/commons-httpclient.jar + +COMMONS_LOGGING_JAR=..$/..$/..$/..$/$(INPATH)$/class$/commons-logging-1.1.1-SNAPSHOT.jar +COMMONS_CODEC_JAR=..$/..$/..$/..$/$/$(INPATH)$/class$/commons-codec-1.3.jar + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -Dcommons-logging.jar=$(COMMONS_LOGGING_JAR) -Dcommons-codec.jar=$(COMMONS_CODEC_JAR) -f $(ANT_BUILDFILE) dist +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dcommons-logging.jar=$(COMMONS_LOGGING_JAR) -Dcommons-codec.jar=$(COMMONS_CODEC_JAR) -f $(ANT_BUILDFILE) dist +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/apache-commons/java/lang/makefile.mk b/apache-commons/java/lang/makefile.mk new file mode 100644 index 000000000000..5a6c1f89f803 --- /dev/null +++ b/apache-commons/java/lang/makefile.mk @@ -0,0 +1,81 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: rene $ $Date: 2008-02-04 09:02:06 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=apache-commons +TARGET=commons-lang + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=commons-lang-2.3-src + +TARFILE_ROOTDIR=commons-lang-2.3-src + +#PATCH_FILE_NAME=patches$/logging.patch + +#CONVERTFILES=build.xml + +OUT2CLASS=dist$/commons-lang-2.3.jar + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -f $(ANT_BUILDFILE) jar +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) jar +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/apache-commons/java/logging/makefile.mk b/apache-commons/java/logging/makefile.mk new file mode 100644 index 000000000000..f8488cf6a5a6 --- /dev/null +++ b/apache-commons/java/logging/makefile.mk @@ -0,0 +1,85 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: rene $ $Date: 2008-02-04 09:02:06 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=apache-commons +TARGET=commons-logging + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# override buildfile +ANT_BUILDFILE=build.xml + +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +# --- Files -------------------------------------------------------- + +TARFILE_NAME=commons-logging-1.1.1-src + +TARFILE_ROOTDIR=commons-logging-1.1.1-src + +PATCH_FILE_NAME=patches$/logging.patch + +#CONVERTFILES=build.xml + +OUT2CLASS=target$/commons-logging-1.1.1-SNAPSHOT.jar + +.IF "$(SYSTEM_TOMCAT)" != "YES" +SERVLETAPI_JAR := $(SOLARVER)$/$(INPATH)$/bin$/servlet-api.jar +.ENDIF + +.IF "$(JAVACISGCJ)"=="yes" +JAVA_HOME= +.EXPORT : JAVA_HOME +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -Dbuild.compiler=gcj -Dservletapi.jar=$(SERVLETAPI_JAR) -f $(ANT_BUILDFILE) compile build-jar +.ELSE +BUILD_ACTION=$(ANT) -Dbuild.label="build-$(RSCREVISION)" -f $(ANT_BUILDFILE) -Dservletapi.jar=$(SERVLETAPI_JAR) compile build-jar +.ENDIF + +.ENDIF # $(SOLAR_JAVA)!= "" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/apache-commons/patches/codec.patch b/apache-commons/patches/codec.patch new file mode 100644 index 000000000000..dea25ad263d2 --- /dev/null +++ b/apache-commons/patches/codec.patch @@ -0,0 +1,17 @@ +--- misc/build/commons-codec-1.3/build.xml-old 2008-01-31 15:28:58.000000000 +0100 ++++ misc/build/commons-codec-1.3/build.xml 2008-01-31 15:29:21.000000000 +0100 +@@ -90,14 +90,12 @@ + + + +- + + + + + + +- + + + diff --git a/apache-commons/patches/logging.patch b/apache-commons/patches/logging.patch new file mode 100644 index 000000000000..b1c4b6652fa0 --- /dev/null +++ b/apache-commons/patches/logging.patch @@ -0,0 +1,25 @@ +*** misc/build/commons-logging-1.1.1-src/build.xml-old 2008-02-01 13:16:54.000000000 +0100 +--- misc/build/commons-logging-1.1.1-src/build.xml 2008-02-01 13:17:09.000000000 +0100 +*************** +*** 127,136 **** + + + +! + + +! + + + +--- 127,136 ---- + + + +! + + +! + + + diff --git a/apache-commons/prj/build.lst b/apache-commons/prj/build.lst new file mode 100644 index 000000000000..ffa3a806d40b --- /dev/null +++ b/apache-commons/prj/build.lst @@ -0,0 +1,6 @@ +ac apache-common : solenv TOMCAT:tomcat NULL +ac apache-common usr1 - all ac_mkout NULL +ac apache-commons\java\codec nmake - all ac_codec NULL +ac apache-commons\java\lang nmake - all ac_lang NULL +ac apache-commons\java\logging nmake - all ac_logging NULL +ac apache-commons\java\httpclient nmake - all ac_httpclient ac_logging ac_codec NULL diff --git a/apache-commons/prj/d.lst b/apache-commons/prj/d.lst new file mode 100644 index 000000000000..21f6e01700ea --- /dev/null +++ b/apache-commons/prj/d.lst @@ -0,0 +1,5 @@ +..\%__SRC%\class\commons-logging-1.1.1-SNAPSHOT.jar %_DEST%\bin%_EXT%\commons-logging-1.1.1.jar +..\%__SRC%\class\commons-codec-1.3.jar %_DEST%\bin%_EXT%\commons-codec-1.3.jar +..\%__SRC%\class\commons-httpclient.jar %_DEST%\bin%_EXT%\commons-httpclient-3.1.jar +..\%__SRC%\class\commons-lang-2.3.jar %_DEST%\bin%_EXT%\commons-lang-2.3.jar + diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index ce986abdcd33..c9e65269d64f 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2008-02-01 13:25:30 $ + * last change: $Author: rene $ $Date: 2008-02-04 09:02:13 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -93,7 +93,8 @@ - + + diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index c2f7ebfe411d..ab5d5ee40e77 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.4 $ +# $Revision: 1.5 $ # -# last change: $Author: rene $ $Date: 2008-02-01 10:21:44 $ +# last change: $Author: rene $ $Date: 2008-02-04 09:02:13 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -42,10 +42,10 @@ TARGET=mediawiki ALLTAR: ANTBUILD .IF "$(SYSTEM_APACHE_COMMONS)" != "YES" -COMMONS_CODEC_JAR=jars/commons-codec-1.3.jar -COMMONS_LANG_JAR=jars/commons-lang-2.3.jar -COMMONS_HTTPCLIENT_JAR=jars/commons-httpclient-3.0.1.jar -COMMONS_LOGGING_JAR=jars/commons-logging-1.1.jar +COMMONS_CODEC_JAR=$(SOLARVER)$/$(INPATH)$/bin$/commons-codec-1.3.jar +COMMONS_LANG_JAR=$(SOLARVER)$/$(INPATH)$/bin$/commons-lang-2.3.jar +COMMONS_HTTPCLIENT_JAR=$(SOLARVER)$/$(INPATH)$/bin$/commons-httpclient-3.1.jar +COMMONS_LOGGING_JAR=$(SOLARVER)$/$(INPATH)$/bin$/commons-logging-1.1.1.jar .ENDIF .IF "$(SYSTEM_XML_APIS)" != "YES" diff --git a/swext/prj/build.lst b/swext/prj/build.lst index d7e3fe045f6a..44176a3f7224 100644 --- a/swext/prj/build.lst +++ b/swext/prj/build.lst @@ -1,4 +1,4 @@ -swext swext : xalan jut javaunohelper ridljar unoil jurt NULL +swext swext : XALAN:xalan jut javaunohelper ridljar unoil jurt APACHE_COMMONS:apache-commons NULL swext swext usr1 - all swext_mkout NULL swext swext\mediawiki nmake - all swext_wiki NULL diff --git a/tomcat/makefile.mk b/tomcat/makefile.mk new file mode 100755 index 000000000000..4ab0b35c514e --- /dev/null +++ b/tomcat/makefile.mk @@ -0,0 +1,69 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: rene $ $Date: 2008-02-04 09:02:14 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=. + +PRJNAME=tomacat +TARGET=servlet + +.IF "$(SOLAR_JAVA)" != "" +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=jakarta-tomcat-5.0.30-src + +TARFILE_ROOTDIR=jakarta-tomcat-5.0.30-src + +#CONVERTFILES=build$/build.xml + +PATCH_FILE_NAME=tomcat.patch + +BUILD_DIR=jakarta-servletapi-5 +BUILD_ACTION=$(ANT) + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.INCLUDE : tg_ext.mk + +.ELSE +@all: + @echo java disabled +.ENDIF diff --git a/tomcat/prj/build.lst b/tomcat/prj/build.lst new file mode 100755 index 000000000000..184f6dd19b3e --- /dev/null +++ b/tomcat/prj/build.lst @@ -0,0 +1,2 @@ +to tomcat : solenv NULL +to tomcat nmake - all to_mkout NULL diff --git a/tomcat/prj/d.lst b/tomcat/prj/d.lst new file mode 100755 index 000000000000..825601e3b2ad --- /dev/null +++ b/tomcat/prj/d.lst @@ -0,0 +1 @@ +..\%__SRC%\misc\build\jakarta-tomcat-5.0.30-src\jakarta-servletapi-5\jsr154\dist\lib\servlet-api.jar %_DEST%\bin%_EXT%\servlet-api.jar diff --git a/tomcat/tomcat.patch b/tomcat/tomcat.patch new file mode 100644 index 000000000000..133b67d69fba --- /dev/null +++ b/tomcat/tomcat.patch @@ -0,0 +1,36 @@ +*** /dev/null 2008-02-01 11:10:25.957002171 +0100 +--- misc/build/jakarta-tomcat-5.0.30-src/jakarta-servletapi-5/build.xml 2008-02-01 16:10:27.000000000 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ -- cgit From a652fd1337a2892928d984844e79ab26c6350b65 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 4 Feb 2008 12:47:57 +0000 Subject: INTEGRATION: CWS gcc430two (1.7.24); FILE MERGED 2008/01/28 09:53:10 rene 1.7.24.1: more gcc 4.3.0 things --- sdext/source/minimizer/pppoptimizertoken.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx index 9eddfe4b6cd3..db854b710ae0 100644 --- a/sdext/source/minimizer/pppoptimizertoken.cxx +++ b/sdext/source/minimizer/pppoptimizertoken.cxx @@ -4,9 +4,9 @@ * * $RCSfile: pppoptimizertoken.cxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ + * last change: $Author: ihi $ $Date: 2008-02-04 13:47:57 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -40,6 +40,7 @@ #include #endif #include +#include struct TCheck { -- cgit From 18f05c538971907325d02eb0946e4faab41418d8 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 5 Feb 2008 15:35:54 +0000 Subject: introduce the new dialogs --- swext/mediawiki/dialogs/EditSetting.xdl | 33 +++--- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 34 +++--- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 8 +- .../sun/star/wiki/MainThreadDialogExecutor.java | 35 +++++- .../src/com/sun/star/wiki/WikiDialog.java | 83 +++++++++++++- .../com/sun/star/wiki/WikiEditSettingDialog.java | 34 ++++-- .../sun/star/wiki/WikiOptionsEventHandlerImpl.java | 6 +- .../src/com/sun/star/wiki/WikiPropDialog.java | 124 ++++----------------- 8 files changed, 200 insertions(+), 157 deletions(-) diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl index 4b75c1866adc..21ab2a793ba0 100644 --- a/swext/mediawiki/dialogs/EditSetting.xdl +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -5,9 +5,9 @@ * * $RCSfile: EditSetting.xdl,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2008-02-04 08:52:17 $ + * last change: $Author: mav $ $Date: 2008-02-05 16:35:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -34,25 +34,24 @@ * ************************************************************************ --> - + - - - - - + + + + + - - - + + - - - - - - + + + + + + diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index dfb9b9e1032b..142a05fb65b0 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: mav $ $Date: 2008-02-04 08:52:17 $ + * last change: $Author: mav $ $Date: 2008-02-05 16:35:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -34,31 +34,31 @@ * ************************************************************************ --> - + - - - - + + + + - + - - + + - - - - - - + + + + + - + + diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 2e0c1fb4c30f..5edc638015b4 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.14 $ + * $Revision: 1.15 $ * - * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ + * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -96,7 +96,7 @@ public class Helper public final static int NOURL_ERROR = 5; public final static int DLG_SENDTITLE = 6; - // number 7 is RESERVED + public final static int DLG_WIKIARTICLE = 7; public final static int DLG_NO = 8; public final static int DLG_OK = 9; public final static int DLG_YES = 10; @@ -132,7 +132,7 @@ public class Helper "InvalidURL", "NoURL", "Dlg_SendTitle", - null, // reserved + "Dlg_WikiArticle", "Dlg_No", "Dlg_OK", "Dlg_Yes", diff --git a/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java index 5f4dbf8aaf56..4ac064b51367 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java +++ b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java @@ -4,9 +4,9 @@ * * $RCSfile: MainThreadDialogExecutor.java,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2007-12-14 09:40:43 $ + * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -51,6 +51,7 @@ public class MainThreadDialogExecutor implements XCallback private XMessageBox m_xMessageBox; private boolean m_bResult = false; private boolean m_bCalled = false; + private boolean m_bClose = false; static public boolean Show( XComponentContext xContext, WikiDialog aWikiDialog ) { @@ -70,6 +71,12 @@ public class MainThreadDialogExecutor implements XCallback return GetCallback( xContext, aExecutor ); } + static public boolean Close( XComponentContext xContext, XDialog xDialog ) + { + MainThreadDialogExecutor aExecutor = new MainThreadDialogExecutor( xDialog, true ); + return GetCallback( xContext, aExecutor ); + } + static private boolean GetCallback( XComponentContext xContext, MainThreadDialogExecutor aExecutor ) { try @@ -126,6 +133,13 @@ public class MainThreadDialogExecutor implements XCallback m_xDialog = xDialog; } + private MainThreadDialogExecutor( XDialog xDialog, boolean bClose ) + { + m_xDialog = xDialog; + m_bClose = true; + m_bCalled = true; // no yielding, asynchronous closing + } + private MainThreadDialogExecutor( XMessageBox xMessageBox ) { m_xMessageBox = xMessageBox; @@ -141,7 +155,22 @@ public class MainThreadDialogExecutor implements XCallback if ( m_aWikiDialog != null ) m_bResult = m_aWikiDialog.show(); else if ( m_xDialog != null ) - m_bResult = ( m_xDialog.execute() == 1 ); + { + if ( !m_bClose ) + m_bResult = ( m_xDialog.execute() == 1 ); + else + { + try + { + m_xDialog.endExecute(); + } + catch( Exception e ) + { + e.printStackTrace(); + } + m_bResult = true; + } + } else if ( m_xMessageBox != null ) m_bResult = ( m_xMessageBox.execute() == 1 ); diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java index 6635fd813d91..533314e6f87f 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiDialog.java,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ + * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -37,16 +37,21 @@ package com.sun.star.wiki; import com.sun.star.awt.XControl; import com.sun.star.awt.XControlContainer; +import com.sun.star.awt.XControlModel; import com.sun.star.awt.XDialog; import com.sun.star.awt.XDialogEventHandler; import com.sun.star.awt.XDialogProvider2; +import com.sun.star.awt.XThrobber; import com.sun.star.beans.XPropertySet; import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; import com.sun.star.awt.XTopWindow; import com.sun.star.awt.XTopWindowListener; +import com.sun.star.awt.XWindow; +import com.sun.star.container.XNameContainer; import com.sun.star.lang.EventObject; +import com.sun.star.lang.XMultiServiceFactory; public class WikiDialog implements XDialogEventHandler, XTopWindowListener { @@ -182,6 +187,80 @@ public class WikiDialog implements XDialogEventHandler, XTopWindowListener return xResult; } + protected void InsertThrobber( int X, int Y, int Width, int Height ) + { + try + { + XControl xDialogControl = ( XControl ) UnoRuntime.queryInterface( XControl.class, m_xDialog ); + XControlModel xDialogModel = null; + if ( xDialogControl != null ) + xDialogModel = xDialogControl.getModel(); + + XMultiServiceFactory xDialogFactory = ( XMultiServiceFactory ) UnoRuntime.queryInterface( XMultiServiceFactory.class, xDialogModel ); + if ( xDialogFactory != null ) + { + XControlModel xThrobberModel = (XControlModel)UnoRuntime.queryInterface( XControlModel.class, xDialogFactory.createInstance( "com.sun.star.awt.UnoThrobberControlModel" ) ); + XPropertySet xThrobberProps = (XPropertySet)UnoRuntime.queryInterface( XPropertySet.class, xThrobberModel ); + if ( xThrobberProps != null ) + { + xThrobberProps.setPropertyValue( "Name", "WikiThrobber" ); + xThrobberProps.setPropertyValue( "PositionX", new Integer( X ) ); + xThrobberProps.setPropertyValue( "PositionY", new Integer( Y ) ); + xThrobberProps.setPropertyValue( "Height", new Integer( Width ) ); + xThrobberProps.setPropertyValue( "Width", new Integer( Height ) ); + + XNameContainer xDialogContainer = (XNameContainer)UnoRuntime.queryInterface( XNameContainer.class, xDialogModel ); + xDialogContainer.insertByName( "WikiThrobber", xThrobberModel ); + } + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + + SetThrobberVisible( false ); + } + + public void SetThrobberActive( boolean bActive ) + { + if ( m_xControlContainer != null ) + { + try + { + XThrobber xThrobber = (XThrobber)UnoRuntime.queryInterface( XThrobber.class, m_xControlContainer.getControl( "WikiThrobber" ) ); + if ( xThrobber != null ) + { + if ( bActive ) + xThrobber.start(); + else + xThrobber.stop(); + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + } + } + + public void SetThrobberVisible( boolean bVisible ) + { + if ( m_xControlContainer != null ) + { + try + { + XWindow xWindow = (XWindow)UnoRuntime.queryInterface( XWindow.class, m_xControlContainer.getControl( "WikiThrobber" ) ); + if ( xWindow != null ) + xWindow.setVisible( bVisible ); + } + catch ( Exception e ) + { + e.printStackTrace(); + } + } + } + public void DisposeDialog() { Helper.Dispose( m_xDialog ); diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index ebdad860c75f..edb5c633b45b 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.15 $ + * $Revision: 1.16 $ * - * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ + * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -37,6 +37,7 @@ package com.sun.star.wiki; import com.sun.star.awt.XDialog; import com.sun.star.awt.XWindowPeer; +import com.sun.star.awt.XThrobber; import com.sun.star.beans.XPropertySet; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; @@ -59,6 +60,7 @@ public class WikiEditSettingDialog extends WikiDialog private boolean addMode; private boolean m_bAllowURLChange = true; private Thread m_aLoginThread; + private boolean m_bThreadFinished = false; public WikiEditSettingDialog( XComponentContext xContext, String DialogURL ) { @@ -67,6 +69,7 @@ public class WikiEditSettingDialog extends WikiDialog setting = new Hashtable(); addMode = true; + InsertThrobber( 184, 24, 10, 10 ); InitStrings( xContext ); InitSaveCheckbox( xContext ); } @@ -92,12 +95,15 @@ public class WikiEditSettingDialog extends WikiDialog addMode = false; m_bAllowURLChange = bAllowURLChange; + InsertThrobber( 184, 24, 10, 10 ); InitStrings( xContext ); InitSaveCheckbox( xContext ); } public boolean show( ) { + SetThrobberVisible( false ); + m_bThreadFinished = false; EnableControls( true ); return super.show(); } @@ -259,7 +265,6 @@ public class WikiEditSettingDialog extends WikiDialog } m_bAction = true; - xDialog.endExecute(); } } } @@ -322,10 +327,14 @@ public class WikiEditSettingDialog extends WikiDialog if ( MethodName.equals( sOKMethod ) ) { EnableControls( false ); + SetThrobberVisible( true ); + SetThrobberActive( true ); if ( Helper.AllowThreadUsage( m_xContext ) ) { final XDialog xDialogForThread = xDialog; + final XComponentContext xContext = m_xContext; + final WikiEditSettingDialog aThis = this; // the thread name is used to allow the error dialogs m_aLoginThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) @@ -336,12 +345,12 @@ public class WikiEditSettingDialog extends WikiDialog { Thread.yield(); DoLogin( xDialogForThread ); - m_bAction = true; + m_bThreadFinished = true; } catch( java.lang.Exception e ) {} finally { - xDialogForThread.endExecute(); + MainThreadDialogExecutor.Close( xContext, xDialogForThread ); Helper.AllowConnection( true ); } } @@ -354,7 +363,7 @@ public class WikiEditSettingDialog extends WikiDialog try { DoLogin( xDialog ); - m_bAction = true; + m_bThreadFinished = true; } catch( java.lang.Exception e ) {} finally @@ -376,20 +385,23 @@ public class WikiEditSettingDialog extends WikiDialog public void windowClosed( EventObject e ) { - if ( m_aLoginThread != null ) + if ( m_aLoginThread != null && !m_bThreadFinished ) { - Helper.AllowConnection( false ); try { + Helper.AllowConnection( false ); m_aLoginThread.join(); } catch( Exception ex ) { ex.printStackTrace(); } - - m_aLoginThread = null; - Helper.AllowConnection( true ); + finally + { + m_aLoginThread = null; + Helper.AllowConnection( true ); + } } } } + diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java index df827e62aace..fc69f2f80108 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiOptionsEventHandlerImpl.java,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ + * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -196,7 +196,7 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase try { GetPropSet( "AddButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_ADDBUTTON ) ); - GetPropSet( "EditButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_SENDBUTTON ) ); + GetPropSet( "EditButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_EDITBUTTON ) ); GetPropSet( "RemoveButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_REMOVEBUTTON ) ); } catch( Exception e ) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 63d6367eb6d3..358faef4ac23 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ + * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -56,12 +56,11 @@ public class WikiPropDialog extends WikiDialog{ private final String sSendMethod = "Send"; private final String sHelpMethod = "Help"; - private final String sLoadMethod = "Load"; private final String sWikiListMethod = "WikiListChange"; private final String sArticleTextMethod = "ArticleTextChange"; private final String sAddWikiMethod = "AddWiki"; - String[] m_pMethods = {sSendMethod, sHelpMethod, sLoadMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; + String[] m_pMethods = {sSendMethod, sHelpMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; private String m_sWikiTitle = ""; protected String m_sWikiEngineURL = ""; @@ -78,7 +77,7 @@ public class WikiPropDialog extends WikiDialog{ if ( aWikiEditorForThrobber != null ) { - InsertThrobber(); + InsertThrobber( 224, 122, 10, 10 ); m_aWikiEditor = aWikiEditorForThrobber; } @@ -92,6 +91,7 @@ public class WikiPropDialog extends WikiDialog{ { SetTitle( Helper.GetLocalizedString( xContext, Helper.DLG_SENDTITLE ) ); GetPropSet( "Label1" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL1 ) ); + GetPropSet( "FixedLine2" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_WIKIARTICLE ) ); GetPropSet( "Label2" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL2 ) ); GetPropSet( "Label3" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL3 ) ); GetPropSet( "MinorCheck" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_MINORCHECK ) ); @@ -238,12 +238,12 @@ public class WikiPropDialog extends WikiDialog{ ex.printStackTrace(); } - // TODO: In future the result of storing will be interesting - // TODO: do not do it in OOo2.2 final WikiPropDialog aThisDialog = this; final XDialog xDialogToClose = xDialog; + final XComponentContext xContext = m_xContext; // start spinning + SetThrobberVisible( true ); SetThrobberActive( true ); if ( Helper.AllowThreadUsage( m_xContext ) ) @@ -264,7 +264,7 @@ public class WikiPropDialog extends WikiDialog{ {} finally { - xDialogToClose.endExecute(); + MainThreadDialogExecutor.Close( xContext, xDialogToClose ); Helper.AllowConnection( true ); } } @@ -292,32 +292,8 @@ public class WikiPropDialog extends WikiDialog{ return true; } - else if ( MethodName.equals( sLoadMethod ) ) - { - try - { - short [] sel = (short[]) GetPropSet("WikiList").getPropertyValue("SelectedItems"); - String [] items = (String []) GetPropSet("WikiList").getPropertyValue("StringItemList"); - m_sWikiEngineURL = items[sel[0]]; - m_aSettings.setLastUsedWikiServer(sel[0]); - m_sWikiTitle = (String) GetPropSet("ArticleText").getPropertyValue("Text"); - } - catch (UnknownPropertyException ex) - { - ex.printStackTrace(); - } - catch (WrappedTargetException ex) - { - ex.printStackTrace(); - } - m_bAction = true; - xDialog.endExecute(); - return true; - } else if ( MethodName.equals( sHelpMethod ) ) { - m_bAction = false; - //xDialog.endExecute(); return true; } else if ( MethodName.equals( sWikiListMethod ) ) @@ -347,82 +323,30 @@ public class WikiPropDialog extends WikiDialog{ public void windowClosed( EventObject e ) { - if ( m_aSendingThread != null ) - { - Helper.AllowConnection( false ); - try { - m_aSendingThread.join(); - } catch ( Exception ex ) - { - ex.printStackTrace(); - } - - m_aSendingThread = null; - Helper.AllowConnection( true ); - - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_SENDTITLE, - Helper.CANCELSENDING_ERROR, - null, - false ); - } - } - - private void InsertThrobber() - { - try + if ( m_aSendingThread != null && !m_bAction ) { - XControl xDialogControl = ( XControl ) UnoRuntime.queryInterface( XControl.class, m_xDialog ); - XControlModel xDialogModel = null; - if ( xDialogControl != null ) - xDialogModel = xDialogControl.getModel(); - - XMultiServiceFactory xDialogFactory = ( XMultiServiceFactory ) UnoRuntime.queryInterface( XMultiServiceFactory.class, xDialogModel ); - if ( xDialogFactory != null ) + try { - XControlModel xThrobberModel = (XControlModel)UnoRuntime.queryInterface( XControlModel.class, xDialogFactory.createInstance( "com.sun.star.awt.UnoThrobberControlModel" ) ); - XPropertySet xThrobberProps = (XPropertySet)UnoRuntime.queryInterface( XPropertySet.class, xThrobberModel ); - if ( xThrobberProps != null ) - { - xThrobberProps.setPropertyValue( "Name", "WikiThrobber" ); - xThrobberProps.setPropertyValue( "PositionX", new Integer( 242 ) ); - xThrobberProps.setPropertyValue( "PositionY", new Integer( 42 ) ); - xThrobberProps.setPropertyValue( "Height", new Integer( 16 ) ); - xThrobberProps.setPropertyValue( "Width", new Integer( 16 ) ); - - XNameContainer xDialogContainer = (XNameContainer)UnoRuntime.queryInterface( XNameContainer.class, xDialogModel ); - xDialogContainer.insertByName( "WikiThrobber", xThrobberModel ); - } + Helper.AllowConnection( false ); + m_aSendingThread.join(); } - } - catch( Exception e ) - { - e.printStackTrace(); - } - } - - public void SetThrobberActive( boolean bActive ) - { - if ( m_xControlContainer != null ) - { - try + catch ( Exception ex ) { - XThrobber xThrobber = (XThrobber)UnoRuntime.queryInterface( XThrobber.class, m_xControlContainer.getControl( "WikiThrobber" ) ); - if ( xThrobber != null ) - { - if ( bActive ) - xThrobber.start(); - else - xThrobber.stop(); - } + ex.printStackTrace(); } - catch( Exception e ) + finally { - e.printStackTrace(); + m_aSendingThread = null; + Helper.AllowConnection( true ); + + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_SENDTITLE, + Helper.CANCELSENDING_ERROR, + null, + false ); } } } - } -- cgit From e13029b3e6569a852d7a37df1283f74e04310384 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 5 Feb 2008 16:22:59 +0000 Subject: set the focus to cancel before disabling of controls --- .../mediawiki/src/com/sun/star/wiki/WikiDialog.java | 21 +++++++++++++++++++-- .../com/sun/star/wiki/WikiEditSettingDialog.java | 15 +++++++++++---- .../src/com/sun/star/wiki/WikiPropDialog.java | 6 ++++-- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java index 533314e6f87f..93b49faa66cf 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiDialog.java,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ + * last change: $Author: mav $ $Date: 2008-02-05 17:22:59 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -261,6 +261,23 @@ public class WikiDialog implements XDialogEventHandler, XTopWindowListener } } + public void SetFocusTo( String aControl ) + { + if ( m_xControlContainer != null ) + { + try + { + XWindow xWindow = (XWindow)UnoRuntime.queryInterface( XWindow.class, m_xControlContainer.getControl( aControl ) ); + if ( xWindow != null ) + xWindow.setFocus(); + } + catch ( Exception e ) + { + e.printStackTrace(); + } + } + } + public void DisposeDialog() { Helper.Dispose( m_xDialog ); diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index edb5c633b45b..5e77ec70f349 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * - * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ + * last change: $Author: mav $ $Date: 2008-02-05 17:22:59 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -110,19 +110,26 @@ public class WikiEditSettingDialog extends WikiDialog private void EnableControls( boolean bEnable ) { + if ( !bEnable ) + SetFocusTo( "CancelButton" ); + try { - GetPropSet( "UrlField" ).setPropertyValue( "Enabled", new Boolean( m_bAllowURLChange ) ); GetPropSet( "UsernameField" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); GetPropSet( "PasswordField" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); GetPropSet( "OkButton" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); GetPropSet( "HelpButton" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); if ( bEnable ) + { + GetPropSet( "UrlField" ).setPropertyValue( "Enabled", new Boolean( m_bAllowURLChange ) ); GetPropSet( "SaveBox" ).setPropertyValue( "Enabled", new Boolean( Helper.PasswordStoringIsAllowed( m_xContext ) ) ); + } else + { + GetPropSet( "UrlField" ).setPropertyValue( "Enabled", Boolean.FALSE ); GetPropSet( "SaveBox" ).setPropertyValue( "Enabled", Boolean.FALSE ); - + } } catch ( Exception ex ) { diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 358faef4ac23..05a8b96fec19 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ + * last change: $Author: mav $ $Date: 2008-02-05 17:22:59 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -229,6 +229,8 @@ public class WikiPropDialog extends WikiDialog{ short nBrowserState = ((Short) aBrowserCheckProps.getPropertyValue("State")).shortValue(); Helper.SetShowInBrowserByDefault( m_xContext, nBrowserState != 0 ); + // allow to disable other buttons + SetFocusTo( "CancelButton" ); XPropertySet[] aToDisable = { aWikiListProps, aArticleTextProps, aCommentTextProps, aMinorCheckProps, aBrowserCheckProps, aHelpButtonProps, aSendButtonProps, aAddButtonProps }; for ( int nInd = 0; nInd < aToDisable.length; nInd++ ) aToDisable[nInd].setPropertyValue( "Enabled", Boolean.FALSE ); -- cgit From 1834cd20a769227dfcb2036d47304f174db99382 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 5 Feb 2008 17:23:34 +0000 Subject: fix possible deadlocks --- .../src/com/sun/star/wiki/WikiDialog.java | 33 +++++++++++++- .../com/sun/star/wiki/WikiEditSettingDialog.java | 36 ++++----------- .../src/com/sun/star/wiki/WikiPropDialog.java | 52 +++++++++------------- 3 files changed, 62 insertions(+), 59 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java index 93b49faa66cf..953939cfb63e 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiDialog.java,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2008-02-05 17:22:59 $ + * last change: $Author: mav $ $Date: 2008-02-05 18:23:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -62,6 +62,9 @@ public class WikiDialog implements XDialogEventHandler, XTopWindowListener boolean m_bAction = false; Settings m_aSettings; + protected Thread m_aThread; + protected boolean m_bThreadFinished = false; + /** Creates a new instance of WikiDialog */ public WikiDialog(XComponentContext c, String DialogURL) @@ -87,6 +90,30 @@ public class WikiDialog implements XDialogEventHandler, XTopWindowListener } } + public synchronized void ThreadStop( boolean bSelf ) + { + if ( !bSelf ) + { + if ( m_aThread != null && !m_bThreadFinished ) + { + try + { + Helper.AllowConnection( false ); + } + catch( Exception ex ) + { + ex.printStackTrace(); + } + finally + { + } + } + } + + m_aThread = null; + m_bThreadFinished = true; + } + protected void setMethods (String [] Methods) { this.m_aMethods = Methods; @@ -95,6 +122,8 @@ public class WikiDialog implements XDialogEventHandler, XTopWindowListener public boolean show( ) { + m_bThreadFinished = false; + if( m_xDialog != null ) m_xDialog.execute(); return m_bAction; } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 5e77ec70f349..b936021b4832 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.17 $ + * $Revision: 1.18 $ * - * last change: $Author: mav $ $Date: 2008-02-05 17:22:59 $ + * last change: $Author: mav $ $Date: 2008-02-05 18:23:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -59,8 +59,6 @@ public class WikiEditSettingDialog extends WikiDialog private Hashtable setting; private boolean addMode; private boolean m_bAllowURLChange = true; - private Thread m_aLoginThread; - private boolean m_bThreadFinished = false; public WikiEditSettingDialog( XComponentContext xContext, String DialogURL ) { @@ -103,7 +101,6 @@ public class WikiEditSettingDialog extends WikiDialog public boolean show( ) { SetThrobberVisible( false ); - m_bThreadFinished = false; EnableControls( true ); return super.show(); } @@ -300,6 +297,9 @@ public class WikiEditSettingDialog extends WikiDialog } } while ( sRedirectURL.length() > 0 ); } + catch ( WikiCancelException ce ) + { + } catch ( SSLException essl ) { if ( Helper.IsConnectionAllowed() ) @@ -326,7 +326,6 @@ public class WikiEditSettingDialog extends WikiDialog } ex.printStackTrace(); } - } public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) @@ -344,7 +343,7 @@ public class WikiEditSettingDialog extends WikiDialog final WikiEditSettingDialog aThis = this; // the thread name is used to allow the error dialogs - m_aLoginThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) + m_aThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) { public void run() { @@ -352,25 +351,24 @@ public class WikiEditSettingDialog extends WikiDialog { Thread.yield(); DoLogin( xDialogForThread ); - m_bThreadFinished = true; } catch( java.lang.Exception e ) {} finally { + ThreadStop( true ); MainThreadDialogExecutor.Close( xContext, xDialogForThread ); Helper.AllowConnection( true ); } } }; - m_aLoginThread.start(); + m_aThread.start(); } else { try { DoLogin( xDialog ); - m_bThreadFinished = true; } catch( java.lang.Exception e ) {} finally @@ -392,23 +390,7 @@ public class WikiEditSettingDialog extends WikiDialog public void windowClosed( EventObject e ) { - if ( m_aLoginThread != null && !m_bThreadFinished ) - { - try - { - Helper.AllowConnection( false ); - m_aLoginThread.join(); - } - catch( Exception ex ) - { - ex.printStackTrace(); - } - finally - { - m_aLoginThread = null; - Helper.AllowConnection( true ); - } - } + ThreadStop( false ); } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 05a8b96fec19..f9b0210c3840 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.12 $ + * $Revision: 1.13 $ * - * last change: $Author: mav $ $Date: 2008-02-05 17:22:59 $ + * last change: $Author: mav $ $Date: 2008-02-05 18:23:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -67,8 +67,6 @@ public class WikiPropDialog extends WikiDialog{ protected String m_sWikiComment = ""; protected boolean m_bWikiMinorEdit = false; - private Thread m_aSendingThread; - /** Creates a new instance of WikiPropDialog */ public WikiPropDialog(XComponentContext xContext, String DialogURL, WikiEditorImpl aWikiEditorForThrobber ) { @@ -118,6 +116,21 @@ public class WikiPropDialog extends WikiDialog{ } } + public synchronized void ThreadStop( boolean bSelf ) + { + boolean bShowError = ( !bSelf && m_aThread != null && !m_bThreadFinished ); + + super.ThreadStop( bSelf ); + + if ( bShowError ) + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_SENDTITLE, + Helper.CANCELSENDING_ERROR, + null, + false ); + } + public void fillWikiList() { String [] WikiList = m_aSettings.getWikiURLs(); @@ -250,7 +263,7 @@ public class WikiPropDialog extends WikiDialog{ if ( Helper.AllowThreadUsage( m_xContext ) ) { - m_aSendingThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) + m_aThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) { public void run() { @@ -266,13 +279,15 @@ public class WikiPropDialog extends WikiDialog{ {} finally { + ThreadStop( true ); MainThreadDialogExecutor.Close( xContext, xDialogToClose ); + // should be marked as finished after dialog closing if an exception was thrown Helper.AllowConnection( true ); } } }; - m_aSendingThread.start(); + m_aThread.start(); } else { @@ -325,30 +340,7 @@ public class WikiPropDialog extends WikiDialog{ public void windowClosed( EventObject e ) { - if ( m_aSendingThread != null && !m_bAction ) - { - try - { - Helper.AllowConnection( false ); - m_aSendingThread.join(); - } - catch ( Exception ex ) - { - ex.printStackTrace(); - } - finally - { - m_aSendingThread = null; - Helper.AllowConnection( true ); - - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_SENDTITLE, - Helper.CANCELSENDING_ERROR, - null, - false ); - } - } + ThreadStop( false ); } } -- cgit From 729cad1b28b312b8744e9723719c9b5109224258 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 6 Feb 2008 10:18:46 +0000 Subject: remove unused dialog --- swext/mediawiki/dialogs/dialog.xlb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/swext/mediawiki/dialogs/dialog.xlb b/swext/mediawiki/dialogs/dialog.xlb index 6bc916691015..614679c3eeb7 100644 --- a/swext/mediawiki/dialogs/dialog.xlb +++ b/swext/mediawiki/dialogs/dialog.xlb @@ -5,9 +5,9 @@ * * $RCSfile: dialog.xlb,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2008-01-29 11:07:55 $ + * last change: $Author: mav $ $Date: 2008-02-06 11:18:46 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -38,5 +38,4 @@ - -- cgit From 5809c95793202755f00e9cd559aefa7f1140c283 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 6 Feb 2008 10:49:30 +0000 Subject: fix requested version --- swext/mediawiki/src/description.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index 0db17c6ac94e..a50cca8331d8 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -3,6 +3,6 @@ - + -- cgit From 591b2a221ef303798360786e57688814f490ace9 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 7 Feb 2008 08:17:30 +0000 Subject: adopt to the new notification behavior --- .../sun/star/wiki/WikiOptionsEventHandlerImpl.java | 42 +++++++++++----------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java index fc69f2f80108..53bec0ee0a0a 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiOptionsEventHandlerImpl.java,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ + * last change: $Author: mav $ $Date: 2008-02-07 09:17:30 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -272,6 +272,23 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase throw new WrappedTargetException( sMethod, this, e ); } } + else if ( sMethod.equals( sAdd ) ) + { + AddSetting(); + } + else if ( sMethod.equals( sEdit ) || sMethod.equals( sListEdit ) ) + { + EditSetting(); + } + else if ( sMethod.equals( sRemove ) ) + { + RemoveSetting(); + CheckButtonState(); + } + else if ( sMethod.equals( sListStatus ) ) + { + CheckButtonState(); + } return true; } @@ -279,26 +296,7 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase public boolean callHandlerMethod( XDialog xDialog, Object aEventObject, String sMethod ) throws WrappedTargetException, com.sun.star.uno.RuntimeException { - if ( m_xDialog != null && xDialog == m_xDialog ) - { - if ( sMethod.equals( sAdd ) ) - { - AddSetting(); - } - else if ( sMethod.equals( sEdit ) || sMethod.equals( sListEdit ) ) - { - EditSetting(); - } - else if ( sMethod.equals( sRemove ) ) - { - RemoveSetting(); - CheckButtonState(); - } - else if ( sMethod.equals( sListStatus ) ) - { - CheckButtonState(); - } - } + return true; } -- cgit From 96463b0c49d7d5f737976faa30764f56e89acccb Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 7 Feb 2008 10:17:01 +0000 Subject: add help IDs --- swext/mediawiki/dialogs/EditSetting.xdl | 18 +++++++++--------- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 16 ++++++++-------- swext/mediawiki/dialogs/Settings.xdl | 12 ++++++------ 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl index 21ab2a793ba0..619e112cd175 100644 --- a/swext/mediawiki/dialogs/EditSetting.xdl +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -5,9 +5,9 @@ * * $RCSfile: EditSetting.xdl,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2008-02-05 16:35:53 $ + * last change: $Author: mav $ $Date: 2008-02-07 11:17:01 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -37,19 +37,19 @@ - - - - + + + + - - + + - + diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 142a05fb65b0..413030ebf83b 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: mav $ $Date: 2008-02-05 16:35:53 $ + * last change: $Author: mav $ $Date: 2008-02-07 11:17:01 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -39,21 +39,21 @@ - + - + - + - - + + - + diff --git a/swext/mediawiki/dialogs/Settings.xdl b/swext/mediawiki/dialogs/Settings.xdl index b986abc017c5..9fc9b2fb3146 100644 --- a/swext/mediawiki/dialogs/Settings.xdl +++ b/swext/mediawiki/dialogs/Settings.xdl @@ -5,9 +5,9 @@ * * $RCSfile: Settings.xdl,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2008-01-30 19:02:05 $ + * last change: $Author: mav $ $Date: 2008-02-07 11:17:01 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -36,16 +36,16 @@ - + - + - + - + -- cgit From 24676eea47056c29524b98a26a7ce2f611ec89ff Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 7 Feb 2008 11:21:32 +0000 Subject: add the display name --- swext/mediawiki/src/description.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index a50cca8331d8..525d37ad5d9e 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -2,6 +2,9 @@ + + MediaWiki Extension + -- cgit From d23306e12ad4a32271b14a166caef9ba4727d964 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 7 Feb 2008 11:49:37 +0000 Subject: adjust the UI --- swext/mediawiki/dialogs/EditSetting.xdl | 30 +++++++++++----------- swext/mediawiki/dialogs/Settings.xdl | 13 +++++----- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 10 +++++--- .../com/sun/star/wiki/WikiEditSettingDialog.java | 8 +++--- .../sun/star/wiki/WikiOptionsEventHandlerImpl.java | 6 +++-- 5 files changed, 36 insertions(+), 31 deletions(-) diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl index 619e112cd175..f6fa6254afc6 100644 --- a/swext/mediawiki/dialogs/EditSetting.xdl +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -5,9 +5,9 @@ * * $RCSfile: EditSetting.xdl,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: mav $ $Date: 2008-02-07 11:17:01 $ + * last change: $Author: mav $ $Date: 2008-02-07 12:49:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -34,24 +34,24 @@ * ************************************************************************ --> - + - - - - - + + + + + - - + + - - - - - + + + + + diff --git a/swext/mediawiki/dialogs/Settings.xdl b/swext/mediawiki/dialogs/Settings.xdl index 9fc9b2fb3146..264879494e5f 100644 --- a/swext/mediawiki/dialogs/Settings.xdl +++ b/swext/mediawiki/dialogs/Settings.xdl @@ -5,9 +5,9 @@ * * $RCSfile: Settings.xdl,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2008-02-07 11:17:01 $ + * last change: $Author: mav $ $Date: 2008-02-07 12:49:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -36,18 +36,19 @@ - + - + - + - + + diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 5edc638015b4..79200685fed2 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.15 $ + * $Revision: 1.16 $ * - * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ + * last change: $Author: mav $ $Date: 2008-02-07 12:49:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -122,8 +122,9 @@ public class Helper public final static int DLG_EDITSETTING_SAVEBOX = 29; public final static int CANCELSENDING_ERROR = 30; + public final static int DLG_MEDIAWIKIEXTENSION_STRING = 31; - public final static int STRINGS_NUM = 31; + public final static int STRINGS_NUM = 32; private final static String[] m_pEntryNames = { "GeneralSendError", "NoWikiFilter", @@ -155,7 +156,8 @@ public class Helper "Dlg_EditSetting_AccountLine", "Dlg_EditSetting_WikiLine", "Dlg_EditSetting_SaveBox", - "CancelSending" }; + "CancelSending", + "Dlg_MediaWiki_Extension_String" }; private static String[] m_pConfigStrings; diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index b936021b4832..706029c9dd68 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.18 $ + * $Revision: 1.19 $ * - * last change: $Author: mav $ $Date: 2008-02-05 18:23:34 $ + * last change: $Author: mav $ $Date: 2008-02-07 12:49:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -67,7 +67,7 @@ public class WikiEditSettingDialog extends WikiDialog setting = new Hashtable(); addMode = true; - InsertThrobber( 184, 24, 10, 10 ); + InsertThrobber( 184, 20, 10, 10 ); InitStrings( xContext ); InitSaveCheckbox( xContext ); } @@ -93,7 +93,7 @@ public class WikiEditSettingDialog extends WikiDialog addMode = false; m_bAllowURLChange = bAllowURLChange; - InsertThrobber( 184, 24, 10, 10 ); + InsertThrobber( 184, 20, 10, 10 ); InitStrings( xContext ); InitSaveCheckbox( xContext ); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java index 53bec0ee0a0a..764fbb97294d 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiOptionsEventHandlerImpl.java,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: mav $ $Date: 2008-02-07 09:17:30 $ + * last change: $Author: mav $ $Date: 2008-02-07 12:49:37 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -195,6 +195,8 @@ public final class WikiOptionsEventHandlerImpl extends WeakBase { try { + + GetPropSet( "FixedLine1" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_MEDIAWIKIEXTENSION_STRING ) ); GetPropSet( "AddButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_ADDBUTTON ) ); GetPropSet( "EditButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_EDITBUTTON ) ); GetPropSet( "RemoveButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( m_xContext, Helper.DLG_REMOVEBUTTON ) ); -- cgit From 4cc055670445fc66fbf9a074c4efe3c4352b791b Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 7 Feb 2008 14:55:11 +0000 Subject: adjust the help ID --- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 413030ebf83b..d8245fa01d71 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: mav $ $Date: 2008-02-07 11:17:01 $ + * last change: $Author: mav $ $Date: 2008-02-07 15:55:11 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -46,7 +46,7 @@ - + -- cgit From d4b949ae89d440808e48bf13b4a2fd2870ba0d90 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 7 Feb 2008 15:30:39 +0000 Subject: handle the message box return values correctly --- .../src/com/sun/star/wiki/MainThreadDialogExecutor.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java index 4ac064b51367..43b4abbdb1c9 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java +++ b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java @@ -4,9 +4,9 @@ * * $RCSfile: MainThreadDialogExecutor.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2008-02-05 16:35:54 $ + * last change: $Author: mav $ $Date: 2008-02-07 16:30:39 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -172,7 +172,11 @@ public class MainThreadDialogExecutor implements XCallback } } else if ( m_xMessageBox != null ) - m_bResult = ( m_xMessageBox.execute() == 1 ); + { + int nRes = m_xMessageBox.execute(); + m_bResult = ( nRes == com.sun.star.awt.MessageBoxCommand.OK + || nRes == com.sun.star.awt.MessageBoxCommand.YES ); + } m_bCalled = true; } -- cgit From 9553a92031fa843107f8d424754996b747fef96f Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 8 Feb 2008 13:32:32 +0000 Subject: move the extension configuration to let it be correctly built --- .../org/openoffice/Office/Custom/WikiExtension.xcs | 205 +++++++++++++++++++++ .../org/openoffice/Office/Custom/makefile.mk | 17 ++ 2 files changed, 222 insertions(+) create mode 100644 swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs create mode 100644 swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk diff --git a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs new file mode 100644 index 000000000000..23d5c6732728 --- /dev/null +++ b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs @@ -0,0 +1,205 @@ + + + + + Configuration parameters for the accounts. + + + + + An argument for a request. + + The value of the argument. + + + + + The smart configuration for the MediaWikiServer. + + The value of the argument. + + + The additional arguments that can be used on login. The name of an entry is the argument name. + + + + + The name of the entry is a connection URL of a wiki server. + + The UnusedString is necessary, since the current configuration accepts only structs in sets + + + + + Wiki Document + + Main URL for this Wiki + + + The Document name + + + Identifier + + + + + + + The set of smart configurations for MediaWiki Servers. + + + The list of the MediaWiki servers. + + + The recenly stored documents. + + + The addon related settings. + + Specifies whether "Show in webbrowser" checkbox should be preselected. + + + + + Contains the strings that should be localized + + + The general error shown in case the document could not be sent to the wiki server. + + + The error is shown in case wiki filter is not evailable. + + + The error is shown in case no wiki system was found on specified URL. + + + The error is shown in case user name or password is incorrect. + + + The error is shown in case the provided URL has invalid syntax. + + + The error is shown in case no wiki server was specified. + + + The error is shown in case transfer was interrupted by user. The user is notified that the integrity of the wiki article should be checked. + + + The title of the send dialog. + + + The dialog string used to border the wiki article related information. + + + "No" button in dialog. + + + "Ok" button in dialog. + + + "Yes" button in dialog. + + + "Help" button in dialog. + + + "Add..." button text. + + + "Edit..." button text. + + + "Send" button text. + + + "Remove" button text. + + + "URL" label. + + + "Username" label. + + + "Password" label. + + + The text asking whether a new wiki page should be created. + + + The label reffering to the MediaWiki server selection. + + + The label reffering to the input of wiki article title. + + + The label reffering to the comments input. + + + Text for checkbox specifying whether it is a minor input. + + + Text for checkbox specifying whether the article should be shown in browser after editing. + + + The error is shown in case a wiki site is accessed using https and has an unknown certificate. + + + "MediaWiki" string that is used as title in some dialogs. + + + The text bordering the account information in the dialog. + + + The text bordering wiki server information in the dialog. + + + The checkbox specifying whether the password should be stored using the password container. + + + The string containing the name of the extension. + + + + + diff --git a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk new file mode 100644 index 000000000000..b54f6c5d51e2 --- /dev/null +++ b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk @@ -0,0 +1,17 @@ +PRJ=..$/..$/..$/..$/..$/..$/..$/.. +PRJNAME=swext +CUSTID=mediawiki +TARGET=mediawiki_registry_schema_custom +PACKAGE=org.openoffice.Office.Custom + +.INCLUDE : settings.mk +.INCLUDE : ${PRJ}$/makefile.pmk + +LOCALIZEDFILES= + +MODULEFILES= + +XCSFILES = WikiExtension.xcs + +.INCLUDE : target.mk + -- cgit From 2a64ec13a6a4f9c55245212661b1892906a05ef3 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 8 Feb 2008 13:57:54 +0000 Subject: create the configuration hierarchy to let it be built correctly --- .../registry/data/org/openoffice/Office/Addons.xcu | 75 ++++++++++++++++++++++ .../data/org/openoffice/Office/OptionsDialog.xcu | 58 +++++++++++++++++ .../data/org/openoffice/Office/ProtocolHandler.xcu | 44 +++++++++++++ .../data/org/openoffice/Office/makefile.mk | 17 +++++ 4 files changed, 194 insertions(+) create mode 100644 swext/mediawiki/src/registry/data/org/openoffice/Office/Addons.xcu create mode 100644 swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu create mode 100644 swext/mediawiki/src/registry/data/org/openoffice/Office/ProtocolHandler.xcu create mode 100644 swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Addons.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/Addons.xcu new file mode 100644 index 000000000000..f8ab0fe3e29c --- /dev/null +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Addons.xcu @@ -0,0 +1,75 @@ + + + + + + + + + .uno:PickList\.uno:SendToMenu\.uno:SendMailDocAsPDF + + + AddAfter + + + AddLast + + + com.sun.star.text.TextDocument,com.sun.star.text.WebDocument + + + + + private:separator + + + + + To Media~Wiki... + + + vnd.com.sun.star.wiki:send + + + _self + + + + + + + + diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu new file mode 100644 index 000000000000..941d75a213cf --- /dev/null +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu @@ -0,0 +1,58 @@ + + + + + + + + + com.sun.sun-mediawiki + + + MediaWiki + + + %origin%/WikiEditor/Settings.xdl + + + com.sun.star.wiki.WikiOptionsEventHandlerImpl + + + + + + + diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/ProtocolHandler.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/ProtocolHandler.xcu new file mode 100644 index 000000000000..1e85627525f6 --- /dev/null +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/ProtocolHandler.xcu @@ -0,0 +1,44 @@ + + + + + + + vnd.com.sun.star.wiki:* + + + + diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk b/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk new file mode 100644 index 000000000000..c0e4a8f65a25 --- /dev/null +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk @@ -0,0 +1,17 @@ +PRJ=..$/..$/..$/..$/..$/..$/.. +PRJNAME=swext +CUSTID=mediawiki +TARGET=mediawiki_registry_data_office +PACKAGE=org.openoffice.Office + +.INCLUDE : settings.mk +.INCLUDE : ${PRJ}$/makefile.pmk + +LOCALIZEDFILES= Addons.xcu OptionsDialog.xcu + +MODULEFILES= + +XCUFILES = Addons.xcu OptionsDialog.xcu ProtocolHandler.xcu + +.INCLUDE : target.mk + -- cgit From 3f589cc777a0614ecb7e71db09109f0b64728691 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Fri, 8 Feb 2008 14:14:50 +0000 Subject: move the extension configuration to let it be correctly built --- .../org/openoffice/Office/Custom/WikiExtension.xcu | 162 +++++++++++++++++++++ .../data/org/openoffice/Office/Custom/makefile.mk | 19 +++ 2 files changed, 181 insertions(+) create mode 100644 swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu create mode 100644 swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu new file mode 100644 index 000000000000..c2d9696396a7 --- /dev/null +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu @@ -0,0 +1,162 @@ + + + + + + + true + + + + + sun + + + + + + + + + + + + + + + true + + + + + The operation 'Send to MediaWiki' could not be completed successfully. + + + The MediaWiki export filter cannot be found. Choose 'Tools-XML Filter Settings' to install the filter, or use the setup to install the component. + + + A connection to the MediaWiki system at '$ARG1' could not be created. + + + User name or password is incorrect. Please try again, or leave the fields blank for an anonymous connection. + + + A connection could not be created, because the URL is invalid. + + + Specify a MediaWiki server by providing a URL. + + + The transfer has been interrupted. Please check the integrity of the wiki article. + + + U~RL + + + ~Username + + + ~Password + + + Send to MediaWiki + + + Wiki article + + + No + + + OK + + + Yes + + + ~Help + + + ~Add... + + + ~Edit... + + + ~Send + + + ~Remove + + + A wiki article with the title '$ARG1' does not exist yet. Do you want to create a new article with that name? + + + Media~Wiki Server + + + ~Title + + + S~ummary + + + This is a ~minor edit + + + Show in web ~browser + + + The certificate of the selected site is unknown. + + + MediaWiki + + + Account + + + MediaWiki Server + + + ~Save password + + + MediaWiki Extension + + + + diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk new file mode 100644 index 000000000000..a92ad3986fba --- /dev/null +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk @@ -0,0 +1,19 @@ +PRJ=..$/..$/..$/..$/..$/..$/..$/.. +PRJNAME=swext +CUSTID=mediawiki +TARGET=mediawiki_registry_data_Custom +PACKAGE=org.openoffice.Office.Custom + +.INCLUDE : settings.mk +.INCLUDE : ${PRJ}$/makefile.pmk +ABSXCSROOT=$(PWD)$/$(MISC)$/$(CUSTID) +XCSROOT=$(MISC)$/$(CUSTID) + +LOCALIZEDFILES= WikiExtension.xcu + +MODULEFILES= + +XCUFILES = WikiExtension.xcu + +.INCLUDE : target.mk + -- cgit From db9d34c3d944e51b14ce1fb1d8806a5bb1fbe2f5 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Sun, 10 Feb 2008 08:06:13 +0000 Subject: build the extension only when the variable is set --- .../src/registry/data/org/openoffice/Office/Custom/makefile.mk | 4 +++- swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk | 2 ++ .../src/registry/schema/org/openoffice/Office/Custom/makefile.mk | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk index a92ad3986fba..b1a481508006 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk @@ -6,14 +6,16 @@ PACKAGE=org.openoffice.Office.Custom .INCLUDE : settings.mk .INCLUDE : ${PRJ}$/makefile.pmk + ABSXCSROOT=$(PWD)$/$(MISC)$/$(CUSTID) XCSROOT=$(MISC)$/$(CUSTID) +.IF "$(ENABLE_MEDIAWIKI)" == "YES" LOCALIZEDFILES= WikiExtension.xcu MODULEFILES= XCUFILES = WikiExtension.xcu +.ENDIF .INCLUDE : target.mk - diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk b/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk index c0e4a8f65a25..1c83aa22f7f4 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk @@ -7,11 +7,13 @@ PACKAGE=org.openoffice.Office .INCLUDE : settings.mk .INCLUDE : ${PRJ}$/makefile.pmk +.IF "$(ENABLE_MEDIAWIKI)" == "YES" LOCALIZEDFILES= Addons.xcu OptionsDialog.xcu MODULEFILES= XCUFILES = Addons.xcu OptionsDialog.xcu ProtocolHandler.xcu +.ENDIF .INCLUDE : target.mk diff --git a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk index b54f6c5d51e2..6a1190e7b53b 100644 --- a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk +++ b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk @@ -7,11 +7,13 @@ PACKAGE=org.openoffice.Office.Custom .INCLUDE : settings.mk .INCLUDE : ${PRJ}$/makefile.pmk +.IF "$(ENABLE_MEDIAWIKI)" == "YES" LOCALIZEDFILES= MODULEFILES= XCSFILES = WikiExtension.xcs +.ENDIF .INCLUDE : target.mk -- cgit From dd41994364df5aa3ffcc97081bb1ccf51b869763 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Sun, 10 Feb 2008 11:08:13 +0000 Subject: add help --- swext/mediawiki/src/uno-extension-manifest.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/swext/mediawiki/src/uno-extension-manifest.xml b/swext/mediawiki/src/uno-extension-manifest.xml index 0152165d13f8..5e9a5c8bb1cf 100644 --- a/swext/mediawiki/src/uno-extension-manifest.xml +++ b/swext/mediawiki/src/uno-extension-manifest.xml @@ -5,9 +5,9 @@ * * $RCSfile: uno-extension-manifest.xml,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2007-11-28 11:10:22 $ + * last change: $Author: mav $ $Date: 2008-02-10 12:08:13 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -48,4 +48,6 @@ manifest:full-path="WikiExtension.xcu"/> + -- cgit From 97112b0ee3445deb19adf87c7cf482360733bd37 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Sun, 10 Feb 2008 14:56:36 +0000 Subject: Let the dialogs stay open in case of error --- .../src/com/sun/star/wiki/WikiArticle.java | 42 ++++++------ .../src/com/sun/star/wiki/WikiDialog.java | 24 +++---- .../com/sun/star/wiki/WikiEditSettingDialog.java | 37 +++++++---- .../src/com/sun/star/wiki/WikiPropDialog.java | 75 ++++++++++++++++------ 4 files changed, 110 insertions(+), 68 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java index 8197cd18abc4..de6b8d540987 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiArticle.java,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ + * last change: $Author: mav $ $Date: 2008-02-10 15:56:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -100,34 +100,34 @@ public class WikiArticle } } - while( bLogin && !bGotLogin && !Login() ) + if ( bLogin && !bGotLogin ) { - WikiEditSettingDialog aDialog = null; + WikiEditSettingDialog aDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", wikiSettings, false ); try { - aDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", wikiSettings, false ); - - if ( aPropDialog != null ) - aPropDialog.SetThrobberActive( false ); - - if ( MainThreadDialogExecutor.Show( xContext, aDialog ) ) + while( !Login() ) { - m_sWikiUser = (String) wikiSettings.get("Username"); - m_sWikiPass = (String) wikiSettings.get("Password"); - } - else - throw new WikiCancelException(); + if ( aPropDialog != null ) + aPropDialog.SetThrobberActive( false ); - if ( aPropDialog != null ) - { - aPropDialog.SetThrobberActive( true ); - Thread.yield(); + if ( MainThreadDialogExecutor.Show( xContext, aDialog ) ) + { + m_sWikiUser = (String) wikiSettings.get("Username"); + m_sWikiPass = (String) wikiSettings.get("Password"); + } + else + throw new WikiCancelException(); + + if ( aPropDialog != null ) + { + aPropDialog.SetThrobberActive( true ); + Thread.yield(); + } } } finally { - if ( aDialog != null ) - aDialog.DisposeDialog(); + aDialog.DisposeDialog(); } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java index 953939cfb63e..3347d78b7e8a 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiDialog.java,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: mav $ $Date: 2008-02-05 18:23:34 $ + * last change: $Author: mav $ $Date: 2008-02-10 15:56:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -92,21 +92,15 @@ public class WikiDialog implements XDialogEventHandler, XTopWindowListener public synchronized void ThreadStop( boolean bSelf ) { - if ( !bSelf ) + if ( bSelf || m_aThread != null && !m_bThreadFinished ) { - if ( m_aThread != null && !m_bThreadFinished ) + try { - try - { - Helper.AllowConnection( false ); - } - catch( Exception ex ) - { - ex.printStackTrace(); - } - finally - { - } + Helper.AllowConnection( bSelf ); + } + catch( Exception ex ) + { + ex.printStackTrace(); } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 706029c9dd68..2ff56a8fb8b0 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.19 $ + * $Revision: 1.20 $ * - * last change: $Author: mav $ $Date: 2008-02-07 12:49:36 $ + * last change: $Author: mav $ $Date: 2008-02-10 15:56:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -105,7 +105,7 @@ public class WikiEditSettingDialog extends WikiDialog return super.show(); } - private void EnableControls( boolean bEnable ) + public void EnableControls( boolean bEnable ) { if ( !bEnable ) SetFocusTo( "CancelButton" ); @@ -121,6 +121,10 @@ public class WikiEditSettingDialog extends WikiDialog { GetPropSet( "UrlField" ).setPropertyValue( "Enabled", new Boolean( m_bAllowURLChange ) ); GetPropSet( "SaveBox" ).setPropertyValue( "Enabled", new Boolean( Helper.PasswordStoringIsAllowed( m_xContext ) ) ); + if ( m_bAllowURLChange ) + SetFocusTo( "UrlField" ); + else + SetFocusTo( "UsernameField" ); } else { @@ -343,6 +347,7 @@ public class WikiEditSettingDialog extends WikiDialog final WikiEditSettingDialog aThis = this; // the thread name is used to allow the error dialogs + m_bThreadFinished = false; m_aThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) { public void run() @@ -350,15 +355,17 @@ public class WikiEditSettingDialog extends WikiDialog try { Thread.yield(); - DoLogin( xDialogForThread ); - } catch( java.lang.Exception e ) - {} - finally - { - ThreadStop( true ); + } catch( java.lang.Exception e ){} + + DoLogin( xDialogForThread ); + aThis.EnableControls( true ); + aThis.SetThrobberActive( false ); + aThis.SetThrobberVisible( false ); + + ThreadStop( true ); + + if ( m_bAction ) MainThreadDialogExecutor.Close( xContext, xDialogForThread ); - Helper.AllowConnection( true ); - } } }; @@ -373,7 +380,13 @@ public class WikiEditSettingDialog extends WikiDialog {} finally { - xDialog.endExecute(); + EnableControls( true ); + SetThrobberActive( false ); + SetThrobberVisible( false ); + + if ( m_bAction ) + xDialog.endExecute(); + Helper.AllowConnection( true ); } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index f9b0210c3840..4ec11868cefc 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * - * last change: $Author: mav $ $Date: 2008-02-05 18:23:34 $ + * last change: $Author: mav $ $Date: 2008-02-10 15:56:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -116,6 +116,12 @@ public class WikiPropDialog extends WikiDialog{ } } + public boolean show() + { + EnableControls( true ); + return super.show(); + } + public synchronized void ThreadStop( boolean bSelf ) { boolean bShowError = ( !bSelf && m_aThread != null && !m_bThreadFinished ); @@ -210,6 +216,37 @@ public class WikiPropDialog extends WikiDialog{ } } + public void EnableControls( boolean bEnable ) + { + try + { + String[] pControls = { "WikiList", + "ArticleText", + "CommentText", + "MinorCheck", + "BrowserCheck", + "HelpButton", + "AddButton" }; + + for ( int nInd = 0; nInd < pControls.length; nInd++ ) + GetPropSet( pControls[nInd] ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); + + if ( bEnable ) + { + SetFocusTo( "WikiList" ); + switchSendButtonIfNecessary(); + } + else + { + GetPropSet( "SendButton" ).setPropertyValue( "Enabled", new Boolean( bEnable ) ); + SetFocusTo( "CancelButton" ); + } + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } public boolean callHandlerMethod( XDialog xDialog, Object EventObject, String MethodName ) { @@ -222,9 +259,6 @@ public class WikiPropDialog extends WikiDialog{ XPropertySet aCommentTextProps = GetPropSet( "CommentText" ); XPropertySet aMinorCheckProps = GetPropSet( "MinorCheck" ); XPropertySet aBrowserCheckProps = GetPropSet( "BrowserCheck" ); - XPropertySet aHelpButtonProps = GetPropSet( "HelpButton" ); - XPropertySet aSendButtonProps = GetPropSet( "SendButton" ); - XPropertySet aAddButtonProps = GetPropSet( "AddButton" ); short [] sel = (short[]) aWikiListProps.getPropertyValue("SelectedItems"); String [] items = (String []) aWikiListProps.getPropertyValue("StringItemList"); @@ -243,10 +277,7 @@ public class WikiPropDialog extends WikiDialog{ Helper.SetShowInBrowserByDefault( m_xContext, nBrowserState != 0 ); // allow to disable other buttons - SetFocusTo( "CancelButton" ); - XPropertySet[] aToDisable = { aWikiListProps, aArticleTextProps, aCommentTextProps, aMinorCheckProps, aBrowserCheckProps, aHelpButtonProps, aSendButtonProps, aAddButtonProps }; - for ( int nInd = 0; nInd < aToDisable.length; nInd++ ) - aToDisable[nInd].setPropertyValue( "Enabled", Boolean.FALSE ); + EnableControls( false ); } catch (Exception ex) { @@ -272,17 +303,18 @@ public class WikiPropDialog extends WikiDialog{ if ( m_aWikiEditor != null ) { Thread.yield(); - m_aWikiEditor.SendArticleImpl( aThisDialog ); - m_bAction = true; + m_bAction = m_aWikiEditor.SendArticleImpl( aThisDialog ); } - } catch( java.lang.Exception e ) - {} + } finally { + EnableControls( true ); + SetThrobberActive( false ); + SetThrobberVisible( false ); + ThreadStop( true ); - MainThreadDialogExecutor.Close( xContext, xDialogToClose ); - // should be marked as finished after dialog closing if an exception was thrown - Helper.AllowConnection( true ); + if ( m_bAction ) + MainThreadDialogExecutor.Close( xContext, xDialogToClose ); } } }; @@ -295,15 +327,18 @@ public class WikiPropDialog extends WikiDialog{ { if ( m_aWikiEditor != null ) { - m_aWikiEditor.SendArticleImpl( aThisDialog ); - m_bAction = true; + m_bAction = m_aWikiEditor.SendArticleImpl( aThisDialog ); } } catch( java.lang.Exception e ) {} finally { - xDialogToClose.endExecute(); - Helper.AllowConnection( true ); + EnableControls( true ); + SetThrobberActive( false ); + SetThrobberVisible( false ); + + if ( m_bAction ) + xDialogToClose.endExecute(); } } -- cgit From 1b9a822eead9e30267f3425d67e8f9b56169113d Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 11 Feb 2008 05:45:27 +0000 Subject: fix makefiles --- .../data/org/openoffice/Office/Custom/makefile.mk | 35 ++++++++++++++++++++++ .../data/org/openoffice/Office/makefile.mk | 35 ++++++++++++++++++++++ .../org/openoffice/Office/Custom/makefile.mk | 35 ++++++++++++++++++++++ 3 files changed, 105 insertions(+) diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk index b1a481508006..11a1fa9057a6 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk @@ -1,3 +1,38 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.3 $ +# +# last change: $Author: mav $ $Date: 2008-02-11 06:45:27 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + PRJ=..$/..$/..$/..$/..$/..$/..$/.. PRJNAME=swext CUSTID=mediawiki diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk b/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk index 1c83aa22f7f4..a478e39557e0 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk @@ -1,3 +1,38 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.3 $ +# +# last change: $Author: mav $ $Date: 2008-02-11 06:45:26 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + PRJ=..$/..$/..$/..$/..$/..$/.. PRJNAME=swext CUSTID=mediawiki diff --git a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk index 6a1190e7b53b..16b0ce6c5084 100644 --- a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk +++ b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/makefile.mk @@ -1,3 +1,38 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.3 $ +# +# last change: $Author: mav $ $Date: 2008-02-11 06:45:27 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + PRJ=..$/..$/..$/..$/..$/..$/..$/.. PRJNAME=swext CUSTID=mediawiki -- cgit From 1abd836201dd66b93a648c58ee929cfc45e170d7 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 11 Feb 2008 07:35:34 +0000 Subject: change user and password handling --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 6 +++--- swext/mediawiki/src/com/sun/star/wiki/Settings.java | 19 +++++++++++++------ .../src/com/sun/star/wiki/WikiEditSettingDialog.java | 8 +++++--- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 79200685fed2..a31d6ac13182 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * - * last change: $Author: mav $ $Date: 2008-02-07 12:49:36 $ + * last change: $Author: mav $ $Date: 2008-02-11 08:35:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -782,7 +782,7 @@ public class Helper { HostConfiguration aHostConfig = null; - if ( sWikiUser != null && sWikiUser.length() > 0 && sWikiPass != null && xContext != null ) + if ( sWikiUser != null && sWikiPass != null && xContext != null ) { HostConfiguration aNewHostConfig = new HostConfiguration(); diff --git a/swext/mediawiki/src/com/sun/star/wiki/Settings.java b/swext/mediawiki/src/com/sun/star/wiki/Settings.java index 0204f50c07c0..3181dd658842 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Settings.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Settings.java @@ -4,9 +4,9 @@ * * $RCSfile: Settings.java,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2008-01-28 13:47:59 $ + * last change: $Author: mav $ $Date: 2008-02-11 08:35:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -35,17 +35,14 @@ package com.sun.star.wiki; -import com.sun.star.beans.NamedValue; import com.sun.star.container.XNameAccess; import com.sun.star.container.XNameContainer; import com.sun.star.container.XNameReplace; -import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.lang.XSingleServiceFactory; -import com.sun.star.uno.AnyConverter; +import com.sun.star.task.UrlRecord; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; import com.sun.star.util.XChangesBatch; -import java.net.InetSocketAddress; import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; @@ -293,6 +290,16 @@ public class Settings ht.put( "Url", allCons[i] ); ht.put( "Username", "" ); ht.put( "Password", "" ); + + //TODO/LATER: how to handle more than one user? + // for now use the first one + UrlRecord aRecord = Helper.GetUsersForURL( m_xContext, allCons[i] ); + if ( aRecord != null && aRecord.UserList != null && aRecord.UserList.length > 0 ) + { + ht.put( "Username", aRecord.UserList[0] ); + if ( aRecord.UserList[0].Passwords != null && aRecord.UserList[0].Passwords.length > 0 ) + ht.put( "Password", aRecord.UserList[0].Passwords[0] ); + } addWikiCon( ht ); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 2ff56a8fb8b0..ab0a9405a279 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.20 $ + * $Revision: 1.21 $ * - * last change: $Author: mav $ $Date: 2008-02-10 15:56:36 $ + * last change: $Author: mav $ $Date: 2008-02-11 08:35:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -82,8 +82,10 @@ public class WikiEditSettingDialog extends WikiDialog XPropertySet xUrlField = GetPropSet( "UrlField" ); xUrlField.setPropertyValue( "Text", ht.get( "Url" ) ); + GetPropSet( "UsernameField" ).setPropertyValue( "Text", ht.get( "Username" )); - GetPropSet( "PasswordField" ).setPropertyValue( "Text", ht.get( "Password" )); + // the password should be entered or the Cancel should be pressed + // GetPropSet( "PasswordField" ).setPropertyValue( "Text", ht.get( "Password" )); } catch ( Exception ex ) { -- cgit From dd58971fa01923051208ffc6c0ce8a4569933bf4 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 11 Feb 2008 09:31:30 +0000 Subject: store the user name --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 17 +++++++--- .../mediawiki/src/com/sun/star/wiki/Settings.java | 39 ++++++++++++++++------ .../src/com/sun/star/wiki/WikiArticle.java | 23 ++----------- .../org/openoffice/Office/Custom/WikiExtension.xcs | 8 ++--- 4 files changed, 47 insertions(+), 40 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index a31d6ac13182..cc2e2e5df070 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.17 $ + * $Revision: 1.18 $ * - * last change: $Author: mav $ $Date: 2008-02-11 08:35:34 $ + * last change: $Author: mav $ $Date: 2008-02-11 10:31:29 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -866,12 +866,19 @@ public class Helper } } - protected static UrlRecord GetUsersForURL( XComponentContext xContext, String sURL ) + protected static String[] GetPasswordsForURLAndUser( XComponentContext xContext, String sURL, String sUserName ) { - UrlRecord aResult = null; + String[] aResult = null; + try { - aResult = GetPasswordContainer( xContext ).find( sURL, GetInteractionHandler( xContext ) ); + if ( xContext != null && sURL != null && sURL.length() > 0 && sUserName != null && sUserName.length() > 0 ) + { + UrlRecord aRec = GetPasswordContainer( xContext ).findForName( sURL, sUserName, GetInteractionHandler( xContext ) ); + if ( aRec != null && aRec.UserList != null && aRec.UserList.length > 0 + && aRec.UserList[0].UserName.equals( sUserName ) ) + aResult = aRec.UserList[0].Passwords; + } } catch( Exception e ) { diff --git a/swext/mediawiki/src/com/sun/star/wiki/Settings.java b/swext/mediawiki/src/com/sun/star/wiki/Settings.java index 3181dd658842..8fc2d410efc2 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Settings.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Settings.java @@ -4,9 +4,9 @@ * * $RCSfile: Settings.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: mav $ $Date: 2008-02-11 08:35:34 $ + * last change: $Author: mav $ $Date: 2008-02-11 10:31:29 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -35,11 +35,12 @@ package com.sun.star.wiki; +import com.sun.star.beans.XPropertySet; import com.sun.star.container.XNameAccess; import com.sun.star.container.XNameContainer; import com.sun.star.container.XNameReplace; import com.sun.star.lang.XSingleServiceFactory; -import com.sun.star.task.UrlRecord; +import com.sun.star.uno.AnyConverter; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; import com.sun.star.util.XChangesBatch; @@ -228,7 +229,12 @@ public class Settings { Object oNewConnection = xConnectionFactory.createInstance(); Hashtable ht = ( Hashtable ) m_WikiConnections.get( i ); - xContainer.insertByName( (String)ht.get( "Url" ), oNewConnection ); + XNameReplace xNewConn = ( XNameReplace ) UnoRuntime.queryInterface( XNameReplace.class, oNewConnection ); + + if ( xNewConn != null ) + xNewConn.replaceByName( "UserName", ht.get( "Username" ) ); + + xContainer.insertByName( (String)ht.get( "Url" ), xNewConn ); } // commit changes XChangesBatch xBatch = ( XChangesBatch ) UnoRuntime.queryInterface( XChangesBatch.class, xContainer ); @@ -291,15 +297,26 @@ public class Settings ht.put( "Username", "" ); ht.put( "Password", "" ); - //TODO/LATER: how to handle more than one user? - // for now use the first one - UrlRecord aRecord = Helper.GetUsersForURL( m_xContext, allCons[i] ); - if ( aRecord != null && aRecord.UserList != null && aRecord.UserList.length > 0 ) + try { - ht.put( "Username", aRecord.UserList[0] ); - if ( aRecord.UserList[0].Passwords != null && aRecord.UserList[0].Passwords.length > 0 ) - ht.put( "Password", aRecord.UserList[0].Passwords[0] ); + XPropertySet xProps = (XPropertySet)UnoRuntime.queryInterface( XPropertySet.class, xConnectionList.getByName( allCons[i] ) ); + if ( xProps != null ) + { + String aUsername = AnyConverter.toString( xProps.getPropertyValue( "UserName" ) ); + if ( aUsername != null && aUsername.length() > 0 ) + { + ht.put( "Username", aUsername ); + String[] pPasswords = Helper.GetPasswordsForURLAndUser( m_xContext, allCons[i], aUsername ); + if ( pPasswords != null && pPasswords.length > 0 ) + ht.put( "Password", pPasswords[0] ); + } + } } + catch( Exception e ) + { + e.printStackTrace(); + } + addWikiCon( ht ); } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java index de6b8d540987..a242f4e2c97f 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiArticle.java,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mav $ $Date: 2008-02-10 15:56:36 $ + * last change: $Author: mav $ $Date: 2008-02-11 10:31:29 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -83,24 +83,7 @@ public class WikiArticle // loginURL = sMainUrl + "index.php?title=Special:Userlogin"; // loginSubmitURL = sMainUrl + "index.php?title=Special:Userlogin&action=submitlogin"; - boolean bGotLogin = false; - if ( bLogin && m_sWikiUser.equals( "" ) && m_sWikiPass.equals( "" ) ) - { - UrlRecord aRecord = Helper.GetUsersForURL( m_xContext, m_aMainURI.toString() ); - // TODO: there could be more users available, it should probably be possible to select from them - // from other side, asking each time for the user name could disturb the user - // For now the first acceptable user will be used. - if ( aRecord != null && aRecord.UserList != null ) - for ( int nUserInd = 0; !bGotLogin && nUserInd < aRecord.UserList.length; nUserInd++ ) - for ( int nPassInd = 0; !bGotLogin && nPassInd < aRecord.UserList[nUserInd].Passwords.length; nPassInd++ ) - { - m_sWikiUser = aRecord.UserList[nUserInd].UserName; - m_sWikiPass = aRecord.UserList[nUserInd].Passwords[nPassInd]; - bGotLogin = Login(); - } - } - - if ( bLogin && !bGotLogin ) + if ( bLogin ) { WikiEditSettingDialog aDialog = new WikiEditSettingDialog(m_xContext, "vnd.sun.star.script:WikiEditor.EditSetting?location=application", wikiSettings, false ); try diff --git a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs index 23d5c6732728..09ec51322310 100644 --- a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs +++ b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs @@ -5,9 +5,9 @@ * * $RCSfile: WikiExtension.xcs,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2008-02-08 14:32:21 $ + * last change: $Author: mav $ $Date: 2008-02-11 10:31:30 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -64,8 +64,8 @@ The name of the entry is a connection URL of a wiki server. - - The UnusedString is necessary, since the current configuration accepts only structs in sets + + The UserName that is used to access the URL. -- cgit From 96645e805008b8befab15c3ab5be74dc8cffe46b Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 11 Feb 2008 11:43:08 +0000 Subject: add global dialog help --- swext/mediawiki/dialogs/EditSetting.xdl | 10 ++++------ swext/mediawiki/dialogs/SendToMediaWiki.xdl | 10 ++++------ swext/mediawiki/dialogs/Settings.xdl | 6 +++--- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl index f6fa6254afc6..a5eb9e5acdcc 100644 --- a/swext/mediawiki/dialogs/EditSetting.xdl +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -5,9 +5,9 @@ * * $RCSfile: EditSetting.xdl,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: mav $ $Date: 2008-02-07 12:49:36 $ + * last change: $Author: mav $ $Date: 2008-02-11 12:43:08 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -34,7 +34,7 @@ * ************************************************************************ --> - + @@ -44,9 +44,7 @@ - - - + diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index d8245fa01d71..0a2632d75d1a 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: mav $ $Date: 2008-02-07 15:55:11 $ + * last change: $Author: mav $ $Date: 2008-02-11 12:43:08 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -34,7 +34,7 @@ * ************************************************************************ --> - + @@ -56,9 +56,7 @@ - - - + diff --git a/swext/mediawiki/dialogs/Settings.xdl b/swext/mediawiki/dialogs/Settings.xdl index 264879494e5f..b9889affa3ae 100644 --- a/swext/mediawiki/dialogs/Settings.xdl +++ b/swext/mediawiki/dialogs/Settings.xdl @@ -5,9 +5,9 @@ * * $RCSfile: Settings.xdl,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: mav $ $Date: 2008-02-07 12:49:36 $ + * last change: $Author: mav $ $Date: 2008-02-11 12:43:08 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -34,7 +34,7 @@ * ************************************************************************ --> - + -- cgit From 4eef907a3573385515fc6801f530283509734f93 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 11 Feb 2008 11:44:23 +0000 Subject: use default help button; set the new version --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 8 ++++---- .../src/com/sun/star/wiki/WikiEditSettingDialog.java | 12 +++--------- swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java | 12 +++--------- swext/mediawiki/src/description.xml | 2 +- .../data/org/openoffice/Office/Custom/WikiExtension.xcu | 7 ++----- .../schema/org/openoffice/Office/Custom/WikiExtension.xcs | 7 ++----- 6 files changed, 15 insertions(+), 33 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index cc2e2e5df070..c50a7ab3e1bc 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -4,9 +4,9 @@ * * $RCSfile: Helper.java,v $ * - * $Revision: 1.18 $ + * $Revision: 1.19 $ * - * last change: $Author: mav $ $Date: 2008-02-11 10:31:29 $ + * last change: $Author: mav $ $Date: 2008-02-11 12:44:22 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -100,7 +100,7 @@ public class Helper public final static int DLG_NO = 8; public final static int DLG_OK = 9; public final static int DLG_YES = 10; - public final static int DLG_HELP = 11; + // 11 is reserved public final static int DLG_ADDBUTTON = 12; public final static int DLG_EDITBUTTON = 13; public final static int DLG_SENDBUTTON = 14; @@ -137,7 +137,7 @@ public class Helper "Dlg_No", "Dlg_OK", "Dlg_Yes", - "Dlg_Help", + null, // reserved "Dlg_AddButton", "Dlg_EditButton", "Dlg_SendButton", diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index ab0a9405a279..7b6112a70cf3 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.21 $ + * $Revision: 1.22 $ * - * last change: $Author: mav $ $Date: 2008-02-11 08:35:34 $ + * last change: $Author: mav $ $Date: 2008-02-11 12:44:22 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -52,10 +52,9 @@ public class WikiEditSettingDialog extends WikiDialog { private final String sOKMethod = "OK"; - private final String sHelpMethod = "Help"; String[] Methods = - {sOKMethod, sHelpMethod}; + {sOKMethod }; private Hashtable setting; private boolean addMode; private boolean m_bAllowURLChange = true; @@ -152,7 +151,6 @@ public class WikiEditSettingDialog extends WikiDialog GetPropSet( "WikiLine" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_EDITSETTING_WIKILINE ) ); GetPropSet( "SaveBox" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_EDITSETTING_SAVEBOX ) ); GetPropSet( "OkButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_OK ) ); - GetPropSet( "HelpButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_HELP ) ); } catch( Exception e ) { @@ -395,10 +393,6 @@ public class WikiEditSettingDialog extends WikiDialog return true; } - else if ( MethodName.equals( sHelpMethod ) ) - { - return true; - } return false; } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 4ec11868cefc..d8daaf5f51af 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.14 $ + * $Revision: 1.15 $ * - * last change: $Author: mav $ $Date: 2008-02-10 15:56:36 $ + * last change: $Author: mav $ $Date: 2008-02-11 12:44:22 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -55,12 +55,11 @@ public class WikiPropDialog extends WikiDialog{ WikiEditorImpl m_aWikiEditor; private final String sSendMethod = "Send"; - private final String sHelpMethod = "Help"; private final String sWikiListMethod = "WikiListChange"; private final String sArticleTextMethod = "ArticleTextChange"; private final String sAddWikiMethod = "AddWiki"; - String[] m_pMethods = {sSendMethod, sHelpMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; + String[] m_pMethods = {sSendMethod, sWikiListMethod, sArticleTextMethod, sAddWikiMethod}; private String m_sWikiTitle = ""; protected String m_sWikiEngineURL = ""; @@ -94,7 +93,6 @@ public class WikiPropDialog extends WikiDialog{ GetPropSet( "Label3" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_LABEL3 ) ); GetPropSet( "MinorCheck" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_MINORCHECK ) ); GetPropSet( "BrowserCheck" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDTOMEDIAWIKI_BROWSERCHECK ) ); - GetPropSet( "HelpButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_HELP ) ); GetPropSet( "AddButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_ADDBUTTON ) ); GetPropSet( "SendButton" ).setPropertyValue( "Label", Helper.GetLocalizedString( xContext, Helper.DLG_SENDBUTTON ) ); } @@ -344,10 +342,6 @@ public class WikiPropDialog extends WikiDialog{ return true; } - else if ( MethodName.equals( sHelpMethod ) ) - { - return true; - } else if ( MethodName.equals( sWikiListMethod ) ) { fillDocList(); diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index 525d37ad5d9e..d17ba397198a 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -1,6 +1,6 @@ - + MediaWiki Extension diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu index c2d9696396a7..2a9e51e1c101 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu @@ -5,9 +5,9 @@ * * $RCSfile: WikiExtension.xcu,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mav $ $Date: 2008-02-08 15:14:40 $ + * last change: $Author: mav $ $Date: 2008-02-11 12:44:22 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -106,9 +106,6 @@ Yes - - ~Help - ~Add... diff --git a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs index 09ec51322310..1c237eaa1f2b 100644 --- a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs +++ b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs @@ -5,9 +5,9 @@ * * $RCSfile: WikiExtension.xcs,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2008-02-11 10:31:30 $ + * last change: $Author: mav $ $Date: 2008-02-11 12:44:23 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -139,9 +139,6 @@ "Yes" button in dialog. - - "Help" button in dialog. - "Add..." button text. -- cgit From 04b02af33b58679d8300a10a13dca900c0ea9568 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 11 Feb 2008 11:45:15 +0000 Subject: global settings --- swext/makefile.pmk | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 swext/makefile.pmk diff --git a/swext/makefile.pmk b/swext/makefile.pmk new file mode 100644 index 000000000000..df9f5119f1fa --- /dev/null +++ b/swext/makefile.pmk @@ -0,0 +1,45 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.pmk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: mav $ $Date: 2008-02-11 12:45:15 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +XSLDIR=$(SOLARXMLDIR)$/processing +XCSROOT=$(SOLARXMLDIR) +ABSXCSROOT=$(SOLARXMLDIR) +DTDDIR=$(SOLARXMLDIR) +PROCESSOUT=$(MISC)$/$(CUSTID) +PROCESSORDIR=$(SOLARBINDIR) + +# no validation by inspector class +NO_INSPECTION=TRUE + -- cgit From cb3ae0d19b4db03ddb0e602ebf813f67cad46970 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 11 Feb 2008 12:25:15 +0000 Subject: change build.xml --- swext/mediawiki/build.xml | 17 ++++++++++++----- swext/mediawiki/makefile.mk | 7 ++++--- swext/prj/build.lst | 6 +++++- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index c9e65269d64f..33e213545cfe 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: rene $ $Date: 2008-02-04 09:02:13 $ + * last change: $Author: mav $ $Date: 2008-02-11 13:25:15 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -35,13 +35,14 @@ ************************************************************************ --> + - - + + @@ -103,7 +104,13 @@ - + + + + + + + diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index ab5d5ee40e77..f13ba81b640a 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.5 $ +# $Revision: 1.6 $ # -# last change: $Author: rene $ $Date: 2008-02-04 09:02:13 $ +# last change: $Author: mav $ $Date: 2008-02-11 13:25:15 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -39,7 +39,6 @@ TARGET=mediawiki .IF "$(ENABLE_MEDIAWIKI)" == "YES" .INCLUDE : ant.mk -ALLTAR: ANTBUILD .IF "$(SYSTEM_APACHE_COMMONS)" != "YES" COMMONS_CODEC_JAR=$(SOLARVER)$/$(INPATH)$/bin$/commons-codec-1.3.jar @@ -54,6 +53,8 @@ XML_APIS_JAR = $(SOLARVER)$/$(INPATH)$/lib/xml-apis.jar ANT_FLAGS+=-Dcommons-codec-jar=$(COMMONS_CODEC_JAR) -Dcommons-lang-jar=$(COMMONS_LANG_JAR) -Dcommons-httpclient-jar=$(COMMONS_HTTPCLIENT_JAR) -Dcommons-logging-jar=$(COMMONS_LOGGING_JAR) -Dxml-apis-jar=$(XML_APIS_JAR) +ALLTAR: ANTBUILD + .ELSE @all: @echo "MediaWiki Editor extension disabled." diff --git a/swext/prj/build.lst b/swext/prj/build.lst index 44176a3f7224..240de375075d 100644 --- a/swext/prj/build.lst +++ b/swext/prj/build.lst @@ -1,4 +1,8 @@ swext swext : XALAN:xalan jut javaunohelper ridljar unoil jurt APACHE_COMMONS:apache-commons NULL swext swext usr1 - all swext_mkout NULL -swext swext\mediawiki nmake - all swext_wiki NULL +swext swext\mediawiki\help\en-US\com.sun.sun-mediawiki nmake - all swext_mwhelp NULL +swext swext\mediawiki\src\registry\schema\org\openoffice\Office\Custom nmake - all swext_mwschema NULL +swext swext\mediawiki\src\registry\data\org\openoffice\Office\Custom nmake - all swext_mwcustomdata swext_mwschema NULL +swext swext\mediawiki\src\registry\data\org\openoffice\Office nmake - all swext_mwofficedata NULL +swext swext\mediawiki nmake - all swext_mw swext_mwhelp swext_mwschema swext_mwcustomdata swext_mwofficedata NULL -- cgit From 681ee8e3600ae84e1526f30b052ff1959df1125b Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 11 Feb 2008 13:37:21 +0000 Subject: fix from HJS --- tomcat/makefile.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tomcat/makefile.mk b/tomcat/makefile.mk index 4ab0b35c514e..1c08f7f5ab1a 100755 --- a/tomcat/makefile.mk +++ b/tomcat/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: rene $ $Date: 2008-02-04 09:02:14 $ +# last change: $Author: mav $ $Date: 2008-02-11 14:37:21 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -42,6 +42,7 @@ TARGET=servlet # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk +.INCLUDE : antsettings.mk # --- Files -------------------------------------------------------- -- cgit From 7990cb5b55223c304985a20b8f3aa0a8aa87a64a Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Mon, 11 Feb 2008 13:48:12 +0000 Subject: add scrollbar --- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 0a2632d75d1a..6e34b5687dba 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: mav $ $Date: 2008-02-11 12:43:08 $ + * last change: $Author: mav $ $Date: 2008-02-11 14:48:12 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -45,7 +45,7 @@ - + -- cgit From adde7156e5ff2423f0365cb0eda6dc97715f3738 Mon Sep 17 00:00:00 2001 From: René Engelhard Date: Mon, 11 Feb 2008 15:51:41 +0000 Subject: #i10000# we need officecfg for component-description.dtd --- swext/prj/build.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/prj/build.lst b/swext/prj/build.lst index 240de375075d..d5af815ede18 100644 --- a/swext/prj/build.lst +++ b/swext/prj/build.lst @@ -1,4 +1,4 @@ -swext swext : XALAN:xalan jut javaunohelper ridljar unoil jurt APACHE_COMMONS:apache-commons NULL +swext swext : XALAN:xalan jut javaunohelper ridljar unoil jurt APACHE_COMMONS:apache-commons officecfg NULL swext swext usr1 - all swext_mkout NULL swext swext\mediawiki\help\en-US\com.sun.sun-mediawiki nmake - all swext_mwhelp NULL swext swext\mediawiki\src\registry\schema\org\openoffice\Office\Custom nmake - all swext_mwschema NULL -- cgit From a0f9dfe0ebce9fd4d29e306212bfb67e564c1a50 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 12 Feb 2008 14:09:12 +0000 Subject: use UPDMINOREXT variable --- apache-commons/java/logging/makefile.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apache-commons/java/logging/makefile.mk b/apache-commons/java/logging/makefile.mk index f8488cf6a5a6..ded03910535c 100644 --- a/apache-commons/java/logging/makefile.mk +++ b/apache-commons/java/logging/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: rene $ $Date: 2008-02-04 09:02:06 $ +# last change: $Author: mav $ $Date: 2008-02-12 15:09:12 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -61,7 +61,7 @@ PATCH_FILE_NAME=patches$/logging.patch OUT2CLASS=target$/commons-logging-1.1.1-SNAPSHOT.jar .IF "$(SYSTEM_TOMCAT)" != "YES" -SERVLETAPI_JAR := $(SOLARVER)$/$(INPATH)$/bin$/servlet-api.jar +SERVLETAPI_JAR := $(SOLARVER)$/$(INPATH)$/bin$(UPDMINOREXT)$/servlet-api.jar .ENDIF .IF "$(JAVACISGCJ)"=="yes" -- cgit From 0b07164c327b79a212419a4839336b24b549c5cf Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 12 Feb 2008 15:00:36 +0000 Subject: fix pathes --- swext/mediawiki/build.xml | 5 ++--- swext/mediawiki/makefile.mk | 16 ++++++---------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 33e213545cfe..47caae95b89e 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: mav $ $Date: 2008-02-11 13:25:15 $ + * last change: $Author: mav $ $Date: 2008-02-12 16:00:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -70,7 +70,6 @@ - diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index f13ba81b640a..2fc99e75f31f 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.6 $ +# $Revision: 1.7 $ # -# last change: $Author: mav $ $Date: 2008-02-11 13:25:15 $ +# last change: $Author: mav $ $Date: 2008-02-12 16:00:36 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -41,14 +41,10 @@ TARGET=mediawiki .INCLUDE : ant.mk .IF "$(SYSTEM_APACHE_COMMONS)" != "YES" -COMMONS_CODEC_JAR=$(SOLARVER)$/$(INPATH)$/bin$/commons-codec-1.3.jar -COMMONS_LANG_JAR=$(SOLARVER)$/$(INPATH)$/bin$/commons-lang-2.3.jar -COMMONS_HTTPCLIENT_JAR=$(SOLARVER)$/$(INPATH)$/bin$/commons-httpclient-3.1.jar -COMMONS_LOGGING_JAR=$(SOLARVER)$/$(INPATH)$/bin$/commons-logging-1.1.1.jar -.ENDIF - -.IF "$(SYSTEM_XML_APIS)" != "YES" -XML_APIS_JAR = $(SOLARVER)$/$(INPATH)$/lib/xml-apis.jar +COMMONS_CODEC_JAR=$(SOLARVER)$/$(INPATH)$/bin$(UPDMINOREXT)$/commons-codec-1.3.jar +COMMONS_LANG_JAR=$(SOLARVER)$/$(INPATH)$/bin$(UPDMINOREXT)$/commons-lang-2.3.jar +COMMONS_HTTPCLIENT_JAR=$(SOLARVER)$/$(INPATH)$/bin$(UPDMINOREXT)$/commons-httpclient-3.1.jar +COMMONS_LOGGING_JAR=$(SOLARVER)$/$(INPATH)$/bin$(UPDMINOREXT)$/commons-logging-1.1.1.jar .ENDIF ANT_FLAGS+=-Dcommons-codec-jar=$(COMMONS_CODEC_JAR) -Dcommons-lang-jar=$(COMMONS_LANG_JAR) -Dcommons-httpclient-jar=$(COMMONS_HTTPCLIENT_JAR) -Dcommons-logging-jar=$(COMMONS_LOGGING_JAR) -Dxml-apis-jar=$(XML_APIS_JAR) -- cgit From d5699b27db478065e4224a48367ee678e18768f0 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 12 Feb 2008 17:15:34 +0000 Subject: fix build of the help; use merged version of xcu if there is one --- swext/mediawiki/build.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 47caae95b89e..b9b904c3feef 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: mav $ $Date: 2008-02-12 16:00:36 $ + * last change: $Author: mav $ $Date: 2008-02-12 18:15:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -105,8 +105,7 @@ - - + -- cgit From 61be50dfcb6c0ba6db30ee462eaedbaad02a15d8 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 12 Feb 2008 17:41:06 +0000 Subject: start the browser in correct thread --- swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java | 7 ++----- swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index 9b3f03a04e4f..d5bacae261d4 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditorImpl.java,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: mav $ $Date: 2008-02-04 08:52:18 $ + * last change: $Author: mav $ $Date: 2008-02-12 18:41:06 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -421,9 +421,6 @@ public final class WikiEditorImpl extends WeakBase aDocInfo.put( "CompleteUrl", aArticle.GetMainURL() + aArticle.GetTitle() ); m_aSettings.addWikiDoc( aDocInfo ); m_aSettings.storeConfiguration(); - - if ( Helper.GetShowInBrowserByDefault( m_xContext ) ) - Helper.ShowURLInBrowser( m_xContext, aArticle.GetViewURL() ); } else { diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index d8daaf5f51af..4e53a95ca497 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.15 $ + * $Revision: 1.16 $ * - * last change: $Author: mav $ $Date: 2008-02-11 12:44:22 $ + * last change: $Author: mav $ $Date: 2008-02-12 18:41:06 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -117,7 +117,12 @@ public class WikiPropDialog extends WikiDialog{ public boolean show() { EnableControls( true ); - return super.show(); + boolean bResult = super.show(); + + if ( bResult && Helper.GetShowInBrowserByDefault( m_xContext ) ) + Helper.ShowURLInBrowser( m_xContext, m_sWikiEngineURL + "index.php?title=" + m_sWikiTitle ); + + return bResult; } public synchronized void ThreadStop( boolean bSelf ) -- cgit From 20865907304e831c85e603df169f2df4afd85c8a Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 12 Feb 2008 17:45:19 +0000 Subject: new version --- swext/mediawiki/src/description.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index d17ba397198a..8082891c0e5a 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -1,6 +1,6 @@ - + MediaWiki Extension -- cgit From 2c06f16dccb0325220ab29d4acb811a216d293d1 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 13 Feb 2008 11:05:55 +0000 Subject: fix the edit box; let the save password checkbox remember the state --- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 6 ++--- .../com/sun/star/wiki/WikiEditSettingDialog.java | 26 +++++++++++++++------- .../src/com/sun/star/wiki/WikiPropDialog.java | 17 ++++++++++++-- 3 files changed, 36 insertions(+), 13 deletions(-) diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 6e34b5687dba..0e472c4283d0 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -5,9 +5,9 @@ * * $RCSfile: SendToMediaWiki.xdl,v $ * - * $Revision: 1.12 $ + * $Revision: 1.13 $ * - * last change: $Author: mav $ $Date: 2008-02-11 14:48:12 $ + * last change: $Author: mav $ $Date: 2008-02-13 12:05:55 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -45,7 +45,7 @@ - + diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 7b6112a70cf3..4161724ed68c 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.22 $ + * $Revision: 1.23 $ * - * last change: $Author: mav $ $Date: 2008-02-11 12:44:22 $ + * last change: $Author: mav $ $Date: 2008-02-13 12:05:55 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -68,7 +68,7 @@ public class WikiEditSettingDialog extends WikiDialog InsertThrobber( 184, 20, 10, 10 ); InitStrings( xContext ); - InitSaveCheckbox( xContext ); + InitSaveCheckbox( xContext, false ); } public WikiEditSettingDialog( XComponentContext xContext, String DialogURL, Hashtable ht, boolean bAllowURLChange ) @@ -76,14 +76,24 @@ public class WikiEditSettingDialog extends WikiDialog super( xContext, DialogURL ); super.setMethods( Methods ); setting = ht; + + boolean bInitSaveCheckBox = false; + try { XPropertySet xUrlField = GetPropSet( "UrlField" ); xUrlField.setPropertyValue( "Text", ht.get( "Url" ) ); - GetPropSet( "UsernameField" ).setPropertyValue( "Text", ht.get( "Username" )); - // the password should be entered or the Cancel should be pressed + GetPropSet( "UsernameField" ).setPropertyValue( "Text", ht.get( "Username" ) ); + + if ( Helper.PasswordStoringIsAllowed( m_xContext ) ) + { + String[] pPasswords = Helper.GetPasswordsForURLAndUser( m_xContext, (String)ht.get( "Url" ), (String)ht.get( "Username" ) ); + bInitSaveCheckBox = ( pPasswords != null && pPasswords.length > 0 && pPasswords[0].equals( (String)ht.get( "Password" ) ) ); + } + + // the password should be entered by the user or the Cancel should be pressed // GetPropSet( "PasswordField" ).setPropertyValue( "Text", ht.get( "Password" )); } catch ( Exception ex ) @@ -96,7 +106,7 @@ public class WikiEditSettingDialog extends WikiDialog InsertThrobber( 184, 20, 10, 10 ); InitStrings( xContext ); - InitSaveCheckbox( xContext ); + InitSaveCheckbox( xContext, bInitSaveCheckBox ); } public boolean show( ) @@ -158,12 +168,12 @@ public class WikiEditSettingDialog extends WikiDialog } } - private void InitSaveCheckbox( XComponentContext xContext ) + private void InitSaveCheckbox( XComponentContext xContext, boolean bInitSaveCheckBox ) { XPropertySet xSaveCheck = GetPropSet( "SaveBox" ); try { - xSaveCheck.setPropertyValue( "State", new Short( (short)0 ) ); + xSaveCheck.setPropertyValue( "State", new Short( bInitSaveCheckBox ? (short)1 : (short)0 ) ); xSaveCheck.setPropertyValue( "Enabled", new Boolean( Helper.PasswordStoringIsAllowed( xContext ) ) ); } catch( Exception e ) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index 4e53a95ca497..dea17b8e3bb4 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * - * last change: $Author: mav $ $Date: 2008-02-12 18:41:06 $ + * last change: $Author: mav $ $Date: 2008-02-13 12:05:55 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -80,6 +80,19 @@ public class WikiPropDialog extends WikiDialog{ InitStrings( xContext ); InitShowBrowser( xContext ); + InitControls( xContext ); + } + + private void InitControls( XComponentContext xContext ) + { + try + { + GetPropSet( "CommentText" ).setPropertyValue( "AutoVScroll", Boolean.TRUE ); + } + catch( Exception e ) + { + e.printStackTrace(); + } } private void InitStrings( XComponentContext xContext ) -- cgit From b80b0da0d5cfdca02e51e6d2709344fc386eab3c Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 13 Feb 2008 11:07:47 +0000 Subject: xml-apis.jar is not used --- swext/mediawiki/makefile.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index 2fc99e75f31f..b3d5c3177dc2 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.7 $ +# $Revision: 1.8 $ # -# last change: $Author: mav $ $Date: 2008-02-12 16:00:36 $ +# last change: $Author: mav $ $Date: 2008-02-13 12:07:47 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -47,7 +47,7 @@ COMMONS_HTTPCLIENT_JAR=$(SOLARVER)$/$(INPATH)$/bin$(UPDMINOREXT)$/commons-httpcl COMMONS_LOGGING_JAR=$(SOLARVER)$/$(INPATH)$/bin$(UPDMINOREXT)$/commons-logging-1.1.1.jar .ENDIF -ANT_FLAGS+=-Dcommons-codec-jar=$(COMMONS_CODEC_JAR) -Dcommons-lang-jar=$(COMMONS_LANG_JAR) -Dcommons-httpclient-jar=$(COMMONS_HTTPCLIENT_JAR) -Dcommons-logging-jar=$(COMMONS_LOGGING_JAR) -Dxml-apis-jar=$(XML_APIS_JAR) +ANT_FLAGS+=-Dcommons-codec-jar=$(COMMONS_CODEC_JAR) -Dcommons-lang-jar=$(COMMONS_LANG_JAR) -Dcommons-httpclient-jar=$(COMMONS_HTTPCLIENT_JAR) -Dcommons-logging-jar=$(COMMONS_LOGGING_JAR) ALLTAR: ANTBUILD -- cgit From 9bf27e5a0d5dfd22a2c622c58ff50f7486e809cb Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 13 Feb 2008 12:44:31 +0000 Subject: show master password dialog on demand --- .../mediawiki/src/com/sun/star/wiki/Settings.java | 26 +++++++++---- .../com/sun/star/wiki/WikiEditSettingDialog.java | 43 +++++++++++++--------- .../src/com/sun/star/wiki/WikiEditorImpl.java | 10 ++--- .../src/com/sun/star/wiki/WikiPropDialog.java | 11 ++++-- 4 files changed, 56 insertions(+), 34 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Settings.java b/swext/mediawiki/src/com/sun/star/wiki/Settings.java index 8fc2d410efc2..09e52eaf2162 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Settings.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Settings.java @@ -4,9 +4,9 @@ * * $RCSfile: Settings.java,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: mav $ $Date: 2008-02-11 10:31:29 $ + * last change: $Author: mav $ $Date: 2008-02-13 13:44:31 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -175,6 +175,23 @@ public class Settings if ( u1.equals( sUrl ) ) { ht = h1; + try + { + String sUserName = (String)ht.get( "Username" ); + String aPassword = (String)ht.get( "Password" ); + if ( sUserName != null && sUserName.length() > 0 && ( aPassword == null || aPassword.length() == 0 ) ) + { + String[] pPasswords = Helper.GetPasswordsForURLAndUser( m_xContext, sUrl, sUserName ); + if ( pPasswords != null && pPasswords.length > 0 ) + ht.put( "Password", pPasswords[0] ); + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + + break; } } return ht; @@ -304,12 +321,7 @@ public class Settings { String aUsername = AnyConverter.toString( xProps.getPropertyValue( "UserName" ) ); if ( aUsername != null && aUsername.length() > 0 ) - { ht.put( "Username", aUsername ); - String[] pPasswords = Helper.GetPasswordsForURLAndUser( m_xContext, allCons[i], aUsername ); - if ( pPasswords != null && pPasswords.length > 0 ) - ht.put( "Password", pPasswords[0] ); - } } } catch( Exception e ) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index 4161724ed68c..bfee4c3ee90b 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.23 $ + * $Revision: 1.24 $ * - * last change: $Author: mav $ $Date: 2008-02-13 12:05:55 $ + * last change: $Author: mav $ $Date: 2008-02-13 13:44:31 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -113,7 +113,30 @@ public class WikiEditSettingDialog extends WikiDialog { SetThrobberVisible( false ); EnableControls( true ); - return super.show(); + boolean bResult = super.show(); + + try + { + if ( bResult && Helper.PasswordStoringIsAllowed( m_xContext ) + && ( (Short)( GetPropSet( "SaveBox" ).getPropertyValue("State") ) ).shortValue() != (short)0 ) + { + String sURL = (String)setting.get( "Url" ); + String sUserName = (String)setting.get( "Username" ); + String sPassword = (String)setting.get( "Password" ); + + if ( sURL != null && sURL.length() > 0 && sUserName != null && sUserName.length() > 0 && sPassword != null && sPassword.length() > 0 ) + { + String[] pPasswords = { sPassword }; + Helper.GetPasswordContainer( m_xContext ).addPersistent( sURL, sUserName, pPasswords, Helper.GetInteractionHandler( m_xContext ) ); + } + } + } + catch( Exception e ) + { + e.printStackTrace(); + } + + return bResult; } public void EnableControls( boolean bEnable ) @@ -268,20 +291,6 @@ public class WikiEditSettingDialog extends WikiDialog Settings.getSettings( m_xContext ).storeConfiguration(); } - if ( Helper.PasswordStoringIsAllowed( m_xContext ) - && ( (Short)( GetPropSet( "SaveBox" ).getPropertyValue("State") ) ).shortValue() != (short)0 ) - { - String[] pPasswords = { sPassword }; - try - { - Helper.GetPasswordContainer( m_xContext ).addPersistent( sMainURL, sUserName, pPasswords, Helper.GetInteractionHandler( m_xContext ) ); - } - catch( Exception e ) - { - e.printStackTrace(); - } - } - m_bAction = true; } } diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index d5bacae261d4..36dbc7933e14 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiEditorImpl.java,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: mav $ $Date: 2008-02-12 18:41:06 $ + * last change: $Author: mav $ $Date: 2008-02-13 13:44:31 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -360,7 +360,7 @@ public final class WikiEditorImpl extends WeakBase } } - public boolean SendArticleImpl( WikiPropDialog aSendDialog ) + public boolean SendArticleImpl( WikiPropDialog aSendDialog, Hashtable aWikiSetting ) { boolean bResult = false; @@ -370,10 +370,8 @@ public final class WikiEditorImpl extends WeakBase try { - Hashtable wikiSettings = m_aSettings.getSettingByUrl( aSendDialog.m_sWikiEngineURL ); - // TODO: stop progress spinning - WikiArticle aArticle = new WikiArticle( m_xContext, aSendDialog.GetWikiTitle(), wikiSettings, true, aSendDialog ); + WikiArticle aArticle = new WikiArticle( m_xContext, aSendDialog.GetWikiTitle(), aWikiSetting, true, aSendDialog ); boolean bAllowSending = true; if ( aArticle.NotExist() ) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index dea17b8e3bb4..f2ea738750f0 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -4,9 +4,9 @@ * * $RCSfile: WikiPropDialog.java,v $ * - * $Revision: 1.17 $ + * $Revision: 1.18 $ * - * last change: $Author: mav $ $Date: 2008-02-13 12:05:55 $ + * last change: $Author: mav $ $Date: 2008-02-13 13:44:31 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -49,6 +49,7 @@ import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.lang.EventObject; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; +import java.util.Hashtable; public class WikiPropDialog extends WikiDialog{ @@ -308,6 +309,8 @@ public class WikiPropDialog extends WikiDialog{ SetThrobberVisible( true ); SetThrobberActive( true ); + // the following method might show a dialog, should be used in main thread + final Hashtable aWikiSettings = m_aSettings.getSettingByUrl( m_sWikiEngineURL ); if ( Helper.AllowThreadUsage( m_xContext ) ) { m_aThread = new Thread( "com.sun.star.thread.WikiEditorSendingThread" ) @@ -319,7 +322,7 @@ public class WikiPropDialog extends WikiDialog{ if ( m_aWikiEditor != null ) { Thread.yield(); - m_bAction = m_aWikiEditor.SendArticleImpl( aThisDialog ); + m_bAction = m_aWikiEditor.SendArticleImpl( aThisDialog, aWikiSettings ); } } finally @@ -343,7 +346,7 @@ public class WikiPropDialog extends WikiDialog{ { if ( m_aWikiEditor != null ) { - m_bAction = m_aWikiEditor.SendArticleImpl( aThisDialog ); + m_bAction = m_aWikiEditor.SendArticleImpl( aThisDialog, aWikiSettings ); } } catch( java.lang.Exception e ) {} -- cgit From a9c6be78e170c7aa14bbf4e95a4ed044f379c832 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 13 Feb 2008 14:59:46 +0000 Subject: new version --- swext/mediawiki/src/description.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index 8082891c0e5a..4cea9dc96e66 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -1,6 +1,6 @@ - + MediaWiki Extension -- cgit From 398a73b8e4d5e484b17cc52f0606e63a8bbf2422 Mon Sep 17 00:00:00 2001 From: Oliver Bolte Date: Tue, 26 Feb 2008 14:17:29 +0000 Subject: INTEGRATION: CWS custommeta (1.10.18); FILE MERGED 2008/01/21 15:18:31 mst 1.10.18.1: - sdext/source/minimizer/impoptimizer.cxx: + remove unneeded includes --- sdext/source/minimizer/impoptimizer.cxx | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index 528b88e567c5..c018b0367775 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -4,9 +4,9 @@ * * $RCSfile: impoptimizer.cxx,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: vg $ $Date: 2007-10-11 14:41:08 $ + * last change: $Author: obo $ $Date: 2008-02-26 15:17:29 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -82,12 +82,6 @@ #ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_ #include #endif -#ifndef _COM_SUN_STAR_DOCUMENT_XDOCUMENTINFO_HPP_ -#include -#endif -#ifndef _COM_SUN_STAR_DOCUMENT_XDOCUMENTINFOSUPPLIER_HPP_ -#include -#endif #ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHICPROVIDER_HPP_ #include #endif -- cgit From 48b3f36cd336f9cf9d2c48c37e2d43ff9128c696 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 28 Feb 2008 10:36:32 +0000 Subject: #i10000# introduce licenses --- swext/mediawiki/build.xml | 7 ++-- swext/mediawiki/src/description.xml | 5 +++ swext/mediawiki/src/makefile.mk | 79 +++++++++++++++++++++++++++++++++++++ swext/prj/build.lst | 3 +- 4 files changed, 90 insertions(+), 4 deletions(-) create mode 100644 swext/mediawiki/src/makefile.mk diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index b9b904c3feef..c2cdc44d7392 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: mav $ $Date: 2008-02-12 18:15:34 $ + * last change: $Author: mav $ $Date: 2008-02-28 11:35:40 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -103,7 +103,7 @@ - + @@ -117,6 +117,7 @@ + diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index 4cea9dc96e66..1980515342ca 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -5,6 +5,11 @@ MediaWiki Extension + + + + + diff --git a/swext/mediawiki/src/makefile.mk b/swext/mediawiki/src/makefile.mk new file mode 100644 index 000000000000..7fae8d7d5661 --- /dev/null +++ b/swext/mediawiki/src/makefile.mk @@ -0,0 +1,79 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: mav $ $Date: 2008-02-28 11:36:32 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. +PRJNAME=swext +TARGET=mediawiki +GEN_HID=FALSE + +ENABLE_EXCEPTIONS=TRUE + +# --- Settings ---------------------------------- + +.INCLUDE : settings.mk + +DESCRIPTION:=$(MISC)$/$(TARGET)$/description.xml + +# .IF "$(GUI)" == "WIN" || "$(GUI)" == "WNT" +# PACKLICS:=$(foreach,i,$(alllangiso) $(MISC)$/$(TARGET)$/license$/license_$i) +# .ELSE +PACKLICS:=$(foreach,i,$(alllangiso) $(MISC)$/$(TARGET)$/license$/LICENSE_$i) +# .ENDIF + +common_build_zip= + +.INCLUDE : target.mk + +.IF "$(GUI)" == "WIN" || "$(GUI)" == "WNT" +$(PACKLICS) : $(SOLARBINDIR)$/osl$/license$$(@:b:s/_/./:e:s/./_/)$$(@:e).txt + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ +.ELSE +$(PACKLICS) : $(SOLARBINDIR)$/osl$/LICENSE$$(@:b:s/_/./:e:s/./_/)$$(@:e) + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ +.ENDIF + +ALLTAR: $(PACKLICS) $(DESCRIPTION) + +.INCLUDE .IGNORE : $(MISC)$/$(TARGET)_lang_track.mk +.IF "$(LAST_WITH_LANG)"!="$(WITH_LANG)" +PHONYDESC=.PHONY +.ENDIF # "$(LAST_WITH_LANG)"!="$(WITH_LANG)" +$(DESCRIPTION) $(PHONYDESC) : $$(@:f) + @@-$(MKDIRHIER) $(@:d) + $(PERL) $(SOLARENV)$/bin$/licinserter.pl description.xml license/LICENSE_xxx $@ + @echo LAST_WITH_LANG=$(WITH_LANG) > $(MISC)$/$(TARGET)_lang_track.mk + diff --git a/swext/prj/build.lst b/swext/prj/build.lst index d5af815ede18..27e63c6ad48e 100644 --- a/swext/prj/build.lst +++ b/swext/prj/build.lst @@ -4,5 +4,6 @@ swext swext\mediawiki\help\en-US\com.sun.sun-mediawiki nmake swext swext\mediawiki\src\registry\schema\org\openoffice\Office\Custom nmake - all swext_mwschema NULL swext swext\mediawiki\src\registry\data\org\openoffice\Office\Custom nmake - all swext_mwcustomdata swext_mwschema NULL swext swext\mediawiki\src\registry\data\org\openoffice\Office nmake - all swext_mwofficedata NULL -swext swext\mediawiki nmake - all swext_mw swext_mwhelp swext_mwschema swext_mwcustomdata swext_mwofficedata NULL +swext swext\mediawiki\src nmake - all swext_mwlicense NULL +swext swext\mediawiki nmake - all swext_mw swext_mwhelp swext_mwschema swext_mwcustomdata swext_mwofficedata swext_mwlicense NULL -- cgit From 070eeb3ec58f5520ac7e5d9691df028e8b2e391d Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 18 Mar 2008 11:23:43 +0000 Subject: INTEGRATION: CWS sb83 (1.6.22); FILE MERGED 2008/02/01 11:02:46 sb 1.6.22.1: #i84200# added SHLnRPATH=OXT for libraries within extensions (that only link against URE libs) --- sdext/source/minimizer/makefile.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk index a29fb27b6559..22b39e7caf1c 100644 --- a/sdext/source/minimizer/makefile.mk +++ b/sdext/source/minimizer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.6 $ +# $Revision: 1.7 $ # -# last change: $Author: hr $ $Date: 2007-11-01 14:10:57 $ +# last change: $Author: vg $ $Date: 2008-03-18 12:23:43 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -87,6 +87,7 @@ SHL1IMPLIB= i$(SHL1TARGET) SHL1LIBS= $(SLB)$/$(TARGET).lib SHL1DEF= $(MISC)$/$(SHL1TARGET).def SHL1VERSIONMAP= exports.map +SHL1RPATH= OXT DEF1NAME= $(SHL1TARGET) COMPONENT_MERGED_XCU= \ -- cgit From 1070e7af9b01574c13e9bee5a202d8e7ed39536a Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 26 Mar 2008 15:30:08 +0000 Subject: allow easy name change --- swext/mediawiki/build.xml | 52 ++++++++++++++++++---- swext/mediawiki/makefile.mk | 6 +-- swext/mediawiki/src/description.xml | 2 +- .../org/openoffice/Office/Custom/WikiExtension.xcu | 6 +-- swext/prj/d.lst | 1 + 5 files changed, 51 insertions(+), 16 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index c2cdc44d7392..e0a9a5b97935 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: mav $ $Date: 2008-02-28 11:35:40 $ + * last change: $Author: mav $ $Date: 2008-03-26 16:30:07 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -100,15 +100,29 @@ - - - + + - + + + + + + + + + + + + + + + + @@ -121,13 +135,33 @@ - + + + + + + + + + + + + + + + + + + - - + + + + + diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index b3d5c3177dc2..40f9910e6657 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.8 $ +# $Revision: 1.9 $ # -# last change: $Author: mav $ $Date: 2008-02-13 12:07:47 $ +# last change: $Author: mav $ $Date: 2008-03-26 16:30:07 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -53,6 +53,6 @@ ALLTAR: ANTBUILD .ELSE @all: - @echo "MediaWiki Editor extension disabled." + @echo "MediaWiki Publisher extension disabled." .ENDIF diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index 1980515342ca..5f1f35bf3450 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -3,7 +3,7 @@ - MediaWiki Extension + @WIKIEXTENSIONPRODUCTNAME@ diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu index 2a9e51e1c101..bb70a1e341ab 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu @@ -5,9 +5,9 @@ * * $RCSfile: WikiExtension.xcu,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mav $ $Date: 2008-02-11 12:44:22 $ + * last change: $Author: mav $ $Date: 2008-03-26 16:30:08 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -152,7 +152,7 @@ ~Save password - MediaWiki Extension + @WIKIEXTENSIONPRODUCTNAME@ diff --git a/swext/prj/d.lst b/swext/prj/d.lst index 1e1b302bc4fa..b9a39e93ba9b 100644 --- a/swext/prj/d.lst +++ b/swext/prj/d.lst @@ -1,3 +1,4 @@ mkdir: %_DEST%\bin%_EXT%\swext ..\%__SRC%\bin\mediawiki.oxt %_DEST%\bin%_EXT%\swext\mediawiki.oxt +..\%__SRC%\bin\mediawiki_develop.zip %_DEST%\bin%_EXT%\swext\mediawiki_develop.zip -- cgit From a3067553cc5e6608a29ef12262950b872d47d336 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Wed, 26 Mar 2008 15:40:17 +0000 Subject: add some info --- swext/mediawiki/makefile.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index 40f9910e6657..05ebf0950516 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.9 $ +# $Revision: 1.10 $ # -# last change: $Author: mav $ $Date: 2008-03-26 16:30:07 $ +# last change: $Author: mav $ $Date: 2008-03-26 16:40:17 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -49,6 +49,7 @@ COMMONS_LOGGING_JAR=$(SOLARVER)$/$(INPATH)$/bin$(UPDMINOREXT)$/commons-logging-1 ANT_FLAGS+=-Dcommons-codec-jar=$(COMMONS_CODEC_JAR) -Dcommons-lang-jar=$(COMMONS_LANG_JAR) -Dcommons-httpclient-jar=$(COMMONS_HTTPCLIENT_JAR) -Dcommons-logging-jar=$(COMMONS_LOGGING_JAR) +# creates two files mediawiki.oxt and mediawiki_develop.zip, the second one might be used in further build process ALLTAR: ANTBUILD .ELSE -- cgit From 2307f4dee94f1e9e6f49d81a1218495e2249261d Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 27 Mar 2008 09:23:33 +0000 Subject: allow easy id change --- swext/mediawiki/build.xml | 7 +++++-- swext/mediawiki/src/description.xml | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index e0a9a5b97935..96bba1bbbd8b 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: mav $ $Date: 2008-03-26 16:30:07 $ + * last change: $Author: mav $ $Date: 2008-03-27 10:23:31 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -109,13 +109,16 @@ + + + diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index 5f1f35bf3450..699a9c9de5de 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -1,7 +1,7 @@ - + @WIKIEXTENSIONPRODUCTNAME@ -- cgit From fdbdcb9abc92b30d2eb60b0e126cda915fd7bdaf Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 27 Mar 2008 10:11:09 +0000 Subject: use wiki-publisher.oxt file name --- swext/mediawiki/build.xml | 26 ++++++++++++++------------ swext/mediawiki/makefile.mk | 6 +++--- swext/prj/d.lst | 2 +- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 96bba1bbbd8b..901815a364d0 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.12 $ + * $Revision: 1.13 $ * - * last change: $Author: mav $ $Date: 2008-03-27 10:23:31 $ + * last change: $Author: mav $ $Date: 2008-03-27 11:11:08 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -52,7 +52,7 @@ - + @@ -91,7 +91,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -110,13 +110,15 @@ + - + + @@ -126,22 +128,22 @@ - + - + - - - + + + @@ -163,7 +165,7 @@ - + diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index 05ebf0950516..cd7679045a86 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.10 $ +# $Revision: 1.11 $ # -# last change: $Author: mav $ $Date: 2008-03-26 16:40:17 $ +# last change: $Author: mav $ $Date: 2008-03-27 11:11:09 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -49,7 +49,7 @@ COMMONS_LOGGING_JAR=$(SOLARVER)$/$(INPATH)$/bin$(UPDMINOREXT)$/commons-logging-1 ANT_FLAGS+=-Dcommons-codec-jar=$(COMMONS_CODEC_JAR) -Dcommons-lang-jar=$(COMMONS_LANG_JAR) -Dcommons-httpclient-jar=$(COMMONS_HTTPCLIENT_JAR) -Dcommons-logging-jar=$(COMMONS_LOGGING_JAR) -# creates two files mediawiki.oxt and mediawiki_develop.zip, the second one might be used in further build process +# creates two files wiki-publisher.oxt and mediawiki_develop.zip, the second one might be used in further build process ALLTAR: ANTBUILD .ELSE diff --git a/swext/prj/d.lst b/swext/prj/d.lst index b9a39e93ba9b..108d9cd73b49 100644 --- a/swext/prj/d.lst +++ b/swext/prj/d.lst @@ -1,4 +1,4 @@ mkdir: %_DEST%\bin%_EXT%\swext -..\%__SRC%\bin\mediawiki.oxt %_DEST%\bin%_EXT%\swext\mediawiki.oxt +..\%__SRC%\bin\wiki-publisher.oxt %_DEST%\bin%_EXT%\swext\wiki-publisher.oxt ..\%__SRC%\bin\mediawiki_develop.zip %_DEST%\bin%_EXT%\swext\mediawiki_develop.zip -- cgit From 3564b1935806461c026dfad45f18eb996ceb0cfe Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 27 Mar 2008 10:31:14 +0000 Subject: new version --- swext/mediawiki/src/description.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index 699a9c9de5de..f3b93ead9802 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -1,6 +1,6 @@ - + @WIKIEXTENSIONPRODUCTNAME@ -- cgit From 0146010b58aed7882fd7bd7819b4d725f549ba7d Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Thu, 27 Mar 2008 11:18:14 +0000 Subject: Thirdparty license --- swext/mediawiki/build.xml | 10 +- swext/mediawiki/src/THIRDPARTYLICENSEREADME.html | 148 +++++++++++++++++++++++ 2 files changed, 154 insertions(+), 4 deletions(-) create mode 100644 swext/mediawiki/src/THIRDPARTYLICENSEREADME.html diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 901815a364d0..5ef3aea44c6f 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * - * last change: $Author: mav $ $Date: 2008-03-27 11:11:08 $ + * last change: $Author: mav $ $Date: 2008-03-27 12:18:14 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -134,9 +134,10 @@ - + + @@ -152,8 +153,9 @@ - + + diff --git a/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html b/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html new file mode 100644 index 000000000000..fbd8b0bfdca0 --- /dev/null +++ b/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html @@ -0,0 +1,148 @@ + + + + + THIRDPARTYLICENSEREADME + + +DO NOT TRANSLATE OR LOCALIZE THIS DOCUMENT
+
+ +
+
The following software may be +included in this product: Jakarta Commons Codec; Use of any of this +software is governed by the terms of the license below:
+

The Apache Software +Foundation
+

+

Commons Codec
+

+
                                 Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

+
The following software may be +included in this product: Jakarta Commons HTTP Client 2; Use of any of +this +software is governed by the terms of the license below:
+

The Apache Software +Foundation
+

+

Commons HTTP Client
+

+
                                 Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

+
The following software may be +included in this product: Jakarta Commons Lang 2.1; Use of any of this +software is governed by the terms of the license below:
+

The Apache Software +Foundation
+

+

Commons Lang
+

+
                                 Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

+
The following software may be +included in this product: Jakarta Commons Codec; Use of any of this +software is governed by the terms of the license below:
+

The Apache Software +Foundation
+

+

Commons Logging
+

+
                                 Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

+
The following software may be +included in this product: Tomcat 4.0 or higher; Use of any of this +software is governed by the terms of the license below:
+

The Apache Software +Foundation
+

+

Tomcat
+

+
+The Apache Software License, Version 1.1 +
+
+Copyright (c) 2001 The Apache Software Foundation. All rights +reserved. +
+Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +
+1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution.
+3. The end-user documentation included with the redistribution, if any, +must include the following acknowledgment: "This product includes +software developed by the Apache Software Foundation +(http://www.apache.org/)." Alternately, this acknowledgment may appear +in the software itself, if and wherever such third-party +acknowledgments normally appear.
+4. The names "XML-RPC" and "Apache Software Foundation" must not be +used to endorse or promote products derived from this software without +prior written permission. For written permission, please contact +apache@apache.org.
+5. Products derived from this software may not be called "Apache", nor +may "Apache" appear in their name, without prior written permission of +the Apache Software Foundation.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +
+==================================================================== +
+This software consists of voluntary contributions made by many +individuals on behalf of the Apache Software Foundation. For more +information on the Apache Software Foundation, please see +. +
+
+
+ + -- cgit From 6f9de13392a96daf92e28e851b80611e455246c8 Mon Sep 17 00:00:00 2001 From: René Engelhard Date: Mon, 31 Mar 2008 07:29:50 +0000 Subject: #i10000# we need readlicense_oo --- swext/prj/build.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/prj/build.lst b/swext/prj/build.lst index 27e63c6ad48e..e63f1d0e6a51 100644 --- a/swext/prj/build.lst +++ b/swext/prj/build.lst @@ -1,4 +1,4 @@ -swext swext : XALAN:xalan jut javaunohelper ridljar unoil jurt APACHE_COMMONS:apache-commons officecfg NULL +swext swext : XALAN:xalan jut javaunohelper ridljar unoil jurt APACHE_COMMONS:apache-commons officecfg readlicense_oo NULL swext swext usr1 - all swext_mkout NULL swext swext\mediawiki\help\en-US\com.sun.sun-mediawiki nmake - all swext_mwhelp NULL swext swext\mediawiki\src\registry\schema\org\openoffice\Office\Custom nmake - all swext_mwschema NULL -- cgit From 41798186f1500636540cb3de0f95f691c857446a Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 1 Apr 2008 08:22:05 +0000 Subject: #i10000# let be built when WITH_LANG is not set --- swext/mediawiki/build.xml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 5ef3aea44c6f..f3b18ead409a 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -5,9 +5,9 @@ * * $RCSfile: build.xml,v $ * - * $Revision: 1.14 $ + * $Revision: 1.15 $ * - * last change: $Author: mav $ $Date: 2008-03-27 12:18:14 $ + * last change: $Author: mav $ $Date: 2008-04-01 09:22:05 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -90,6 +90,20 @@ + + + + + + + + + + + + + + @@ -100,7 +114,7 @@ - + @@ -124,7 +138,7 @@ - + -- cgit From ae2a0b99e2c5064c972e2b720bf8544f7d6f7a40 Mon Sep 17 00:00:00 2001 From: Mikhail Voitenko Date: Tue, 1 Apr 2008 08:30:13 +0000 Subject: set the version --- swext/mediawiki/src/description.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/mediawiki/src/description.xml b/swext/mediawiki/src/description.xml index f3b93ead9802..85bfa3737007 100644 --- a/swext/mediawiki/src/description.xml +++ b/swext/mediawiki/src/description.xml @@ -1,6 +1,6 @@ - + @WIKIEXTENSIONPRODUCTNAME@ -- cgit From 359b3163fe476ba243ceb2e88156a5845308fe29 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:53:34 +0000 Subject: INTEGRATION: CWS presenterview (1.3.4); FILE MERGED 2007/12/14 09:38:38 af 1.3.4.3: #i18486# Resolved resync problems. 2007/12/13 10:31:33 af 1.3.4.2: RESYNC: (1.3-1.6); FILE MERGED 2007/10/24 12:38:55 af 1.3.4.1: #i18486# Added presenter-screen extension. --- sdext/prj/build.lst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sdext/prj/build.lst b/sdext/prj/build.lst index 5f1324848acb..087aa7d60adb 100644 --- a/sdext/prj/build.lst +++ b/sdext/prj/build.lst @@ -1,5 +1,6 @@ -dx sdext : offuh comphelper unotools readlicense_oo NULL +dx sdext : offuh comphelper unotools readlicense_oo slideshow NULL dx sdext usr1 - all sdext_mkout NULL dx sdext\prj get - all sdext_prj NULL dx sdext\source\minimizer nmake - all sdext_minimizer NULL -dx sdext\util nmake - all sdext_util sdext_minimizer NULL +dx sdext\source\presenter nmake - all sdext_presenter NULL +dx sdext\util nmake - all sdext_util sdext_minimizer sdext_presenter NULL -- cgit From d2fbb2733b91f8ff6ceb560182dfc62745740829 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:53:48 +0000 Subject: INTEGRATION: CWS presenterview (1.2.4); FILE MERGED 2007/10/24 12:38:55 af 1.2.4.1: #i18486# Added presenter-screen extension. --- sdext/prj/d.lst | 1 + 1 file changed, 1 insertion(+) diff --git a/sdext/prj/d.lst b/sdext/prj/d.lst index b921e88e1117..220a4626735b 100644 --- a/sdext/prj/d.lst +++ b/sdext/prj/d.lst @@ -1,3 +1,4 @@ mkdir: %_DEST%\bin%_EXT%\minimizer ..\%__SRC%\bin\sun-presentation-minimizer.oxt %_DEST%\bin%_EXT%\minimizer\sun-presentation-minimizer.oxt +..\%__SRC%\bin\presenter-screen.oxt %_DEST%\bin%_EXT%\presenter-screen.oxt -- cgit From f20d98291722410a837a9a382d520ac39ffaccbd Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:54:03 +0000 Subject: INTEGRATION: CWS presenterview (1.7.2); FILE MERGED 2008/04/02 15:08:53 af 1.7.2.2: #i84791# Changed default for conditional build. 2008/04/02 14:59:31 af 1.7.2.1: #i84791# Conditional build depending on configure options. --- sdext/source/minimizer/makefile.mk | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk index 22b39e7caf1c..1e3169e9f9aa 100644 --- a/sdext/source/minimizer/makefile.mk +++ b/sdext/source/minimizer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.7 $ +# $Revision: 1.8 $ # -# last change: $Author: vg $ $Date: 2008-03-18 12:23:43 $ +# last change: $Author: kz $ $Date: 2008-04-03 15:54:03 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -46,6 +46,11 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk .INCLUDE : $(PRJ)$/util$/makefile.pmk +.IF "$(ENABLE_MINIMIZER)" == "NO" +@all: + @echo "Presentation Minimizer build disabled." +.ELSE + DESCRIPTION:=$(MISC)$/SunPresentationMinimizer$/description.xml .IF "$(GUI)" == "WIN" || "$(GUI)" == "WNT" @@ -176,3 +181,4 @@ $(DESCRIPTION) $(PHONYDESC) : $$(@:f) $(PERL) $(SOLARENV)$/bin$/licinserter.pl description.xml registry/LICENSE_xxx $@ @echo LAST_WITH_LANG=$(WITH_LANG) > $(MISC)$/$(TARGET)_lang_track.mk +.ENDIF # "$(ENABLE_MINIMIZER)" != "YES" -- cgit From b47ad04e2dbab17bda9d3ff392a356b8a3a2883d Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:54:40 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:01:04 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterAnimation.cxx | 145 ++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 sdext/source/presenter/PresenterAnimation.cxx diff --git a/sdext/source/presenter/PresenterAnimation.cxx b/sdext/source/presenter/PresenterAnimation.cxx new file mode 100644 index 000000000000..94a74f098a55 --- /dev/null +++ b/sdext/source/presenter/PresenterAnimation.cxx @@ -0,0 +1,145 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterAnimation.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:54:40 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterAnimation.hxx" + +#include + +namespace sdext { namespace presenter { + +sal_uInt64 GetCurrentTime (void) +{ + TimeValue aTimeValue; + if (osl_getSystemTime(&aTimeValue)) + return sal_uInt64(aTimeValue.Seconds * 1000.0 + aTimeValue.Nanosec / 1000000.0); + else + return 0; +} + + + + +PresenterAnimation::PresenterAnimation ( + const sal_uInt64 nStartDelay, + const sal_uInt64 nTotalDuration, + const sal_uInt64 nStepDuration) + : mnStartTime(GetCurrentTime()+nStartDelay), + mnTotalDuration(nTotalDuration), + mnStepDuration(nStepDuration), + mpStartCallbacks(), + mpEndCallbacks() +{ +} + + + + +PresenterAnimation::~PresenterAnimation (void) +{ +} + + + + +sal_uInt64 PresenterAnimation::GetStartTime (void) +{ + return mnStartTime; +} + + + + +sal_uInt64 PresenterAnimation::GetEndTime (void) +{ + return mnStartTime + mnTotalDuration; +} + + + + +sal_uInt64 PresenterAnimation::GetStepDuration (void) +{ + return mnStepDuration; +} + + + + +void PresenterAnimation::AddStartCallback (const Callback& rCallback) +{ + if (mpStartCallbacks.get() == NULL) + mpStartCallbacks.reset(new ::std::vector()); + mpStartCallbacks->push_back(rCallback); +} + + + + +void PresenterAnimation::AddEndCallback (const Callback& rCallback) +{ + if (mpEndCallbacks.get() == NULL) + mpEndCallbacks.reset(new ::std::vector()); + mpEndCallbacks->push_back(rCallback); +} + + + +void PresenterAnimation::RunStartCallbacks (void) +{ + if (mpStartCallbacks.get() != NULL) + { + ::std::vector::const_iterator iCallback; + for (iCallback=mpStartCallbacks->begin(); iCallback!=mpStartCallbacks->end(); ++iCallback) + (*iCallback)(); + } +} + + + + +void PresenterAnimation::RunEndCallbacks (void) +{ + if (mpEndCallbacks.get() != NULL) + { + ::std::vector::const_iterator iCallback; + for (iCallback=mpEndCallbacks->begin(); iCallback!=mpEndCallbacks->end(); ++iCallback) + (*iCallback)(); + } +} + + + + +} } // end of namespace ::sdext::presenter -- cgit From 76d42b4da7d3ca68e4fcfe0b4cd397bb00f80d6d Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:54:53 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:00:44 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterAnimation.hxx | 138 ++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 sdext/source/presenter/PresenterAnimation.hxx diff --git a/sdext/source/presenter/PresenterAnimation.hxx b/sdext/source/presenter/PresenterAnimation.hxx new file mode 100644 index 000000000000..3d4acc712fe6 --- /dev/null +++ b/sdext/source/presenter/PresenterAnimation.hxx @@ -0,0 +1,138 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterAnimation.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:54:53 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_ANIMATION_HXX +#define SDEXT_PRESENTER_ANIMATION_HXX + +#include +#include +#include +#include +#include +#include + +namespace sdext { namespace presenter { + +/** Base class for animations handled by a PresenterAnimator object. + A PresenterAnimation objects basically states when it wants to be + started, how long it runs, and in what steps it wants to be called back + while running. + When a PresenterAnimation object is active/running its Run() method is + called back with increasing values between 0 and 1. +*/ +class PresenterAnimation + : private ::boost::noncopyable +{ +public: + /** Create a new PresenterAnimation object. + @param nStartDelay + The delay in ms (milliseconds) from this call until the new + object is to be activated. + @param nTotalDuration + The duration in ms the Run() method is to be called with + increasing values between 0 and 1. + @param nStepDuration + The duration between calls to Run(). This leads to approximately + nTotalDuration/nStepDuration calls to Run(). The exact duration + of each step may vary depending on system load an other influences. + */ + PresenterAnimation ( + const sal_uInt64 nStartDelay, + const sal_uInt64 nTotalDuration, + const sal_uInt64 nStepDuration); + virtual ~PresenterAnimation (void); + + /** Return the absolute start time in a system dependent format. + At about this time the Run() method will be called with a value of 0. + */ + sal_uInt64 GetStartTime (void); + + /** Return the absolute end time in a system dependent format. + At about this time the Run() method will be called with a value of 1. + */ + sal_uInt64 GetEndTime (void); + + /** Return the duration of each step in ms. + */ + sal_uInt64 GetStepDuration (void); + + typedef ::boost::function Callback; + + /** Add a callback that is executed before Run() is called for the first + time. + */ + void AddStartCallback (const Callback& rCallback); + + /** Add a callback that is executed after Run() is called for the last + time. + */ + void AddEndCallback (const Callback& rCallback); + + /** Called with nProgress taking on values between 0 and 1. + @param nProgress + A value between 0 and 1. + @param nCurrentTime + Current time in a system dependent format. + */ + virtual void Run (const double nProgress, const sal_uInt64 nCurrentTime) = 0; + + /** Called just before Run() is called for the first time to trigger the + callbacks registered via the AddStartCallback(). + */ + void RunStartCallbacks (void); + + /** Called just after Run() is called for the last time to trigger the + callbacks registered via the AddEndCallback(). + */ + void RunEndCallbacks (void); + +private: + const sal_uInt64 mnStartTime; + const sal_uInt64 mnTotalDuration; + const sal_uInt64 mnStepDuration; + ::boost::scoped_ptr > mpStartCallbacks; + ::boost::scoped_ptr > mpEndCallbacks; +}; + +sal_uInt64 GetCurrentTime (void); +inline sal_uInt32 GetSeconds (const sal_uInt64 nTime) { return sal_uInt32(nTime / 1000); } +inline sal_uInt32 GetNanoSeconds (const sal_uInt64 nTime) { return sal_uInt32((nTime % 1000) * 1000000); } + +typedef ::boost::shared_ptr SharedPresenterAnimation; + + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From f5f98003089a1ddcc1946833874348b86991a28c Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:55:05 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:04:38 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterAnimator.cxx | 193 +++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 sdext/source/presenter/PresenterAnimator.cxx diff --git a/sdext/source/presenter/PresenterAnimator.cxx b/sdext/source/presenter/PresenterAnimator.cxx new file mode 100644 index 000000000000..80843c718d36 --- /dev/null +++ b/sdext/source/presenter/PresenterAnimator.cxx @@ -0,0 +1,193 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterAnimator.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:55:05 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterAnimator.hxx" + +#include +#include +#include +#include +#include + +namespace sdext { namespace presenter { + + + +//===== PresenterAnimator::Timer ============================================== + +class PresenterAnimator::Timer : public ::vos::OTimer +{ +public: + typedef ::boost::function0 Callback; + Timer (const Callback& rCallback) : maCallback(rCallback){ acquire(); }; + virtual ~Timer (void) { }; + void Dispose (void) { stop(); release(); }; +protected: + virtual void SAL_CALL onShot (void) { maCallback(); }; +private: + Callback maCallback; +}; + + + + +//===== PresenterAnimator ===================================================== + +PresenterAnimator::PresenterAnimator (void) + : maFutureAnimations(), + maActiveAnimations(), + mpTimer(new Timer(::boost::bind(&PresenterAnimator::Process, this))), + mnNextTime(0) +{ +} + + + + +PresenterAnimator::~PresenterAnimator (void) +{ + mpTimer->Dispose(); +} + + + + + +void PresenterAnimator::AddAnimation (const SharedPresenterAnimation& rpAnimation) +{ + ::osl::MutexGuard aGuard (m_aMutex); + + maFutureAnimations.insert(AnimationList::value_type(rpAnimation->GetStartTime(), rpAnimation)); + ScheduleNextRun(); +} + + + + +void PresenterAnimator::Process (void) +{ + ::osl::MutexGuard aGuard (m_aMutex); + + mnNextTime = 0; + mpTimer->stop(); + + const sal_uInt64 nCurrentTime (GetCurrentTime()); + + ActivateAnimations(nCurrentTime); + + while ( ! maActiveAnimations.empty()) + { + sal_uInt64 nRequestedTime (maActiveAnimations.begin()->first); + SharedPresenterAnimation pAnimation (maActiveAnimations.begin()->second); + + if (nRequestedTime > nCurrentTime) + break; + + maActiveAnimations.erase(maActiveAnimations.begin()); + + const double nTotalDuration (double(pAnimation->GetEndTime() - pAnimation->GetStartTime())); + double nProgress (nTotalDuration > 0 ? (nCurrentTime - pAnimation->GetStartTime()) / nTotalDuration : 1); + if (nProgress <= 0) + nProgress = 0; + else if (nProgress >= 1) + nProgress = 1; + + OSL_TRACE("running animation step at %d (requested was %d)\n", nCurrentTime, nRequestedTime); + pAnimation->Run(nProgress, nCurrentTime); + + if (nCurrentTime < pAnimation->GetEndTime()) + maActiveAnimations.insert( + AnimationList::value_type( + nCurrentTime + pAnimation->GetStepDuration(), + pAnimation)); + else + pAnimation->RunEndCallbacks(); + } + + ScheduleNextRun(); +} + + + + +void PresenterAnimator::ActivateAnimations (const sal_uInt64 nCurrentTime) +{ + while ( ! maFutureAnimations.empty() + && maFutureAnimations.begin()->first <= nCurrentTime) + { + SharedPresenterAnimation pAnimation (maFutureAnimations.begin()->second); + maActiveAnimations.insert(*maFutureAnimations.begin()); + maFutureAnimations.erase(maFutureAnimations.begin()); + pAnimation->RunStartCallbacks(); + } +} + + + + +void PresenterAnimator::ScheduleNextRun (void) +{ + sal_uInt64 nStartTime (0); + + if ( ! maActiveAnimations.empty()) + { + nStartTime = maActiveAnimations.begin()->first; + if ( ! maFutureAnimations.empty()) + if (maFutureAnimations.begin()->first < nStartTime) + nStartTime = maFutureAnimations.begin()->first; + } + else if ( ! maFutureAnimations.empty()) + nStartTime = maFutureAnimations.begin()->first; + + if (nStartTime > 0) + ScheduleNextRun(nStartTime); +} + + + + +void PresenterAnimator::ScheduleNextRun (const sal_uInt64 nStartTime) +{ + if (mnNextTime==0 || nStartTimestop(); + ::vos::TTimeValue aTimeValue (GetSeconds(mnNextTime), GetNanoSeconds(mnNextTime)); + mpTimer->setAbsoluteTime(aTimeValue); + mpTimer->start(); + } +} + +} } // end of namespace ::sdext::presenter -- cgit From cedbbf9bcce05c3fb86bca9baab0530700c5db1e Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:55:18 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:04:52 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterAnimator.hxx | 81 ++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 sdext/source/presenter/PresenterAnimator.hxx diff --git a/sdext/source/presenter/PresenterAnimator.hxx b/sdext/source/presenter/PresenterAnimator.hxx new file mode 100644 index 000000000000..5f1674debd88 --- /dev/null +++ b/sdext/source/presenter/PresenterAnimator.hxx @@ -0,0 +1,81 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterAnimator.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:55:18 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_ANIMATOR_HXX +#define SDEXT_PRESENTER_ANIMATOR_HXX + +#include "PresenterAnimation.hxx" +#include +#include +#include +#include + +namespace sdext { namespace presenter { + +/** Simple animation management. Call AddAnimation to run animations + concurrently or one of the other. See PresenterAnimation for details of + how to specify animations. +*/ +class PresenterAnimator + : private ::boost::noncopyable, + private ::cppu::BaseMutex +{ +public: + PresenterAnimator (void); + virtual ~PresenterAnimator (void); + + /** Add an animation. The time at which to start and end this animation + is provided by the animation itself. + */ + void AddAnimation (const SharedPresenterAnimation& rpAnimation); + +private: + typedef ::std::multimap AnimationList; + AnimationList maFutureAnimations; + AnimationList maActiveAnimations; + class Timer; + ::boost::scoped_ptr mpTimer; + sal_uInt64 mnNextTime; + + void Process (void); + void ActivateAnimations (const sal_uInt64 nCurrentTime); + void ScheduleNextRun (void); + void ScheduleNextRun (const sal_uInt64 nStartTime); + +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From b56e182db90df654eb6f45c0b98c83dc27b4f4ca Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:55:29 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:11:02 af 1.1.2.1: #i18486# Initial revision. --- .../source/presenter/PresenterBitmapContainer.cxx | 243 +++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 sdext/source/presenter/PresenterBitmapContainer.cxx diff --git a/sdext/source/presenter/PresenterBitmapContainer.cxx b/sdext/source/presenter/PresenterBitmapContainer.cxx new file mode 100644 index 000000000000..0d6720878e5f --- /dev/null +++ b/sdext/source/presenter/PresenterBitmapContainer.cxx @@ -0,0 +1,243 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterBitmapContainer.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:55:29 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterBitmapContainer.hxx" +#include "PresenterComponent.hxx" +#include "PresenterConfigurationAccess.hxx" + +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::std; +using ::rtl::OUString; + +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + + +namespace sdext { namespace presenter { + +//===== PresenterBitmapContainer ============================================== + +PresenterBitmapContainer::PresenterBitmapContainer ( + const css::uno::Reference& rxComponentContext, + const css::uno::Reference& rxCanvas, + const ::rtl::OUString& rsConfigurationBase) + : maIconContainer() +{ + LoadButtons(rxComponentContext, rxCanvas, rsConfigurationBase); +} + + + + +PresenterBitmapContainer::~PresenterBitmapContainer (void) +{ + maIconContainer.clear(); +} + + + + +PresenterBitmapContainer::BitmapSet PresenterBitmapContainer::GetButtons ( + const OUString& rsName) const +{ + BitmapContainer::const_iterator iSet (maIconContainer.find(rsName)); + if (iSet != maIconContainer.end()) + return iSet->second; + else + return BitmapSet(); +} + + + + +void PresenterBitmapContainer::LoadButtons ( + const css::uno::Reference& rxComponentContext, + const css::uno::Reference& rxCanvas, + const ::rtl::OUString& rsConfigurationBase) +{ + if ( ! rxCanvas.is()) + return; + + try + { + // Get access to the configuration. + PresenterConfigurationAccess aConfiguration ( + rxComponentContext, + A2S("org.openoffice.Office.extension.PresenterScreen"), + PresenterConfigurationAccess::READ_ONLY); + Reference xBitmapList ( + aConfiguration.GetConfigurationNode(rsConfigurationBase), + UNO_QUERY_THROW); + + // Determine the base path of the bitmaps. + Reference xInformationProvider ( + rxComponentContext->getValueByName(OUString::createFromAscii( + "/singletons/com.sun.star.deployment.PackageInformationProvider")), + UNO_QUERY_THROW); + OUString sLocation; + if (xInformationProvider.is()) + sLocation = xInformationProvider->getPackageLocation(gsExtensionIdentifier); + sLocation += A2S("/"); + + // Create an object that is able to load the bitmaps in a format that is + // supported by the canvas. + Reference xFactory ( + rxComponentContext->getServiceManager(), UNO_QUERY); + if ( ! xFactory.is()) + return; + Reference xBitmapLoader( + xFactory->createInstanceWithContext( + A2S("com.sun.star.drawing.PresenterHelper"), + rxComponentContext), + UNO_QUERY_THROW); + + // Load all button bitmaps. + if (xBitmapList.is()) + { + vector aProperties (4); + aProperties[0] = A2S("Name"); + aProperties[1] = A2S("NormalFileName"); + aProperties[2] = A2S("MouseOverFileName"); + aProperties[3] = A2S("ButtonDownFileName"); + PresenterConfigurationAccess::ForAll( + xBitmapList, + aProperties, + ::boost::bind(&PresenterBitmapContainer::ProcessBitmap, this, + _1, + _2, + sLocation, + rxCanvas, + xBitmapLoader)); + } + } + catch (Exception&) + { + OSL_ASSERT(false); + } +} + + + + +void PresenterBitmapContainer::ProcessBitmap ( + const OUString& rsKey, + const vector& rValues, + const OUString& rsLocation, + const css::uno::Reference& rxCanvas, + const Reference& rxBitmapLoader) +{ + (void)rsKey; + OSL_ASSERT(rxCanvas.is()); + OSL_ASSERT(rxBitmapLoader.is()); + + if (rValues.size() != 4) + return; + + OUString sName; + rValues[0] >>= sName; + + BitmapSet aIconSet; + try + { + OUString sNormalIconName; + if (rValues[1] >>= sNormalIconName) + aIconSet.mxNormalIcon = rxBitmapLoader->loadBitmap( + rsLocation + sNormalIconName, + rxCanvas); + } + catch (Exception&) {} + try + { + OUString sMouseOverIconName; + if (rValues[2] >>= sMouseOverIconName) + aIconSet.mxMouseOverIcon = rxBitmapLoader->loadBitmap( + rsLocation + sMouseOverIconName, + rxCanvas); + } + catch (Exception&) {} + try + { + OUString sButtonDownIconName; + if (rValues[3] >>= sButtonDownIconName) + aIconSet.mxButtonDownIcon = rxBitmapLoader->loadBitmap( + rsLocation + sButtonDownIconName, + rxCanvas); + } + catch (Exception&) {} + + aIconSet.Update(rxCanvas->getDevice()); + + maIconContainer.insert(BitmapContainer::value_type(sName,aIconSet)); +} + + + + +//===== PresenterBitmapContainer::BitmapSet =================================== + +void PresenterBitmapContainer::BitmapSet::Update ( + const Reference& rxDevice) +{ + if (mxNormalIcon.is() && ! mxMouseOverIcon.is()) + { + const geometry::IntegerSize2D aSize (mxNormalIcon->getSize()); + Reference xHighlight(rxDevice->createCompatibleBitmap(aSize)); + if (xHighlight.is()) + { + Reference xHighlightCanvas (xHighlight->queryBitmapCanvas()); + if (xHighlightCanvas.is()) + { + double aColor[] = {0,0,0,128}; + xHighlightCanvas->drawBitmapModulated( + mxNormalIcon, + rendering::ViewState(geometry::AffineMatrix2D(1,0,0,0,1,0), NULL), + rendering::RenderState(geometry::AffineMatrix2D(1,0,0,0,1,0), NULL, + Sequence(aColor,4),rendering::CompositeOperation::SOURCE)); + mxMouseOverIcon = xHighlight; + } + } + } +} + + +} } // end of namespace ::sdext::presenter -- cgit From 47330cb8eae678a332c30edf691ad9c3f73d13cc Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:55:39 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:10:43 af 1.1.2.1: #i18486# Initial revision. --- .../source/presenter/PresenterBitmapContainer.hxx | 116 +++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 sdext/source/presenter/PresenterBitmapContainer.hxx diff --git a/sdext/source/presenter/PresenterBitmapContainer.hxx b/sdext/source/presenter/PresenterBitmapContainer.hxx new file mode 100644 index 000000000000..c066a07fdb64 --- /dev/null +++ b/sdext/source/presenter/PresenterBitmapContainer.hxx @@ -0,0 +1,116 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterBitmapContainer.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:55:39 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_BITMAP_CONTAINER_HXX +#define SDEXT_PRESENTER_BITMAP_CONTAINER_HXX + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + + +namespace sdext { namespace presenter { + +/** Manage a set of bitmap groups as they are used for buttons: three + bitmaps, one for the normal state, one for a mouse over effect and one + to show that the button has been pressed. + A bitmap group is defined by some entries in the configuration. +*/ +class PresenterBitmapContainer + : private ::boost::noncopyable +{ +public: + /** There is one bitmap for the normal state, one for a mouse over effect and one + to show that a button has been pressed. + */ + class BitmapSet + { + public: + css::uno::Reference mxNormalIcon; + css::uno::Reference mxMouseOverIcon; + css::uno::Reference mxButtonDownIcon; + + /** Fill in missing bitmaps by making mxNormalIcon lighter or + darker. + */ + void Update ( + const css::uno::Reference& rxDevice); + }; + + /** Create a new bitmap container from a section of the configuration. + @param rxComponentContext + The component context is used to create new API objects. + @param rxCanvas + Bitmaps are created specifically for this canvas. + @param rsConfigurationBase + The name of a configuration node whose sub-tree defines the + bitmap sets. + */ + PresenterBitmapContainer ( + const css::uno::Reference& rxComponentContext, + const css::uno::Reference& rxCanvas, + const ::rtl::OUString& rsConfigurationBase); + ~PresenterBitmapContainer (void); + + /** Return the bitmap set that is associated with the given name. + */ + BitmapSet GetButtons (const ::rtl::OUString& rsName) const; + +private: + typedef ::std::map BitmapContainer; + BitmapContainer maIconContainer; + + void LoadButtons ( + const css::uno::Reference& rxComponentContext, + const css::uno::Reference& rxCanvas, + const ::rtl::OUString& rsConfigurationBase); + void ProcessBitmap ( + const ::rtl::OUString& rsKey, + const ::std::vector& rValues, + const ::rtl::OUString& rsLocation, + const css::uno::Reference& rxCanvas, + const css::uno::Reference& rxBitmapLoader); +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From 8f092d9fd8eab436eb3d3f5364e5dd9af01012b5 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:55:55 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 14:54:49 af 1.1.2.8: #i18486# Prevent AnalogBitmapPainter from crashing when bitmaps are missing. 2008/01/29 14:35:51 af 1.1.2.7: #i18486# Be content with bitmap canvas instead of sprite canvas. 2008/01/23 10:56:23 af 1.1.2.6: #i18486# Adding poor-mans antialiasing. 2007/12/12 14:53:45 af 1.1.2.5: #i18486# Improved use of the XCanvas. 2007/11/19 09:24:06 af 1.1.2.4: #i18486# Added isAnchorOnly() method to XResource interface. Added simple theming. 2007/10/25 10:11:39 af 1.1.2.3: #i18486# Made display of seconds a global attribute. 2007/10/24 13:12:19 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 11:39:42 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterClock.cxx | 1458 +++++++++++++++++++++++++++++ 1 file changed, 1458 insertions(+) create mode 100644 sdext/source/presenter/PresenterClock.cxx diff --git a/sdext/source/presenter/PresenterClock.cxx b/sdext/source/presenter/PresenterClock.cxx new file mode 100644 index 000000000000..b150015efb44 --- /dev/null +++ b/sdext/source/presenter/PresenterClock.cxx @@ -0,0 +1,1458 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterClock.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:55:55 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterClock.hxx" +#include "PresenterComponent.hxx" +#include "PresenterConfigurationAccess.hxx" +#include "PresenterGeometryHelper.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + + +/** Wrapper around a library timer. +*/ +class PresenterClock::Timer : public vos::OTimer +{ +public: + explicit Timer (const ::rtl::Reference& rpClock); + virtual ~Timer (void); + + void Stop (void); + +protected: + virtual void SAL_CALL onShot (void); + +private: + ::rtl::Reference mpClock; +}; + + + + +namespace { + bool GetDateTime (oslDateTime& rDateTime); + + class BitmapDescriptor + { + public: + Reference mxBitmap; + awt::Point maOffset; + Reference mxScaledBitmap; + geometry::RealPoint2D maScaledOffset; + }; +} + + + + +class PresenterClock::Painter +{ +public: + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const rendering::RenderState& rRenderState, + const util::Color& rBackgroundColor, + const sal_Int32 nHour, + const sal_Int32 nMinute, + const sal_Int32 nSecond, + const bool bShowSeconds) = 0; + virtual void Resize (const awt::Size& rSize) = 0; +}; + + + + +namespace { + class AnalogDefaultPainter : public PresenterClock::Painter + { + public: + AnalogDefaultPainter (void); + virtual ~AnalogDefaultPainter (void) {} + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const rendering::RenderState& rRenderState, + const util::Color& rBackgroundColor, + const sal_Int32 nHour, + const sal_Int32 nMinute, + const sal_Int32 nSecond, + const bool bShowSeconds); + virtual void Resize (const awt::Size& rSize); + private: + geometry::RealPoint2D maCenter; + double mnOuterRadius; + awt::Size maSize; + Reference mxBitmap; + + /** Relative length (with respect to radius) from center to the tip of + the hand. + */ + static const double mnRelativeHourHandLength; + /** Relative length (with respect to radius) from center to the + oposing end of the tip of the hand. + */ + static const double mnRelativeHourHandLength2; + static const double mnRelativeHourHandWidth; + static const double mnRelativeMinuteHandLength; + static const double mnRelativeMinuteHandLength2; + static const double mnRelativeMinuteHandWidth; + static const double mnRelativeSecondHandLength; + static const double mnRelativeSecondHandLength2; + static const double mnRelativeSecondHandWidth; + + void PaintAngledLine ( + const double nAngle, + const double nInnerRadius, + const double nOuterRadius, + const double nStrokeWidth, + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const rendering::RenderState& rRenderState); + }; + + + class AnalogBitmapPainter : public PresenterClock::Painter + { + public: + AnalogBitmapPainter( + const Reference& rxContext, + const OUString& rsThemeName); + virtual ~AnalogBitmapPainter (void) {} + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const rendering::RenderState& rRenderState, + const util::Color& rBackgroundColor, + const sal_Int32 nHour, + const sal_Int32 nMinute, + const sal_Int32 nSecond, + const bool bShowSeconds); + virtual void Resize (const awt::Size& rSize); + private: + css::uno::Reference mxComponentContext; + const OUString msThemeName; + bool mbThemeLoaded; + bool mbThemeLoadingFailed; + geometry::RealPoint2D maCenter; + double mnOuterRadius; + BitmapDescriptor maFace; + BitmapDescriptor maMinuteHand; + BitmapDescriptor maHourHand; + + void PrepareBitmaps (const Reference& rxCanvas); + Reference GetTheme ( + PresenterConfigurationAccess& rConfiguration); + bool ThemeNameComparator ( + const ::rtl::OUString& rsKey, + const Reference& rxCandidate, + const ::rtl::OUString& rsCurrentThemeName); + void LoadBitmaps ( + PresenterConfigurationAccess& rConfiguration, + const Reference& rxNameAccess, + const Reference& rxCanvas); + void LoadBitmap ( + const OUString& rsKey, + const ::std::vector& rValues, + const OUString& rsBitmapPath, + const Reference& rxBitmapLoader); + void ScaleBitmaps (void); + }; + + + class DigitalDefaultPainter : public PresenterClock::Painter + { + public: + DigitalDefaultPainter ( + const ::rtl::Reference& rpPresenterController, + const Reference& rxViewId); + virtual ~DigitalDefaultPainter (void); + + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const rendering::RenderState& rRenderState, + const util::Color& rBackgroundColor, + const sal_Int32 nHour, + const sal_Int32 nMinute, + const sal_Int32 nSecond, + const bool bShowSeconds); + virtual void Resize (const awt::Size& rSize); + + private: + ::rtl::Reference mpPresenterController; + bool mbIs24HourFormat; + bool mbIsAdaptFontSize; + Reference mxFont; + awt::Size maWindowSize; + OUString msViewURL; + + void CreateFont ( + const Reference& rxCanvas, + const bool bIsShowSeconds); + }; + + +} // end of anonymous namespace + + + + +//===== PresenterClock ================================================================= + +::rtl::Reference PresenterClock::Create ( + const Reference& rxContext, + const Reference& rxViewId, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) +{ + ::rtl::Reference pClock (new PresenterClock( + rxContext, + rxViewId, + rxController, + rpPresenterController)); + pClock->LateInit(); + return pClock; +} + + + + +PresenterClock::PresenterClock ( + const Reference& rxContext, + const Reference& rxViewId, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) + : PresenterClockInterfaceBase(m_aMutex), + mxComponentContext(rxContext), + mxViewId(rxViewId), + mxWindow(), + mxCanvas(), + mxPane(), + mpPresenterController(rpPresenterController), + mbIsResizePending(true), + maViewState(), + maRenderState(), + mpTimer(), + mpClockPainter(), + mpClockPainter2(), + mnMode(1), + mnHour(-1), + mnMinute(-1), + mnSecond(-1), + mbIsShowSeconds(true) +{ + SetMode(mnMode); + + maViewState.AffineTransform = geometry::AffineMatrix2D(1,0,0, 0,1,0); + maRenderState.AffineTransform = geometry::AffineMatrix2D(1,0,0, 0,1,0); + maRenderState.DeviceColor = Sequence(3); + maRenderState.DeviceColor[0] = 0; + maRenderState.DeviceColor[1] = 0; + maRenderState.DeviceColor[2] = 0; + + try + { + + Reference xCM (rxController, UNO_QUERY_THROW); + Reference xCC (xCM->getConfigurationController(), UNO_QUERY_THROW); + mxPane = Reference(xCC->getResource(rxViewId->getAnchor()), UNO_QUERY_THROW); + + mxWindow = mxPane->getWindow(); + if (mxWindow.is()) + { + mxWindow->addPaintListener(this); + mxWindow->addWindowListener(this); + mxWindow->addMouseListener(this); + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->setBackground(util::Color(0xff000000)); + mxWindow->setVisible(sal_True); + } + + Resize(); + } + catch (RuntimeException&) + { + disposing(); + throw; + } +} + + + + +PresenterClock::~PresenterClock (void) +{ +} + + + + +void PresenterClock::LateInit (void) +{ + mpTimer = new Timer(this); +} + + + + +void SAL_CALL PresenterClock::disposing (void) +{ + // osl::MutexGuard aGuard (m_aMutex); + if (mpTimer != NULL) + { + mpTimer->Stop(); + } + if (mxWindow.is()) + { + mxWindow->removePaintListener(this); + mxWindow->removeWindowListener(this); + mxWindow->removeMouseListener(this); + mxWindow = NULL; + } + mxCanvas = NULL; + mxViewId = NULL; +} + + + + +void PresenterClock::UpdateTime (void) +{ + // Get current time and check whether it is different from last time. + oslDateTime aDateTime; + if ( ! GetDateTime(aDateTime)) + return; + if (aDateTime.Hours != mnHour + || aDateTime.Minutes != mnMinute + || aDateTime.Seconds != mnSecond) + { + mnHour = aDateTime.Hours % 24; + mnMinute = aDateTime.Minutes % 60; + mnSecond = aDateTime.Seconds % 60; + + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(awt::InvalidateStyle::NOERASE | + awt::InvalidateStyle::UPDATE); + } +} + + + + +//----- lang::XEventListener ------------------------------------------------- + +void SAL_CALL PresenterClock::disposing (const lang::EventObject& rEventObject) + throw (RuntimeException) +{ + // ::osl::MutexGuard aSolarGuard (::osl::Mutex::getGlobalMutex()); + // osl::MutexGuard aGuard (m_aMutex); + + if (rEventObject.Source == mxWindow) + { + mxWindow = NULL; + if (mpTimer != NULL) + mpTimer->Stop(); + } +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterClock::windowPaint (const awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + ::osl::MutexGuard aSolarGuard (::osl::Mutex::getGlobalMutex()); + Paint(rEvent.UpdateRect); +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterClock::windowResized (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + mbIsResizePending = true; +} + + + + +void SAL_CALL PresenterClock::windowMoved (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + mbIsResizePending = true; +} + + + + +void SAL_CALL PresenterClock::windowShown (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + mbIsResizePending = true; +} + + + + +void SAL_CALL PresenterClock::windowHidden (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XMouseListener -------------------------------------------------------- + +void SAL_CALL PresenterClock::mousePressed (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + if (rEvent.Buttons == awt::MouseButton::LEFT) + { + SetMode(mnMode+1); + } +} + + + + +void SAL_CALL PresenterClock::mouseReleased (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterClock::mouseEntered (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterClock::mouseExited (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XResourceId ----------------------------------------------------------- + +Reference SAL_CALL PresenterClock::getResourceId (void) + throw (RuntimeException) +{ + return mxViewId; +} + + + + +sal_Bool SAL_CALL PresenterClock::isAnchorOnly (void) + throw (RuntimeException) +{ + return false; +} + + + + +//----------------------------------------------------------------------------- + +void PresenterClock::Resize (void) +{ + if (mxPane.is()) + mxCanvas = Reference(mxPane->getCanvas(), UNO_QUERY); + if (mxWindow.is() && mxCanvas.is()) + { + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const awt::Size aWindowSize(aWindowBox.Width,aWindowBox.Height); + if (mpClockPainter.get() != NULL) + mpClockPainter->Resize(aWindowSize); + if (mpClockPainter2.get() != NULL) + mpClockPainter2->Resize(aWindowSize); + mbIsResizePending = false; + } +} + + + + +void PresenterClock::Paint (const awt::Rectangle& rUpdateBox) +{ + if ( ! mxCanvas.is() && mxPane.is()) + mxCanvas = Reference(mxPane->getCanvas(), UNO_QUERY); + if ( ! mxWindow.is() + || ! mxCanvas.is() + || ! mxCanvas->getDevice().is()) + { + return; + } + + try + { + if (mbIsResizePending) + Resize(); + + Reference xUpdatePolygon ( + PresenterGeometryHelper::CreatePolygon(rUpdateBox, mxCanvas->getDevice())); + + Clear(xUpdatePolygon); + + if (mpClockPainter.get() != NULL) + mpClockPainter->Paint(mxCanvas, + maViewState, + maRenderState, + mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL()), + mnHour, + mnMinute, + mnSecond, + mbIsShowSeconds); + + if (mpClockPainter2.get() != NULL) + mpClockPainter2->Paint( + mxCanvas, + maViewState, + maRenderState, + mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL()), + mnHour, + mnMinute, + mnSecond, + mbIsShowSeconds); + } + catch (RuntimeException& e) + { + (void)e; + } + + // Make the back buffer visible. + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); +} + + + + +void PresenterClock::Clear (const Reference& rxUpdatePolygon) +{ + rendering::RenderState aRenderState = maRenderState; + const sal_Int32 nColor ( + mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL())); + aRenderState.DeviceColor[0] = ((nColor&0x00ff0000) >> 16) / 255.0; + aRenderState.DeviceColor[1] = ((nColor&0x0000ff00) >> 8) / 255.0; + aRenderState.DeviceColor[2] = ((nColor&0x000000ff) >> 0) / 255.0; + + if (rxUpdatePolygon.is()) + mxCanvas->fillPolyPolygon( + rxUpdatePolygon, + maViewState, + aRenderState); +} + + + + +void PresenterClock::SetMode (const sal_Int32 nMode) +{ + mnMode = nMode % 3; + + switch (mnMode) + { + case 0: + mpClockPainter.reset( + new AnalogBitmapPainter( + mxComponentContext, + OUString::createFromAscii("ClockTheme"))); + mpClockPainter2.reset(); + break; + + case 1: + mpClockPainter.reset(); + mpClockPainter2.reset(new AnalogDefaultPainter()); + break; + + case 2: + mpClockPainter.reset(); + mpClockPainter2.reset(new DigitalDefaultPainter(mpPresenterController, mxViewId)); + break; + + case 3: + mpClockPainter.reset( + new AnalogBitmapPainter( + mxComponentContext, + OUString::createFromAscii("ClockTheme"))); + mpClockPainter2.reset(new AnalogDefaultPainter()); + break; + } + Resize(); +} + + + + +void PresenterClock::ThrowIfDisposed (void) + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterClock object has already been disposed")), + static_cast(this)); + } +} + + + + +//===== Timer ================================================================= + +PresenterClock::Timer::Timer (const ::rtl::Reference& rpClock) + : OTimer(vos::TTimeValue(10), vos::TTimeValue(100/*ms*/)), + mpClock(rpClock) +{ + acquire(); + start(); +} + + + + +PresenterClock::Timer::~Timer (void) +{ + if (mpClock.is()) + Stop(); +} + + + + +void PresenterClock::Timer::Stop (void) +{ + mpClock = NULL; + stop(); + release(); +} + + + + +void SAL_CALL PresenterClock::Timer::onShot (void) +{ + if (mpClock.get() != NULL) + mpClock->UpdateTime(); +} + + + +namespace { + +//============================================================================= + +bool GetDateTime (oslDateTime& rDateTime) +{ + TimeValue aSystemTime; + TimeValue aLocalTime; + if (osl_getSystemTime(&aSystemTime)) + if (osl_getLocalTimeFromSystemTime(&aSystemTime, &aLocalTime)) + if (osl_getDateTimeFromTimeValue(&aLocalTime, &rDateTime)) + return true; + return false; +} + + + + +//===== AnalogDefaultPainter ================================================== + +const double AnalogDefaultPainter::mnRelativeHourHandLength = 0.65; +const double AnalogDefaultPainter::mnRelativeHourHandLength2 (-0.1); +const double AnalogDefaultPainter::mnRelativeHourHandWidth (0.055); +const double AnalogDefaultPainter::mnRelativeMinuteHandLength (-0.2); +const double AnalogDefaultPainter::mnRelativeMinuteHandLength2 (0.85); +const double AnalogDefaultPainter::mnRelativeMinuteHandWidth (0.025); +const double AnalogDefaultPainter::mnRelativeSecondHandLength (-0.25); +const double AnalogDefaultPainter::mnRelativeSecondHandLength2 (0.95); +const double AnalogDefaultPainter::mnRelativeSecondHandWidth (0.015); + +AnalogDefaultPainter::AnalogDefaultPainter (void) + : maCenter(0,0), + mnOuterRadius(0), + maSize(0,0), + mxBitmap() +{ +} + + + + +void AnalogDefaultPainter::Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const rendering::RenderState& rRenderState, + const util::Color& rBackgroundColor, + const sal_Int32 nHour, + const sal_Int32 nMinute, + const sal_Int32 nSecond, + const bool bShowSeconds) +{ + double nInnerRadius (0); + double nStrokeWidth (0.1); + const double nClockSize (2*mnOuterRadius); + + // Some antialiasing is created by painting into a bitmap twice the + // screen size and then scaling it down. + const sal_Int32 nSuperSampleFactor (2); + if ( ! mxBitmap.is()) + { + mxBitmap = (rxCanvas->getDevice()->createCompatibleBitmap( + geometry::IntegerSize2D( + maSize.Width*nSuperSampleFactor, + maSize.Height*nSuperSampleFactor))); + } + Reference xBitmapCanvas (mxBitmap->queryBitmapCanvas(), UNO_QUERY); + rendering::RenderState aRenderState(rRenderState); + aRenderState.AffineTransform.m00 = nSuperSampleFactor; + aRenderState.AffineTransform.m11 = nSuperSampleFactor; + + // Clear the background. + aRenderState.DeviceColor[0] = ((rBackgroundColor&0x00ff0000) >> 16) / 255.0; + aRenderState.DeviceColor[1] = ((rBackgroundColor&0x0000ff00) >> 8) / 255.0; + aRenderState.DeviceColor[2] = ((rBackgroundColor&0x000000ff) >> 0) / 255.0; + Reference xPolygon ( + PresenterGeometryHelper::CreatePolygon( + awt::Rectangle(0,0,maSize.Width,maSize.Height), + xBitmapCanvas->getDevice())); + if (xPolygon.is()) + xBitmapCanvas->fillPolyPolygon(xPolygon, rViewState, aRenderState); + + // Clock face and clock hands are painted in black. + aRenderState.DeviceColor[0] = 0; + aRenderState.DeviceColor[1] = 0; + aRenderState.DeviceColor[2] = 0; + + // Paint the clock face. + for (sal_Int32 nHourMark=0; nHourMark<12; ++nHourMark) + { + if (nHourMark%3 == 0) + { + nInnerRadius = 0.7 * mnOuterRadius; + nStrokeWidth = 0.05 * nClockSize; + } + else + { + nInnerRadius = 0.8 * mnOuterRadius; + nStrokeWidth = 0.03 * nClockSize; + } + + const double nAngle (nHourMark * 2 * M_PI / 12); + PaintAngledLine(nAngle, nInnerRadius, mnOuterRadius, nStrokeWidth, + xBitmapCanvas, rViewState, aRenderState); + } + + // Paint the hour hand. + const double nHoursAngle (((nHour%12)+nMinute/60.0) * 2 * M_PI / 12); + PaintAngledLine(nHoursAngle, + mnRelativeHourHandLength2*mnOuterRadius, + mnRelativeHourHandLength*mnOuterRadius, + mnRelativeHourHandWidth*nClockSize, + xBitmapCanvas, rViewState, aRenderState); + + // Paint the minute hand. + const double nMinutesAngle ((nMinute+nSecond/60.0) * 2 * M_PI / 60); + PaintAngledLine(nMinutesAngle, + mnRelativeMinuteHandLength2*mnOuterRadius, + mnRelativeMinuteHandLength*mnOuterRadius, + mnRelativeMinuteHandWidth*nClockSize, + xBitmapCanvas, rViewState, aRenderState); + + // Optionally paint the second hand. + if (bShowSeconds) + { + const double nSecondsAngle (nSecond * 2 * M_PI / 60); + PaintAngledLine(nSecondsAngle, + mnRelativeSecondHandLength2*mnOuterRadius, + mnRelativeSecondHandLength*mnOuterRadius, + mnRelativeSecondHandWidth*nClockSize, + xBitmapCanvas, rViewState, aRenderState); + } + + aRenderState.AffineTransform.m00 = 1.0 / nSuperSampleFactor; + aRenderState.AffineTransform.m11 = 1.0 / nSuperSampleFactor; + rxCanvas->drawBitmap(mxBitmap,rViewState,aRenderState); +} + + + + +void AnalogDefaultPainter::PaintAngledLine ( + const double nAngle, + const double nInnerRadius, + const double nOuterRadius, + const double nStrokeWidth, + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const rendering::RenderState& rRenderState) +{ + if ( ! rxCanvas.is()) + return; + + rendering::StrokeAttributes aStrokeAttributes; + aStrokeAttributes.StrokeWidth = nStrokeWidth; + aStrokeAttributes.StartCapType = rendering::PathCapType::SQUARE; + aStrokeAttributes.EndCapType = rendering::PathCapType::SQUARE; + aStrokeAttributes.StartCapType = rendering::PathCapType::BUTT; + aStrokeAttributes.EndCapType = rendering::PathCapType::BUTT; + const double nCos (cos(nAngle - M_PI/2)); + const double nSin (sin(nAngle - M_PI/2)); + + Sequence > aPoints(1); + aPoints[0] = Sequence(2); + aPoints[0][0] = geometry::RealPoint2D( + maCenter.X + nInnerRadius*nCos + 0.5, + maCenter.Y + nInnerRadius*nSin + 0.5); + aPoints[0][1] = geometry::RealPoint2D( + maCenter.X + nOuterRadius*nCos + 0.5, + maCenter.Y + nOuterRadius*nSin + 0.5); + + Reference xLine ( + rxCanvas->getDevice()->createCompatibleLinePolyPolygon(aPoints), + UNO_QUERY); + if ( ! xLine.is()) + return; + rxCanvas->strokePolyPolygon( + xLine, + rViewState, + rRenderState, + aStrokeAttributes); +} + + + + +void AnalogDefaultPainter::Resize (const awt::Size& rWindowSize) +{ + maSize = rWindowSize; + maCenter = geometry::RealPoint2D(rWindowSize.Width/2.0, rWindowSize.Height/2.0); + mnOuterRadius = ::std::min(rWindowSize.Width, rWindowSize.Height) / 2.0 - 2; + mxBitmap = NULL; +} + + + + +//===== AnalogBitmapPainter =================================================== + +AnalogBitmapPainter::AnalogBitmapPainter ( + const Reference& rxContext, + const OUString& rsThemeName) + : mxComponentContext(rxContext), + msThemeName(rsThemeName), + mbThemeLoaded(false), + mbThemeLoadingFailed(false), + maCenter(), + mnOuterRadius(), + maFace(), + maMinuteHand(), + maHourHand() +{ +} + + + + +void AnalogBitmapPainter::Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const rendering::RenderState& rRenderState, + const util::Color& rBackgroundColor, + const sal_Int32 nHour, + const sal_Int32 nMinute, + const sal_Int32 nSecond, + const bool bShowSeconds) +{ + (void)rBackgroundColor; + (void)nSecond; + (void)bShowSeconds; + + if ( ! rxCanvas.is()) + return; + + rendering::RenderState aRenderState = rRenderState; + + try + { + PrepareBitmaps(rxCanvas); + + if (maFace.mxScaledBitmap.is()) + { + aRenderState.AffineTransform = geometry::AffineMatrix2D( + 1,0, maCenter.X - maFace.maScaledOffset.X, + 0,1, maCenter.Y - maFace.maScaledOffset.Y); + rxCanvas->drawBitmap(maFace.mxScaledBitmap, rViewState, aRenderState); + } + + if (maMinuteHand.mxScaledBitmap.is()) + { + const double nMinuteAngle ((nMinute+nSecond/60.0) * 2.0 * M_PI / 60.0); + const double nCos (cos(nMinuteAngle - M_PI/2)); + const double nSin (sin(nMinuteAngle - M_PI/2)); + aRenderState.AffineTransform = geometry::AffineMatrix2D( + nCos, + -nSin, + -maMinuteHand.maScaledOffset.X*nCos + + maMinuteHand.maScaledOffset.Y*nSin+maCenter.X, + nSin, + nCos, + -maMinuteHand.maScaledOffset.X*nSin + - maMinuteHand.maScaledOffset.Y*nCos+maCenter.Y); + rxCanvas->drawBitmap(maMinuteHand.mxScaledBitmap, rViewState, aRenderState); + } + + if (maHourHand.mxScaledBitmap.is()) + { + const double nHoursAngle ((nHour%12+nMinute/60.0) * 2.0 * M_PI / 12.0); + const double nCos (cos(nHoursAngle - M_PI/2)); + const double nSin (sin(nHoursAngle - M_PI/2)); + aRenderState.AffineTransform = geometry::AffineMatrix2D( + nCos, + -nSin, + -maHourHand.maScaledOffset.X*nCos+maHourHand.maScaledOffset.Y*nSin+maCenter.X, + nSin, + nCos, + -maHourHand.maScaledOffset.X*nSin-maHourHand.maScaledOffset.Y*nCos+maCenter.Y); + rxCanvas->drawBitmap(maHourHand.mxScaledBitmap, rViewState, aRenderState); + } + } + catch(beans::UnknownPropertyException&) + { + } + catch(RuntimeException&) + { + } +} + + + + +void AnalogBitmapPainter::Resize (const awt::Size& rWindowSize) +{ + maCenter = geometry::RealPoint2D(rWindowSize.Width/2.0, rWindowSize.Height/2.0); + mnOuterRadius = ::std::min(rWindowSize.Width, rWindowSize.Height) / 2.0 - 2; + maFace.mxScaledBitmap = NULL; + maHourHand.mxScaledBitmap = NULL; + maMinuteHand.mxScaledBitmap = NULL; +} + + + + +void AnalogBitmapPainter::PrepareBitmaps (const Reference& rxCanvas) +{ + if (mbThemeLoadingFailed) + { + // Theme loading has failed previously. Do not try a second time. + return; + } + if ( ! rxCanvas.is()) + { + // No canvas => bitmaps can neither be loaded, transformed into the + // right format, nor can they be painted. + return; + } + + if ( ! mbThemeLoaded) + { + mbThemeLoaded = true; + + // Get access to the clock bitmaps in the configuration. + PresenterConfigurationAccess aConfiguration ( + mxComponentContext, + OUString::createFromAscii("org.openoffice.Office.extension.PresenterScreen"), + PresenterConfigurationAccess::READ_ONLY); + + Reference xTheme (GetTheme(aConfiguration)); + if (xTheme.is()) + LoadBitmaps(aConfiguration, xTheme, rxCanvas); + else + mbThemeLoadingFailed = true; + } + + ScaleBitmaps(); +} + + + + +Reference AnalogBitmapPainter::GetTheme ( + PresenterConfigurationAccess& rConfiguration) +{ + Reference xTheme; + + // Get root of clock themes. + Reference xClock ( + rConfiguration.GetConfigurationNode( + OUString::createFromAscii("PresenterScreenSettings/AnalogBitmapClock")), + UNO_QUERY); + + // Determine the name of the theme to use. + OUString sCurrentThemeName (OUString::createFromAscii("DefaultTheme")); + rConfiguration.GetConfigurationNode( + xClock, + OUString::createFromAscii("CurrentTheme")) >>= sCurrentThemeName; + + // Load the clock theme. + Reference xThemes ( + rConfiguration.GetConfigurationNode( + xClock, + OUString::createFromAscii("Themes")), + UNO_QUERY); + if (xThemes.is()) + { + xTheme = Reference( + PresenterConfigurationAccess::Find( + xThemes, + ::boost::bind(&AnalogBitmapPainter::ThemeNameComparator, + this, _1, _2, sCurrentThemeName)), + UNO_QUERY); + } + + return xTheme; +} + + + + +bool AnalogBitmapPainter::ThemeNameComparator ( + const OUString& rsKey, + const Reference& rxCandidate, + const OUString& rsCurrentThemeName) +{ + (void)rsKey; + if (rxCandidate.is()) + { + OUString sThemeName; + if (rxCandidate->getByName(OUString::createFromAscii("ThemeName")) >>= sThemeName) + { + return sThemeName == rsCurrentThemeName; + } + } + return false; +} + + + + + +void AnalogBitmapPainter::LoadBitmaps ( + PresenterConfigurationAccess& rConfiguration, + const Reference& rxClockTheme, + const Reference& rxCanvas) +{ + (void)rConfiguration; + + // Get base path to bitmaps. + Reference xInformationProvider ( + mxComponentContext->getValueByName(OUString::createFromAscii( + "/singletons/com.sun.star.deployment.PackageInformationProvider")), + UNO_QUERY); + OUString sLocation; + if (xInformationProvider.is()) + sLocation = xInformationProvider->getPackageLocation(gsExtensionIdentifier); + sLocation += OUString::createFromAscii("/"); + + // Create the bitmap loader. + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY); + if ( ! xFactory.is()) + return; + Sequence aArguments(1); + aArguments[0] <<= rxCanvas; + Reference xBitmapLoader( + xFactory->createInstanceWithArgumentsAndContext( + OUString::createFromAscii("com.sun.star.drawing.PresenterWorkaroundService"), + aArguments, + mxComponentContext), + UNO_QUERY); + if ( ! xBitmapLoader.is()) + return; + + + // Iterate over all entries in the bitmap list and load the bitmaps. + Reference xBitmaps ( + rxClockTheme->getByName(OUString::createFromAscii("Bitmaps")), + UNO_QUERY); + ::std::vector aBitmapProperties (3); + aBitmapProperties[0] = OUString::createFromAscii("FileName"); + aBitmapProperties[1] = OUString::createFromAscii("XOffset"); + aBitmapProperties[2] = OUString::createFromAscii("YOffset"); + PresenterConfigurationAccess::ForAll( + xBitmaps, + aBitmapProperties, + ::boost::bind(&AnalogBitmapPainter::LoadBitmap, + this, + _1, + _2, + sLocation, + xBitmapLoader)); +} + + + + +void AnalogBitmapPainter::LoadBitmap ( + const OUString& rsKey, + const ::std::vector& rValues, + const OUString& rsBitmapPath, + const Reference& rxBitmapLoader) +{ + if (rValues.size() == 3) + { + BitmapDescriptor* pDescriptor = NULL; + if (rsKey == OUString::createFromAscii("Face")) + pDescriptor = &maFace; + else if (rsKey == OUString::createFromAscii("HourHand")) + pDescriptor = &maHourHand; + else if (rsKey == OUString::createFromAscii("MinuteHand")) + pDescriptor = &maMinuteHand; + + if (pDescriptor == NULL) + return; + + OUString sFileName; + if ( ! (rValues[0] >>= sFileName)) + return; + + rValues[1] >>= pDescriptor->maOffset.X; + rValues[2] >>= pDescriptor->maOffset.Y; + + pDescriptor->mxBitmap = Reference( + rxBitmapLoader->getByName(rsBitmapPath+sFileName), UNO_QUERY); + + if ( ! pDescriptor->mxBitmap.is()) + mbThemeLoadingFailed = true; + } +} + + + + +void AnalogBitmapPainter::ScaleBitmaps (void) +{ + if (mbThemeLoadingFailed) + return; + if ( ! maFace.mxBitmap.is()) + return; + + const geometry::IntegerSize2D aFaceSize (maFace.mxBitmap->getSize()); + const sal_Int32 nSize = std::max(aFaceSize.Width, aFaceSize.Height); + const double nScale = mnOuterRadius*2 / nSize; + + BitmapDescriptor* aDescriptors[3] = { &maFace, &maHourHand, &maMinuteHand }; + for (int nIndex=0; nIndex<3; ++nIndex) + { + BitmapDescriptor& rDescriptor (*aDescriptors[nIndex]); + if ( ! rDescriptor.mxScaledBitmap.is() && rDescriptor.mxBitmap.is()) + { + const geometry::IntegerSize2D aBitmapSize (rDescriptor.mxBitmap->getSize()); + rDescriptor.mxScaledBitmap = rDescriptor.mxBitmap->getScaledBitmap( + geometry::RealSize2D(aBitmapSize.Width*nScale, aBitmapSize.Height*nScale), + sal_False); + rDescriptor.maScaledOffset = geometry::RealPoint2D( + rDescriptor.maOffset.X * nScale, + rDescriptor.maOffset.Y * nScale); + } + } +} + + + + +//===== DigitalDefaultPainter ================================================= + +DigitalDefaultPainter::DigitalDefaultPainter ( + const ::rtl::Reference& rpPresenterController, + const Reference& rxViewId) + : mpPresenterController(rpPresenterController), + mbIs24HourFormat(false), + mbIsAdaptFontSize(true), + mxFont(), + maWindowSize(0,0), + msViewURL(rxViewId.is() ? rxViewId->getResourceURL() : OUString()) +{ +} + + + + +DigitalDefaultPainter::~DigitalDefaultPainter (void) +{ +} + + + + +void DigitalDefaultPainter::Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const rendering::RenderState& rRenderState, + const util::Color& rBackgroundColor, + const sal_Int32 nHour, + const sal_Int32 nMinute, + const sal_Int32 nSecond, + const bool bIsShowSeconds) +{ + (void)rBackgroundColor; + (void)rRenderState; + + if ( ! mxFont.is()) + CreateFont(rxCanvas,bIsShowSeconds); + if ( ! mxFont.is()) + return; + + OUString sText; + + if (mbIs24HourFormat) + sText = OUString::valueOf(nHour); + else + { + sText = OUString::valueOf(nHour>12 ? nHour-12 : nHour); + } + sText += OUString::createFromAscii(":"); + const OUString sMinutes (OUString::valueOf(nMinute)); + switch (sMinutes.getLength()) + { + case 1 : + sText += OUString::createFromAscii("0") + sMinutes; + break; + case 2: + sText += sMinutes; + break; + + default: + return; + } + if (bIsShowSeconds) + { + sText += OUString::createFromAscii(":"); + const OUString sSeconds (OUString::valueOf(nSecond)); + switch (sSeconds.getLength()) + { + case 1 : + sText += OUString::createFromAscii("0") + sSeconds; + break; + case 2: + sText += sSeconds; + break; + + default: + return; + } + } + + rendering::StringContext aContext ( + sText, + 0, + sText.getLength()); + Reference xLayout (mxFont->createTextLayout( + aContext, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT, + 0)); + if ( ! xLayout.is()) + return; + geometry::RealRectangle2D aBox (xLayout->queryTextBounds()); + + + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + util::Color aFontColor (mpPresenterController->GetViewFontColor(msViewURL)); + aRenderState.DeviceColor[0] = ((aFontColor>>16) & 0x0ff) / 255.0; + aRenderState.DeviceColor[1] = ((aFontColor>>8) & 0x0ff) / 255.0; + aRenderState.DeviceColor[2] = ((aFontColor>>0) & 0x0ff) / 255.0; + aRenderState.AffineTransform.m02 = (maWindowSize.Width - (aBox.X2-aBox.X1+1)) / 2 + - aBox.X1; + aRenderState.AffineTransform.m12 = (maWindowSize.Height - (aBox.Y2-aBox.Y1+1)) / 2 + - aBox.Y1; + rxCanvas->drawText( + aContext, + mxFont, + rViewState, + aRenderState, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT); +} + + + + +void DigitalDefaultPainter::Resize (const awt::Size& rSize) +{ + if (maWindowSize.Width != rSize.Width || maWindowSize.Height != rSize.Height) + { + maWindowSize = rSize; + if (mbIsAdaptFontSize) + mxFont = NULL; + } +} + + + + +void DigitalDefaultPainter::CreateFont ( + const Reference& rxCanvas, + const bool bIsShowSeconds) +{ + if (rxCanvas.is() + && rxCanvas->getDevice().is() + && maWindowSize.Width>0 + && maWindowSize.Height>0) + { + // Create a time template for determinging the right font size. + // Assume that 0 is the widest digit or that all digits have the + // same width. + OUString sTimeTemplate; + // For the case that not all digits have the same width, create + // different templates for 12 and 24 hour mode. + if (mbIs24HourFormat) + sTimeTemplate = OUString::createFromAscii("20"); + else + sTimeTemplate = OUString::createFromAscii("10"); + if (bIsShowSeconds) + sTimeTemplate += OUString::createFromAscii(":00:00"); + else + sTimeTemplate += OUString::createFromAscii(":00"); + + rendering::StringContext aContext ( + sTimeTemplate, + 0, + sTimeTemplate.getLength()); + + // When the font size is adapted to the window size (as large as + // possible without overlapping) then that is done in a four step + // process: + // 1. Create a font in a default size, e.g. 10pt. + // 2. Determine a scale factor from enlarging the text bounding box + // to maximal size inside the window. + // 3. Create a new font by scaling the default size with the factor + // calculated in step 2. + // 4. Text may be rendered differently in different sizes. + // Therefore repeat step 2 and 3 once. More iterations may lead to + // even better results but probably not to visible differences. + rendering::FontRequest aFontRequest (mpPresenterController->GetViewFontRequest(msViewURL)); + // TODO: use font from view style from configuration + aFontRequest.CellSize = 10; + + for (sal_Int32 nLoop=0; nLoop<3; ++nLoop) + { + mxFont = rxCanvas->createFont( + aFontRequest, + Sequence(), + geometry::Matrix2D(1,0,0,1)); + if (mxFont.is()) + { + Reference xLayout (mxFont->createTextLayout( + aContext, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT, + 0)); + + if ( ! xLayout.is()) + break; + + geometry::RealRectangle2D aBox (xLayout->queryTextBounds()); + if (aBox.X2<=aBox.X1 || aBox.Y2<=aBox.Y1) + break; + const double nHorizontalFactor = maWindowSize.Width / (aBox.X2-aBox.X1+1); + const double nVerticalFactor = maWindowSize.Height / (aBox.Y2-aBox.Y1+1); + aFontRequest.CellSize *= ::std::min(nHorizontalFactor,nVerticalFactor); + } + } + } +} + + +} // end of anonymous namespace + + +} } // end of namespace ::sdext::presenter -- cgit From e76074e33df4428a7f0f20cb3e51c24dee040a14 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:56:06 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2007/12/12 14:54:19 af 1.1.2.4: #i18486# Improved use of the XCanvas. 2007/11/19 09:23:15 af 1.1.2.3: #i18486# Added isAnchorOnly() method to XResource interface. 2007/10/25 10:11:58 af 1.1.2.2: #i18486# Made display of seconds a global attribute. 2007/10/24 11:39:29 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterClock.hxx | 207 ++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 sdext/source/presenter/PresenterClock.hxx diff --git a/sdext/source/presenter/PresenterClock.hxx b/sdext/source/presenter/PresenterClock.hxx new file mode 100644 index 000000000000..4f5c68356006 --- /dev/null +++ b/sdext/source/presenter/PresenterClock.hxx @@ -0,0 +1,207 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterClock.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:56:06 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_CLOCK_HXX +#define SDEXT_PRESENTER_CLOCK_HXX + +#include "PresenterController.hxx" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace { + typedef cppu::WeakComponentImplHelper4< + css::awt::XPaintListener, + css::awt::XWindowListener, + css::awt::XMouseListener, + css::drawing::framework::XView + > PresenterClockInterfaceBase; +} + +namespace sdext { namespace presenter { + + +/** A clock that displays the current time. This class is work in + progress. Future extensions may include + other times like time since presentation started or remaining time. + Painting of the clock is done by the inner Painer class which includes + at the moment a simple analog and a simple digital clock. +*/ +class PresenterClock + : private ::cppu::BaseMutex, + public PresenterClockInterfaceBase +{ +public: + static ::rtl::Reference Create ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); + + virtual void SAL_CALL disposing (void); + + /** Callback for an external timer or thread that initiates updates when + the time changes (seconds or minutes). + */ + void UpdateTime (void); + + /** An internally used base class for different painters. + */ + class Painter; + + + // lang::XEventListener + + virtual void SAL_CALL + disposing (const css::lang::EventObject& rEventObject) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseListener + + virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XResourceId + + virtual css::uno::Reference SAL_CALL getResourceId (void) + throw (css::uno::RuntimeException); + + virtual sal_Bool SAL_CALL isAnchorOnly (void) + throw (com::sun::star::uno::RuntimeException); + +private: + css::uno::Reference mxComponentContext; + css::uno::Reference mxViewId; + css::uno::Reference mxWindow; + css::uno::Reference mxCanvas; + css::uno::Reference mxPane; + ::rtl::Reference mpPresenterController; + bool mbIsResizePending; + css::rendering::ViewState maViewState; + css::rendering::RenderState maRenderState; + /** A Timer is used for sampling the current time and schedule repaints + when the minute or second (when these are displayed) values have changed. + */ + class Timer; + Timer* mpTimer; + ::boost::scoped_ptr mpClockPainter; + /** + This is used for debugging to show one clock atop another to compare + the output of the painters. + */ + ::boost::scoped_ptr mpClockPainter2; + int mnMode; + sal_Int32 mnHour; + sal_Int32 mnMinute; + sal_Int32 mnSecond; + + bool mbIsShowSeconds; + + /** Use the static Create() method for creating a new PresenterClock + object. + */ + PresenterClock ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); + virtual ~PresenterClock (void); + + void LateInit (void); + void Resize (void); + void Paint (const css::awt::Rectangle& rUpdateRectangle); + css::uno::Reference CreatePolygon ( + const css::awt::Rectangle& rBox); + void Clear (const css::uno::Reference& rxUpdatePolygon); + void SetMode (sal_Int32 nMode); + + /** This method throws a DisposedException when the object has already been + disposed. + */ + void ThrowIfDisposed (void) + throw (css::lang::DisposedException); +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From d0a94721ee02610d402b55ee3fa2ed5a91e742d6 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:56:19 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 14:58:06 af 1.1.2.4: #i18486# Added PresenterSpritePane 2008/01/21 14:32:00 af 1.1.2.3: #i18486# Added PresenterPane and PresenterPaneBorderManager. 2007/11/19 09:24:48 af 1.1.2.2: #i18486# Added PresenterProtocolHandler. 2007/10/24 12:29:51 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterComponent.cxx | 68 +++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sdext/source/presenter/PresenterComponent.cxx diff --git a/sdext/source/presenter/PresenterComponent.cxx b/sdext/source/presenter/PresenterComponent.cxx new file mode 100644 index 000000000000..a9b977e831b8 --- /dev/null +++ b/sdext/source/presenter/PresenterComponent.cxx @@ -0,0 +1,68 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterComponent.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:56:19 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterComponent.hxx" +#include + +#include "PresenterPane.hxx" +#include "PresenterPaneBorderManager.hxx" +#include "PresenterProtocolHandler.hxx" +#include "PresenterScreen.hxx" +#include "PresenterSlideShowView.hxx" +#include "PresenterSpritePane.hxx" + +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::lang; +using ::rtl::OUString; + + +namespace sdext { namespace presenter { + +namespace { + void RegisterServices (void) + { + OAutoRegistration(); + OAutoRegistration(); + OAutoRegistration(); + OAutoRegistration(); + OAutoRegistration(); + OAutoRegistration(); + } +} + +IMPLEMENT_COMPONENT_LIBRARY_API(PresenterComponent, RegisterServices); +IMPLEMENT_COMPONENT_MODULE(PresenterComponent); + +} } // end of namespace sdext::presenter -- cgit From daa9af12d84a0b201f9986d57ba5df831e5fe119 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:56:30 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2007/12/14 09:38:38 af 1.1.2.2: #i18486# Resolved resync problems. 2007/10/24 12:30:27 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterComponent.hxx | 50 +++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 sdext/source/presenter/PresenterComponent.hxx diff --git a/sdext/source/presenter/PresenterComponent.hxx b/sdext/source/presenter/PresenterComponent.hxx new file mode 100644 index 000000000000..08c1923b3fb7 --- /dev/null +++ b/sdext/source/presenter/PresenterComponent.hxx @@ -0,0 +1,50 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterComponent.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:56:30 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_COMPONENT_HXX +#define SDEXT_PRESENTER_COMPONENT_HXX + +#include + +namespace sdext { namespace presenter { + +const static ::rtl::OUString gsExtensionIdentifier( + ::rtl::OUString::createFromAscii("org.openoffice.PresenterScreen")); + +DECLARE_COMPONENT_MODULE(PresenterComponent, ClientClass) + +} } + +#endif -- cgit From 19df9515a3e2239c05802333c3856c81eaa6fabf Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:56:40 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/21 14:33:04 af 1.1.2.3: #i18486# GetConfigurationNode accepts empty path to node. 2007/11/19 09:26:17 af 1.1.2.2: #i18486# Made GetConfigurationNode(,) static. Added Find() method. 2007/10/24 11:41:14 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterConfigurationAccess.cxx | 258 +++++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 sdext/source/presenter/PresenterConfigurationAccess.cxx diff --git a/sdext/source/presenter/PresenterConfigurationAccess.cxx b/sdext/source/presenter/PresenterConfigurationAccess.cxx new file mode 100644 index 000000000000..e5cf48103c43 --- /dev/null +++ b/sdext/source/presenter/PresenterConfigurationAccess.cxx @@ -0,0 +1,258 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterConfigurationAccess.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:56:40 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterConfigurationAccess.hxx" + +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +PresenterConfigurationAccess::PresenterConfigurationAccess ( + const Reference& rxContext, + const OUString& rsRootName, + WriteMode eMode) + : mxRoot() +{ + try + { + Reference xFactory (rxContext->getServiceManager()); + if (xFactory.is()) + { + Sequence aCreationArguments(3); + aCreationArguments[0] = makeAny(beans::PropertyValue( + OUString( + RTL_CONSTASCII_USTRINGPARAM("nodepath")), + 0, + makeAny(rsRootName), + beans::PropertyState_DIRECT_VALUE)); + aCreationArguments[1] = makeAny(beans::PropertyValue( + OUString(RTL_CONSTASCII_USTRINGPARAM("depth")), + 0, + makeAny((sal_Int32)-1), + beans::PropertyState_DIRECT_VALUE)); + aCreationArguments[2] = makeAny(beans::PropertyValue( + OUString(RTL_CONSTASCII_USTRINGPARAM("lazywrite")), + 0, + makeAny(true), + beans::PropertyState_DIRECT_VALUE)); + + OUString sAccessService; + if (eMode == READ_ONLY) + sAccessService = OUString(RTL_CONSTASCII_USTRINGPARAM( + "com.sun.star.configuration.ConfigurationAccess")); + else + sAccessService = OUString(RTL_CONSTASCII_USTRINGPARAM( + "com.sun.star.configuration.ConfigurationUpdateAccess")); + + Reference xProvider ( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.configuration.ConfigurationProvider"), + rxContext), + UNO_QUERY_THROW); + mxRoot = xProvider->createInstanceWithArguments( + sAccessService, aCreationArguments); + } + } + catch (Exception& rException) + { + OSL_TRACE ("caught exception while opening configuration: %s", + ::rtl::OUStringToOString(rException.Message, + RTL_TEXTENCODING_UTF8).getStr()); + } +} + + + + +Any PresenterConfigurationAccess::GetConfigurationNode (const OUString& sPathToNode) +{ + return GetConfigurationNode( + Reference(mxRoot, UNO_QUERY), + sPathToNode); +} + + + + +Any PresenterConfigurationAccess::GetConfigurationNode ( + const css::uno::Reference& rxNode, + const OUString& sPathToNode) +{ + if (sPathToNode.getLength() == 0) + return Any(rxNode); + + try + { + if (rxNode.is()) + { + return rxNode->getByHierarchicalName(sPathToNode); + } + } + catch (Exception& rException) + { + OSL_TRACE ("caught exception while getting configuration node %s: %s", + ::rtl::OUStringToOString(sPathToNode, RTL_TEXTENCODING_UTF8).getStr(), + ::rtl::OUStringToOString(rException.Message, RTL_TEXTENCODING_UTF8).getStr()); + } + + return Any(); +} + + + + +void PresenterConfigurationAccess::CommitChanges (void) +{ + Reference xConfiguration (mxRoot, UNO_QUERY); + if (xConfiguration.is()) + xConfiguration->commitChanges(); +} + + + + +Any PresenterConfigurationAccess::GetValue (const rtl::OUString& sKey) +{ + Reference xAccess (GetConfigurationNode(sKey), UNO_QUERY); + if (xAccess.is()) + { + return xAccess->getByName(sKey); + } + else + { + return Any(); + } +} + + + + +void PresenterConfigurationAccess::ForAll ( + const Reference& rxContainer, + const ::std::vector& rArguments, + const ItemProcessor& rProcessor) +{ + if (rxContainer.is()) + { + ::std::vector aValues(rArguments.size()); + Sequence aKeys (rxContainer->getElementNames()); + for (sal_Int32 nItemIndex=0; nItemIndex xSetItem (rxContainer->getByName(rsKey), UNO_QUERY); + if (xSetItem.is()) + { + // Get from the current item of the container the children + // that match the names in the rArguments list. + for (sal_uInt32 nValueIndex=0; nValueIndexhasByName(rArguments[nValueIndex])) + bHasAllValues = false; + else + aValues[nValueIndex] = xSetItem->getByName(rArguments[nValueIndex]); + } + } + else + bHasAllValues = false; + if (bHasAllValues) + rProcessor(rsKey,aValues); + } + } +} + + + + +void PresenterConfigurationAccess::FillList( + const Reference& rxContainer, + const ::rtl::OUString& rsArgument, + ::std::vector& rList) +{ + try + { + if (rxContainer.is()) + { + Sequence aKeys (rxContainer->getElementNames()); + rList.resize(aKeys.getLength()); + for (sal_Int32 nItemIndex=0; nItemIndex xSetItem ( + rxContainer->getByName(aKeys[nItemIndex]), UNO_QUERY); + if (xSetItem.is()) + { + xSetItem->getByName(rsArgument) >>= rList[nItemIndex]; + } + } + } + } + catch (RuntimeException&) + {} +} + + + + +Reference PresenterConfigurationAccess::Find ( + const Reference& rxContainer, + const Predicate& rPredicate) +{ + if (rxContainer.is()) + { + Sequence aKeys (rxContainer->getElementNames()); + for (sal_Int32 nItemIndex=0; nItemIndex xSetItem ( + rxContainer->getByName(aKeys[nItemIndex]), UNO_QUERY); + if (xSetItem.is()) + if (rPredicate(aKeys[nItemIndex], xSetItem)) + return xSetItem; + } + } + return NULL; +} + + + + +} } // end of namespace sdext::tools + -- cgit From 3c321610011760f6818c8f5c2c8f2c5a3c5f6ef6 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:56:52 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/21 14:33:50 af 1.1.2.3: #i18486# GetConfigurationNode accepts empty path to node. 2007/11/19 09:25:50 af 1.1.2.2: #i18486# Made GetConfigurationNode(,) static. Added Find() method. 2007/10/24 11:41:26 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterConfigurationAccess.hxx | 152 +++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 sdext/source/presenter/PresenterConfigurationAccess.hxx diff --git a/sdext/source/presenter/PresenterConfigurationAccess.hxx b/sdext/source/presenter/PresenterConfigurationAccess.hxx new file mode 100644 index 000000000000..a46528512b16 --- /dev/null +++ b/sdext/source/presenter/PresenterConfigurationAccess.hxx @@ -0,0 +1,152 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterConfigurationAccess.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:56:52 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_CONFIGURATION_ACCESS_HXX +#define SDEXT_PRESENTER_CONFIGURATION_ACCESS_HXX + +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +/** This class gives access to the configuration. Create an object of this + class for one node of the configuration. This will be the root node. + Its children (on all levels) are then accessible through this new object. +*/ +class PresenterConfigurationAccess +{ +public: + enum WriteMode { READ_WRITE, READ_ONLY }; + + /** Create a new object to access the configuration entries below the + given root. + @param rsRootName + Name of the root. + @param eMode + This flag specifies whether to give read-write or read-only + access. + */ + PresenterConfigurationAccess( + const css::uno::Reference& rxContext, + const ::rtl::OUString& rsRootName, + WriteMode eMode); + + /** Return a configuration node below the root of the called object. + @param rsPathToNode + The relative path from the root (as given the constructor) to the node. + */ + css::uno::Any GetConfigurationNode ( + const ::rtl::OUString& rsPathToNode); + + /** Return a configuration node below the given node. + @param rxNode + The node that acts as root to the given relative path. + @param rsPathToNode + The relative path from the given node to the requested node. + When this string is empty then rxNode is returned. + @return + The type of the returned node varies with the requested node. + It is empty when the node was not found. + */ + static css::uno::Any GetConfigurationNode ( + const css::uno::Reference& rxNode, + const ::rtl::OUString& rsPathToNode); + + /** Write any changes that have been made back to the configuration. + This call is ignored when the called ConfigurationAccess object was + not create with read-write mode. + */ + void CommitChanges (void); + + css::uno::Any GetValue (const rtl::OUString& sKey); + + typedef ::boost::function&) > ItemProcessor; + + /** Execute a functor for all elements of the given container. + @param rxContainer + The container is a XNameAccess to a list of the configuration. + This can be a node returned by GetConfigurationNode(). + @param rArguments + The functor is called with arguments that are children of each + element of the container. The set of children is specified this + list. + @param rFunctor + The functor to be executed for some or all of the elements in + the given container. + */ + static void ForAll ( + const css::uno::Reference& rxContainer, + const ::std::vector& rArguments, + const ItemProcessor& rProcessor); + + /** Fill a list with the string contents of all sub-elements in the given container. + @param rxContainer + The container is a XNameAccess to a list of the configuration. + This can be a node returned by GetConfigurationNode(). + @param rsArgument + This specifies which string children of the elements in the + container are to be inserted into the list. The specified child + has to be of type string. + @param rList + The list to be filled. + */ + static void PresenterConfigurationAccess::FillList( + const css::uno::Reference& rxContainer, + const ::rtl::OUString& rsArgument, + ::std::vector& rList); + + typedef ::boost::function&)> Predicate; + + static css::uno::Reference Find ( + const css::uno::Reference& rxContainer, + const Predicate& rPredicate); + +private: + css::uno::Reference mxRoot; +}; + +} } // end of namespace sdext::tools + +#endif -- cgit From 9e0d410b14dbcdfb195084489fa7fafd7a246201 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:57:02 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2007/12/14 09:38:38 af 1.1.2.4: #i18486# Resolved resync problems. 2007/11/19 09:28:07 af 1.1.2.3: #i18486# Added XComponentContext argument to constructor. Storing it as member. 2007/10/24 13:12:19 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 11:42:11 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterControlCreator.cxx | 357 +++++++++++++++++++++ 1 file changed, 357 insertions(+) create mode 100644 sdext/source/presenter/PresenterControlCreator.cxx diff --git a/sdext/source/presenter/PresenterControlCreator.cxx b/sdext/source/presenter/PresenterControlCreator.cxx new file mode 100644 index 000000000000..a01e6f48906f --- /dev/null +++ b/sdext/source/presenter/PresenterControlCreator.cxx @@ -0,0 +1,357 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterControlCreator.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:57:02 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterControlCreator.hxx" +#include "PresenterHelper.hxx" +#include +#include +#include +#include +#include +#include + + + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +PresenterControlCreator::PresenterControlCreator ( + const Reference& rxContext, + const Reference& rxParentWindow, + const sal_Int32 nToolBarHeight) + : mxComponentContext(rxContext), + mxControlContainerWindow(), + mxControlContainer(), + mxModelNameContainer(), + mxControlFactory(), + mnControlCount(0), + mnToolBarHeight(nToolBarHeight) +{ + if (CreateContainer()) + CreateContainerWindow(rxParentWindow); +} + + + + +PresenterControlCreator::~PresenterControlCreator (void) +{ +} + + + + +sal_Int32 PresenterControlCreator::GetToolBarHeight (void) const +{ + return mnToolBarHeight; +} + + + + +Reference PresenterControlCreator::GetContainerWindow (void) const +{ + return mxControlContainerWindow; +} + + + + +Reference PresenterControlCreator::GetContainer (void) const +{ + return mxControlContainer; +} + + + + +bool PresenterControlCreator::CreateContainer (void) +{ + try + { + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + + mxControlContainer = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.awt.UnoControlContainer"), + mxComponentContext), + UNO_QUERY_THROW); + + Reference xControlModel ( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.awt.UnoControlDialogModel"), + mxComponentContext), + UNO_QUERY_THROW); + mxModelNameContainer = Reference( + xControlModel, UNO_QUERY_THROW); + + Reference xControl (mxControlContainer, UNO_QUERY_THROW); + xControl->setModel(xControlModel); + + mxControlFactory = Reference( + xControlModel, UNO_QUERY_THROW); + + return true; + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } + + return false; +} + + + + +void PresenterControlCreator::CreateContainerWindow ( + const Reference& rxParentWindow) +{ + try + { + Reference xControl (mxControlContainer, UNO_QUERY_THROW); + Reference xContainerPeer (rxParentWindow, UNO_QUERY_THROW); + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + Reference xToolkit ( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.awt.Toolkit"), + mxComponentContext), + UNO_QUERY_THROW); + xControl->createPeer(xToolkit, xContainerPeer); + + mxControlContainerWindow = Reference(mxControlContainer, UNO_QUERY_THROW); + mxControlContainerWindow->setEnable(sal_True); + mxControlContainerWindow->setVisible(sal_True); + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } +} + + + + +Reference PresenterControlCreator::AddButton ( + const OUString& rsName, + const OUString& rsImageName, + const Property pUserProperties[]) +{ + Property aButtonDefaultProperties[] = { + {(sal_Char*)"PushButtonType", Any(awt::PushButtonType_STANDARD)}, + {NULL, Any()} + }; + Reference xControl( + AddControl( + rsName, + OUString::createFromAscii("com.sun.star.awt.UnoControlButtonModel"), + OUString::createFromAscii("com.sun.star.awt.UnoControlButton"), + aButtonDefaultProperties, + pUserProperties)); + if (xControl.is()) + { + Reference xButton (xControl, UNO_QUERY_THROW); + if (xButton.is()) + xButton->setActionCommand(rsName); + + + Reference xGraphic ( + PresenterHelper::GetGraphic(mxComponentContext, rsImageName)); + if (xGraphic.is()) + { + Property aButtonGraphicProperties[] = { + {(sal_Char*)"Graphic", Any(xGraphic)}, + {(sal_Char*)"Label", Any(OUString())}, + {NULL, Any()} + }; + SetModelProperties ( + Reference(xControl->getModel(), UNO_QUERY), + aButtonGraphicProperties); + } + } + + return xControl; +} + + + + +Reference PresenterControlCreator::AddLabel ( + const OUString& rsName, + const OUString& rsDefaultText, + const Property pUserProperties[]) +{ + Property aLabelDefaultProperties[] = { + {(sal_Char*)"Label", Any(rsDefaultText)}, + {(sal_Char*)"VerticalAlign", Any(style::VerticalAlignment_MIDDLE)}, + {NULL, Any()} + }; + Reference xLabel( + AddControl( + rsName, + OUString::createFromAscii("com.sun.star.awt.UnoControlFixedTextModel"), + OUString::createFromAscii("com.sun.star.awt.UnoControlFixedText"), + aLabelDefaultProperties, + pUserProperties)); + if (xLabel.is()) + { + Reference xText (xLabel, UNO_QUERY); + if (xText.is()) + xText->setAlignment(1); + } + return xLabel; +} + + + + +Reference PresenterControlCreator::AddEdit ( + const OUString& rsName, + const Property pUserProperties[]) +{ + Property aEditDefaultProperties[] = { + {NULL, Any()} + }; + Reference xControl( + AddControl( + rsName, + OUString::createFromAscii("com.sun.star.awt.UnoControlEditModel"), + OUString::createFromAscii("com.sun.star.awt.UnoControlEdit"), + aEditDefaultProperties, + pUserProperties)); + return xControl; +} + + + + +Reference PresenterControlCreator::AddControl ( + const OUString& rsName, + const OUString& rsModelServiceName, + const OUString& rsControlServiceName, + const Property pControlDefaultProperties[], + const Property pUserProperties[]) +{ + Reference xControl; + Property aPropertyDefaults[] = { + {(sal_Char*)"Enabled", Any(sal_True)}, + {(sal_Char*)"Width", Any((sal_Int16)mnToolBarHeight)}, + {(sal_Char*)"Height", Any((sal_Int16)mnToolBarHeight)}, + {(sal_Char*)"Label", Any(rsName)}, + {(sal_Char*)"PositionX", Any((sal_Int32)0)}, + {(sal_Char*)"PositionY", Any((sal_Int16)0)}, + {(sal_Char*)"Step", Any((sal_Int16)0)}, + {(sal_Char*)"TabIndex", Any((sal_Int16)mnControlCount)}, + {(sal_Char*)"Name", Any(rsName)}, + {NULL, Any()} + }; + try + { + // Create the model for the control. + Reference xControlModel ( + mxControlFactory->createInstance(rsModelServiceName), + UNO_QUERY_THROW); + Reference xPropertySet (xControlModel, UNO_QUERY_THROW); + SetModelProperties(xPropertySet, aPropertyDefaults); + SetModelProperties(xPropertySet, pControlDefaultProperties); + SetModelProperties(xPropertySet, pUserProperties); + mxModelNameContainer->insertByName(rsName, Any(xControlModel)); + + // Create the control for the control. + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + xControl = Reference ( + xFactory->createInstanceWithContext(rsControlServiceName, mxComponentContext), + UNO_QUERY_THROW); + + // Combine model and control. + xControl->setModel(xControlModel); + + // Add the new control to the parent container. + mxControlContainer->addControl(rsName, xControl); + + Reference xWindow (xControl, UNO_QUERY_THROW); + xWindow->setEnable(sal_True); + xWindow->setVisible(sal_True); + + mnControlCount += 1; + } + catch (Exception& rException) + { + (void)rException; + OSL_TRACE("caught exception in PresenterControlCreator::AddControl()"); + } + + return xControl; +} + + + + +void PresenterControlCreator::SetModelProperties ( + const Reference& rxSet, + const Property pProperties[]) +{ + if ( ! rxSet.is()) + return; + if (pProperties == NULL) + return; + + for (sal_Int32 nIndex=0; pProperties[nIndex].msName!=NULL; ++nIndex) + { + try + { + rxSet->setPropertyValue( + OUString::createFromAscii(pProperties[nIndex].msName), + pProperties[nIndex].maValue); + } + catch (Exception& rException) + { + (void)rException; + OSL_TRACE("caught exception in PresenterControlCreator::SetModelProperties() for property %s", + pProperties[nIndex].msName); + } + } +} + + + + +} } // end of namespace ::sdext::presenter -- cgit From fd3836ed69626c5513f6f40ec1dbdd5494a8a032 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:57:14 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2007/11/19 09:27:29 af 1.1.2.2: #i18486# Added XComponentContext argument to constructor. Storing it as member. 2007/10/24 11:42:23 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterControlCreator.hxx | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 sdext/source/presenter/PresenterControlCreator.hxx diff --git a/sdext/source/presenter/PresenterControlCreator.hxx b/sdext/source/presenter/PresenterControlCreator.hxx new file mode 100644 index 000000000000..8080d107ff48 --- /dev/null +++ b/sdext/source/presenter/PresenterControlCreator.hxx @@ -0,0 +1,123 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterControlCreator.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:57:14 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_CONTROL_CREATOR_HXX +#define SDEXT_PRESENTER_CONTROL_CREATOR_HXX + +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +/** This class creates an AWT container window and a set of child controls. +*/ +class PresenterControlCreator + : private ::boost::noncopyable +{ +public: + /** Create a container window with the given window as its parent. + */ + explicit PresenterControlCreator ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxParentWindow, + const sal_Int32 nHeight); + ~PresenterControlCreator (void); + + sal_Int32 GetToolBarHeight (void) const; + + class Property {public: sal_Char* msName; css::uno::Any maValue; }; + + css::uno::Reference AddButton ( + const ::rtl::OUString& rsName, + const ::rtl::OUString& rsImageName, + const Property pProperties[]); + + css::uno::Reference AddLabel ( + const ::rtl::OUString& rsName, + const ::rtl::OUString& rsDefaultText, + const Property pProperties[]); + + css::uno::Reference AddEdit ( + const ::rtl::OUString& rsName, + const Property pProperties[]); + + /** Return the container window. + */ + css::uno::Reference GetContainerWindow (void) const; + css::uno::Reference GetContainer (void) const; + +private: + css::uno::Reference mxComponentContext; + css::uno::Reference< + css::awt::XWindow> mxControlContainerWindow; + css::uno::Reference< + css::awt::XControlContainer> mxControlContainer; + css::uno::Reference< + css::container::XNameContainer> mxModelNameContainer; + css::uno::Reference< + css::lang::XMultiServiceFactory> mxControlFactory; + sal_Int32 mnControlCount; + const sal_Int32 mnToolBarHeight; + + bool CreateContainer (void); + void CreateContainerWindow ( + const css::uno::Reference< + css::awt::XWindow>& rxParentWindow); + + css::uno::Reference AddControl ( + const ::rtl::OUString& rsName, + const ::rtl::OUString& rsModelServiceName, + const ::rtl::OUString& rsControlServiceName, + const Property pDefaultProperties[], + const Property pUserProperties[]); + + void SetModelProperties ( + const css::uno::Reference& rxSet, + const Property pProperties[]); + +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From 2565c9de4b9f0db6c986fd47e9063f71151b252d Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:57:27 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/28 17:08:28 af 1.1.2.14: #i18486# Hide the slide sorter when the current slide changes. 2008/02/28 16:57:52 af 1.1.2.13: #i18486# Removed unnecessary PresenterSubController. 2008/02/28 16:15:24 af 1.1.2.12: #i18486# Find... methods of pane container now return SharedPaneDescriptor. 2008/02/26 15:02:00 af 1.1.2.11: #i18486# Added support for pane animations, background bitmaps. 2008/01/30 15:03:02 af 1.1.2.10: #i18486# Code cleanup. 2008/01/29 14:37:53 af 1.1.2.9: #i18486# Border painter moved from window manager to PresenterController. 2008/01/24 09:42:05 af 1.1.2.8: #i18486# Check for existence of mxSlideShowController. 2008/01/23 10:58:42 af 1.1.2.7: #i18486# Use default view style when no view style is explicitly defined in the configuration. 2008/01/21 14:40:42 af 1.1.2.6: #i18486# PresenterTheme is not a UNO object anymore. Explicitly dispose some members in dispose(). 2008/01/09 18:36:57 cl 1.1.2.5: #i18486# use new slideshow api 2007/12/14 09:38:38 af 1.1.2.4: #i18486# Resolved resync problems. 2007/12/12 14:59:43 af 1.1.2.3: #i18486# Added ToggleSlideSorter() method. 2007/11/19 09:30:45 af 1.1.2.2: #i18486# Added initial support for slide sorter overlay pane. 2007/10/24 11:43:49 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterController.cxx | 916 +++++++++++++++++++++++++ 1 file changed, 916 insertions(+) create mode 100644 sdext/source/presenter/PresenterController.cxx diff --git a/sdext/source/presenter/PresenterController.cxx b/sdext/source/presenter/PresenterController.cxx new file mode 100644 index 000000000000..3b077da35e7e --- /dev/null +++ b/sdext/source/presenter/PresenterController.cxx @@ -0,0 +1,916 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterController.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:57:27 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterController.hxx" + +#include "PresenterAnimator.hxx" +#include "PresenterCurrentSlideObserver.hxx" +#include "PresenterFrameworkObserver.hxx" +#include "PresenterHelper.hxx" +#include "PresenterPaneAnimator.hxx" +#include "PresenterPaneBase.hxx" +#include "PresenterPaneContainer.hxx" +#include "PresenterPaneBorderPainter.hxx" +#include "PresenterPaneFactory.hxx" +#include "PresenterTheme.hxx" +#include "PresenterViewFactory.hxx" +#include "PresenterWindowManager.hxx" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::presentation; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace { + const sal_Int32 ResourceActivationEventType = 0; + const sal_Int32 ResourceDeactivationEventType = 1; +} + + +namespace sdext { namespace presenter { + + +PresenterController::PresenterController ( + const Reference& rxContext, + const Reference& rxController, + const Reference& rxSlideShowController, + const rtl::Reference& rpPaneContainer, + const Reference& rxMainPaneId) + : PresenterControllerInterfaceBase(m_aMutex), + mxContext(rxContext), + mxController(rxController), + mxConfigurationController(), + mxSlideShowController(rxSlideShowController), + mxMainPaneId(rxMainPaneId), + mpPaneContainer(rpPaneContainer), + mxCurrentSlide(), + mxNextSlide(), + mpWindowManager(new PresenterWindowManager(rxContext,mpPaneContainer,this)), + mpCurrentPaneAnimation(), + mnBackgroundColor(0x00ffffff), + mnWindowBackgroundColor(0x00ffffff), + mpTheme(), + mxMainWindow(), + mpPaneBorderPainter(), + mpAnimator(new PresenterAnimator()) +{ + if ( ! mxSlideShowController.is()) + throw new lang::IllegalArgumentException( + OUString::createFromAscii("missing slide show controller"), + static_cast(this), + 2); + + new PresenterCurrentSlideObserver(this,rxSlideShowController); + + // Listen for configuration changes. + Reference xCM (mxController, UNO_QUERY_THROW); + mxConfigurationController = xCM->getConfigurationController(); + if (mxConfigurationController.is()) + { + mxConfigurationController->addConfigurationChangeListener( + this, + OUString::createFromAscii("ResourceActivation"), + Any(ResourceActivationEventType)); + mxConfigurationController->addConfigurationChangeListener( + this, + OUString::createFromAscii("ResourceDeactivation"), + Any(ResourceDeactivationEventType)); + } + + // Listen for the frame being activated. + Reference xFrame (mxController->getFrame()); + if (xFrame.is()) + xFrame->addFrameActionListener(this); + + // Create the border painter. + mpPaneBorderPainter = new PresenterPaneBorderPainter(rxContext); + mpWindowManager->SetPaneBorderPainter(mpPaneBorderPainter); + + if (mxSlideShowController.is()) + mxSlideShowController->activate(); + + UpdateCurrentSlide(0); +} + + + + +PresenterController::~PresenterController (void) +{ +} + + + + +void PresenterController::disposing (void) +{ + if (mxMainWindow.is()) + { + mxMainWindow->removeKeyListener(this); + mxMainWindow->removeFocusListener(this); + mxMainWindow = NULL; + } + if (mxConfigurationController.is()) + mxConfigurationController->removeConfigurationChangeListener(this); + + Reference xWindowManagerComponent ( + static_cast(mpWindowManager.get()), UNO_QUERY); + if (xWindowManagerComponent.is()) + xWindowManagerComponent->dispose(); + + if (mxController.is()) + { + Reference xFrame (mxController->getFrame()); + if (xFrame.is()) + xFrame->removeFrameActionListener(this); + mxController = NULL; + } +} + + + + +void PresenterController::UpdateCurrentSlide (const sal_Int32 nOffset) +{ + ToggleSlideSorter(Hide, 0); + GetSlides(nOffset); + UpdateViews(); +} + + + + +void PresenterController::GetSlides (const sal_Int32 nOffset) +{ + if ( ! mxSlideShowController.is()) + return; + + // Get the current slide from the slide show controller. + mxCurrentSlide = NULL; + Reference xIndexAccess(mxSlideShowController, UNO_QUERY); + sal_Int32 nSlideIndex = -1; + try + { + nSlideIndex = mxSlideShowController->getCurrentSlideIndex() + nOffset; + if (mxSlideShowController->isPaused()) + nSlideIndex = -1; + + if (xIndexAccess.is() && nSlideIndex>=0) + { + if (nSlideIndex < xIndexAccess->getCount()) + mxCurrentSlide = Reference( + xIndexAccess->getByIndex(nSlideIndex), UNO_QUERY); + } + } + catch (RuntimeException&) + { + } + + // Get the next slide. + mxNextSlide = NULL; + try + { + const sal_Int32 nNextSlideIndex (mxSlideShowController->getNextSlideIndex()+nOffset); + if (nNextSlideIndex >= 0) + { + if (xIndexAccess.is()) + { + if (nNextSlideIndex < xIndexAccess->getCount()) + mxNextSlide = Reference( + xIndexAccess->getByIndex(nNextSlideIndex), UNO_QUERY); + } + } + } + catch (RuntimeException&) + { + } +} + + + + +void PresenterController::UpdateViews (void) +{ + // Tell all views about the slides they should display. + PresenterPaneContainer::PaneList::const_iterator iPane; + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=mpPaneContainer->maPanes.end(); ++iPane) + { + Reference xDrawView ((*iPane)->mxView, UNO_QUERY); + if (xDrawView.is()) + xDrawView->setCurrentPage(mxCurrentSlide); + } +} + + + + +sal_Int32 PresenterController::GetViewBackgroundColor (const OUString& rsViewURL) const +{ + sal_Int32 nColor (0x00ffffff); + + if (mpTheme.get() != NULL) + { + try + { + OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); + mpTheme->getPropertyValue( + sStyleName+OUString::createFromAscii("_Background_Color")) >>= nColor; + } + catch(Exception&) + {} + } + + return nColor; +} + + + + +Reference PresenterController::GetViewBackgroundBitmap (const OUString& rsViewURL) const +{ + Reference xBitmap; + + if (mpTheme.get() != NULL) + { + try + { + OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); + mpTheme->getPropertyValue( + sStyleName+OUString::createFromAscii("_Background_Bitmap")) >>= xBitmap; + } + catch(Exception&) + {} + } + + return xBitmap; +} + + + + +awt::FontDescriptor PresenterController::GetViewFontDescriptor (const OUString& rsViewURL) const +{ + awt::FontDescriptor aDescriptor; + + if (mpTheme.get() != NULL) + { + try + { + OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); + mpTheme->getPropertyValue( + sStyleName+OUString::createFromAscii("_Font_Name")) >>= aDescriptor.Name; + sal_Int32 nHeight = 0; + mpTheme->getPropertyValue( + sStyleName+OUString::createFromAscii("_Font_Size")) >>= nHeight; + aDescriptor.Height = sal::static_int_cast(nHeight); + } + catch(Exception&) + { + } + } + return aDescriptor; +} + + + + +rendering::FontRequest PresenterController::GetViewFontRequest (const OUString& rsViewURL) const +{ + rendering::FontRequest aRequest; + + if (mpTheme.get() != NULL) + { + try + { + OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); + mpTheme->getPropertyValue( + sStyleName+OUString::createFromAscii("_Font_Name")) + >>= aRequest.FontDescription.FamilyName; + sal_Int32 nHeight = 0; + mpTheme->getPropertyValue( + sStyleName+OUString::createFromAscii("_Font_Size")) >>= nHeight; + aRequest.CellSize = sal::static_int_cast(nHeight); + } + catch(Exception&) + { + } + } + return aRequest; +} + + + + +util::Color PresenterController::GetViewFontColor (const OUString& rsViewURL) const +{ + sal_Int32 nColor (0); + + if (mpTheme.get() != NULL) + { + try + { + OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); + mpTheme->getPropertyValue( + sStyleName+OUString::createFromAscii("_Font_Color")) >>= nColor; + } + catch(Exception&) + { + } + } + + return nColor; +} + + + + +::boost::shared_ptr PresenterController::GetTheme (void) const +{ + return mpTheme; +} + + + + +::rtl::Reference PresenterController::GetWindowManager (void) const +{ + return mpWindowManager; +} + + + + +Reference + PresenterController::GetSlideShowController(void) const +{ + return mxSlideShowController; +} + + + + +Reference PresenterController::GetParentWindow (void) const +{ + return mxMainWindow; +} + + + + +rtl::Reference PresenterController::GetPaneContainer (void) const +{ + return mpPaneContainer; +} + + + + +::rtl::Reference PresenterController::GetPaneBorderPainter (void) const +{ + return mpPaneBorderPainter; +} + + + + +::boost::shared_ptr PresenterController::GetAnimator (void) const +{ + return mpAnimator; +} + + + + +void PresenterController::HideSlideSorter (void) +{ + if (mpCurrentPaneAnimation.get() != NULL) + { + mpCurrentPaneAnimation->HidePane(); + mpCurrentPaneAnimation.reset(); + } +} + + + + +//----- XConfigurationChangeListener ------------------------------------------ + +void SAL_CALL PresenterController::notifyConfigurationChange ( + const ConfigurationChangeEvent& rEvent) + throw (RuntimeException) +{ + ThrowIfDisposed(); + + sal_Int32 nType (0); + if ( ! (rEvent.UserData >>= nType)) + return; + + switch (nType) + { + case ResourceActivationEventType: + if (rEvent.ResourceId->compareTo(mxMainPaneId) == 0) + { + InitializeMainPane(Reference(rEvent.ResourceObject,UNO_QUERY)); + } + else if (rEvent.ResourceId->isBoundTo(mxMainPaneId,AnchorBindingMode_DIRECT)) + { + // A pane bound to the main pane has been created and is + // stored in the pane container. + Reference xPane (rEvent.ResourceObject,UNO_QUERY); + if (xPane.is()) + { + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(xPane->getResourceId())); + mpWindowManager->NotifyPaneCreation(pDescriptor); + } + } + else if (rEvent.ResourceId->isBoundTo(mxMainPaneId,AnchorBindingMode_INDIRECT)) + { + // A view bound to one of the panes has been created and is + // stored in the pane container along with its pane. + Reference xView (rEvent.ResourceObject,UNO_QUERY); + if (xView.is()) + { + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->StoreView( + xView, + GetViewBackgroundColor(xView->getResourceId()->getResourceURL()), + GetViewBackgroundBitmap(xView->getResourceId()->getResourceURL()))); + OSL_ASSERT(pDescriptor.get() != NULL); + pDescriptor->mxPane->SetBackground( + GetViewBackgroundColor(xView->getResourceId()->getResourceURL()), + GetViewBackgroundBitmap(xView->getResourceId()->getResourceURL())); + + UpdateViews(); + mpWindowManager->NotifyViewCreation(xView); + } + } + break; + + case ResourceDeactivationEventType: + break; + } +} + + + + +//----- XEventListener -------------------------------------------------------- + +void SAL_CALL PresenterController::disposing ( + const lang::EventObject& rEvent) + throw (RuntimeException) +{ + if (rEvent.Source == mxController) + mxController = NULL; + else if (rEvent.Source == mxConfigurationController) + mxConfigurationController = NULL; + else if (rEvent.Source == mxSlideShowController) + mxSlideShowController = NULL; + else if (rEvent.Source == mxMainWindow) + mxMainWindow = NULL; +} + + + + +//----- XFrameActionListener -------------------------------------------------- + +void SAL_CALL PresenterController::frameAction ( + const frame::FrameActionEvent& rEvent) + throw (RuntimeException) +{ + if (rEvent.Action == frame::FrameAction_FRAME_ACTIVATED) + { + if (mxSlideShowController.is()) + mxSlideShowController->activate(); + } +} + + + + +//----- XKeyListener ---------------------------------------------------------- + +void SAL_CALL PresenterController::keyPressed (const awt::KeyEvent& rEvent) + throw (RuntimeException) +{ + // Tell all views about the unhandled key event. + PresenterPaneContainer::PaneList::const_iterator iPane; + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=mpPaneContainer->maPanes.end(); ++iPane) + { + if ( ! (*iPane)->mbIsActive) + continue; + + Reference xKeyListener ((*iPane)->mxView, UNO_QUERY); + if (xKeyListener.is()) + xKeyListener->keyPressed(rEvent); + } +} + + + + +void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent) + throw (RuntimeException) +{ + switch (rEvent.KeyCode) + { + case awt::Key::ESCAPE: + { + if( mxController.is() ) + { + Reference< XPresentationSupplier > xPS( mxController->getModel(), UNO_QUERY ); + if( xPS.is() ) + { + Reference< XPresentation > xP( xPS->getPresentation() ); + if( xP.is() ) + xP->end(); + } + } + } + break; + + case awt::Key::SPACE: + case awt::Key::PAGEDOWN: + case awt::Key::RETURN: + if (mxSlideShowController.is()) + { + mxSlideShowController->gotoNextSlide(); + } + break; + + case awt::Key::BACKSPACE: + case awt::Key::PAGEUP: + if (mxSlideShowController.is()) + { + mxSlideShowController->gotoPreviousSlide(); + } + break; + + case awt::Key::F1: + ToggleHelpWindow(true); + break; + + case awt::Key::F2: + ToggleSlideSorter(Toggle, 2); + break; + + case awt::Key::F3: + ToggleSlideSorter(Toggle, 0); + break; + + case awt::Key::F4: + ToggleSlideSorter(Toggle, 1); + break; + + default: + // Tell all views about the unhandled key event. + PresenterPaneContainer::PaneList::const_iterator iPane; + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=mpPaneContainer->maPanes.end(); ++iPane) + { + if ( ! (*iPane)->mbIsActive) + continue; + + Reference xKeyListener ((*iPane)->mxView, UNO_QUERY); + if (xKeyListener.is()) + xKeyListener->keyReleased(rEvent); + } + break; + } +} + + + + +//----- XFocusListener -------------------------------------------------------- + +void SAL_CALL PresenterController::focusGained (const css::awt::FocusEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterController::focusLost (const css::awt::FocusEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XMouseListener -------------------------------------------------------- + +void SAL_CALL PresenterController::mousePressed (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + if (mxMainWindow.is()) + mxMainWindow->setFocus(); +} + + + + +void SAL_CALL PresenterController::mouseReleased (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterController::mouseEntered (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterController::mouseExited (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +//----------------------------------------------------------------------------- + +void PresenterController::InitializeMainPane (const Reference& rxPane) +{ + if ( ! rxPane.is()) + return; + + LoadTheme(rxPane); + + // Main pane has been created and is now observed by the window + // manage.r + mpWindowManager->SetParentPane(rxPane); + mpWindowManager->SetTheme(mpTheme); + + if (mpPaneBorderPainter.get() != NULL) + mpPaneBorderPainter->SetTheme(mpTheme); + + // Add key listener + mxMainWindow = rxPane->getWindow(); + if (mxMainWindow.is()) + { + mxMainWindow->addKeyListener(this); + mxMainWindow->addFocusListener(this); + } + + if (mxSlideShowController.is()) + mxSlideShowController->activate(); +} + + + + +sal_Int32 PresenterController::GetBackgroundColor (void) const +{ + return mnBackgroundColor; +} + + + + +void PresenterController::LoadTheme (const Reference& rxPane) +{ + // Create (load) the current theme. + if (rxPane.is()) + mpTheme.reset(new PresenterTheme(mxContext, OUString(), rxPane->getCanvas())); + + // Store locally some values from the current theme. + if (mpTheme.get() != NULL) + { + try + { + mpTheme->getPropertyValue( + OUString::createFromAscii("Background_Color")) >>= mnBackgroundColor; + } + catch(Exception&) + {} + } +} + + + + +void PresenterController::ToggleHelpWindow (const bool bUseAnimation) +{ + if (mxConfigurationController.is()) + { + + Reference xPaneId (ResourceId::createWithAnchorURL( + mxContext, + PresenterPaneFactory::msOverlayPaneURL + OUString::createFromAscii("?Sprite=1"), + PresenterHelper::msFullScreenPaneURL)); + Reference xViewId (ResourceId::createWithAnchor( + mxContext, + PresenterViewFactory::msHelpViewURL, + xPaneId)); + + if ( ! mxConfigurationController->getResource(xViewId).is()) + { + mpPaneContainer->PreparePane( + xPaneId, + OUString::createFromAscii(""), + PresenterPaneContainer::ViewInitializationFunction(), + 0.0, + 0.0, + 1.0, + 1.0); + + mxConfigurationController->requestResourceActivation( + xPaneId, + ResourceActivationMode_ADD); + mxConfigurationController->requestResourceActivation( + xViewId, + ResourceActivationMode_REPLACE); + + // Show a pending hide animation. + if (mpCurrentPaneAnimation.get() != NULL) + mpCurrentPaneAnimation->HidePane(); + + // Create a new pane animator object. + EndActions aHideActions; + aHideActions.push_back(::boost::bind( + &drawing::framework::XConfigurationController::requestResourceDeactivation, + mxConfigurationController, + xViewId)); + mpCurrentPaneAnimation = CreateUnfoldInCenterAnimator( + xPaneId, this, bUseAnimation, EndActions(), aHideActions); + + // Schedule the ShowPane execution. + PresenterFrameworkObserver::RunOnResourceActivation( + mxConfigurationController, + xViewId, + ::boost::bind(&PresenterPaneAnimator::ShowPane, mpCurrentPaneAnimation)); + } + else + { + if (mpCurrentPaneAnimation.get() != NULL) + { + mpCurrentPaneAnimation->HidePane(); + mpCurrentPaneAnimation.reset(); + } + } + } +} + + + + +void PresenterController::ToggleSlideSorter ( + const ToggleState eState, + const sal_Int32 nAppearMode) +{ + if (mxConfigurationController.is()) + { + + Reference xPaneId (ResourceId::createWithAnchorURL( + mxContext, + PresenterPaneFactory::msOverlayPaneURL + OUString::createFromAscii("?Sprite=1"), + //PresenterPaneFactory::msOverlayPaneURL, + PresenterHelper::msFullScreenPaneURL)); + Reference xSlideSorterViewId (ResourceId::createWithAnchor( + mxContext, + PresenterViewFactory::msSlideSorterURL, + xPaneId)); + + const bool bIsVisible (mxConfigurationController->getResource(xSlideSorterViewId).is()); + if ( ! bIsVisible && (eState==Toggle || eState==Show)) + { + // Show a pending hide animation. + if (mpCurrentPaneAnimation.get() != NULL) + { + mpCurrentPaneAnimation->HidePane(); + mpCurrentPaneAnimation.reset(); + } + + // Request slide sorter pane and view. + mpPaneContainer->PreparePane( + xPaneId, + OUString::createFromAscii(""), + PresenterPaneContainer::ViewInitializationFunction(), + 0.2, + 0.3, + 0.8, + 0.7); + mxConfigurationController->requestResourceActivation( + xPaneId, + ResourceActivationMode_ADD); + mxConfigurationController->requestResourceActivation( + xSlideSorterViewId, + ResourceActivationMode_REPLACE); + + EndActions aHideActions; + aHideActions.push_back(::boost::bind( + &drawing::framework::XConfigurationController::requestResourceDeactivation, + mxConfigurationController, + xSlideSorterViewId)); + + switch (nAppearMode) + { + case 0: + mpCurrentPaneAnimation = CreateUnfoldInCenterAnimator( + xPaneId, this, true, EndActions(), aHideActions); + break; + + case 1: + mpCurrentPaneAnimation = CreateMoveInFromBottomAnimator( + xPaneId, this, true, EndActions(), aHideActions); + break; + + case 2: + mpCurrentPaneAnimation = CreateTransparentOverlay( + xPaneId, this, true, EndActions(), aHideActions); + break; + } + + PresenterFrameworkObserver::RunOnResourceActivation( + mxConfigurationController, + xSlideSorterViewId, + ::boost::bind(&PresenterPaneAnimator::ShowPane, mpCurrentPaneAnimation)); + } + else if (bIsVisible && (eState==Toggle || eState==Hide)) + { + if (mpCurrentPaneAnimation.get() != NULL) + { + mpCurrentPaneAnimation->HidePane(); + mpCurrentPaneAnimation.reset(); + } + } + } +} + + + + +void PresenterController::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterController object has already been disposed")), + const_cast(static_cast(this))); + } +} + + +} } // end of namespace ::sdext::presenter + -- cgit From d479afc12915c912f6cc4e07ee0a1d7ffb0976b7 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:57:38 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/28 16:15:24 af 1.1.2.8: #i18486# Find... methods of pane container now return SharedPaneDescriptor. 2008/02/26 15:02:26 af 1.1.2.7: #i18486# Added support for pane animations, background bitmaps. 2008/01/29 14:37:25 af 1.1.2.6: #i18486# Border painter moved from window manager to PresenterController. 2008/01/21 14:42:35 af 1.1.2.5: #i18486# PresenterTheme is not a UNO object anymore. 2008/01/09 18:36:57 cl 1.1.2.4: #i18486# use new slideshow api 2007/12/12 15:04:17 af 1.1.2.3: #i18486# Added ToggleSlideSorter() method. 2007/10/24 13:12:19 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 11:44:01 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterController.hxx | 208 +++++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 sdext/source/presenter/PresenterController.hxx diff --git a/sdext/source/presenter/PresenterController.hxx b/sdext/source/presenter/PresenterController.hxx new file mode 100644 index 000000000000..8b0b1eb629ea --- /dev/null +++ b/sdext/source/presenter/PresenterController.hxx @@ -0,0 +1,208 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterController.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:57:38 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_CONTROLLER_HXX +#define SDEXT_PRESENTER_CONTROLLER_HXX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterAnimator; +class PresenterPaneAnimator; +class PresenterPaneContainer; +class PresenterPaneBorderPainter; +class PresenterTheme; +class PresenterWindowManager; + +namespace { + typedef ::cppu::WeakComponentImplHelper5 < + css::drawing::framework::XConfigurationChangeListener, + css::frame::XFrameActionListener, + css::awt::XKeyListener, + css::awt::XFocusListener, + css::awt::XMouseListener + > PresenterControllerInterfaceBase; +} + + +/** The controller of the presenter screen is responsible for telling the + individual views which slides to show. Additionally it provides access + to frequently used values of the current theme. +*/ +class PresenterController + : protected ::cppu::BaseMutex, + public PresenterControllerInterfaceBase +{ +public: + PresenterController ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxController, + const css::uno::Reference& rxSlideShowController, + const rtl::Reference& rpPaneContainer, + const css::uno::Reference& rxMainPaneId); + ~PresenterController (void); + + virtual void SAL_CALL disposing (void); + + void UpdateCurrentSlide (const sal_Int32 nOffset); + + sal_Int32 GetBackgroundColor (void) const; + sal_Int32 GetViewBackgroundColor (const ::rtl::OUString& rsViewURL) const; + css::uno::Reference GetViewBackgroundBitmap (const ::rtl::OUString& rsViewURL) const; + css::awt::FontDescriptor GetViewFontDescriptor (const ::rtl::OUString& rsViewURL) const; + css::rendering::FontRequest GetViewFontRequest (const ::rtl::OUString& rsViewURL) const; + css::util::Color GetViewFontColor (const ::rtl::OUString& rsViewURL) const; + ::boost::shared_ptr GetTheme (void) const; + ::rtl::Reference GetWindowManager (void) const; + css::uno::Reference + GetSlideShowController (void) const; + css::uno::Reference GetParentWindow (void) const; + rtl::Reference GetPaneContainer (void) const; + ::rtl::Reference GetPaneBorderPainter (void) const; + ::boost::shared_ptr GetAnimator (void) const; + void HideSlideSorter (void); + + // XConfigurationChangeListener + + virtual void SAL_CALL notifyConfigurationChange ( + const com::sun::star::drawing::framework::ConfigurationChangeEvent& rEvent) + throw (com::sun::star::uno::RuntimeException); + + + // XEventListener + + virtual void SAL_CALL disposing ( + const com::sun::star::lang::EventObject& rEvent) + throw (com::sun::star::uno::RuntimeException); + + + // XFrameActionListener + + virtual void SAL_CALL frameAction ( + const css::frame::FrameActionEvent& rEvent) + throw (com::sun::star::uno::RuntimeException); + + + // XKeyListener + + virtual void SAL_CALL keyPressed (const css::awt::KeyEvent& rEvent) + throw (css::uno::RuntimeException); + virtual void SAL_CALL keyReleased (const css::awt::KeyEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XFocusListener + + virtual void SAL_CALL focusGained (const css::awt::FocusEvent& rEvent) + throw (css::uno::RuntimeException); + virtual void SAL_CALL focusLost (const css::awt::FocusEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseListener + + virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + +private: + css::uno::Reference mxContext; + css::uno::Reference mxController; + css::uno::Reference + mxConfigurationController; + css::uno::Reference mxSlideShowController; + css::uno::Reference mxMainPaneId; + rtl::Reference mpPaneContainer; + css::uno::Reference mxCurrentSlide; + css::uno::Reference mxNextSlide; + ::rtl::Reference mpWindowManager; + ::boost::shared_ptr mpCurrentPaneAnimation; + sal_Int32 mnBackgroundColor; + sal_Int32 mnWindowBackgroundColor; + ::boost::shared_ptr mpTheme; + css::uno::Reference mxMainWindow; + ::rtl::Reference mpPaneBorderPainter; + ::boost::shared_ptr mpAnimator; + + void InitializePresenterScreen (void); + void InitializeSlideShowView (const css::uno::Reference& rxView); + void GetSlides (const sal_Int32 nOffset); + void UpdateViews (void); + void InitializeMainPane (const css::uno::Reference& rxPane); + void LoadTheme (const css::uno::Reference& rxPane); + void ToggleHelpWindow (const bool bUseAnimation); + enum ToggleState { Toggle, Show, Hide }; + void ToggleSlideSorter ( + const ToggleState eState, + const sal_Int32 nAppearMode); + + void ThrowIfDisposed (void) const throw (::com::sun::star::lang::DisposedException); +}; + + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From 6496e5e2c8272c23e3b6b99bf16b9ff6b6579460 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:57:50 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/09 18:36:57 cl 1.1.2.2: #i18486# use new slideshow api 2007/10/24 11:45:24 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterCurrentSlideObserver.cxx | 152 +++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 sdext/source/presenter/PresenterCurrentSlideObserver.cxx diff --git a/sdext/source/presenter/PresenterCurrentSlideObserver.cxx b/sdext/source/presenter/PresenterCurrentSlideObserver.cxx new file mode 100644 index 000000000000..0d7d53a12e18 --- /dev/null +++ b/sdext/source/presenter/PresenterCurrentSlideObserver.cxx @@ -0,0 +1,152 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterCurrentSlideObserver.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:57:50 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterCurrentSlideObserver.hxx" + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +//===== PresenterCurrentSlideObserver ========================================= + +PresenterCurrentSlideObserver::PresenterCurrentSlideObserver ( + const ::rtl::Reference& rxPresenterController, + const Reference& rxSlideShowController) + : PresenterCurrentSlideObserverInterfaceBase(m_aMutex), + mpPresenterController(rxPresenterController), + mxSlideShowController(rxSlideShowController) +{ + if( mpPresenterController.is() ) + { + mpPresenterController->addEventListener(this); + } + + if( mxSlideShowController.is() ) + { + // Listen for events from the slide show controller. + mxSlideShowController->addSlideShowListener(static_cast(this)); + } +} + +PresenterCurrentSlideObserver::~PresenterCurrentSlideObserver (void) +{ +} + +void SAL_CALL PresenterCurrentSlideObserver::disposing (void) +{ + // Disconnect form the slide show controller. + if(mxSlideShowController.is()) + { + mxSlideShowController->removeSlideShowListener(static_cast(this)); + mxSlideShowController = NULL; + } +} + +//----- XSlideShowListener ---------------------------------------------------- + +void SAL_CALL PresenterCurrentSlideObserver::beginEvent ( + const Reference& rNode) + throw (css::uno::RuntimeException) +{ + (void)rNode; +} + +void SAL_CALL PresenterCurrentSlideObserver::endEvent ( + const Reference& rNode) + throw(css::uno::RuntimeException) +{ + (void)rNode; +} + +void SAL_CALL PresenterCurrentSlideObserver::repeat ( + const css::uno::Reference& rNode, + sal_Int32) + throw (com::sun::star::uno::RuntimeException) +{ + (void)rNode; +} + +void SAL_CALL PresenterCurrentSlideObserver::paused (void) + throw (com::sun::star::uno::RuntimeException) +{ +} + +void SAL_CALL PresenterCurrentSlideObserver::resumed (void) + throw (css::uno::RuntimeException) +{ +} + +void SAL_CALL PresenterCurrentSlideObserver::slideEnded (void) + throw (css::uno::RuntimeException) +{ +} + +void SAL_CALL PresenterCurrentSlideObserver::hyperLinkClicked (const rtl::OUString &) + throw (css::uno::RuntimeException) +{ +} + +void SAL_CALL PresenterCurrentSlideObserver::slideTransitionStarted (void) + throw (css::uno::RuntimeException) +{ + if( mpPresenterController.is() ) + mpPresenterController->UpdateCurrentSlide(0); +} + +void SAL_CALL PresenterCurrentSlideObserver::slideTransitionEnded (void) + throw (css::uno::RuntimeException) +{ +} + +void SAL_CALL PresenterCurrentSlideObserver::slideAnimationsEnded (void) + throw (css::uno::RuntimeException) +{ +} + +//----- XEventListener -------------------------------------------------------- + +void SAL_CALL PresenterCurrentSlideObserver::disposing ( + const lang::EventObject& rEvent) + throw (RuntimeException) +{ + if (rEvent.Source == Reference(static_cast(mpPresenterController.get()))) + dispose(); + else if (rEvent.Source == mxSlideShowController) + mxSlideShowController = NULL; +} + +} } // end of namespace ::sdext::presenter -- cgit From f586d3d585a5bdcf0e4ea487d9819ad575a342b3 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:58:00 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/09 18:36:57 cl 1.1.2.3: #i18486# use new slideshow api 2007/12/14 09:38:38 af 1.1.2.2: #i18486# Resolved resync problems. 2007/10/24 11:45:12 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterCurrentSlideObserver.hxx | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 sdext/source/presenter/PresenterCurrentSlideObserver.hxx diff --git a/sdext/source/presenter/PresenterCurrentSlideObserver.hxx b/sdext/source/presenter/PresenterCurrentSlideObserver.hxx new file mode 100644 index 000000000000..ed7102ef0ddd --- /dev/null +++ b/sdext/source/presenter/PresenterCurrentSlideObserver.hxx @@ -0,0 +1,103 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterCurrentSlideObserver.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:58:00 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_CURRENT_SLIDE_OBSERVER +#define SDEXT_PRESENTER_CURRENT_SLIDE_OBSERVER + +#include "PresenterController.hxx" +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +namespace { + typedef ::cppu::WeakComponentImplHelper1 < + css::presentation::XSlideShowListener + > PresenterCurrentSlideObserverInterfaceBase; +} + +/** Check periodically the slide show controller and the + frame::XController whether the current slide has changed. If so, + then inform the presenter controller about it. + + Objects of this class have their own lifetime control and destroy + themselves when the presenter controller is diposed. +*/ +class PresenterCurrentSlideObserver + : protected ::cppu::BaseMutex, + public PresenterCurrentSlideObserverInterfaceBase +{ +public: + PresenterCurrentSlideObserver ( + const ::rtl::Reference& rxPresenterController, + const css::uno::Reference& rxSlideShowController); + virtual ~PresenterCurrentSlideObserver (void); + + virtual void SAL_CALL disposing (void); + + // XSlideShowListener + virtual void SAL_CALL paused( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL resumed( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL slideTransitionStarted( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL slideTransitionEnded( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL slideAnimationsEnded( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL slideEnded( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL hyperLinkClicked( const ::rtl::OUString& hyperLink ) throw (::com::sun::star::uno::RuntimeException); + + // XAnimationListener + virtual void SAL_CALL beginEvent( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& Node ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL endEvent( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& Node ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL repeat( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& Node, ::sal_Int32 Repeat ) throw (::com::sun::star::uno::RuntimeException); + + // XEventListener + virtual void SAL_CALL disposing ( + const com::sun::star::lang::EventObject& rEvent) + throw (com::sun::star::uno::RuntimeException); + +private: + ::rtl::Reference mpPresenterController; + css::uno::Reference mxSlideShowController; +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From 6be398c9f1cb7a4d48d1acf333acf34fe8e5a21f Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:58:11 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/27 09:11:09 af 1.1.2.2: #i18486# Resolved resync problems. 2008/02/26 16:16:00 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterFrameworkObserver.cxx | 173 +++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 sdext/source/presenter/PresenterFrameworkObserver.cxx diff --git a/sdext/source/presenter/PresenterFrameworkObserver.cxx b/sdext/source/presenter/PresenterFrameworkObserver.cxx new file mode 100644 index 000000000000..6779988d5990 --- /dev/null +++ b/sdext/source/presenter/PresenterFrameworkObserver.cxx @@ -0,0 +1,173 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterFrameworkObserver.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:58:11 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterFrameworkObserver.hxx" +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; + +using ::rtl::OUString; + +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + +namespace sdext { namespace presenter { + +PresenterFrameworkObserver::PresenterFrameworkObserver ( + const css::uno::Reference&rxController, + const OUString& rsEventName, + const Predicate& rPredicate, + const Action& rAction) + : PresenterFrameworkObserverInterfaceBase(m_aMutex), + mxConfigurationController(rxController), + maPredicate(rPredicate), + maAction(rAction) +{ + if ( ! mxConfigurationController.is()) + throw lang::IllegalArgumentException(); + + if (mxConfigurationController->hasPendingRequests()) + { + mxConfigurationController->addConfigurationChangeListener( + this, + rsEventName, + Any()); + mxConfigurationController->addConfigurationChangeListener( + this, + A2S("ConfigurationUpdateEnd"), + Any()); + } + else + { + rAction(maPredicate()); + } +} + + + + +PresenterFrameworkObserver::~PresenterFrameworkObserver (void) +{ +} + + + + +void PresenterFrameworkObserver::RunOnResourceActivation ( + const css::uno::Reference&rxController, + const css::uno::Reference& rxResourceId, + const Action& rAction) +{ + new PresenterFrameworkObserver( + rxController, + A2S("ResourceActivation"), + ::boost::bind(&PresenterFrameworkObserver::HasResource, rxController, rxResourceId), + rAction); +} + + + + +bool PresenterFrameworkObserver::HasResource ( + const css::uno::Reference&rxController, + const css::uno::Reference& rxResourceId) +{ + return rxController.is() && rxController->getResource(rxResourceId).is(); +} + + + + +void SAL_CALL PresenterFrameworkObserver::disposing (void) +{ + if ( ! maAction.empty()) + maAction(false); + maAction = Action(); + maPredicate = Predicate(); + + if (mxConfigurationController != NULL) + { + mxConfigurationController->removeConfigurationChangeListener(this); + mxConfigurationController = NULL; + } +} + + + + +void SAL_CALL PresenterFrameworkObserver::disposing (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + if ( ! rEvent.Source.is()) + return; + + if (rEvent.Source == mxConfigurationController) + { + mxConfigurationController = NULL; + if ( ! maAction.empty()) + maAction(false); + } +} + + + + +void SAL_CALL PresenterFrameworkObserver::notifyConfigurationChange ( + const ConfigurationChangeEvent& rEvent) + throw (RuntimeException) +{ + bool bDispose(false); + + if (rEvent.Type.equals(A2S("ConfigurationUpdateEnd"))) + { + maAction(maPredicate); + bDispose = true; + } + else if (maPredicate()) + { + maAction(true); + bDispose = true; + } + + if (bDispose) + { + maAction.clear(); + dispose(); + } +} + +} } // end of namespace ::sdext::presenter -- cgit From 32a9cf504ebdea5ba336d3c35e68661ef68e2e65 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:58:23 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:15:47 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterFrameworkObserver.hxx | 111 +++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 sdext/source/presenter/PresenterFrameworkObserver.hxx diff --git a/sdext/source/presenter/PresenterFrameworkObserver.hxx b/sdext/source/presenter/PresenterFrameworkObserver.hxx new file mode 100644 index 000000000000..5cd246c14ad3 --- /dev/null +++ b/sdext/source/presenter/PresenterFrameworkObserver.hxx @@ -0,0 +1,111 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterFrameworkObserver.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:58:23 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_FRAMEWORK_OBSERVER_HXX +#define SDEXT_PRESENTER_PRESENTER_FRAMEWORK_OBSERVER_HXX + +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + + +typedef ::cppu::WeakComponentImplHelper1 < + ::com::sun::star::drawing::framework::XConfigurationChangeListener + > PresenterFrameworkObserverInterfaceBase; + +/** Watch the drawing framework for changes and run callbacks when a certain + change takes place. +*/ +class PresenterFrameworkObserver + : private ::boost::noncopyable, + private ::cppu::BaseMutex, + public PresenterFrameworkObserverInterfaceBase +{ +public: + typedef ::boost::function Predicate; + typedef ::boost::function Action; + + /** Register an action callback to be run when the specified resource is + activated. The action may be called synchronously when the resource + is already active or asynchronously when the resource is actived in + the future. + @param rxController + The controller gives access to the drawing framework. + @param rxResourceId + The id of the resource to watch for activation. + @param rAction + The callback that is called when the resource is activated. + */ + static void RunOnResourceActivation ( + const css::uno::Reference&rxController, + const css::uno::Reference& rxResourceId, + const Action& rAction); + + virtual void SAL_CALL disposing (void); + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + virtual void SAL_CALL notifyConfigurationChange ( + const css::drawing::framework::ConfigurationChangeEvent& rEvent) + throw (css::uno::RuntimeException); + +private: + ::rtl::OUString msEventType; + ::css::uno::Reference mxConfigurationController; + Predicate maPredicate; + Action maAction; + + PresenterFrameworkObserver ( + const css::uno::Reference&rxController, + const ::rtl::OUString& rsEventName, + const Predicate& rPredicate, + const Action& rAction); + virtual ~PresenterFrameworkObserver (void); + + static bool HasResource ( + const css::uno::Reference&rxController, + const css::uno::Reference& rxResourceId); +}; + + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From e45fd0752afc52e9aa2d6195d0698a1e5de04f01 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:58:34 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:05:08 af 1.1.2.3: #i18486# Added Intersection(), IsInside(), CreatePolygon() variant. 2008/01/23 11:00:19 af 1.1.2.2: #i18486# Added CreatePolygon() method for multiple rectangles. 2008/01/21 15:54:02 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterGeometryHelper.cxx | 240 +++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 sdext/source/presenter/PresenterGeometryHelper.cxx diff --git a/sdext/source/presenter/PresenterGeometryHelper.cxx b/sdext/source/presenter/PresenterGeometryHelper.cxx new file mode 100644 index 000000000000..11936ef0e5af --- /dev/null +++ b/sdext/source/presenter/PresenterGeometryHelper.cxx @@ -0,0 +1,240 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterGeometryHelper.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:58:34 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterGeometryHelper.hxx" + +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; + +namespace { + +sal_Int32 Right (const awt::Rectangle& rBox) +{ + return rBox.X + rBox.Width - 1; +} + +sal_Int32 Bottom (const awt::Rectangle& rBox) +{ + return rBox.Y + rBox.Height - 1; +} + +sal_Int32 Width (const sal_Int32 nLeft, const sal_Int32 nRight) +{ + return nRight - nLeft + 1; +} + +sal_Int32 Height (const sal_Int32 nTop, const sal_Int32 nBottom) +{ + return nBottom - nTop + 1; +} + +} // end of anonymous namespace + + + +namespace sdext { namespace presenter { + +awt::Rectangle PresenterGeometryHelper::TranslateRectangle ( + const css::awt::Rectangle& rBox, + const sal_Int32 nXOffset, + const sal_Int32 nYOffset) +{ + return awt::Rectangle(rBox.X + nXOffset, rBox.Y + nYOffset, rBox.Width, rBox.Height); +} + + + + +awt::Rectangle PresenterGeometryHelper::Intersection ( + const css::awt::Rectangle& rBox1, + const css::awt::Rectangle& rBox2) +{ + const sal_Int32 nLeft (::std::max(rBox1.X, rBox2.X)); + const sal_Int32 nTop (::std::max(rBox1.Y, rBox2.Y)); + const sal_Int32 nRight (::std::min(Right(rBox1), Right(rBox2))); + const sal_Int32 nBottom (::std::min(Bottom(rBox1), Bottom(rBox2))); + if (nLeft >= nRight || nTop >= nBottom) + return awt::Rectangle(); + else + return awt::Rectangle(nLeft,nTop, Width(nLeft,nRight), Height(nTop,nBottom)); +} + + + + +bool PresenterGeometryHelper::IsInside ( + const css::awt::Rectangle& rBox, + const css::awt::Point& rPoint) +{ + return rBox.X <= rPoint.X + && rBox.Y <= rPoint.Y + && rBox.X+rBox.Width > rPoint.X + && rBox.Y+rBox.Height > rPoint.Y; +} + + + + +bool PresenterGeometryHelper::IsInside ( + const css::geometry::RealRectangle2D& rBox, + const css::geometry::RealPoint2D& rPoint) +{ + return rBox.X1 <= rPoint.X + && rBox.Y1 <= rPoint.Y + && rBox.X2 >= rPoint.X + && rBox.Y2 >= rPoint.Y; +} + + + + +awt::Rectangle PresenterGeometryHelper::Union ( + const css::awt::Rectangle& rBox1, + const css::awt::Rectangle& rBox2) +{ + if (rBox1.Width<=0 || rBox1.Height<=0) + return rBox2; + else if (rBox2.Width<=0 || rBox2.Height<=0) + return rBox1; + + const sal_Int32 nLeft (::std::min(rBox1.X, rBox2.X)); + const sal_Int32 nTop (::std::min(rBox1.Y, rBox2.Y)); + const sal_Int32 nRight (::std::max(Right(rBox1), Right(rBox2))); + const sal_Int32 nBottom (::std::max(Bottom(rBox1), Bottom(rBox2))); + if (nLeft >= nRight || nTop >= nBottom) + return awt::Rectangle(); + else + return awt::Rectangle(nLeft,nTop, Width(nLeft,nRight), Height(nTop,nBottom)); +} + + + + +bool PresenterGeometryHelper::AreRectanglesDisjoint ( + const css::awt::Rectangle& rBox1, + const css::awt::Rectangle& rBox2) +{ + return rBox1.X+rBox1.Width <= rBox2.X + || rBox1.Y+rBox1.Height <= rBox2.Y + || rBox1.X >= rBox2.X+rBox2.Width + || rBox1.Y >= rBox2.Y+rBox2.Height; +} + + + + +Reference PresenterGeometryHelper::CreatePolygon( + const awt::Rectangle& rBox, + const Reference& rxDevice) +{ + if ( ! rxDevice.is()) + return NULL; + + Sequence > aPoints(1); + aPoints[0] = Sequence(4); + aPoints[0][0] = geometry::RealPoint2D(rBox.X, rBox.Y); + aPoints[0][1] = geometry::RealPoint2D(rBox.X, rBox.Y+rBox.Height); + aPoints[0][2] = geometry::RealPoint2D(rBox.X+rBox.Width, rBox.Y+rBox.Height); + aPoints[0][3] = geometry::RealPoint2D(rBox.X+rBox.Width, rBox.Y); + Reference xRectangle ( + rxDevice->createCompatibleLinePolyPolygon(aPoints), + UNO_QUERY); + if (xRectangle.is()) + xRectangle->setClosed(0, sal_True); + + return xRectangle; +} + + + + +Reference PresenterGeometryHelper::CreatePolygon( + const geometry::RealRectangle2D& rBox, + const Reference& rxDevice) +{ + if ( ! rxDevice.is()) + return NULL; + + Sequence > aPoints(1); + aPoints[0] = Sequence(4); + aPoints[0][0] = geometry::RealPoint2D(rBox.X1, rBox.Y1); + aPoints[0][1] = geometry::RealPoint2D(rBox.X1, rBox.Y2); + aPoints[0][2] = geometry::RealPoint2D(rBox.X2, rBox.Y2); + aPoints[0][3] = geometry::RealPoint2D(rBox.X2, rBox.Y1); + Reference xRectangle ( + rxDevice->createCompatibleLinePolyPolygon(aPoints), + UNO_QUERY); + if (xRectangle.is()) + xRectangle->setClosed(0, sal_True); + + return xRectangle; +} + + + + +Reference PresenterGeometryHelper::CreatePolygon( + const ::std::vector& rBoxes, + const Reference& rxDevice) +{ + if ( ! rxDevice.is()) + return NULL; + + const sal_Int32 nCount (rBoxes.size()); + Sequence > aPoints(nCount); + for (sal_Int32 nIndex=0; nIndex(4); + aPoints[nIndex][0] = geometry::RealPoint2D(rBox.X, rBox.Y); + aPoints[nIndex][1] = geometry::RealPoint2D(rBox.X, rBox.Y+rBox.Height); + aPoints[nIndex][2] = geometry::RealPoint2D(rBox.X+rBox.Width, rBox.Y+rBox.Height); + aPoints[nIndex][3] = geometry::RealPoint2D(rBox.X+rBox.Width, rBox.Y); + } + + Reference xRectangle ( + rxDevice->createCompatibleLinePolyPolygon(aPoints), + UNO_QUERY); + if (xRectangle.is()) + for (sal_Int32 nIndex=0; nIndexsetClosed(nIndex, sal_True); + + return xRectangle; +} + + +} } -- cgit From 3a2cfefd529482ca42da1db9fb54f09681977b25 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:58:45 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:04:29 af 1.1.2.3: #i18486# Added Intersection(), IsInside(), CreatePolygon() variant. 2008/01/23 10:59:55 af 1.1.2.2: #i18486# Added CreatePolygon() method for multiple rectangles. 2008/01/21 15:51:43 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterGeometryHelper.hxx | 95 ++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 sdext/source/presenter/PresenterGeometryHelper.hxx diff --git a/sdext/source/presenter/PresenterGeometryHelper.hxx b/sdext/source/presenter/PresenterGeometryHelper.hxx new file mode 100644 index 000000000000..4daba4164060 --- /dev/null +++ b/sdext/source/presenter/PresenterGeometryHelper.hxx @@ -0,0 +1,95 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterGeometryHelper.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:58:45 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_GEOMETRY_HELPER_HXX +#define SDEXT_PRESENTER_PRESENTER_GEOMETRY_HELPER_HXX + +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +/** Collection of geometry related convenience functions. +*/ +class PresenterGeometryHelper +{ +public: + static css::awt::Rectangle TranslateRectangle ( + const css::awt::Rectangle& rBox, + const sal_Int32 nXOffset, + const sal_Int32 nYOffset); + + static css::awt::Rectangle Intersection ( + const css::awt::Rectangle& rBox1, + const css::awt::Rectangle& rBox2); + + static bool IsInside ( + const css::awt::Rectangle& rBox, + const css::awt::Point& rPoint); + + static bool IsInside ( + const css::geometry::RealRectangle2D& rBox, + const css::geometry::RealPoint2D& rPoint); + + static css::awt::Rectangle Union ( + const css::awt::Rectangle& rBox1, + const css::awt::Rectangle& rBox2); + + static bool AreRectanglesDisjoint ( + const css::awt::Rectangle& rBox1, + const css::awt::Rectangle& rBox2); + + static css::uno::Reference CreatePolygon( + const css::awt::Rectangle& rBox, + const css::uno::Reference& rxDevice); + + static css::uno::Reference CreatePolygon( + const css::geometry::RealRectangle2D& rBox, + const css::uno::Reference& rxDevice); + + static css::uno::Reference CreatePolygon( + const ::std::vector& rBoxes, + const css::uno::Reference& rxDevice); +}; + +} } + +#endif -- cgit From f237718a6d99304e230d67007914d9e92b16ec1f Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:58:56 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:06:28 af 1.1.2.7: #i18486# Added ProvideCanvas(). 2008/01/23 15:16:53 af 1.1.2.6: #i18486# Fixed Linux compilation problems. 2008/01/23 11:47:39 af 1.1.2.5: #i18486# Code cleanup. 2007/12/12 15:39:18 af 1.1.2.4: #i18486# Removed support for background bitmap. 2007/12/12 15:06:41 af 1.1.2.3: #i18486# Changed the painting of the content window. 2007/11/19 09:32:24 af 1.1.2.2: #i18486# Added isAnchorOnly() method. Added XComponentContext argument to constructor, storing it as member. 2007/10/24 11:50:35 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterHelpView.cxx | 388 +++++++++++++++++++++++++++ 1 file changed, 388 insertions(+) create mode 100644 sdext/source/presenter/PresenterHelpView.cxx diff --git a/sdext/source/presenter/PresenterHelpView.cxx b/sdext/source/presenter/PresenterHelpView.cxx new file mode 100644 index 000000000000..9d734ec8f4d3 --- /dev/null +++ b/sdext/source/presenter/PresenterHelpView.cxx @@ -0,0 +1,388 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterHelpView.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:58:56 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterHelpView.hxx" +#include "PresenterGeometryHelper.hxx" +#include "PresenterHelper.hxx" +#include "PresenterWindowManager.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +PresenterHelpView::PresenterHelpView ( + const Reference& rxContext, + const Reference& rxViewId, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) + : PresenterHelpViewInterfaceBase(m_aMutex), + mxComponentContext(rxContext), + mxViewId(rxViewId), + mxPane(), + mxWindow(), + mpPresenterController(rpPresenterController), + mxCanvas(), + mxFont() +{ + try + { + // Get the content window via the pane anchor. + Reference xCM (rxController, UNO_QUERY_THROW); + Reference xCC ( + xCM->getConfigurationController(), UNO_QUERY_THROW); + mxPane = Reference(xCC->getResource(rxViewId->getAnchor()), UNO_QUERY_THROW); + + mxWindow = mxPane->getWindow(); + + mxWindow->addWindowListener(this); + mxWindow->addPaintListener(this); + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->setBackground(util::Color(0xff000000)); + mxWindow->setVisible(sal_True); + + if (mpPresenterController.is()) + { + ::rtl::Reference pWindowManager( + mpPresenterController->GetWindowManager()); + if (pWindowManager.is()) + pWindowManager->SetPanePosSizeRelative(rxViewId->getAnchor(), + 0.1,0.2, 0.8,0.6); + } + + Resize(); + } + catch (RuntimeException&) + { + mxViewId = NULL; + mxWindow = NULL; + throw; + } +} + + + + +PresenterHelpView::~PresenterHelpView (void) +{ +} + + + + +void SAL_CALL PresenterHelpView::disposing (void) +{ + mxViewId = NULL; + + if (mxWindow.is()) + { + mxWindow->removeWindowListener(this); + mxWindow->removePaintListener(this); + } +} + + + + +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL PresenterHelpView::disposing (const lang::EventObject& rEventObject) + throw (RuntimeException) +{ + if (rEventObject.Source == mxCanvas) + { + mxCanvas = NULL; + } + else if (rEventObject.Source == mxWindow) + { + mxWindow = NULL; + dispose(); + } +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterHelpView::windowResized (const awt::WindowEvent& rEvent) + throw (uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + Resize(); +} + + + + +void SAL_CALL PresenterHelpView::windowMoved (const awt::WindowEvent& rEvent) + throw (uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +void SAL_CALL PresenterHelpView::windowShown (const lang::EventObject& rEvent) + throw (uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + Resize(); +} + + + + +void SAL_CALL PresenterHelpView::windowHidden (const lang::EventObject& rEvent) + throw (uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterHelpView::windowPaint (const css::awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + Paint(rEvent.UpdateRect); +} + + + + +void PresenterHelpView::Paint (const awt::Rectangle& rUpdateBox) +{ + ProvideCanvas(); + + Sequence aBackgroundColor(4); + aBackgroundColor[0] = 0.9; + aBackgroundColor[1] = 0.6; + aBackgroundColor[2] = 0.4; + aBackgroundColor[3] = 0; + + rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + PresenterGeometryHelper::CreatePolygon(rUpdateBox, mxCanvas->getDevice())); + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + aBackgroundColor, + rendering::CompositeOperation::ADD); + + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + + mxCanvas->fillPolyPolygon( + PresenterGeometryHelper::CreatePolygon( + awt::Rectangle(0,0,aWindowBox.Width,aWindowBox.Height), + mxCanvas->getDevice()), + aViewState, + aRenderState); + + aRenderState.DeviceColor[0] = 0.4; + aRenderState.DeviceColor[1] = 0.4; + aRenderState.DeviceColor[2] = 0.4; + aRenderState.DeviceColor[3] = 0.8; + + // Create a polygon for a rectangle with rounded corners. + Sequence > aPolygon(1); + aPolygon[0] = Sequence(8); + const double nLeft = 0.2 * aWindowBox.Width; + const double nTop = 0.2 * aWindowBox.Height; + const double nRight = 0.8 * aWindowBox.Width; + const double nBottom = 0.8 * aWindowBox.Height; + const double nRadius = ::std::min(30.0,::std::min(aWindowBox.Width/2.0,aWindowBox.Height/2.0)); + +#define SetCurve(aPolygon, x,y, dx1,dy1, dx2,dy2) \ + aPolygon.Px=(x); aPolygon.Py=(y); \ + aPolygon.C1x=(x)+(dx1); aPolygon.C1y=(y)+(dy1); \ + aPolygon.C2x=(x)+(dx1)+(dx2); aPolygon.C2y=(y)+(dy1)+(dy2); +#define SetLine(aPolygon, x1,y1, x2,y2) \ + aPolygon.Px=(x1); aPolygon.Py=(y1); \ + aPolygon.C1x=0.666*(x1)+0.334*(x2); aPolygon.C1y=0.666*(y1)+0.334*(y2); \ + aPolygon.C2x=0.333*(x1)+0.667*(x2); aPolygon.C2y=0.333*(y1)+0.667*(y2); + + SetCurve(aPolygon[0][0], nLeft + nRadius, nTop, -nRadius, 0, 0,0); + SetLine(aPolygon[0][1], nLeft, nTop+nRadius, nLeft, nBottom-nRadius); + + SetCurve(aPolygon[0][2], nLeft, nBottom-nRadius, 0,nRadius, 0,0); + SetLine(aPolygon[0][3], nLeft+nRadius, nBottom, nRight-nRadius, nBottom); + + SetCurve(aPolygon[0][4], nRight-nRadius, nBottom, nRadius,0, 0,0); + SetLine(aPolygon[0][5], nRight, nBottom-nRadius, nRight, nTop+nRadius); + + SetCurve(aPolygon[0][6], nRight, nTop+nRadius, 0,-nRadius, 0,0); + SetLine(aPolygon[0][7], nRight-nRadius, nTop, nLeft+nRadius, nTop); + + Reference xPolygon ( + mxCanvas->getDevice()->createCompatibleBezierPolyPolygon(aPolygon), + UNO_QUERY_THROW); + if (xPolygon.is()) + { + xPolygon->setClosed(0, sal_True); + mxCanvas->fillPolyPolygon( + xPolygon, + aViewState, + aRenderState); + } + + if ( ! mxFont.is()) + mxFont = mxCanvas->createFont( + mpPresenterController->GetViewFontRequest(mxViewId->getResourceURL()), + Sequence(), + geometry::Matrix2D(1,0,0,1)); + + if (mxFont.is()) + { + OUString sText (OUString::createFromAscii("Help View\nSecond Line of Text")); + rendering::StringContext aContext (sText, 0, sText.getLength()); + + Reference xLayout ( + mxFont->createTextLayout(aContext, rendering::TextDirection::WEAK_LEFT_TO_RIGHT, 0)); + + geometry::RealRectangle2D aBox (xLayout->queryTextBounds()); + // const double nTextWidth = aBox.X2 - aBox.X1; + // const double nTextHeight = aBox.Y2 - aBox.Y1; + const double nX = nTop + 2*nRadius; + const double nY = nLeft + 2*nRadius; + + rendering::RenderState aFontRenderState( + geometry::AffineMatrix2D(1,0,nX, 0,1,nY), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + const util::Color aFontColor ( + mpPresenterController->GetViewFontColor(mxViewId->getResourceURL())); + aRenderState.DeviceColor[0] = ((aFontColor & 0x00ff0000)>>16) / 255.0; + aRenderState.DeviceColor[1] = ((aFontColor & 0x0000ff00)>>8) / 255.0; + aRenderState.DeviceColor[2] = (aFontColor & 0x000000ff) / 255.0; + + mxCanvas->drawText( + aContext, + mxFont, + aViewState, + aFontRenderState, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT); + } + + mxCanvas->updateScreen(sal_False); +} + + + + +//----- XResourceId ----------------------------------------------------------- + +Reference SAL_CALL PresenterHelpView::getResourceId (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + return mxViewId; +} + + + + +sal_Bool SAL_CALL PresenterHelpView::isAnchorOnly (void) + throw (RuntimeException) +{ + return false; +} + + + + +//----------------------------------------------------------------------------- + +void PresenterHelpView::ProvideCanvas (void) +{ + if ( ! mxCanvas.is() && mxPane.is()) + { + mxCanvas = Reference(mxPane->getCanvas(), UNO_QUERY); + if ( ! mxCanvas.is()) + return; + Reference xComponent (mxCanvas, UNO_QUERY); + if (xComponent.is()) + xComponent->addEventListener(static_cast(this)); + } +} + + + + +void PresenterHelpView::Resize (void) +{ + // The whole window has to be repainted. + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(awt::InvalidateStyle::CHILDREN); +} + + + + +void PresenterHelpView::ThrowIfDisposed (void) + throw (lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterHelpView has been already disposed")), + const_cast(static_cast(this))); + } +} + +} } // end of namespace ::sdext::presenter -- cgit From 0cf14d5f634d00fda214e5e603542a7bf3849f1f Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:59:06 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:05:44 af 1.1.2.6: #i18486# Added ProvideCanvas(). 2008/01/23 11:49:33 af 1.1.2.5: #i18486# Code cleanup. 2007/12/12 15:39:42 af 1.1.2.4: #i18486# Removed support for background bitmap. 2007/12/12 15:08:19 af 1.1.2.3: #i18486# Changed the painting of the content window. 2007/11/19 09:31:45 af 1.1.2.2: #i18486# Added isAnchorOnly() method. Added XComponentContext argument to constructor, storing it as member. 2007/10/24 11:50:48 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterHelpView.hxx | 135 +++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 sdext/source/presenter/PresenterHelpView.hxx diff --git a/sdext/source/presenter/PresenterHelpView.hxx b/sdext/source/presenter/PresenterHelpView.hxx new file mode 100644 index 000000000000..2ce3729181a1 --- /dev/null +++ b/sdext/source/presenter/PresenterHelpView.hxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterHelpView.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:59:06 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_HELP_VIEW_HXX +#define SDEXT_PRESENTER_HELP_VIEW_HXX + +#include "PresenterController.hxx" +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace { + typedef cppu::WeakComponentImplHelper3< + css::drawing::framework::XView, + css::awt::XWindowListener, + css::awt::XPaintListener + > PresenterHelpViewInterfaceBase; +} + +namespace sdext { namespace presenter { + +/** Experimental. Do not use (yet). +*/ +class PresenterHelpView + : private ::cppu::BaseMutex, + public PresenterHelpViewInterfaceBase +{ +public: + explicit PresenterHelpView ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); + virtual ~PresenterHelpView (void); + + virtual void SAL_CALL disposing (void); + + // lang::XEventListener + + virtual void SAL_CALL + disposing (const css::lang::EventObject& rEventObject) + throw (css::uno::RuntimeException); + + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XResourceId + + virtual css::uno::Reference SAL_CALL getResourceId (void) + throw (css::uno::RuntimeException); + + virtual sal_Bool SAL_CALL isAnchorOnly (void) + throw (com::sun::star::uno::RuntimeException); + +private: + css::uno::Reference mxComponentContext; + css::uno::Reference mxViewId; + css::uno::Reference mxPane; + css::uno::Reference mxWindow; + ::rtl::Reference mpPresenterController; + css::uno::Reference mxCanvas; + css::uno::Reference mxFont; + + void ProvideCanvas (void); + void Resize (void); + void Paint (const css::awt::Rectangle& rRedrawArea); + + /** This method throws a DisposedException when the object has already been + disposed. + */ + void ThrowIfDisposed (void) + throw (css::lang::DisposedException); +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From edd089cf40cc38b3597a0aa7a8461507b20a6458 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:59:17 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/23 11:53:24 af 1.1.2.4: #i18486# Added strings for the default pane and view style. 2008/01/09 18:36:57 cl 1.1.2.3: #i18486# use new slideshow api 2007/11/19 09:34:03 af 1.1.2.2: #i18486# Added frequently used strings of the drawing framework. 2007/10/24 11:49:52 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterHelper.cxx | 131 +++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 sdext/source/presenter/PresenterHelper.cxx diff --git a/sdext/source/presenter/PresenterHelper.cxx b/sdext/source/presenter/PresenterHelper.cxx new file mode 100644 index 000000000000..0b92dfabf358 --- /dev/null +++ b/sdext/source/presenter/PresenterHelper.cxx @@ -0,0 +1,131 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterHelper.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:59:17 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterHelper.hxx" + +#include +#include +#include +#include +#include + + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::presentation; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +const OUString PresenterHelper::msPaneURLPrefix( + OUString::createFromAscii("private:resource/pane/")); +const OUString PresenterHelper::msCenterPaneURL( + msPaneURLPrefix + OUString::createFromAscii("CenterPane")); +const OUString PresenterHelper::msFullScreenPaneURL( + msPaneURLPrefix + OUString::createFromAscii("FullScreenPane")); + +const OUString PresenterHelper::msViewURLPrefix( + OUString::createFromAscii("private:resource/view/")); +const OUString PresenterHelper::msPresenterScreenURL( + msViewURLPrefix + OUString::createFromAscii("PresenterScreen")); +const OUString PresenterHelper::msSlideSorterURL( + msViewURLPrefix + OUString::createFromAscii("SlideSorter")); + +const OUString PresenterHelper::msResourceActivationEvent( + OUString::createFromAscii("ResourceActivation")); +const OUString PresenterHelper::msResourceDeactivationEvent( + OUString::createFromAscii("ResourceDeactivation")); + +const OUString PresenterHelper::msDefaultPaneStyle ( + OUString::createFromAscii("DefaultPaneStyle")); +const OUString PresenterHelper::msDefaultViewStyle ( + OUString::createFromAscii("DefaultViewStyle")); + + +Reference PresenterHelper::GetSlideShowController ( + const Reference& rxController) +{ + Reference xSlideShowController; + + if( rxController.is() ) try + { + Reference xPS ( rxController->getModel(), UNO_QUERY_THROW); + + Reference xPresentation(xPS->getPresentation(), UNO_QUERY_THROW); + + xSlideShowController = xPresentation->getController(); + } + catch(RuntimeException&) + { + } + + return xSlideShowController; +} + + + + +Reference PresenterHelper::GetGraphic ( + const Reference& rxContext, + const OUString& rsName) +{ + Reference xGraphic; + + try + { + // Create GraphicProvider. + Reference xFactory ( + rxContext->getServiceManager(), UNO_QUERY_THROW); + Reference xProvider ( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.graphic.GraphicProvider"), + rxContext), + UNO_QUERY_THROW); + + // Ask the provider to obtain a graphic + Sequence aProperties (1); + aProperties[0].Name = OUString::createFromAscii("URL"); + aProperties[0].Value <<= rsName; + xGraphic = xProvider->queryGraphic(aProperties); + } + catch (const Exception&) + { + OSL_ASSERT(false); + } + + return xGraphic; +} + +} } // end of namespace ::sdext::presenter -- cgit From 75a1099d9580845c70b039c27a0cfdb9f630d82e Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:59:27 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/23 11:51:52 af 1.1.2.5: #i18486# Added strings for the default pane and view style. 2008/01/09 18:36:57 cl 1.1.2.4: #i18486# use new slideshow api 2007/12/12 15:10:06 af 1.1.2.3: #i18486# Code cleanup. 2007/11/19 09:33:30 af 1.1.2.2: #i18486# Added frequently used strings of the drawing framework. 2007/10/24 11:49:41 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterHelper.hxx | 97 ++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 sdext/source/presenter/PresenterHelper.hxx diff --git a/sdext/source/presenter/PresenterHelper.hxx b/sdext/source/presenter/PresenterHelper.hxx new file mode 100644 index 000000000000..baecd03bc2ad --- /dev/null +++ b/sdext/source/presenter/PresenterHelper.hxx @@ -0,0 +1,97 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterHelper.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:59:27 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_VIEW_HELPER_HXX +#define SDEXT_PRESENTER_VIEW_HELPER_HXX + +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +/** Collection of helper functions that do not fit in anywhere else. + Provide access to frequently used strings of the drawing framework. +*/ +class PresenterHelper + : ::boost::noncopyable +{ +public: + static const ::rtl::OUString msPaneURLPrefix; + static const ::rtl::OUString msCenterPaneURL; + static const ::rtl::OUString msFullScreenPaneURL; + + static const ::rtl::OUString msViewURLPrefix; + static const ::rtl::OUString msPresenterScreenURL; + static const ::rtl::OUString msSlideSorterURL; + + static const ::rtl::OUString msResourceActivationEvent; + static const ::rtl::OUString msResourceDeactivationEvent; + + static const ::rtl::OUString msDefaultPaneStyle; + static const ::rtl::OUString msDefaultViewStyle; + + /** Return the slide show controller of a running presentation that has + the same document as the given framework controller. + @return + When no presentation is running this method returns an empty reference. + */ + static css::uno::Reference GetSlideShowController ( + const css::uno::Reference& rxController); + + /** Load a bitmap from a file (or other place) that has the given URL + and return it. + @param rxContext + The component context is used to create the necessary + temporarily used services to load the graphic object. + @param rsURL + URL of a file or other place that points to a bitmap resource. + */ + static css::uno::Reference GetGraphic ( + const css::uno::Reference& rxContext, + const ::rtl::OUString& rsURL); + +private: + PresenterHelper (void); + ~PresenterHelper (void); +}; + +} } // end of namespace presenter + +#endif -- cgit From af2cad61832c118f872d6d29c545362ccedbd9f4 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:59:39 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/28 16:55:22 af 1.1.2.7: #i18486# Scroll bar is updated when font size changes. 2008/02/27 09:11:09 af 1.1.2.6: #i18486# Resolved resync problems. 2008/02/26 15:08:31 af 1.1.2.5: #i18486# Added vertical scroll bar. 2008/01/21 14:49:00 af 1.1.2.4: #i18486# Added vertical scrolling. 2007/12/12 15:46:58 af 1.1.2.3: #i18486# Using canvas and PresenterTextView for rendering. 2007/11/19 09:37:37 af 1.1.2.2: #i18486# Added isAnchorOnly() method. Added XComponentContext argument to constructor, storing it as member. 2007/10/24 11:56:27 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterNotesView.cxx | 568 ++++++++++++++++++++++++++ 1 file changed, 568 insertions(+) create mode 100644 sdext/source/presenter/PresenterNotesView.cxx diff --git a/sdext/source/presenter/PresenterNotesView.cxx b/sdext/source/presenter/PresenterNotesView.cxx new file mode 100644 index 000000000000..fe960686de52 --- /dev/null +++ b/sdext/source/presenter/PresenterNotesView.cxx @@ -0,0 +1,568 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterNotesView.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:59:39 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterNotesView.hxx" +#include "PresenterScrollBar.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +PresenterNotesView::PresenterNotesView ( + const Reference& rxComponentContext, + const Reference& rxViewId, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) + : PresenterNotesViewInterfaceBase(m_aMutex), + mxViewId(rxViewId), + mxTextView(), + mxCanvas(), + mxBitmap(), + mxCurrentNotesPage(), + maFontDescriptor(), + mpScrollBar() +{ + const OUString sResourceURL (mxViewId->getResourceURL()); + maFontDescriptor = rpPresenterController->GetViewFontDescriptor(sResourceURL); + + try + { + Reference xCM (rxController, UNO_QUERY_THROW); + Reference xCC (xCM->getConfigurationController(), UNO_QUERY_THROW); + Reference xPane (xCC->getResource(rxViewId->getAnchor()), UNO_QUERY_THROW); + + mxParentWindow = xPane->getWindow(); + mxCanvas = xPane->getCanvas(); + + Reference xFactory ( + rxComponentContext->getServiceManager(), UNO_QUERY_THROW); + Sequence aArguments(1); + aArguments[0] <<= mxCanvas; + mxTextView = Reference( + xFactory->createInstanceWithArgumentsAndContext( + OUString::createFromAscii("com.sun.star.drawing.PresenterTextView"), + aArguments, + rxComponentContext), + UNO_QUERY_THROW); + mxTextView->setPropertyValue( + OUString::createFromAscii("BackgroundColor"), + Any(rpPresenterController->GetViewBackgroundColor(sResourceURL))); + mxTextView->setPropertyValue( + OUString::createFromAscii("FontDescriptor"), + Any(maFontDescriptor)); + mxTextView->setPropertyValue( + OUString::createFromAscii("TextColor"), + Any(rpPresenterController->GetViewFontColor(sResourceURL))); + + if (mxParentWindow.is()) + { + mxParentWindow->addWindowListener(this); + mxParentWindow->addPaintListener(this); + mxParentWindow->addKeyListener(this); + mxParentWindow->setVisible(sal_True); + } + + mpScrollBar = new PresenterVerticalScrollBar( + rxComponentContext, + mxParentWindow, + ::boost::bind(&PresenterNotesView::SetTop, this, _1)); + mpScrollBar->SetCanvas(mxCanvas); + + Resize(); + } + catch (RuntimeException&) + { + PresenterNotesView::disposing(); + throw; + } +} + + + + +PresenterNotesView::~PresenterNotesView (void) +{ +} + + + + +void SAL_CALL PresenterNotesView::disposing (void) +{ + if (mxParentWindow.is()) + { + mxParentWindow->removeWindowListener(this); + mxParentWindow->removePaintListener(this); + mxParentWindow->removeKeyListener(this); + mxParentWindow = NULL; + } + + { + Reference xComponent (mxTextView, UNO_QUERY); + mxTextView = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + mpScrollBar = NULL; + + mxViewId = NULL; +} + + + + +void PresenterNotesView::SetSlide (const Reference& rxNotesPage) +{ + static const ::rtl::OUString sNotesShapeName ( + OUString::createFromAscii("com.sun.star.presentation.NotesShape")); + static const ::rtl::OUString sTextShapeName ( + OUString::createFromAscii("com.sun.star.drawing.TextShape")); + + Reference xIndexAccess (rxNotesPage, UNO_QUERY); + if (xIndexAccess.is() + && mxTextView.is()) + { + ::rtl::OUString sText; + + // Iterate over all shapes and find the one that holds the text. + sal_Int32 nCount (xIndexAccess->getCount()); + for (sal_Int32 nIndex=0; nIndex xServiceName ( + xIndexAccess->getByIndex(nIndex), UNO_QUERY); + if (xServiceName.is() + && xServiceName->getServiceName().equals(sNotesShapeName)) + { + Reference xText (xServiceName, UNO_QUERY); + if (xText.is()) + { + sText += xText->getString(); + } + } + else + { + Reference xShapeDescriptor ( + xIndexAccess->getByIndex(nIndex), UNO_QUERY); + if (xShapeDescriptor.is()) + { + ::rtl::OUString sType (xShapeDescriptor->getShapeType()); + if (sType.equals(sNotesShapeName) || sType.equals(sTextShapeName)) + { + Reference xText ( + xIndexAccess->getByIndex(nIndex), UNO_QUERY); + if (xText.is()) + { + sText += xText->getString(); + } + } + } + } + } + + mxBitmap = NULL; + mxTextView->setPropertyValue(OUString::createFromAscii("Text"), Any(sText)); + + if (mpScrollBar.get() != NULL) + { + mpScrollBar->SetThumbPosition(0); + UpdateScrollBar(); + } + + Invalidate(); + } +} + + + + +Reference PresenterNotesView::GetWindow (void) const +{ + return mxParentWindow; +} + + + + +//----- lang::XEventListener ------------------------------------------------- + +void SAL_CALL PresenterNotesView::disposing (const lang::EventObject& rEventObject) + throw (RuntimeException) +{ + if (rEventObject.Source == mxParentWindow) + mxParentWindow = NULL; +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterNotesView::windowResized (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + Resize(); +} + + + + +void SAL_CALL PresenterNotesView::windowMoved (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterNotesView::windowShown (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterNotesView::windowHidden (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterNotesView::windowPaint (const awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + ::osl::MutexGuard aSolarGuard (::osl::Mutex::getGlobalMutex()); + Paint(); +} + + + + +//----- XResourceId ----------------------------------------------------------- + +Reference SAL_CALL PresenterNotesView::getResourceId (void) + throw (RuntimeException) +{ + return mxViewId; +} + + + + +sal_Bool SAL_CALL PresenterNotesView::isAnchorOnly (void) + throw (RuntimeException) +{ + return false; +} + + + + +//----- XDrawView ------------------------------------------------------------- + +void SAL_CALL PresenterNotesView::setCurrentPage (const Reference& rxSlide) + throw (RuntimeException) +{ + // Get the associated notes page. + mxCurrentNotesPage = NULL; + try + { + Reference xPresentationPage(rxSlide, UNO_QUERY); + if (xPresentationPage.is()) + mxCurrentNotesPage = xPresentationPage->getNotesPage(); + } + catch (RuntimeException&) + { + } + + SetSlide(mxCurrentNotesPage); + Invalidate(); +} + + + + +Reference SAL_CALL PresenterNotesView::getCurrentPage (void) + throw (RuntimeException) +{ + return NULL; +} + + + + +//----- XKeyListener ---------------------------------------------------------- + +void SAL_CALL PresenterNotesView::keyPressed (const awt::KeyEvent& rEvent) + throw (RuntimeException) +{ + switch (rEvent.KeyCode) + { + case awt::Key::UP: + Scroll(OUString::createFromAscii("-1l")); + break; + + case awt::Key::DOWN: + Scroll(OUString::createFromAscii("+1l")); + break; + } +} + + + + +void SAL_CALL PresenterNotesView::keyReleased (const awt::KeyEvent& rEvent) + throw (RuntimeException) +{ + switch (rEvent.KeyCode) + { + case awt::Key::ADD: + { + maFontDescriptor.Height += 1; + mxTextView->setPropertyValue( + OUString::createFromAscii("FontDescriptor"), + Any(maFontDescriptor)); + UpdateScrollBar(); + Invalidate(); + } + break; + + case awt::Key::SUBTRACT: + { + if (maFontDescriptor.Height > 1) + maFontDescriptor.Height -= 1; + mxTextView->setPropertyValue( + OUString::createFromAscii("FontDescriptor"), + Any(maFontDescriptor)); + UpdateScrollBar(); + Invalidate(); + } + break; + } +} + + + + +//----------------------------------------------------------------------------- + +void PresenterNotesView::Resize (void) +{ + if (mxParentWindow.is() && mpScrollBar.get()!=NULL) + { + const awt::Rectangle aWindowBox (mxParentWindow->getPosSize()); + mxTextView->setPropertyValue( + OUString::createFromAscii("Size"), + Any(awt::Size(aWindowBox.Width - mpScrollBar->GetSize(),aWindowBox.Height))); + mpScrollBar->SetPosSize( + geometry::RealRectangle2D( + aWindowBox.Width - mpScrollBar->GetSize(), + 0, + aWindowBox.Width, + aWindowBox.Height)); + UpdateScrollBar(); + } + mxBitmap = NULL; +} + + + + +void PresenterNotesView::Paint (void) +{ + if (mxParentWindow.is() && mpScrollBar.get() != NULL) + mpScrollBar->Paint(mxParentWindow->getPosSize()); + + if ( ! mxBitmap.is()) + { + if (mxParentWindow.is()) + { + awt::Rectangle aWindowBox (mxParentWindow->getPosSize()); + if (mpScrollBar.get() != NULL) + aWindowBox.Width -= mpScrollBar->GetSize(); + mxBitmap = Reference( + mxTextView->getPropertyValue(OUString::createFromAscii("Bitmap")), + UNO_QUERY); + } + } + + if (mxBitmap.is() && mxCanvas.is()) + { + const rendering::ViewState aViewState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + mxCanvas->drawBitmap( + mxBitmap, + aViewState, + aRenderState); + + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); + } +} + + + + +void PresenterNotesView::Invalidate (void) +{ + mxBitmap = NULL; + Reference xPeer (mxParentWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(awt::InvalidateStyle::NOERASE); +} + + + + +void PresenterNotesView::Scroll (const OUString& rsDistance) +{ + try + { + mxTextView->setPropertyValue( + OUString::createFromAscii("RelativeTop"), + Any(rsDistance)); + + UpdateScrollBar(); + Invalidate(); + } + catch (beans::UnknownPropertyException&) + {} +} + + + + +void PresenterNotesView::SetTop (const double nTop) +{ + try + { + mxTextView->setPropertyValue( + OUString::createFromAscii("Top"), + Any(sal_Int32(nTop))); + + UpdateScrollBar(); + Invalidate(); + } + catch (beans::UnknownPropertyException&) + {} +} + + + + +void PresenterNotesView::UpdateScrollBar (void) +{ + if (mpScrollBar.get() != NULL) + { + try + { + double nHeight; + if (mxTextView->getPropertyValue(OUString::createFromAscii("TotalHeight")) >>= nHeight) + mpScrollBar->SetTotalSize(nHeight); + } + catch(beans::UnknownPropertyException&) + { + OSL_ASSERT(false); + } + + try + { + + double nTop; + if (mxTextView->getPropertyValue(OUString::createFromAscii("Top")) >>= nTop) + mpScrollBar->SetThumbPosition(nTop); + } + catch(beans::UnknownPropertyException&) + { + OSL_ASSERT(false); + } + + if (mxParentWindow.is()) + mpScrollBar->SetThumbSize(mxParentWindow->getPosSize().Height); + } +} + + + + +void PresenterNotesView::ThrowIfDisposed (void) + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterNotesView object has already been disposed")), + static_cast(this)); + } +} + + +} } // end of namespace ::sdext::presenter -- cgit From feb5fb2eb21178a5b40af1ca3585b1afec739f7c Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 14:59:50 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:07:00 af 1.1.2.6: #i18486# Added vertical scroll bar. 2008/01/21 14:50:40 af 1.1.2.5: #i18486# Added vertical scrolling. 2007/12/12 15:44:52 af 1.1.2.4: #i18486# Using canvas and PresenterTextView for rendering. 2007/11/19 09:37:11 af 1.1.2.3: #i18486# Added isAnchorOnly() method. Added XComponentContext argument to constructor, storing it as member. 2007/10/24 13:12:20 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 11:56:13 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterNotesView.hxx | 182 ++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 sdext/source/presenter/PresenterNotesView.hxx diff --git a/sdext/source/presenter/PresenterNotesView.hxx b/sdext/source/presenter/PresenterNotesView.hxx new file mode 100644 index 000000000000..5a5913beb165 --- /dev/null +++ b/sdext/source/presenter/PresenterNotesView.hxx @@ -0,0 +1,182 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterNotesView.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 15:59:50 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_NOTES_VIEW2_HXX +#define SDEXT_PRESENTER_NOTES_VIEW2_HXX + +#include "PresenterController.hxx" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace { + typedef cppu::WeakComponentImplHelper5< + css::awt::XWindowListener, + css::awt::XPaintListener, + css::drawing::framework::XView, + css::drawing::XDrawView, + css::awt::XKeyListener + > PresenterNotesViewInterfaceBase; +} + +namespace sdext { namespace presenter { + +class PresenterScrollBar; + +/** A drawing framework view of the notes of a slide. At the moment this is + a simple text view that does not show the original formatting of the + notes text. +*/ +class PresenterNotesView + : private ::cppu::BaseMutex, + public PresenterNotesViewInterfaceBase +{ +public: + explicit PresenterNotesView ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); + virtual ~PresenterNotesView (void); + + virtual void SAL_CALL disposing (void); + + /** Typically called from setCurrentSlide() with the notes page that is + associed with the slide given to setCurrentSlide(). + + Iterates over all text shapes on the given notes page and diplays + the concatenated text of these. + */ + void SetSlide ( + const css::uno::Reference& rxNotesPage); + + css::uno::Reference GetWindow (void) const; + + // lang::XEventListener + + virtual void SAL_CALL + disposing (const css::lang::EventObject& rEventObject) + throw (css::uno::RuntimeException); + + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XResourceId + + virtual css::uno::Reference SAL_CALL getResourceId (void) + throw (css::uno::RuntimeException); + + virtual sal_Bool SAL_CALL isAnchorOnly (void) + throw (com::sun::star::uno::RuntimeException); + + + // XDrawView + + virtual void SAL_CALL setCurrentPage ( + const css::uno::Reference& rxSlide) + throw (css::uno::RuntimeException); + + virtual css::uno::Reference SAL_CALL getCurrentPage (void) + throw (css::uno::RuntimeException); + + + // XKeyListener + + virtual void SAL_CALL keyPressed (const css::awt::KeyEvent& rEvent) + throw (css::uno::RuntimeException); + virtual void SAL_CALL keyReleased (const css::awt::KeyEvent& rEvent) + throw (css::uno::RuntimeException); + +private: + css::uno::Reference mxViewId; + css::uno::Reference mxTextView; + css::uno::Reference mxParentWindow; + css::uno::Reference mxCanvas; + css::uno::Reference mxBitmap; + css::uno::Reference mxCurrentNotesPage; + css::awt::FontDescriptor maFontDescriptor; + ::rtl::Reference mpScrollBar; + + void Resize (void); + void Paint (void); + void Invalidate (void); + void Scroll (const ::rtl::OUString& rsDistance); + void SetTop (const double nTop); + void UpdateScrollBar (void); + + /** This method throws a DisposedException when the object has already been + disposed. + */ + void ThrowIfDisposed (void) + throw (css::lang::DisposedException); +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From 06c6d2ec935f8d7720164f02bd946048fe8fc72c Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:00:01 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:09:42 af 1.1.2.3: #i18486# Factored out base class PresenterPaneBase. 2008/01/29 14:39:05 af 1.1.2.2: #i18486# Code cleanup. 2008/01/21 15:43:54 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPane.cxx | 229 +++++++++++++++++++++++++++++++ 1 file changed, 229 insertions(+) create mode 100644 sdext/source/presenter/PresenterPane.cxx diff --git a/sdext/source/presenter/PresenterPane.cxx b/sdext/source/presenter/PresenterPane.cxx new file mode 100644 index 000000000000..820fd6c17b7e --- /dev/null +++ b/sdext/source/presenter/PresenterPane.cxx @@ -0,0 +1,229 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPane.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:00:01 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterPane.hxx" + +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +//----- Service --------------------------------------------------------------- + +OUString PresenterPane::getImplementationName_static (void) +{ + return OUString::createFromAscii("com.sun.star.comp.Draw.PresenterPane"); +} + + + + +Sequence PresenterPane::getSupportedServiceNames_static (void) +{ + static const ::rtl::OUString sServiceName( + ::rtl::OUString::createFromAscii("com.sun.star.drawing.PresenterPane")); + return Sequence(&sServiceName, 1); +} + + + + +Reference PresenterPane::Create (const Reference& rxContext) + SAL_THROW((css::uno::Exception)) +{ + return Reference(static_cast(new PresenterPane(rxContext))); +} + + + + +//===== PresenterPane ========================================================= + +PresenterPane::PresenterPane (const Reference& rxContext) + : PresenterPaneBase(rxContext) +{ + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + mxComponentContext), + UNO_QUERY_THROW); +} + + + + +PresenterPane::~PresenterPane (void) +{ +} + + + + +//----- XPane ----------------------------------------------------------------- + +Reference SAL_CALL PresenterPane::getWindow (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + return mxContentWindow; +} + + + + +Reference SAL_CALL PresenterPane::getCanvas (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + return mxContentCanvas; +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterPane::windowResized (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + LayoutContextWindow(); + ToTop(); +} + + + + + +void SAL_CALL PresenterPane::windowMoved (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + ToTop(); +} + + + + +void SAL_CALL PresenterPane::windowShown (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + + ToTop(); + + if (mxContentWindow.is()) + { + LayoutContextWindow(); + mxContentWindow->setVisible(sal_True); + } +} + + + + +void SAL_CALL PresenterPane::windowHidden (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + + if (mxContentWindow.is()) + mxContentWindow->setVisible(sal_False); +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterPane::windowPaint (const awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + + PaintBorder(rEvent.UpdateRect); +} + + + + +//----------------------------------------------------------------------------- + + +void PresenterPane::CreateCanvases ( + const Reference& rxParentWindow, + const Reference& rxParentCanvas) +{ + if ( ! mxPresenterHelper.is()) + return; + if ( ! rxParentWindow.is()) + return; + if ( ! rxParentCanvas.is()) + return; + + mxBorderCanvas = mxPresenterHelper->createSharedCanvas( + rxParentCanvas, + rxParentWindow, + Reference(rxParentCanvas, UNO_QUERY), + rxParentWindow, + mxBorderWindow); + mxContentCanvas = mxPresenterHelper->createSharedCanvas( + rxParentCanvas, + rxParentWindow, + Reference(rxParentCanvas, UNO_QUERY), + rxParentWindow, + mxContentWindow); + + PaintBorder(mxBorderWindow->getPosSize()); +} + + + + +} } // end of namespace ::sd::presenter -- cgit From 0a7be25f092df96c48304b1fc37eeb48d47e7a81 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:00:18 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:09:16 af 1.1.2.2: #i18486# Factored out base class PresenterPaneBase. 2008/01/21 15:43:34 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPane.hxx | 115 +++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 sdext/source/presenter/PresenterPane.hxx diff --git a/sdext/source/presenter/PresenterPane.hxx b/sdext/source/presenter/PresenterPane.hxx new file mode 100644 index 000000000000..990988b6cf84 --- /dev/null +++ b/sdext/source/presenter/PresenterPane.hxx @@ -0,0 +1,115 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPane.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:00:18 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SD_PRESENTER_PRESENTER_PANE_HXX +#define SD_PRESENTER_PRESENTER_PANE_HXX + +#include "PresenterPaneBase.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + + +namespace sdext { namespace presenter { + +/** Pane used by the presenter screen. Pane objects are stored in the + PresenterPaneContainer. Sizes and positions are controlled + by the PresenterWindowManager. Interactive positioning and resizing is + managed by the PresenterPaneBorderManager. Borders around panes are + painted by the PresenterPaneBorderPainter. +*/ +class PresenterPane : public PresenterPaneBase +{ +public: + PresenterPane (const css::uno::Reference& rxContext); + virtual ~PresenterPane (void); + + static ::rtl::OUString getImplementationName_static (void); + static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); + static css::uno::Reference Create( + const css::uno::Reference& rxContext) + SAL_THROW((css::uno::Exception)); + + + // XPane + + css::uno::Reference SAL_CALL getWindow (void) + throw (css::uno::RuntimeException); + + css::uno::Reference SAL_CALL getCanvas (void) + throw (css::uno::RuntimeException); + + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + +private: + virtual void CreateCanvases ( + const css::uno::Reference& rxParentWindow, + const css::uno::Reference& rxParentCanvas); +}; + +} } // end of namespace ::sd::presenter + +#endif -- cgit From cdef2dc05b53fe6737a4da604764982777f686a5 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:00:33 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/28 16:15:24 af 1.1.2.3: #i18486# Find... methods of pane container now return SharedPaneDescriptor. 2008/02/27 09:11:09 af 1.1.2.2: #i18486# Resolved resync problems. 2008/02/26 16:17:44 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaneAnimator.cxx | 1427 ++++++++++++++++++++++ 1 file changed, 1427 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneAnimator.cxx diff --git a/sdext/source/presenter/PresenterPaneAnimator.cxx b/sdext/source/presenter/PresenterPaneAnimator.cxx new file mode 100644 index 000000000000..d11a2b03cc37 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneAnimator.cxx @@ -0,0 +1,1427 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneAnimator.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:00:33 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterPaneAnimator.hxx" + +#include "PresenterAnimation.hxx" +#include "PresenterAnimator.hxx" +#include "PresenterController.hxx" +#include "PresenterGeometryHelper.hxx" +#include "PresenterPaneContainer.hxx" +#include "PresenterPaneFactory.hxx" +#include "PresenterSprite.hxx" +#include "PresenterSpritePane.hxx" +#include "PresenterWindowManager.hxx" + +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; +using ::std::vector; + +namespace sdext { namespace presenter { + +namespace { + + class PaneGroup; + + class PresenterPaneAnimatorBase + : public ::boost::enable_shared_from_this, + public PresenterPaneAnimator + { + public: + PresenterPaneAnimatorBase ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions); + virtual ~PresenterPaneAnimatorBase (void); + + typedef ::std::vector< ::boost::function > EndOperators; + + void ActivatePanes (void); + void ActivatePane ( + const css::uno::Reference& rxPaneId); + void RestoreFrozenWindows (void); + void FreezePanes (const Reference& rxCanvas); + + protected: + ::rtl::Reference mpPresenterController; + ::rtl::Reference mpPaneContainer; + ::rtl::Reference mpWindowManager; + ::std::vector< ::boost::shared_ptr > maPaneGroups; + css::uno::Reference mxCenterPaneId; + bool mbDoAnimation; + EndActions maShowEndActions; + EndActions maHideEndActions; + + void DeactivatePanes (void); + void ResizePane ( + const css::uno::Reference& rxPaneId, + const geometry::RealRectangle2D& rBox); + void DeactivatePane ( + const css::uno::Reference& rxPaneId); + }; + + + class UnfoldInCenterAnimator : public PresenterPaneAnimatorBase + { + public: + UnfoldInCenterAnimator ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions); + + virtual ~UnfoldInCenterAnimator (void); + + virtual void ShowPane (void); + + virtual void HidePane (void); + + private: + geometry::RealRectangle2D maCenterPaneBox; + + void SetupPaneGroups (void); + geometry::RealRectangle2D MovePanesAway ( + const css::geometry::RealRectangle2D& rFreeCenterArea); + }; + + + class MoveInFromBottomAnimator : public PresenterPaneAnimatorBase + { + public: + MoveInFromBottomAnimator( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions); + virtual ~MoveInFromBottomAnimator (void); + + virtual void ShowPane (void); + virtual void HidePane (void); + + private: + ::boost::shared_ptr maNewPaneSprite; + geometry::RealRectangle2D maCenterPaneBox; + + void CreateShowAnimation ( + const css::uno::Reference& rxPaneId, + const EndOperators& rpEndOperators, + const css::uno::Reference& rxSpriteCanvas, + const bool bAnimate, + const css::geometry::RealPoint2D& rStartLocation, + const css::geometry::RealPoint2D& rEndLocation); + }; + + + class TransparentOverlayAnimator : public PresenterPaneAnimatorBase + { + public: + TransparentOverlayAnimator( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions); + virtual ~TransparentOverlayAnimator (void); + + virtual void ShowPane (void); + virtual void HidePane (void); + + private: + PresenterSprite maBackgroundSprite; + void CreateBackgroundSprite (void); + }; + + + class PaneDescriptor + { + public: + PresenterPaneContainer::SharedPaneDescriptor mpPaneDescriptor; + + PaneDescriptor (const PresenterPaneContainer::SharedPaneDescriptor& rpDescriptor); + void Restore (void) const; + private: + double mnLeft; + double mnTop; + double mnRight; + double mnBottom; + }; + + class MultiAnimation : public PresenterAnimation + { + public: + typedef ::boost::function Animation; + MultiAnimation (const sal_uInt32 nDuration); + void AddAnimation (const Animation& rAnimation); + virtual void Run (const double nProgress, const sal_uInt64 nCurrentTime); + private: + vector maAnimations; + }; + + + class PaneGroup + { + public: + PaneGroup (void); + ~PaneGroup (void); + void AddPane (const PresenterPaneContainer::SharedPaneDescriptor& rpPane); + void CreateSubstitution (const Reference& rxCanvas); + void ThawPanes (void); + void Restore (void); + ::boost::shared_ptr GetSubstitution (void); + css::geometry::RealRectangle2D GetOriginalBoundingBox (void) const; + css::geometry::RealRectangle2D GetCurrentBoundingBox (void) const; + void MovePanes ( + const double nXOffset, + const double nYOffset, + const ::rtl::Reference& rpWindowManager); + void ActivatePanes (void); + void DeactivatePanes (void); + void HidePanes (void); + void ShowPanes (void); + + private: + vector maPanes; + awt::Rectangle maOriginalBoundingBox; + css::geometry::RealRectangle2D maCurrentBoundingBox; + ::boost::shared_ptr mpSubstitution; + + }; + typedef ::boost::shared_ptr SharedPaneGroup; + + void InterpolatePosition ( + const ::boost::function& rSetter, + double nP, + const geometry::RealPoint2D rInitialBox, + const geometry::RealPoint2D rFinalBox); + + template + void InterpolateValue ( + const ::boost::function& rSetter, + double nP, + const T aInitialValue, + const T aFinalValue); + + void SpriteTransform( + const rtl::Reference& rpPaneContainer, + const Reference& rxPaneId, + const Reference& rxSpriteOwnerWindow, + const bool bAppear, + const double nX, + const double nInitialTop, + const double nFinalTop, + const double nP); + + void SpritePaneMove ( + const rtl::Reference& rpPaneContainer, + const Reference& rxPaneId, + const geometry::RealPoint2D& rLocation); + + geometry::RealPoint2D GetLocation (const geometry::RealRectangle2D& rBox); + geometry::RealSize2D GetSize (const geometry::RealRectangle2D& rBox); + + +} // end of anonymous namespace + + + + +//============================================================================= + + +::boost::shared_ptr CreateUnfoldInCenterAnimator ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions) +{ + return ::boost::shared_ptr( + new UnfoldInCenterAnimator(rxPaneId, rpPresenterController, bAnimate, + rShowEndActions, rEndEndActions)); +} + + + + +::boost::shared_ptr CreateMoveInFromBottomAnimator ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions) +{ + return ::boost::shared_ptr( + new MoveInFromBottomAnimator(rxPaneId, rpPresenterController, bAnimate, + rShowEndActions, rEndEndActions)); +} + + + + +::boost::shared_ptr CreateTransparentOverlay ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions) +{ + return ::boost::shared_ptr( + new TransparentOverlayAnimator(rxPaneId, rpPresenterController, bAnimate, + rShowEndActions, rEndEndActions)); +} + + + + +//===== PresenterPaneAnimator ================================================= + +namespace { + +PresenterPaneAnimatorBase::PresenterPaneAnimatorBase ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rHideEndActions) + : mpPresenterController(rpPresenterController), + mpPaneContainer(rpPresenterController->GetPaneContainer()), + mpWindowManager(rpPresenterController->GetWindowManager()), + maPaneGroups(), + mxCenterPaneId(rxPaneId), + mbDoAnimation(bAnimate), + maShowEndActions(rShowEndActions), + maHideEndActions(rHideEndActions) +{ +} + + + + +PresenterPaneAnimatorBase::~PresenterPaneAnimatorBase (void) +{ +} + + + + +void PresenterPaneAnimatorBase::FreezePanes (const Reference& rxCanvas) +{ + ::std::vector::const_iterator iGroup; + for (iGroup=maPaneGroups.begin(); iGroup!=maPaneGroups.end(); ++iGroup) + { + (*iGroup)->CreateSubstitution(rxCanvas); + (*iGroup)->GetSubstitution()->MoveTo(GetLocation((*iGroup)->GetOriginalBoundingBox())); + } +} + + + + +void PresenterPaneAnimatorBase::ActivatePanes (void) +{ + ActivatePane(mxCenterPaneId); + + ::std::vector::const_iterator iGroup; + for (iGroup=maPaneGroups.begin(); iGroup!=maPaneGroups.end(); ++iGroup) + { + (*iGroup)->ShowPanes(); + (*iGroup)->ActivatePanes(); + (*iGroup)->GetSubstitution()->Hide(); + } + + mpWindowManager->Update(); +} + + + + +void PresenterPaneAnimatorBase::DeactivatePanes (void) +{ + ::std::vector::const_iterator iGroup; + for (iGroup=maPaneGroups.begin(); iGroup!=maPaneGroups.end(); ++iGroup) + { + (*iGroup)->GetSubstitution()->Show(); + (*iGroup)->DeactivatePanes(); + (*iGroup)->HidePanes(); + } + + mpWindowManager->Update(); +} + + + + +void PresenterPaneAnimatorBase::ResizePane ( + const Reference& rxPaneId, + const geometry::RealRectangle2D& rBox) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(rxPaneId)); + if (pDescriptor.get() != NULL) + { + mpWindowManager->SetPanePosSizeAbsolute ( + rxPaneId, + rBox.X1, + rBox.Y1, + rBox.X2-rBox.X1, + rBox.Y2-rBox.Y1); + mpWindowManager->Layout(); + if ( ! pDescriptor->maSpriteProvider.empty()) + { + pDescriptor->maSpriteProvider()->Resize(GetSize(rBox)); + } + } +} + + + + +void PresenterPaneAnimatorBase::RestoreFrozenWindows (void) +{ + ::std::vector::const_iterator iGroup; + for (iGroup=maPaneGroups.begin(); iGroup!=maPaneGroups.end(); ++iGroup) + { + (*iGroup)->Restore(); + (*iGroup)->ShowPanes(); + (*iGroup)->ActivatePanes(); + (*iGroup)->GetSubstitution()->Hide(); + } + maPaneGroups.clear(); + + ActivatePane(mxCenterPaneId); + + mpWindowManager->Update(); +} + + + + +void PresenterPaneAnimatorBase::ActivatePane ( + const Reference& rxPaneId) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(rxPaneId)); + if (pDescriptor.get() != NULL) + pDescriptor->SetActivationState(true); +} + + + + +void PresenterPaneAnimatorBase::DeactivatePane ( + const Reference& rxPaneId) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(rxPaneId)); + if (pDescriptor.get() != NULL) + pDescriptor->SetActivationState(false); +} + + + + +//===== UnfoldInCenterAnimator ================================================ + +UnfoldInCenterAnimator::UnfoldInCenterAnimator ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions) + : PresenterPaneAnimatorBase(rxPaneId, rpPresenterController, bAnimate, + rShowEndActions, rEndEndActions) +{ +} + + + + +UnfoldInCenterAnimator::~UnfoldInCenterAnimator (void) +{ +} + + + + +void UnfoldInCenterAnimator::ShowPane (void) +{ + OSL_ASSERT(mpWindowManager.get()!=NULL); + + Reference xParentWindow (mpWindowManager->GetParentWindow(), UNO_QUERY); + if ( ! xParentWindow.is()) + return; + + Reference xCanvas (mpWindowManager->GetParentCanvas(), UNO_QUERY); + if ( ! xCanvas.is()) + return; + + Reference xParentBitmap (xCanvas, UNO_QUERY); + if ( ! xParentBitmap.is()) + return; + + Reference xDevice(xCanvas->getDevice()); + if ( ! xDevice.is()) + return; + + awt::Rectangle aWindowBox (xParentWindow->getPosSize()); + + // Create two pane groups that will be moved together. One contains the + // notes view, the other group contains all other panes. + SetupPaneGroups(); + + // Setup the places where the two pane groups are moved to. + maCenterPaneBox + = MovePanesAway(geometry::RealRectangle2D(0,200,aWindowBox.Width, aWindowBox.Height-200)); + + // Setup the final size of the new pane so that it fits into the space + // between the two pane groups. + ResizePane(mxCenterPaneId, maCenterPaneBox); + + // Avoid that the center pane updates its previews while being animated. + DeactivatePane(mxCenterPaneId); + + // Replace the pane groups with sprites that look like the panes but can + // be moved around much faster. + FreezePanes(xCanvas); + + // The vertical center of the new pane. + const double nY0 ((maPaneGroups[0]->GetOriginalBoundingBox().Y2 + + maPaneGroups[1]->GetOriginalBoundingBox().Y1) / 2); + + // Make sure that the new pane is painted once before the animation starts. + SpriteTransform( + mpPaneContainer, + mxCenterPaneId, + xParentWindow, + true, + maCenterPaneBox.X1, + nY0, + maCenterPaneBox.Y1, + 0); + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(mxCenterPaneId)); + if (pDescriptor.get() != NULL) + { + Reference xPeer (pDescriptor->mxBorderWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(awt::InvalidateStyle::UPDATE | awt::InvalidateStyle::CHILDREN); + } + + // Animate the upper and lower window bitmaps. + ::boost::shared_ptr pMultiAnimation ( + new MultiAnimation(mbDoAnimation ? 500 : 0)); + + // Animate the pane group sprites to be moved up or down. + vector::const_iterator iGroup; + for (iGroup=maPaneGroups.begin(); iGroup!=maPaneGroups.end(); ++iGroup) + { + pMultiAnimation->AddAnimation( + ::boost::bind( + InterpolatePosition, + ::boost::protect(::boost::bind( + &PresenterSprite::MoveTo, (*iGroup)->GetSubstitution(), _1)), + _1, + GetLocation((*iGroup)->GetOriginalBoundingBox()), + GetLocation((*iGroup)->GetCurrentBoundingBox()))); + } + + // Animate the new center pane to expand. + pMultiAnimation->AddAnimation( + ::boost::bind( + SpriteTransform, + mpPaneContainer, + mxCenterPaneId, + xParentWindow, + true, + maCenterPaneBox.X1, + nY0, + maCenterPaneBox.Y1, + _1)); + + // Call updateScreen after each animation step. + if (xCanvas.is()) + pMultiAnimation->AddAnimation( + ::boost::bind(&rendering::XSpriteCanvas::updateScreen, xCanvas, sal_False)); + + // Activate the panes when the animation is over. + pMultiAnimation->AddEndCallback( + ::boost::bind(&PresenterPaneAnimatorBase::ActivatePanes, shared_from_this())); + EndActions::const_iterator iAction; + for (iAction=maShowEndActions.begin(); iAction!=maShowEndActions.end(); ++iAction) + pMultiAnimation->AddEndCallback(*iAction); + + // Start the animation. + ::boost::shared_ptr pAnimator (mpPresenterController->GetAnimator()); + OSL_ASSERT(pAnimator.get()!=NULL); + pAnimator->AddAnimation(SharedPresenterAnimation(pMultiAnimation)); + + mpWindowManager->Update(); +} + + + + +void UnfoldInCenterAnimator::HidePane (void) +{ + OSL_ASSERT(mpWindowManager.get()!=NULL); + + Reference xParentWindow (mpWindowManager->GetParentWindow(), UNO_QUERY); + if ( ! xParentWindow.is()) + return; + + DeactivatePanes(); + DeactivatePane(mxCenterPaneId); + + ::boost::shared_ptr pAnimator (mpPresenterController->GetAnimator()); + const awt::Rectangle aWindowBox (xParentWindow->getPosSize()); + const rendering::ViewState aViewState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + const rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + // Animate the uppder and lower window bitmaps. + Reference xSpriteCanvas (mpWindowManager->GetParentCanvas(), UNO_QUERY); + ::boost::shared_ptr pMultiAnimation (new MultiAnimation(mbDoAnimation ? 500 : 1)); + + vector::const_iterator iGroup; + for (iGroup=maPaneGroups.begin(); iGroup!=maPaneGroups.end(); ++iGroup) + { + pMultiAnimation->AddAnimation( + ::boost::bind( + InterpolatePosition, + ::boost::protect(::boost::bind( + &PresenterSprite::MoveTo, (*iGroup)->GetSubstitution(), _1)), + _1, + GetLocation((*iGroup)->GetCurrentBoundingBox()), + GetLocation((*iGroup)->GetOriginalBoundingBox()))); + } + + // Animate the new center pane to collapse. + const double nY0 ((maPaneGroups[0]->GetOriginalBoundingBox().Y2 + + maPaneGroups[1]->GetOriginalBoundingBox().Y1) / 2); + pMultiAnimation->AddAnimation( + ::boost::bind( + SpriteTransform, + mpPaneContainer, + mxCenterPaneId, + xParentWindow, + false, + maCenterPaneBox.X1, + nY0, + maCenterPaneBox.Y1, + _1)); + + if (mbDoAnimation) + { + pMultiAnimation->AddAnimation( + ::boost::bind(&rendering::XSpriteCanvas::updateScreen, xSpriteCanvas, sal_False)); + } + pMultiAnimation->AddEndCallback( + ::boost::bind(&PresenterPaneAnimatorBase::RestoreFrozenWindows, shared_from_this())); + EndActions::const_iterator iAction; + for (iAction=maHideEndActions.begin(); iAction!=maHideEndActions.end(); ++iAction) + pMultiAnimation->AddEndCallback(*iAction); + + pAnimator->AddAnimation(SharedPresenterAnimation(pMultiAnimation)); +} + + + + +void UnfoldInCenterAnimator::SetupPaneGroups (void) +{ + maPaneGroups.clear(); + + // Setup the upper pane group. + SharedPaneGroup pUpperPanes (new PaneGroup()); + pUpperPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msCurrentSlidePreviewPaneURL)); + pUpperPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msNextSlidePreviewPaneURL)); + pUpperPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msToolBarPaneURL)); + pUpperPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msClockPaneURL)); + maPaneGroups.push_back(pUpperPanes); + + // Setup the lower pane group. + SharedPaneGroup pLowerPanes (new PaneGroup()); + pLowerPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msNotesPaneURL)); + maPaneGroups.push_back(pLowerPanes); +} + + + + +geometry::RealRectangle2D UnfoldInCenterAnimator::MovePanesAway ( + const geometry::RealRectangle2D& rFreeCenterArea) +{ + SharedPaneGroup aUpperPanes = maPaneGroups[0]; + SharedPaneGroup aLowerPanes = maPaneGroups[1]; + + // Move upper pane group out of the way. + const double nTop (rFreeCenterArea.Y1); + const double nUpperVerticalOffset (nTop - aUpperPanes->GetOriginalBoundingBox().Y2); + aUpperPanes->MovePanes(0, nUpperVerticalOffset, mpWindowManager); + + // Move lower pane group out of the way. + const double nBottom (rFreeCenterArea.Y2); + const double nLowerVerticalOffset (nBottom - aLowerPanes->GetOriginalBoundingBox().Y1); + aLowerPanes->MovePanes(0, nLowerVerticalOffset, mpWindowManager); + + return geometry::RealRectangle2D( + ::std::min( + aUpperPanes->GetOriginalBoundingBox().X1, + aLowerPanes->GetOriginalBoundingBox().X1), + nTop+20, + ::std::max( + aUpperPanes->GetOriginalBoundingBox().X2, + aLowerPanes->GetOriginalBoundingBox().X2), + nBottom-20); +} + + + + +//===== MoveInFromBottomAnimator ============================================== + +MoveInFromBottomAnimator::MoveInFromBottomAnimator ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions) + : PresenterPaneAnimatorBase(rxPaneId, rpPresenterController, bAnimate, + rShowEndActions, rEndEndActions), + maNewPaneSprite() +{ +} + + + + +MoveInFromBottomAnimator::~MoveInFromBottomAnimator (void) +{ +} + + + + +void MoveInFromBottomAnimator::ShowPane (void) +{ + OSL_ASSERT(mpWindowManager.get()!=NULL); + + Reference xParentWindow (mpWindowManager->GetParentWindow(), UNO_QUERY); + if ( ! xParentWindow.is()) + return; + + Reference xCanvas (mpWindowManager->GetParentCanvas(), UNO_QUERY); + if ( ! xCanvas.is()) + return; + + Reference xParentBitmap (xCanvas, UNO_QUERY); + if ( ! xParentBitmap.is()) + return; + + Reference xDevice(xCanvas->getDevice()); + if ( ! xDevice.is()) + return; + + awt::Rectangle aWindowBox (xParentWindow->getPosSize()); + + // Create a pane group that just contains the notes view. + SharedPaneGroup pLowerPanes (new PaneGroup()); + pLowerPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msNotesPaneURL)); + maPaneGroups.push_back(pLowerPanes); + + // Deactivate the panes that will take place in the animation. + pLowerPanes->DeactivatePanes(); + DeactivatePane(mxCenterPaneId); + + // Set the size of the new pane. + maCenterPaneBox = pLowerPanes->GetOriginalBoundingBox(); + ResizePane(mxCenterPaneId, maCenterPaneBox); + + geometry::RealPoint2D aStartLocation (maCenterPaneBox.X1, aWindowBox.Height); + geometry::RealPoint2D aEndLocation (maCenterPaneBox.X1, maCenterPaneBox.Y1); + + // Get the sprite of the new pane, make it visible and move it to the + // start location. + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(mxCenterPaneId)); + if (pDescriptor.get() != NULL) + { + if (pDescriptor->mxBorderWindow.is()) + pDescriptor->mxBorderWindow->setVisible(sal_True); + + maNewPaneSprite = pDescriptor->maSpriteProvider(); + if (maNewPaneSprite.get() != NULL) + { + maNewPaneSprite->MoveTo(aStartLocation); + maNewPaneSprite->Show(); + } + xCanvas->updateScreen(sal_False); + } + + CreateShowAnimation( + mxCenterPaneId, + maShowEndActions, + xCanvas, + mbDoAnimation, + aStartLocation, + aEndLocation); + + mpWindowManager->Update(); +} + + + + +void MoveInFromBottomAnimator::HidePane (void) +{ + OSL_ASSERT(mpWindowManager.get()!=NULL); + + Reference xParentWindow (mpWindowManager->GetParentWindow(), UNO_QUERY); + if ( ! xParentWindow.is()) + return; + + Reference xCanvas (mpWindowManager->GetParentCanvas(), UNO_QUERY); + if ( ! xCanvas.is()) + return; + + DeactivatePanes(); + DeactivatePane(mxCenterPaneId); + + SharedPaneGroup aPanes (maPaneGroups[0]); + + aPanes->ShowPanes(); + + ::boost::shared_ptr pMultiAnimation ( + new MultiAnimation(mbDoAnimation ? 500 : 0)); + awt::Rectangle aWindowBox (xParentWindow->getPosSize()); + + // Animate the new center pane to collapse. + pMultiAnimation->AddAnimation( + ::boost::bind( + InterpolatePosition, + ::boost::protect(::boost::bind(&SpritePaneMove, mpPaneContainer, mxCenterPaneId, _1)), + _1, + geometry::RealPoint2D(maCenterPaneBox.X1, maCenterPaneBox.Y1), + geometry::RealPoint2D(maCenterPaneBox.X1, aWindowBox.Height))); + + if (mbDoAnimation) + { + pMultiAnimation->AddAnimation( + ::boost::bind(&rendering::XSpriteCanvas::updateScreen, xCanvas, sal_False)); + } + pMultiAnimation->AddEndCallback( + ::boost::bind(&PresenterPaneAnimatorBase::RestoreFrozenWindows, shared_from_this())); + EndActions::const_iterator iAction; + for (iAction=maHideEndActions.begin(); iAction!=maHideEndActions.end(); ++iAction) + pMultiAnimation->AddEndCallback(*iAction); + + ::boost::shared_ptr pAnimator (mpPresenterController->GetAnimator()); + pAnimator->AddAnimation(SharedPresenterAnimation(pMultiAnimation)); +} + + + + +void MoveInFromBottomAnimator::CreateShowAnimation ( + const Reference& rxPaneId, + const EndOperators& rEndOperators, + const Reference& rxSpriteCanvas, + const bool bAnimate, + const geometry::RealPoint2D& rStartLocation, + const geometry::RealPoint2D& rEndLocation) +{ + // Animate the uppder and lower window bitmaps. + ::boost::shared_ptr pMultiAnimation (new MultiAnimation(bAnimate ? 500 : 0)); + + // Animate new pane to move in from the buttom. + pMultiAnimation->AddAnimation( + ::boost::bind( + InterpolatePosition, + ::boost::protect(::boost::bind(&SpritePaneMove, mpPaneContainer, rxPaneId, _1)), + _1, + rStartLocation, + rEndLocation)); + + // Call updateScreen after each animation step. + if (rxSpriteCanvas.is()) + pMultiAnimation->AddAnimation( + ::boost::bind(&rendering::XSpriteCanvas::updateScreen, rxSpriteCanvas, sal_False)); + + // Activate the panes when the animation is over. + pMultiAnimation->AddEndCallback( + ::boost::bind(&PaneGroup::HidePanes, maPaneGroups[0])); + pMultiAnimation->AddEndCallback( + ::boost::bind(&PresenterPaneAnimatorBase::ActivatePane, shared_from_this(), mxCenterPaneId)); + EndActions::const_iterator iAction; + for (iAction=rEndOperators.begin(); iAction!=rEndOperators.end(); ++iAction) + pMultiAnimation->AddEndCallback(*iAction); + + // Start the animation. + ::boost::shared_ptr pAnimator (mpPresenterController->GetAnimator()); + OSL_ASSERT(pAnimator.get()!=NULL); + pAnimator->AddAnimation(SharedPresenterAnimation(pMultiAnimation)); +} + + + + + +//===== TransparentOverlayAnimator ============================================ + +TransparentOverlayAnimator::TransparentOverlayAnimator ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions) + : PresenterPaneAnimatorBase( + rxPaneId, + rpPresenterController, + bAnimate, + rShowEndActions, + rEndEndActions), + maBackgroundSprite() +{ +} + + + + +TransparentOverlayAnimator::~TransparentOverlayAnimator (void) +{ +} + + + + +void TransparentOverlayAnimator::ShowPane (void) +{ + EndActions::const_iterator iAction; + for (iAction=maShowEndActions.begin(); iAction!=maShowEndActions.end(); ++iAction) + (*iAction)(); + + CreateBackgroundSprite(); + + Reference xParentWindow (mpWindowManager->GetParentWindow(), UNO_QUERY); + if (xParentWindow.is()) + { + const awt::Rectangle aWindowBox (xParentWindow->getPosSize()); + SharedPaneGroup pAllPanes (new PaneGroup()); + pAllPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msCurrentSlidePreviewPaneURL)); + pAllPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msNextSlidePreviewPaneURL)); + pAllPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msToolBarPaneURL)); + pAllPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msClockPaneURL)); + pAllPanes->AddPane(mpPaneContainer->FindPaneURL( + PresenterPaneFactory::msNotesPaneURL)); + maPaneGroups.push_back(pAllPanes); + pAllPanes->DeactivatePanes(); + mpWindowManager->Update(); + } + + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(mxCenterPaneId)); + if (pDescriptor.get() != NULL) + { + PresenterSpritePane* pPane = dynamic_cast( + pDescriptor->mxPane.get()); + if (pPane != NULL) + pPane->ShowTransparentBorder(); + + pDescriptor->SetActivationState(true); + if (pDescriptor->mxBorderWindow.is()) + pDescriptor->mxBorderWindow->setVisible(sal_True); + } +} + + + + +void TransparentOverlayAnimator::HidePane (void) +{ + maPaneGroups[0]->ActivatePanes(); + EndActions::const_iterator iAction; + for (iAction=maHideEndActions.begin(); iAction!=maHideEndActions.end(); ++iAction) + (*iAction)(); + mpWindowManager->Update(); +} + + + + +void TransparentOverlayAnimator::CreateBackgroundSprite (void) +{ + Reference xParentWindow (mpWindowManager->GetParentWindow(), UNO_QUERY); + Reference xParentCanvas (mpWindowManager->GetParentCanvas(), UNO_QUERY); + if (xParentWindow.is() && xParentCanvas.is()) + { + const awt::Rectangle aWindowBox (xParentWindow->getPosSize()); + maBackgroundSprite.SetFactory(xParentCanvas); + maBackgroundSprite.Resize( + geometry::RealSize2D(aWindowBox.Width, aWindowBox.Height)); + maBackgroundSprite.MoveTo( + geometry::RealPoint2D(aWindowBox.X, aWindowBox.Y)); + maBackgroundSprite.SetAlpha(0.5); + maBackgroundSprite.Show(); + + Reference xCanvas (maBackgroundSprite.GetCanvas()); + + if (xCanvas.is()) + { + rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(4), + rendering::CompositeOperation::SOURCE); + + aRenderState.DeviceColor[0] = 0.5; + aRenderState.DeviceColor[1] = 0.5; + aRenderState.DeviceColor[2] = 0.5; + aRenderState.DeviceColor[3] = 0.5; + + Reference xPolygon ( + PresenterGeometryHelper::CreatePolygon(aWindowBox, xCanvas->getDevice())); + if (xPolygon.is()) + xCanvas->fillPolyPolygon( + xPolygon, + aViewState, + aRenderState); + } + } +} + + + + +//===== PaneGroup ============================================================= + +PaneGroup::PaneGroup (void) + : maPanes(), + maOriginalBoundingBox(), + maCurrentBoundingBox(), + mpSubstitution(new PresenterSprite()) +{ +} + + + + +PaneGroup::~PaneGroup (void) +{ + mpSubstitution.reset(); +} + + + + +void PaneGroup::AddPane (const PresenterPaneContainer::SharedPaneDescriptor& rpPane) +{ + OSL_ASSERT(rpPane.get() != NULL); + + if (rpPane->mxBorderWindow.is()) + { + PaneDescriptor aDescriptor (rpPane); + maPanes.push_back(aDescriptor); + maOriginalBoundingBox = PresenterGeometryHelper::Union( + maOriginalBoundingBox, + rpPane->mxBorderWindow->getPosSize()); + } +} + + + + +void PaneGroup::CreateSubstitution (const Reference& rxCanvas) +{ + // Get the bitmap of the background. + Reference xBackgroundBitmap (rxCanvas, UNO_QUERY); + if ( ! xBackgroundBitmap.is()) + return; + + // Create the sprite. + mpSubstitution->SetFactory(rxCanvas); + mpSubstitution->Resize( + geometry::RealSize2D(maOriginalBoundingBox.Width, maOriginalBoundingBox.Height)); + + // Fill it with the background inside the bounding box. + const rendering::ViewState aViewState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + const rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,-maOriginalBoundingBox.X, 0,1,-maOriginalBoundingBox.Y), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + Reference xSpriteCanvas (mpSubstitution->GetCanvas()); + if (xSpriteCanvas.is()) + xSpriteCanvas->drawBitmap(xBackgroundBitmap, aViewState, aRenderState); +} + + + + +void PaneGroup::Restore (void) +{ + vector::iterator iPane; + for (iPane=maPanes.begin(); iPane!=maPanes.end(); ++iPane) + { + iPane->Restore(); + } +} + + + + +::boost::shared_ptr PaneGroup::GetSubstitution (void) +{ + return mpSubstitution; +} + + + + +geometry::RealRectangle2D PaneGroup::GetOriginalBoundingBox (void) const +{ + return geometry::RealRectangle2D( + maOriginalBoundingBox.X, + maOriginalBoundingBox.Y, + maOriginalBoundingBox.X + maOriginalBoundingBox.Width, + maOriginalBoundingBox.Y + maOriginalBoundingBox.Height); +} + + + + +geometry::RealRectangle2D PaneGroup::GetCurrentBoundingBox (void) const +{ + return maCurrentBoundingBox; +} + + + + +void PaneGroup::MovePanes ( + const double nXOffset, + const double nYOffset, + const ::rtl::Reference& rpWindowManager + ) +{ + awt::Rectangle aBBox; + vector::iterator iPane; + for (iPane=maPanes.begin(); iPane!=maPanes.end(); ++iPane) + { + awt::Rectangle aBox (iPane->mpPaneDescriptor->mxBorderWindow->getPosSize()); + aBox.X += sal_Int32(nXOffset); + aBox.Y += sal_Int32(nYOffset); + rpWindowManager->SetPanePosSizeAbsolute( + iPane->mpPaneDescriptor->mxPaneId, + aBox.X, + aBox.Y, + aBox.Width, + aBox.Height); + aBBox = PresenterGeometryHelper::Union(aBBox, aBox); + } + maCurrentBoundingBox = geometry::RealRectangle2D( + aBBox.X, aBBox.Y, aBBox.X+aBBox.Width, aBBox.Y+aBBox.Height); +} + + + + +void PaneGroup::ActivatePanes (void) +{ + vector::iterator iPane; + for (iPane=maPanes.begin(); iPane!=maPanes.end(); ++iPane) + { + iPane->mpPaneDescriptor->SetActivationState(true); + } +} + + + + +void PaneGroup::DeactivatePanes (void) +{ + vector::iterator iPane; + for (iPane=maPanes.begin(); iPane!=maPanes.end(); ++iPane) + { + iPane->mpPaneDescriptor->SetActivationState(false); + } +} + + + + +void PaneGroup::ShowPanes (void) +{ + vector::iterator iPane; + for (iPane=maPanes.begin(); iPane!=maPanes.end(); ++iPane) + { + iPane->mpPaneDescriptor->mxBorderWindow->setVisible(sal_True); + iPane->mpPaneDescriptor->mxContentWindow->setVisible(sal_True); + } +} + + + + +void PaneGroup::HidePanes (void) +{ + vector::iterator iPane; + for (iPane=maPanes.begin(); iPane!=maPanes.end(); ++iPane) + { + iPane->mpPaneDescriptor->mxBorderWindow->setVisible(sal_False); + iPane->mpPaneDescriptor->mxContentWindow->setVisible(sal_False); + } +} + + + + +//===== PaneDescriptor ======================================================== + +PaneDescriptor::PaneDescriptor (const PresenterPaneContainer::SharedPaneDescriptor& rpDescriptor) + : mpPaneDescriptor(rpDescriptor), + mnLeft(rpDescriptor->mnLeft), + mnTop(rpDescriptor->mnTop), + mnRight(rpDescriptor->mnRight), + mnBottom(rpDescriptor->mnBottom) +{ +} + + + + +void PaneDescriptor::Restore (void) const +{ + mpPaneDescriptor->mnLeft = mnLeft; + mpPaneDescriptor->mnTop = mnTop; + mpPaneDescriptor->mnRight = mnRight; + mpPaneDescriptor->mnBottom = mnBottom; +} + + + + +//===== MultiAnimation ======================================================== + +MultiAnimation::MultiAnimation (const sal_uInt32 nDuration) + : PresenterAnimation(0, nDuration, 1000/50), + maAnimations() +{ +} + + + + +void MultiAnimation::AddAnimation (const Animation& rAnimation) +{ + maAnimations.push_back(rAnimation); +} + + + + +void MultiAnimation::Run (const double nProgress, const sal_uInt64 nCurrentTime) +{ + (void)nCurrentTime; + vector::const_iterator iAnimation (maAnimations.begin()); + vector::const_iterator iEnd (maAnimations.end()); + for ( ; iAnimation!=iEnd; ++iAnimation) + (*iAnimation)(nProgress); +} + + + + +//===== functors ============================================================== + +void InterpolatePosition ( + const ::boost::function& rSetter, + double nP, + const geometry::RealPoint2D rInitialBox, + const geometry::RealPoint2D rFinalBox) +{ + const double nQ (1 - nP); + + OSL_TRACE("InterpolatePosition %f\n", nP); + rSetter( + geometry::RealPoint2D( + nQ * rInitialBox.X + nP * rFinalBox.X, + nQ * rInitialBox.Y + nP * rFinalBox.Y)); +} + + + + +template + void InterpolateValue ( + const ::boost::function& rSetter, + double nP, + const T aInitialValue, + const T aFinalValue) +{ + const double nQ (1 - nP); + + rSetter(T(nQ * aInitialValue + nP * aFinalValue)); +} + + + + +void SpriteTransform( + const rtl::Reference& rpPaneContainer, + const Reference& rxPaneId, + const Reference& rxSpriteOwnerWindow, + const bool bAppear, + const double nX, + const double nInitialTop, + const double nFinalTop, + const double nP) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + rpPaneContainer->FindPaneId(rxPaneId)); + if (pDescriptor.get() != NULL + && ! pDescriptor->maSpriteProvider.empty() + && pDescriptor->mxBorderWindow.is()) + { + ::boost::shared_ptr pSprite (pDescriptor->maSpriteProvider()); + if (pSprite.get()) + { + // There seems to be a problem with sprites not correctly + // invalidating the background when being transformed. As a + // workaround invalidate the background in the bounding box of + // the sprite before the transformation. + Reference xPeer (rxSpriteOwnerWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidateRect( + awt::Rectangle( + sal::static_int_cast(pSprite->GetLocation().X), + sal::static_int_cast(pSprite->GetLocation().Y), + sal::static_int_cast(pSprite->GetSize().Width), + sal::static_int_cast(pSprite->GetSize().Height)), + awt::InvalidateStyle::CHILDREN); + + const double nYScale (bAppear ? nP : 1-nP); + pSprite->Transform(geometry::AffineMatrix2D( + 1, 0, 0, + 0, nYScale, 0)); + pSprite->MoveTo( + geometry::RealPoint2D(nX, nYScale*nFinalTop + (1-nYScale)*nInitialTop)); + pSprite->Show(); + + pDescriptor->mxBorderWindow->setVisible(sal_True); + } + } +} + + + + +void SpritePaneMove ( + const rtl::Reference& rpPaneContainer, + const Reference& rxPaneId, + const geometry::RealPoint2D& rLocation) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + rpPaneContainer->FindPaneId(rxPaneId)); + if (pDescriptor.get() != NULL + && ! pDescriptor->maSpriteProvider.empty() + && pDescriptor->mxBorderWindow.is()) + { + ::boost::shared_ptr pSprite (pDescriptor->maSpriteProvider()); + if (pSprite.get() != NULL) + { + pDescriptor->mxBorderWindow->setVisible(sal_True); + pSprite->MoveTo(rLocation); + } + } +} + + + + +geometry::RealPoint2D GetLocation (const geometry::RealRectangle2D& rBox) +{ + return geometry::RealPoint2D(rBox.X1, rBox.Y1); +} + + + + +geometry::RealSize2D GetSize (const geometry::RealRectangle2D& rBox) +{ + return geometry::RealSize2D(rBox.X2-rBox.X1, rBox.Y2-rBox.Y1); +} + +} // end of anonymous namespace + + + + +} } // end of namespace ::sdext::presenter -- cgit From d0362d11fa74b33bf63b72ea2a650bd97e2af3c2 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:00:44 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:17:21 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaneAnimator.hxx | 102 +++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneAnimator.hxx diff --git a/sdext/source/presenter/PresenterPaneAnimator.hxx b/sdext/source/presenter/PresenterPaneAnimator.hxx new file mode 100644 index 000000000000..af2f1c36f4b2 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneAnimator.hxx @@ -0,0 +1,102 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneAnimator.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:00:44 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_PANE_ANIMATOR_HXXs +#define SDEXT_PRESENTER_PRESENTER_PANE_ANIMATOR_HXX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterController; +class PresenterPaneContainer; +class PresenterWindowManager; + +/** Base class for different types of pane animations. Each of these + animations either shows or hides a single pane. +*/ +class PresenterPaneAnimator + : private ::boost::noncopyable +{ +public: + virtual void ShowPane (void) = 0; + virtual void HidePane (void) = 0; + +protected: + virtual ~PresenterPaneAnimator (void) {}; +}; + + +typedef ::std::vector< ::boost::function > EndActions; + +::boost::shared_ptr CreateUnfoldInCenterAnimator ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions); + +::boost::shared_ptr CreateMoveInFromBottomAnimator ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions); + +::boost::shared_ptr CreateTransparentOverlay ( + const css::uno::Reference& rxPaneId, + const ::rtl::Reference& rpPresenterController, + const bool bAnimate, + const EndActions& rShowEndActions, + const EndActions& rEndEndActions); + +} } + +#endif -- cgit From cae42307c6c6a58a1bbae827d846d300652013bc Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:00:56 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/03/26 15:37:44 cl 1.1.2.2: added missing interface methods 2008/02/26 16:18:46 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaneBase.cxx | 457 +++++++++++++++++++++++++++ 1 file changed, 457 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneBase.cxx diff --git a/sdext/source/presenter/PresenterPaneBase.cxx b/sdext/source/presenter/PresenterPaneBase.cxx new file mode 100644 index 000000000000..4dc4c111c9d8 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneBase.cxx @@ -0,0 +1,457 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneBase.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:00:56 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterPaneBase.hxx" +#include "PresenterGeometryHelper.hxx" +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +//===== PresenterPaneBase ===================================================== + +PresenterPaneBase::PresenterPaneBase (const Reference& rxContext) + : PresenterPaneBaseInterfaceBase(m_aMutex), + mxBorderWindow(), + mxBorderCanvas(), + mxContentWindow(), + mxContentCanvas(), + mxPaneId(), + mxBorderPainter(), + mxPresenterHelper(), + msTitle(), + mxComponentContext(rxContext), + maViewBackgroundColor(0x00ffffff), + mxViewBackgroundBitmap() +{ + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + mxComponentContext), + UNO_QUERY_THROW); +} + + + + +PresenterPaneBase::~PresenterPaneBase (void) +{ +} + + + + +void PresenterPaneBase::disposing (void) +{ + { + Reference xComponent (mxPresenterHelper, UNO_QUERY); + mxPresenterHelper = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + if (mxBorderWindow.is()) + { + mxBorderWindow->removeWindowListener(this); + mxBorderWindow->removePaintListener(this); + } + + { + Reference xComponent (mxContentCanvas, UNO_QUERY); + mxContentCanvas = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + { + Reference xComponent (mxContentWindow, UNO_QUERY); + mxContentWindow = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + { + Reference xComponent (mxBorderCanvas, UNO_QUERY); + mxBorderCanvas = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + { + Reference xComponent (mxBorderWindow, UNO_QUERY); + mxBorderWindow = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + mxComponentContext = NULL; +} + + + + +void PresenterPaneBase::SetTitle (const OUString& rsTitle) +{ + msTitle = rsTitle; +} + + + + +//----- XInitialization ------------------------------------------------------- + +void SAL_CALL PresenterPaneBase::initialize (const Sequence& rArguments) + throw (Exception, RuntimeException) +{ + ThrowIfDisposed(); + + if ( ! mxComponentContext.is()) + { + throw RuntimeException( + OUString::createFromAscii("PresenterSpritePane: missing component context"), + static_cast(this)); + } + + if (rArguments.getLength() == 5 || rArguments.getLength() == 6) + { + try + { + // Get the resource id from the first argument. + if ( ! (rArguments[0] >>= mxPaneId)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterPane: invalid pane id"), + static_cast(this), + 0); + } + + Reference xParentWindow; + if ( ! (rArguments[1] >>= xParentWindow)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterPane: invalid parent window"), + static_cast(this), + 1); + } + + Reference xParentCanvas; + if ( ! (rArguments[2] >>= xParentCanvas)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterPane: invalid parent canvas"), + static_cast(this), + 2); + } + + if ( ! (rArguments[3] >>= msTitle)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterPane: invalid title"), + static_cast(this), + 3); + } + + if ( ! (rArguments[4] >>= mxBorderPainter)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterPane: invalid border painter"), + static_cast(this), + 4); + } + + bool bIsWindowVisibleOnCreation (true); + if (rArguments.getLength()>5 && ! (rArguments[5] >>= bIsWindowVisibleOnCreation)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterPane: invalid window visibility flag"), + static_cast(this), + 5); + } + + CreateWindows(xParentWindow, bIsWindowVisibleOnCreation); + + if (mxBorderWindow.is()) + { + mxBorderWindow->addWindowListener(this); + mxBorderWindow->addPaintListener(this); + } + + CreateCanvases(xParentWindow, xParentCanvas); + + // Raise new windows. + ToTop(); + } + catch (Exception&) + { + mxContentWindow = NULL; + mxComponentContext = NULL; + throw; + } + } + else + { + throw RuntimeException( + OUString::createFromAscii("PresenterSpritePane: invalid number of arguments"), + static_cast(this)); + } +} + + + + +//----- XResourceId ----------------------------------------------------------- + +Reference SAL_CALL PresenterPaneBase::getResourceId (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + return mxPaneId; +} + + + + +sal_Bool SAL_CALL PresenterPaneBase::isAnchorOnly (void) + throw (RuntimeException) +{ + return true; +} + + + + +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL PresenterPaneBase::disposing (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + if (rEvent.Source == mxBorderWindow) + { + mxBorderWindow = NULL; + } +} + + + + +//----------------------------------------------------------------------------- + + +void PresenterPaneBase::CreateWindows ( + const Reference& rxParentWindow, + const bool bIsWindowVisibleOnCreation) +{ + if (mxPresenterHelper.is() && rxParentWindow.is()) + { + + mxBorderWindow = mxPresenterHelper->createWindow( + rxParentWindow, + sal_False, + bIsWindowVisibleOnCreation, + sal_False, + sal_False); + mxContentWindow = mxPresenterHelper->createWindow( + mxBorderWindow, + sal_False, + bIsWindowVisibleOnCreation, + sal_False, + sal_False); + } +} + + + + +Reference PresenterPaneBase::GetBorderWindow (void) const +{ + return mxBorderWindow; +} + + + + +void PresenterPaneBase::ToTop (void) +{ + if (mxPresenterHelper.is()) + mxPresenterHelper->toTop(mxContentWindow); +} + + + + +void PresenterPaneBase::SetBackground ( + const css::util::Color aViewBackgroundColor, + const css::uno::Reference& rxViewBackgroundBitmap) +{ + maViewBackgroundColor = aViewBackgroundColor; + mxViewBackgroundBitmap = rxViewBackgroundBitmap; +} + + + + +void PresenterPaneBase::PaintBorderBackground ( + const awt::Rectangle& rBorderBox, + const awt::Rectangle& rUpdateBox) +{ + if ( ! mxBorderCanvas.is()) + return; + + rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + PresenterGeometryHelper::CreatePolygon(rUpdateBox, mxBorderCanvas->getDevice())); + + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + aRenderState.DeviceColor[0] = ((maViewBackgroundColor >> 16) & 0x0ff) / 255.0; + aRenderState.DeviceColor[1] = ((maViewBackgroundColor >> 8) & 0x0ff) / 255.0; + aRenderState.DeviceColor[2] = ((maViewBackgroundColor >> 0) & 0x0ff) / 255.0; + + // The outer box of the border is given. We need the center and inner + // box as well. + awt::Rectangle aCenterBox ( + mxBorderPainter->removeBorder( + mxPaneId->getResourceURL(), + rBorderBox, + drawing::framework::BorderType_OUTER_BORDER)); + awt::Rectangle aInnerBox ( + mxBorderPainter->removeBorder( + mxPaneId->getResourceURL(), + rBorderBox, + drawing::framework::BorderType_TOTAL_BORDER)); + + // Create a clip polypolygon that has the inner box as hole. + ::std::vector aRectangles; + aRectangles.reserve(2); + aRectangles.push_back(aCenterBox); + aRectangles.push_back(aInnerBox); + Reference xPolyPolygon ( + PresenterGeometryHelper::CreatePolygon( + aRectangles, + mxBorderCanvas->getDevice())); + if (xPolyPolygon.is()) + { + xPolyPolygon->setFillRule(rendering::FillRule_EVEN_ODD); + aRenderState.Clip = xPolyPolygon; + } + + Reference xPolygon(PresenterGeometryHelper::CreatePolygon( + aCenterBox, + mxBorderCanvas->getDevice())); + mxBorderCanvas->fillPolyPolygon( + xPolygon, + aViewState, + aRenderState); +} + + + + +void PresenterPaneBase::PaintBorder (const awt::Rectangle& rUpdateBox) +{ + OSL_ASSERT(mxPaneId.is()); + + if (mxBorderPainter.is() && mxBorderWindow.is() && mxBorderCanvas.is()) + { + awt::Rectangle aBorderBox (mxBorderWindow->getPosSize()); + awt::Rectangle aLocalBorderBox (0,0, aBorderBox.Width, aBorderBox.Height); + + PaintBorderBackground(aLocalBorderBox, rUpdateBox); + + mxBorderPainter->paintBorder( + mxPaneId->getResourceURL(), + mxBorderCanvas, + aLocalBorderBox, + rUpdateBox, + msTitle); + } +} + + + + +void PresenterPaneBase::LayoutContextWindow (void) +{ + OSL_ASSERT(mxPaneId.is()); + OSL_ASSERT(mxBorderWindow.is()); + OSL_ASSERT(mxContentWindow.is()); + if (mxBorderPainter.is() && mxPaneId.is() && mxBorderWindow.is() && mxContentWindow.is()) + { + const awt::Rectangle aBorderBox (mxBorderWindow->getPosSize()); + const awt::Rectangle aInnerBox (mxBorderPainter->removeBorder( + mxPaneId->getResourceURL(), + aBorderBox, + drawing::framework::BorderType_TOTAL_BORDER)); + mxContentWindow->setPosSize( + aInnerBox.X - aBorderBox.X, + aInnerBox.Y - aBorderBox.Y, + aInnerBox.Width, + aInnerBox.Height, + awt::PosSize::POSSIZE); + } +} + + + + +void PresenterPaneBase::ThrowIfDisposed (void) + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterPane object has already been disposed")), + static_cast(this)); + } +} + + + + +} } // end of namespace ::sd::presenter -- cgit From a1d83436aaee9642ed0e1d610179fecf4e24c2da Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:01:07 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:18:29 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaneBase.hxx | 148 +++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneBase.hxx diff --git a/sdext/source/presenter/PresenterPaneBase.hxx b/sdext/source/presenter/PresenterPaneBase.hxx new file mode 100644 index 000000000000..597e7f31b598 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneBase.hxx @@ -0,0 +1,148 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneBase.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:01:07 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SD_PRESENTER_PRESENTER_PANE_BASE_HXX +#define SD_PRESENTER_PRESENTER_PANE_BASE_HXX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + + +namespace sdext { namespace presenter { + +namespace { + typedef ::cppu::WeakComponentImplHelper4 < + css::drawing::framework::XPane, + css::lang::XInitialization, + css::awt::XWindowListener, + css::awt::XPaintListener + > PresenterPaneBaseInterfaceBase; +} + + +/** Base class of the panes used by the presenter screen. Pane objects are + stored in the PresenterPaneContainer. Sizes and positions are + controlled by the PresenterWindowManager. Interactive positioning and + resizing is managed by the PresenterPaneBorderManager. Borders around + panes are painted by the PresenterPaneBorderPainter. +*/ +class PresenterPaneBase + : protected ::cppu::BaseMutex, + private ::boost::noncopyable, + public PresenterPaneBaseInterfaceBase +{ +public: + PresenterPaneBase (const css::uno::Reference& rxContext); + virtual ~PresenterPaneBase (void); + + virtual void SAL_CALL disposing (void); + + css::uno::Reference GetBorderWindow (void) const; + void SetBackground ( + const css::util::Color aViewBackgroundColor, + const css::uno::Reference& rxViewBackgroundBitmap); + void SetTitle (const ::rtl::OUString& rsTitle); + + // XInitialization + + virtual void SAL_CALL initialize (const css::uno::Sequence& rArguments) + throw (css::uno::Exception, css::uno::RuntimeException); + + + // XResourceId + + virtual css::uno::Reference SAL_CALL getResourceId (void) + throw (css::uno::RuntimeException); + + virtual sal_Bool SAL_CALL isAnchorOnly (void) + throw (com::sun::star::uno::RuntimeException); + + + // lang::XEventListener + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + +protected: + css::uno::Reference mxBorderWindow; + css::uno::Reference mxBorderCanvas; + css::uno::Reference mxContentWindow; + css::uno::Reference mxContentCanvas; + css::uno::Reference mxPaneId; + css::uno::Reference mxBorderPainter; + css::uno::Reference mxPresenterHelper; + ::rtl::OUString msTitle; + css::uno::Reference mxComponentContext; + css::util::Color maViewBackgroundColor; + css::uno::Reference mxViewBackgroundBitmap; + + virtual void CreateCanvases ( + const css::uno::Reference& rxParentWindow, + const css::uno::Reference& rxParentCanvas) = 0; + + void CreateWindows ( + const css::uno::Reference& rxParentWindow, + const bool bIsWindowVisibleOnCreation); + void PaintBorderBackground ( + const css::awt::Rectangle& rCenterBox, + const css::awt::Rectangle& rUpdateBox); + void PaintBorder (const css::awt::Rectangle& rUpdateRectangle); + void ToTop (void); + void LayoutContextWindow (void); + + /** This method throws a DisposedException when the object has already been + disposed. + */ + void ThrowIfDisposed (void) + throw (css::lang::DisposedException); +}; + +} } // end of namespace ::sd::presenter + +#endif -- cgit From da9acaf848c36deb03ccdacf664b84c59992abbe Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:01:20 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:10:30 af 1.1.2.3: #i18486# Removed OSL_TRACEs. 2008/01/23 15:16:53 af 1.1.2.2: #i18486# Fixed Linux compilation problems. 2008/01/21 15:41:19 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterPaneBorderManager.cxx | 575 +++++++++++++++++++++ 1 file changed, 575 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneBorderManager.cxx diff --git a/sdext/source/presenter/PresenterPaneBorderManager.cxx b/sdext/source/presenter/PresenterPaneBorderManager.cxx new file mode 100644 index 000000000000..689492defea5 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneBorderManager.cxx @@ -0,0 +1,575 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneBorderManager.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:01:20 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterPaneBorderManager.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +//===== Service =============================================================== + + +OUString PresenterPaneBorderManager::getImplementationName_static (void) +{ + return OUString::createFromAscii("com.sun.star.comp.Draw.PresenterPaneBorderManager"); +} + + + + +Sequence PresenterPaneBorderManager::getSupportedServiceNames_static (void) +{ + static const ::rtl::OUString sServiceName( + ::rtl::OUString::createFromAscii("com.sun.star.drawing.PresenterPaneBorderManager")); + return Sequence(&sServiceName, 1); +} + + + + +Reference PresenterPaneBorderManager::Create (const Reference& rxContext) + SAL_THROW((css::uno::Exception)) +{ + return Reference(static_cast(new PresenterPaneBorderManager(rxContext))); +} + + + + +//===== PresenterPaneBorderManager ============================================ + +PresenterPaneBorderManager::PresenterPaneBorderManager ( + const Reference& rxContext) + : PresenterPaneBorderManagerInterfaceBase(m_aMutex), + mxComponentContext(rxContext), + mxPresenterHelper(), + maWindowList(), + mnPointerType(), + maDragAnchor(), + meDragType(Outside), + mxOuterDragWindow(), + mxInnerDragWindow(), + mxPointer() +{ + Reference xFactory (rxContext->getServiceManager()); + if (xFactory.is()) + { + mxPointer = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.awt.Pointer"), + rxContext), + UNO_QUERY_THROW); + + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + rxContext), + UNO_QUERY_THROW); + } +} + + + + +PresenterPaneBorderManager::~PresenterPaneBorderManager (void) +{ +} + + + + +void PresenterPaneBorderManager::disposing (void) +{ + WindowList::const_iterator iDescriptor; + for (iDescriptor=maWindowList.begin(); iDescriptor!=maWindowList.end(); ++iDescriptor) + { + iDescriptor->first->removeMouseListener(this); + iDescriptor->first->removeMouseMotionListener(this); + } + maWindowList.clear(); +} + + + + +namespace { +const static sal_Int32 mnOutside = 0; +const static sal_Int32 mnLeft = 0x01; +const static sal_Int32 mnHorizontalCenter = 0x02; +const static sal_Int32 mnRight = 0x04; +const static sal_Int32 mnTop = 0x10; +const static sal_Int32 mnVerticalCenter = 0x20; +const static sal_Int32 mnBottom = 0x40; +} + +PresenterPaneBorderManager::BorderElement + PresenterPaneBorderManager::ClassifyBorderElementUnderMouse ( + const Reference& rxOuterWindow, + const Reference& rxInnerWindow, + const awt::Point aPosition) const +{ + OSL_ASSERT(rxOuterWindow.is()); + OSL_ASSERT(rxInnerWindow.is()); + + awt::Rectangle aOuterBox (rxOuterWindow->getPosSize()); + const awt::Rectangle aInnerBox (rxInnerWindow->getPosSize()); + + // Coordinates of the pointer position are given in the window + // coordinate system. Therefore the upper left corner of the outer box + // is the origin. + aOuterBox.X = 0; + aOuterBox.Y = 0; + + sal_Int32 nCode = 0; + + // Add horizontal classification to nCode. + if (aPosition.X < aInnerBox.X) + if (aPosition.X < aOuterBox.X) + nCode = mnOutside; + else + nCode = mnLeft; + else if (aPosition.X >= aInnerBox.X+aInnerBox.Width) + if (aPosition.X >= aOuterBox.X+aOuterBox.Width) + nCode = mnOutside; + else + nCode = mnRight; + else + nCode = mnHorizontalCenter; + + // Add vertical classification to nCode. + if (aPosition.Y < aInnerBox.Y) + if (aPosition.Y < aOuterBox.Y) + nCode |= mnOutside; + else + nCode |= mnTop; + else if (aPosition.Y >= aInnerBox.Y+aInnerBox.Height) + if (aPosition.Y >= aOuterBox.Y+aOuterBox.Height) + nCode |= mnOutside; + else + nCode |= mnBottom; + else + nCode |= mnVerticalCenter; + + // Translate bits in nCode into BorderElement value. + switch (nCode) + { + case mnOutside | mnOutside: + case mnOutside | mnLeft: + case mnOutside | mnRight: + case mnOutside | mnHorizontalCenter: + case mnTop | mnOutside: + case mnBottom | mnOutside: + case mnVerticalCenter | mnOutside: + default: + return Outside; + + case mnVerticalCenter | mnHorizontalCenter: + return Content; + + case mnTop | mnLeft: + return TopLeft; + + case mnTop | mnRight: + return TopRight; + + case mnTop | mnHorizontalCenter: + return Top; + + case mnBottom | mnLeft: + return BottomLeft; + + case mnBottom | mnRight: + return BottomRight; + + case mnBottom | mnHorizontalCenter: + return Bottom; + + case mnVerticalCenter | mnLeft: + return Left; + + case mnVerticalCenter | mnRight: + return Right; + } +} + + + + +//----- XInitialization ------------------------------------------------------- + +void SAL_CALL PresenterPaneBorderManager::initialize (const Sequence& rArguments) + throw (Exception, RuntimeException) +{ + ThrowIfDisposed(); + + if (rArguments.getLength()%2 == 1 && mxComponentContext.is()) + { + try + { + mxParentWindow = Reference(rArguments[0], UNO_QUERY_THROW); + + // Get the outer and inner windows from the argument list and + // build a window list of it. + for (sal_Int32 nIndex=1; nIndex xOuterWindow (rArguments[nIndex], UNO_QUERY_THROW); + Reference xInnerWindow (rArguments[nIndex+1], UNO_QUERY_THROW); + + maWindowList.push_back(WindowDescriptor(xOuterWindow,xInnerWindow)); + + xOuterWindow->addMouseListener(this); + xOuterWindow->addMouseMotionListener(this); + } + } + catch (RuntimeException&) + { + PresenterPaneBorderManager::disposing(); + throw; + } + } + else + { + throw RuntimeException( + OUString::createFromAscii("PresenterPane: invalid number of arguments"), + static_cast(this)); + } +} + + + + +//----- XMouseListener -------------------------------------------------------- + +void SAL_CALL PresenterPaneBorderManager::mousePressed (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + + // Find window descriptor of the window that has been clicked. + WindowList::const_iterator iDescriptor; + for (iDescriptor=maWindowList.begin(); iDescriptor!=maWindowList.end(); ++iDescriptor) + if (iDescriptor->first == rEvent.Source) + break; + + if (iDescriptor != maWindowList.end()) + { + // Prepare dragging. + mxOuterDragWindow = iDescriptor->first; + mxInnerDragWindow = iDescriptor->second; + OSL_ASSERT(mxOuterDragWindow.is() && mxInnerDragWindow.is()); + const awt::Rectangle aOuterBox (mxOuterDragWindow->getPosSize()); + maDragAnchor.X = rEvent.X + aOuterBox.X; + maDragAnchor.Y = rEvent.Y + aOuterBox.Y; + meDragType = ClassifyBorderElementUnderMouse( + mxOuterDragWindow, + mxInnerDragWindow, + awt::Point(rEvent.X, rEvent.Y)); + } +} + + + + +void SAL_CALL PresenterPaneBorderManager::mouseReleased (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + + ReleaseMouse(mxOuterDragWindow); + meDragType = PresenterPaneBorderManager::Outside; + mxOuterDragWindow = NULL; + mxInnerDragWindow = NULL; +} + + + + +void SAL_CALL PresenterPaneBorderManager::mouseEntered (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterPaneBorderManager::mouseExited (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + + ReleaseMouse(mxOuterDragWindow); + meDragType = PresenterPaneBorderManager::Outside; + mxOuterDragWindow = NULL; + mxInnerDragWindow = NULL; +} + + + + +//----- XMouseMotionListener -------------------------------------------------- + +void SAL_CALL PresenterPaneBorderManager::mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + + WindowList::const_iterator iDescriptor; + for (iDescriptor=maWindowList.begin(); iDescriptor!=maWindowList.end(); ++iDescriptor) + if (iDescriptor->first == rEvent.Source) + break; + if (iDescriptor != maWindowList.end()) + { + // Choose pointer shape according to position in the window border. + switch (ClassifyBorderElementUnderMouse( + iDescriptor->first, + iDescriptor->second, + awt::Point(rEvent.X,rEvent.Y))) + { + case PresenterPaneBorderManager::Top: + mnPointerType = awt::SystemPointer::MOVE; + break; + case PresenterPaneBorderManager::TopLeft: + mnPointerType = awt::SystemPointer::WINDOW_NWSIZE; + break; + case PresenterPaneBorderManager::TopRight: + mnPointerType = awt::SystemPointer::WINDOW_NESIZE; + break; + case PresenterPaneBorderManager::Left: + mnPointerType = awt::SystemPointer::WINDOW_WSIZE; + break; + case PresenterPaneBorderManager::Right: + mnPointerType = awt::SystemPointer::WINDOW_ESIZE; + break; + case PresenterPaneBorderManager::BottomLeft: + mnPointerType = awt::SystemPointer::WINDOW_SWSIZE; + break; + case PresenterPaneBorderManager::BottomRight: + mnPointerType = awt::SystemPointer::WINDOW_SESIZE; + break; + case PresenterPaneBorderManager::Bottom: + mnPointerType = awt::SystemPointer::WINDOW_SSIZE; + break; + + case PresenterPaneBorderManager::Content: + case PresenterPaneBorderManager::Outside: + default: + mnPointerType = awt::SystemPointer::ARROW; + break; + } + + // Make the pointer shape visible. + Reference xPeer (iDescriptor->first, UNO_QUERY); + if (xPeer.is()) + { + if (mxPointer.is()) + mxPointer->setType(mnPointerType); + xPeer->setPointer(mxPointer); + } + } +} + + + + +void SAL_CALL PresenterPaneBorderManager::mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + + if ( ! mxOuterDragWindow.is()) + return; + + CaptureMouse(mxOuterDragWindow); + + const awt::Rectangle aOldBox (mxOuterDragWindow->getPosSize()); + const sal_Int32 nX = rEvent.X + aOldBox.X; + const sal_Int32 nY = rEvent.Y + aOldBox.Y; + const sal_Int32 nDiffX = nX - maDragAnchor.X; + const sal_Int32 nDiffY = nY - maDragAnchor.Y; + maDragAnchor.X = nX; + maDragAnchor.Y = nY; + + const sal_Int32 nOldRight = aOldBox.X + aOldBox.Width; + const sal_Int32 nOldBottom = aOldBox.Y + aOldBox.Height; + + awt::Rectangle aBox (aOldBox); + sal_Int32 nRight = aBox.X + aBox.Width; + sal_Int32 nBottom = aBox.Y + aBox.Height; + + // Update position and/or size according to initial pointer position + // inside the window border. + switch (meDragType) + { + case PresenterPaneBorderManager::Top: + aBox.X += nDiffX; aBox.Y += nDiffY; + nRight += nDiffX; nBottom += nDiffY; + break; + case PresenterPaneBorderManager::TopLeft: + aBox.X += nDiffX; aBox.Y += nDiffY; + break; + case PresenterPaneBorderManager::TopRight: + nRight += nDiffX; aBox.Y += nDiffY; + break; + case PresenterPaneBorderManager::Left: + aBox.X += nDiffX; + break; + case PresenterPaneBorderManager::Right: + nRight += nDiffX; + break; + case PresenterPaneBorderManager::BottomLeft: + aBox.X += nDiffX; nBottom += nDiffY; + break; + case PresenterPaneBorderManager::BottomRight: + nRight += nDiffX; nBottom += nDiffY; + break; + case PresenterPaneBorderManager::Bottom: + nBottom += nDiffY; + break; + default: break; + } + + aBox.Width = nRight - aBox.X; + aBox.Height = nBottom - aBox.Y; + if (aBox.Width > 20 + && aBox.Height > 20) + { + // Set position and/or size of the border window to the new values. + sal_Int16 nFlags (0); + if (aBox.X != aOldBox.X) + nFlags |= awt::PosSize::X; + if (aBox.Y != aOldBox.Y) + nFlags |= awt::PosSize::Y; + if (aBox.Width != aOldBox.Width) + nFlags |= awt::PosSize::WIDTH; + if (aBox.Height != aOldBox.Height) + nFlags |= awt::PosSize::HEIGHT; + mxOuterDragWindow->setPosSize(aBox.X, aBox.Y, aBox.Width, aBox.Height, nFlags); + + // Invalidate that is or was covered by the border window before and + // after the move/resize. + Reference xPeer (mxParentWindow, UNO_QUERY); + if (xPeer.is()) + { + const sal_Int32 nLeft = ::std::min(aOldBox.X,aBox.X); + const sal_Int32 nTop = ::std::min(aOldBox.Y,aBox.Y); + const sal_Int32 nWidth = ::std::max(nOldRight,nRight) - nLeft; + const sal_Int32 nHeight = ::std::max(nOldBottom,nBottom) - nTop; + xPeer->invalidateRect( + ::awt::Rectangle(nLeft,nTop,nWidth-1,nHeight-1), + awt::InvalidateStyle::TRANSPARENT); + } + } +} + + + + +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL PresenterPaneBorderManager::disposing (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + WindowList::iterator iDescriptor; + for (iDescriptor=maWindowList.begin(); iDescriptor!=maWindowList.end(); ++iDescriptor) + if (iDescriptor->first == rEvent.Source) + { + maWindowList.erase(iDescriptor); + break; + } +} + + + + +//----------------------------------------------------------------------------- + + +void PresenterPaneBorderManager::CaptureMouse (const Reference& rxWindow) +{ + if (mxPresenterHelper.is()) + mxPresenterHelper->captureMouse(rxWindow); +} + + + + +void PresenterPaneBorderManager::ReleaseMouse (const Reference& rxWindow) +{ + if (mxPresenterHelper.is()) + mxPresenterHelper->releaseMouse(rxWindow); +} + + + + +void PresenterPaneBorderManager::ThrowIfDisposed (void) + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterPaneBorderManager object has already been disposed")), + static_cast(this)); + } +} + + + + +} } // end of namespace ::sd::presenter -- cgit From e10038fcef1dca982c90e733dcc60c9a165ce631 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:01:31 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/21 15:40:34 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterPaneBorderManager.hxx | 169 +++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneBorderManager.hxx diff --git a/sdext/source/presenter/PresenterPaneBorderManager.hxx b/sdext/source/presenter/PresenterPaneBorderManager.hxx new file mode 100644 index 000000000000..8faf1bc14263 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneBorderManager.hxx @@ -0,0 +1,169 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneBorderManager.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:01:31 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_PANE_BORDER_MANAGER_HXX +#define SDEXT_PRESENTER_PRESENTER_PANE_BORDER_MANAGER_HXX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + + +namespace sdext { namespace presenter { + +namespace { + typedef ::cppu::WeakComponentImplHelper3 < + css::lang::XInitialization, + css::awt::XMouseListener, + css::awt::XMouseMotionListener + > PresenterPaneBorderManagerInterfaceBase; +} + + +/** Manage the interactive moving and resizing of panes. +*/ +class PresenterPaneBorderManager + : private ::boost::noncopyable, + protected ::cppu::BaseMutex, + public PresenterPaneBorderManagerInterfaceBase +{ +public: + PresenterPaneBorderManager (const css::uno::Reference& rxContext); + virtual ~PresenterPaneBorderManager (void); + + virtual void SAL_CALL disposing (void); + + + static ::rtl::OUString getImplementationName_static (void); + static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); + static css::uno::Reference Create( + const css::uno::Reference& rxContext) + SAL_THROW((css::uno::Exception)); + + + // XInitialization + + virtual void SAL_CALL initialize (const css::uno::Sequence& rArguments) + throw (css::uno::Exception, css::uno::RuntimeException); + + + // XMouseListener + + virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseMotionListener + + virtual void SAL_CALL mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // lang::XEventListener + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + +private: + enum BorderElement { Top, TopLeft, TopRight, Left, Right, BottomLeft, BottomRight, Bottom, + Content, Outside }; + + css::uno::Reference mxComponentContext; + css::uno::Reference mxPresenterHelper; + /** The parent window is stored so that it can be invalidated when one + of its children is resized or moved. It is assumed to be the parent + window of all outer windows stored in maWindowList. + */ + css::uno::Reference mxParentWindow; + typedef ::std::pair, + css::uno::Reference > WindowDescriptor; + typedef ::std::vector WindowList; + WindowList maWindowList; + + sal_Int32 mnPointerType; + css::awt::Point maDragAnchor; + BorderElement meDragType; + css::uno::Reference mxOuterDragWindow; + css::uno::Reference mxInnerDragWindow; + css::uno::Reference mxPointer; + + BorderElement ClassifyBorderElementUnderMouse ( + const css::uno::Reference& rxOuterDragWindow, + const css::uno::Reference& rxInnerDragWindow, + const css::awt::Point aPosition) const; + void CreateWindows (const css::uno::Reference& rxParentWindow); + void CaptureMouse (const css::uno::Reference& rxWindow); + void ReleaseMouse (const css::uno::Reference& rxWindow); + + /** This method throws a DisposedException when the object has already been + disposed. + */ + void ThrowIfDisposed (void) + throw (css::lang::DisposedException); +}; + +} } // end of namespace ::sd::presenter + +#endif -- cgit From dcdd74efa08ddf80d1333fb39e93a5c4bfefe2c6 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:01:46 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/03/26 15:37:44 cl 1.1.2.5: added missing interface methods 2008/02/26 15:11:43 af 1.1.2.4: #i18486# Code cleanup. 2008/01/24 09:43:15 af 1.1.2.3: #i18486# Code cleanup. 2008/01/23 11:58:32 af 1.1.2.2: #i18486# Adaption to changes in the XPaneBorderPainter interface. 2008/01/21 15:48:12 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterPaneBorderPainter.cxx | 1057 ++++++++++++++++++++ 1 file changed, 1057 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneBorderPainter.cxx diff --git a/sdext/source/presenter/PresenterPaneBorderPainter.cxx b/sdext/source/presenter/PresenterPaneBorderPainter.cxx new file mode 100644 index 000000000000..6957fa078e0a --- /dev/null +++ b/sdext/source/presenter/PresenterPaneBorderPainter.cxx @@ -0,0 +1,1057 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneBorderPainter.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:01:46 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterPaneBorderPainter.hxx" +#include "PresenterConfigurationAccess.hxx" +#include "PresenterGeometryHelper.hxx" +#include "PresenterTheme.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +namespace { + class BitmapDescriptor + { + public: + BitmapDescriptor( + const ::boost::shared_ptr& rpTheme, + const OUString& rsStyleName, + const OUString& rsBitmapName); + + Reference mxBitmap; + awt::Point maOffset; + awt::Size maSize; + util::Color maReplacementColor; + }; + + class BorderSize + { + public: + BorderSize (void); + BorderSize (const BorderSize& rBorderSize); + BorderSize& operator= (const BorderSize& rBoderSize); + sal_Int32 mnLeft; + sal_Int32 mnTop; + sal_Int32 mnRight; + sal_Int32 mnBottom; + }; + + class RendererPaneStyle + { + public: + RendererPaneStyle ( + const ::boost::shared_ptr& rpTheme, + const OUString& rsStyleName); + + awt::Rectangle AddBorder ( + const awt::Rectangle& rBox, + drawing::framework::BorderType eBorderType) const; + awt::Rectangle RemoveBorder ( + const awt::Rectangle& rBox, + drawing::framework::BorderType eBorderType) const; + const rendering::FontRequest& GetCanvasFontDescriptor (void) const; + + BitmapDescriptor maTopLeft; + BitmapDescriptor maTop; + BitmapDescriptor maTopRight; + BitmapDescriptor maLeft; + BitmapDescriptor maRight; + BitmapDescriptor maBottomLeft; + BitmapDescriptor maBottom; + BitmapDescriptor maBottomRight; + BitmapDescriptor maWindowBackground; + rendering::FontRequest maCanvasFontDescriptor; + util::Color maFontColor; + enum Anchor { AnchorLeft, AnchorRight, AnchorCenter } meFontAnchor; + BorderSize maInnerBorderSize; + BorderSize maOuterBorderSize; + BorderSize maTotalBorderSize; + enum Side { Left, Top, Right, Bottom }; + sal_Int32 GetBorderSize (const Side eSide) const; + private: + void UpdateBorderSizes (void); + }; +} + + + +class PresenterPaneBorderPainter::Renderer +{ +public: + Renderer ( + const Reference& rxContext, + const ::boost::shared_ptr& rpTheme); + ~Renderer (void); + + void SetCanvas (const Reference& rxCanvas); + void PaintBorder ( + const OUString& rsTitle, + const awt::Rectangle& rBBox, + const awt::Rectangle& rUpdateBox, + const OUString& rsPaneURL, + const double nBorderTransparency); + void PaintTitle ( + const OUString& rsTitle, + const ::boost::shared_ptr& rpStyle, + const awt::Rectangle& rUpdateBox, + const awt::Rectangle& rOuterBox, + const awt::Rectangle& rInnerBox, + const bool bPaintBackground); + void SetupClipping (const awt::Rectangle& rUpdateBox, bool bPaintOutline); + ::boost::shared_ptr GetRendererPaneStyle (const OUString& rsResourceURL); + +private: + ::boost::shared_ptr mpTheme; + typedef ::std::map > RendererPaneStyleContainer; + RendererPaneStyleContainer maRendererPaneStyles; + Reference mxFont; + Reference mxCanvasFont; + Reference mxCanvas; + css::rendering::ViewState maViewState; + Reference mxViewStateClip; + awt::Point maTopLeftTitleOffset; + awt::Point maTopRightTitleOffset; + awt::Point maTopLeftOffset; + awt::Point maTopRightOffset; + awt::Point maBottomLeftOffset; + awt::Point maBottomRightOffset; + + void PaintFrameBackground ( + const awt::Rectangle& rInnerBox, + const awt::Rectangle& rOuterBox); + void PaintBitmap( + const awt::Rectangle& rBox, + const awt::Rectangle& rUpdateBox, + const ::boost::shared_ptr& rpStyle, + const sal_Int32 nXPosition, + const sal_Int32 nYPosition, + const sal_Int32 nStartOffset, + const sal_Int32 nEndOffset, + const BitmapDescriptor& rBitmap, + const double nBorderTransparency); +}; + + + + +// ===== PresenterPaneBorderPainter =========================================== + +PresenterPaneBorderPainter::PresenterPaneBorderPainter ( + const Reference& rxContext) + : PresenterPaneBorderPainterInterfaceBase(m_aMutex), + mxContext(rxContext), + mpTheme(), + mpRenderer() +{ +} + + + + +PresenterPaneBorderPainter::~PresenterPaneBorderPainter (void) +{ +} + + + + +//----- XPaneBorderPainter ---------------------------------------------------- + +awt::Rectangle SAL_CALL PresenterPaneBorderPainter::addBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::awt::Rectangle& rRectangle, + drawing::framework::BorderType eBorderType) + throw(css::uno::RuntimeException) +{ + ThrowIfDisposed(); + + ProvideTheme(); + + return AddBorder(rsPaneBorderStyleName, rRectangle, eBorderType); +} + + + + +awt::Rectangle SAL_CALL PresenterPaneBorderPainter::removeBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::awt::Rectangle& rRectangle, + drawing::framework::BorderType eBorderType) + throw(css::uno::RuntimeException) +{ + ThrowIfDisposed(); + + ProvideTheme(); + + return RemoveBorder(rsPaneBorderStyleName, rRectangle, eBorderType); +} + + +void SAL_CALL PresenterPaneBorderPainter::paintBorder( + const ::rtl::OUString& rsPaneBorderStyleName, + const css::uno::Reference< css::rendering::XCanvas >& rxCanvas, + const css::awt::Rectangle& rOuterBorderRectangle, + const css::awt::Rectangle& rRepaintArea, + const ::rtl::OUString& rsTitle ) + throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + + // Early reject paints completely outside the repaint area. + if (rRepaintArea.X >= rOuterBorderRectangle.X+rOuterBorderRectangle.Width + || rRepaintArea.Y >= rOuterBorderRectangle.Y+rOuterBorderRectangle.Height + || rRepaintArea.X+rRepaintArea.Width <= rOuterBorderRectangle.X + || rRepaintArea.Y+rRepaintArea.Height <= rOuterBorderRectangle.Y) + { + return; + } + ProvideTheme(rxCanvas); + + if (mpRenderer.get() != NULL) + { + mpRenderer->SetCanvas(rxCanvas); + mpRenderer->SetupClipping(rRepaintArea, false); + mpRenderer->PaintBorder( + rsTitle, + rOuterBorderRectangle, + rRepaintArea, + rsPaneBorderStyleName, + 0); + } +} + +void SAL_CALL PresenterPaneBorderPainter::paintBorderWithCallout( + const ::rtl::OUString& /*sPaneBorderStyleName*/, + const css::uno::Reference< css::rendering::XCanvas >& /*xCanvas*/, + const css::awt::Rectangle& /*aOuterBorderRectangle*/, + const css::awt::Rectangle& /*aRepaintArea*/, + const ::rtl::OUString& /*sTitle*/, + const css::awt::Point& /*aCalloutAnchor*/ ) + throw (css::uno::RuntimeException) +{ +} + +css::awt::Point SAL_CALL PresenterPaneBorderPainter::getCalloutOffset( + const ::rtl::OUString& /*sPaneBorderStyleName*/ ) + throw (css::uno::RuntimeException) +{ + css::awt::Point aPoint; + return aPoint; +} + +//----------------------------------------------------------------------------- + +bool PresenterPaneBorderPainter::ProvideTheme (const Reference& rxCanvas) +{ + bool bModified (false); + + if ( ! mxContext.is()) + return false; + + if (mpTheme.get() != NULL) + { + // Check if the theme already has a canvas. + if ( ! mpTheme->HasCanvas()) + { + mpTheme->ProvideCanvas(rxCanvas); + bModified = true; + } + } + else + { + mpTheme.reset(new PresenterTheme(mxContext, OUString(), rxCanvas)); + bModified = true; + } + + if (mpTheme.get() != NULL && bModified) + { + if (mpRenderer.get() == NULL) + mpRenderer.reset(new Renderer(mxContext, mpTheme)); + else + mpRenderer->SetCanvas(rxCanvas); + } + + return bModified; +} + + + + +bool PresenterPaneBorderPainter::ProvideTheme (void) +{ + if (mpTheme.get() == NULL) + { + // Create a theme without bitmaps (no canvas => no bitmaps). + return ProvideTheme(NULL); + } + else + { + // When there already is a theme then without a canvas we can not + // add anything new. + return false; + } +} + + + + +bool PresenterPaneBorderPainter::HasTheme (void) const +{ + return mpTheme.get()!=NULL && mpRenderer.get()!=NULL; +} + + + + +void PresenterPaneBorderPainter::SetTheme (const ::boost::shared_ptr& rpTheme) +{ + mpTheme = rpTheme; + if (mpRenderer.get() == NULL) + mpRenderer.reset(new Renderer(mxContext, mpTheme)); +} + + + + +awt::Rectangle PresenterPaneBorderPainter::AddBorder ( + const ::rtl::OUString& rsPaneURL, + const awt::Rectangle& rInnerBox, + const css::drawing::framework::BorderType eBorderType) const +{ + if (mpRenderer.get() != NULL) + { + const ::boost::shared_ptr pRendererPaneStyle(mpRenderer->GetRendererPaneStyle(rsPaneURL)); + if (pRendererPaneStyle.get() != NULL) + return pRendererPaneStyle->AddBorder(rInnerBox, eBorderType); + } + return rInnerBox; +} + + + + +awt::Rectangle PresenterPaneBorderPainter::RemoveBorder ( + const ::rtl::OUString& rsPaneURL, + const css::awt::Rectangle& rOuterBox, + const css::drawing::framework::BorderType eBorderType) const +{ + if (mpRenderer.get() != NULL) + { + const ::boost::shared_ptr pRendererPaneStyle(mpRenderer->GetRendererPaneStyle(rsPaneURL)); + if (pRendererPaneStyle.get() != NULL) + return pRendererPaneStyle->RemoveBorder(rOuterBox, eBorderType); + } + return rOuterBox; +} + + + + +void PresenterPaneBorderPainter::ThrowIfDisposed (void) const + throw (css::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterPaneBorderPainter object has already been disposed")), + const_cast(static_cast(this))); + } +} + + + + +//===== PresenterPaneBorderPainter::Renderer ===================================== + + +PresenterPaneBorderPainter::Renderer::Renderer ( + const Reference& rxContext, + const ::boost::shared_ptr& rpTheme) + : mpTheme(rpTheme), + maRendererPaneStyles(), + mxFont(), + mxCanvasFont(), + mxCanvas(), + maViewState(), + mxViewStateClip(), + maTopLeftTitleOffset(0,0), + maTopRightTitleOffset(0,0), + maTopLeftOffset(0,0), + maTopRightOffset(0,0), + maBottomLeftOffset(0,0), + maBottomRightOffset(0,0) +{ + (void)rxContext; + maViewState.AffineTransform = geometry::AffineMatrix2D(1,0,0, 0,1,0); +} + + + + +PresenterPaneBorderPainter::Renderer::~Renderer (void) +{ +} + + + + +void PresenterPaneBorderPainter::Renderer::SetCanvas (const Reference& rxCanvas) +{ + if (mxCanvas != rxCanvas) + { + mxCanvas = rxCanvas; + } +} + + + + +void PresenterPaneBorderPainter::Renderer::PaintBorder ( + const OUString& rsTitle, + const awt::Rectangle& rBBox, + const awt::Rectangle& rUpdateBox, + const OUString& rsPaneURL, + const double nBorderTransparency) +{ + if ( ! mxCanvas.is()) + return; + + // Create the outer and inner border of the, ahm, border. + ::boost::shared_ptr pStyle (GetRendererPaneStyle(rsPaneURL)); + if (pStyle.get() == NULL) + return; + + awt::Rectangle aOuterBox (rBBox); + awt::Rectangle aCenterBox ( + pStyle->RemoveBorder(aOuterBox, drawing::framework::BorderType_OUTER_BORDER)); + awt::Rectangle aInnerBox ( + pStyle->RemoveBorder(aOuterBox, drawing::framework::BorderType_TOTAL_BORDER)); + + //PaintTitle(rsTitle, pStyle, rUpdateBox, aOuterBox, aInnerBox, true); + + // Prepare references for all used bitmaps. + BitmapDescriptor& rTop (pStyle->maTop); + BitmapDescriptor& rTopLeft (pStyle->maTopLeft); + BitmapDescriptor& rTopRight (pStyle->maTopRight); + BitmapDescriptor& rLeft (pStyle->maLeft); + BitmapDescriptor& rRight (pStyle->maRight); + BitmapDescriptor& rBottomLeft (pStyle->maBottomLeft); + BitmapDescriptor& rBottomRight (pStyle->maBottomRight); + BitmapDescriptor& rBottom (pStyle->maBottom); + + // Paint the sides. + PaintBitmap(aCenterBox, rUpdateBox, pStyle, 0,-1, + rTopLeft.maOffset.X, rTopRight.maOffset.X, rTop, nBorderTransparency); + PaintBitmap(aCenterBox, rUpdateBox, pStyle, 0,+1, + rBottomLeft.maOffset.X, rBottomRight.maOffset.X, rBottom, nBorderTransparency); + PaintBitmap(aCenterBox, rUpdateBox, pStyle, -1,0, + rTopLeft.maOffset.Y, rBottomLeft.maOffset.Y, rLeft, nBorderTransparency); + PaintBitmap(aCenterBox, rUpdateBox, pStyle, +1,0, + rTopRight.maOffset.Y, rBottomRight.maOffset.Y, rRight, nBorderTransparency); + + // Paint the corners. + PaintBitmap(aCenterBox, rUpdateBox, pStyle, -1,-1, 0,0, rTopLeft, nBorderTransparency); + PaintBitmap(aCenterBox, rUpdateBox, pStyle, +1,-1, 0,0, rTopRight, nBorderTransparency); + PaintBitmap(aCenterBox, rUpdateBox, pStyle, -1,+1, 0,0, rBottomLeft, nBorderTransparency); + PaintBitmap(aCenterBox, rUpdateBox, pStyle, +1,+1, 0,0, rBottomRight, nBorderTransparency); + + // Paint the title. + PaintTitle(rsTitle, pStyle, rUpdateBox, aOuterBox, aInnerBox, false); + + // In a double buffering environment request to make the changes visible. + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); +} + + + + +void PresenterPaneBorderPainter::Renderer::PaintTitle ( + const OUString& rsTitle, + const ::boost::shared_ptr& rpStyle, + const awt::Rectangle& rUpdateBox, + const awt::Rectangle& rOuterBox, + const awt::Rectangle& rInnerBox, + bool bPaintBackground) +{ + if ( ! mxCanvas.is()) + return; + + if (rsTitle.getLength() == 0) + return; + + if ( ! mxCanvasFont.is()) + { + mxCanvasFont = mxCanvas->createFont( + rpStyle->GetCanvasFontDescriptor(), + Sequence(), + geometry::Matrix2D(1,0,0,1)); + } + + if ( ! mxCanvasFont.is()) + return; + + rendering::StringContext aContext ( + rsTitle, + 0, + rsTitle.getLength()); + Reference xLayout (mxCanvasFont->createTextLayout( + aContext, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT, + 0)); + if ( ! xLayout.is()) + return; + + geometry::RealRectangle2D aBox (xLayout->queryTextBounds()); + const double nTextHeight = aBox.Y2 - aBox.Y1; + const double nTextWidth = aBox.X2 - aBox.X1; + double nX = rInnerBox.X + (rInnerBox.Width - nTextWidth)/2; + const sal_Int32 nTitleBarHeight = rInnerBox.Y - rOuterBox.Y - 1; + double nY = rOuterBox.Y + (nTitleBarHeight - nTextHeight) / 2 + 3*nTextHeight/4; + if (nY >= rInnerBox.Y) + nY = rInnerBox.Y - 1; + switch (rpStyle->meFontAnchor) + { + default: + case RendererPaneStyle::AnchorLeft: + nX = rInnerBox.X; + break; + case RendererPaneStyle::AnchorRight: + nX = rInnerBox.X + rInnerBox.Width - nTextWidth; + break; + case RendererPaneStyle::AnchorCenter: + nX = rInnerBox.X + (rInnerBox.Width - nTextWidth)/2; + break; + } + + if (rUpdateBox.X >= nX+nTextWidth + || rUpdateBox.Y >= nY+nTextHeight + || rUpdateBox.X+rUpdateBox.Width <= nX + || rUpdateBox.Y+rUpdateBox.Height <= nY) + { + return; + } + + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,nX, 0,1,nY), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + if (bPaintBackground) + { + aRenderState.DeviceColor[0] = 1; + aRenderState.DeviceColor[1] = 1; + aRenderState.DeviceColor[2] = 1; + Sequence > aPolygons(1); + aPolygons[0] = Sequence(4); + aPolygons[0][0] = geometry::RealPoint2D(0, -nTextHeight); + aPolygons[0][1] = geometry::RealPoint2D(0, 0); + aPolygons[0][2] = geometry::RealPoint2D(nTextWidth, 0); + aPolygons[0][3] = geometry::RealPoint2D(nTextWidth, -nTextHeight); + Reference xPolygon ( + mxCanvas->getDevice()->createCompatibleLinePolyPolygon(aPolygons), UNO_QUERY); + if (xPolygon.is()) + xPolygon->setClosed(0, sal_True); + mxCanvas->fillPolyPolygon( + xPolygon, + maViewState, + aRenderState); + } + else + { + aRenderState.DeviceColor[0] = ((rpStyle->maFontColor&0x00ff0000)>>16) / 255.0; + aRenderState.DeviceColor[1] = ((rpStyle->maFontColor&0x0000ff00)>>8) / 255.0; + aRenderState.DeviceColor[2] = (rpStyle->maFontColor&0x000000ff) / 255.0; + + mxCanvas->drawText( + aContext, + mxCanvasFont, + maViewState, + aRenderState, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT); + } +} + + + +::boost::shared_ptr + PresenterPaneBorderPainter::Renderer::GetRendererPaneStyle (const OUString& rsResourceURL) +{ + OSL_ASSERT(mpTheme.get()!=NULL); + + RendererPaneStyleContainer::const_iterator iStyle (maRendererPaneStyles.find(rsResourceURL)); + if (iStyle == maRendererPaneStyles.end()) + { + OUString sStyleName (OUString::createFromAscii("DefaultRendererPaneStyle")); + + try + { + // Get pane layout name for resource URL. + mpTheme->getPropertyValue(rsResourceURL) >>= sStyleName; + } + catch (beans::UnknownPropertyException&) + { + OSL_ENSURE(false, "pane style not found"); + } + + // Create a new pane style object and initialize it with bitmaps. + ::boost::shared_ptr pStyle (new RendererPaneStyle(mpTheme,sStyleName)); + iStyle = maRendererPaneStyles.insert( + RendererPaneStyleContainer::value_type(rsResourceURL, pStyle)).first; + } + if (iStyle != maRendererPaneStyles.end()) + return iStyle->second; + else + return ::boost::shared_ptr(); +} + + + + +void PresenterPaneBorderPainter::Renderer::PaintFrameBackground ( + const awt::Rectangle& rOuterBox, + const awt::Rectangle& rInnerBox) +{ + (void)rOuterBox; + (void)rInnerBox; +} + + + + +void PresenterPaneBorderPainter::Renderer::PaintBitmap( + const awt::Rectangle& rBox, + const awt::Rectangle& rUpdateBox, + const ::boost::shared_ptr& rpStyle, + const sal_Int32 nXPosition, + const sal_Int32 nYPosition, + const sal_Int32 nStartOffset, + const sal_Int32 nEndOffset, + const BitmapDescriptor& rBitmap, + const double nBorderTransparency) +{ + (void)nBorderTransparency; + (void)rpStyle; + + bool bUseCanvas (mxCanvas.is()); + if ( ! bUseCanvas) + return; + + if (rBitmap.maSize.Width<=0 || rBitmap.maSize.Height<=0) + return; + + if ( ! rBitmap.mxBitmap.is()) + return; + + // Calculate position, and for side bitmaps, the size. + sal_Int32 nX = 0; + sal_Int32 nY = 0; + sal_Int32 nW = rBitmap.maSize.Width; + sal_Int32 nH = rBitmap.maSize.Height; + if (nXPosition < 0) + { + nX = rBox.X - rBitmap.maSize.Width + rBitmap.maOffset.X; + } + else if (nXPosition > 0) + { + nX = rBox.X + rBox.Width + rBitmap.maOffset.X; + } + else + { + nX = rBox.X + nStartOffset; + nW = rBox.Width - nStartOffset + nEndOffset; + } + + if (nYPosition < 0) + { + nY = rBox.Y - rBitmap.maSize.Height + rBitmap.maOffset.Y; + } + else if (nYPosition > 0) + { + nY = rBox.Y + rBox.Height + rBitmap.maOffset.Y; + } + else + { + nY = rBox.Y + nStartOffset; + nH = rBox.Height - nStartOffset + nEndOffset; + } + + // Do not paint when bitmap area does not intersect with update box. + if (nX >= rUpdateBox.X + rUpdateBox.Width + || nX+nW <= rUpdateBox.X + || nY >= rUpdateBox.Y + rUpdateBox.Height + || nY+nH <= rUpdateBox.Y) + { + return; + } + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D( + double(nW)/rBitmap.maSize.Width, 0, nX, + 0, double(nH)/rBitmap.maSize.Height, nY), + NULL, + Sequence(3), + rendering::CompositeOperation::OVER); + + mxCanvas->drawBitmap(rBitmap.mxBitmap,maViewState,aRenderState); +} + + + + +void PresenterPaneBorderPainter::Renderer::SetupClipping (const awt::Rectangle& rUpdateBox, + bool bPaintOutline) +{ + mxViewStateClip = NULL; + maViewState.Clip = NULL; + + if ( ! mxCanvas.is()) + return; + + mxViewStateClip = PresenterGeometryHelper::CreatePolygon(rUpdateBox, mxCanvas->getDevice()); + + if (bPaintOutline) + { + maViewState.Clip = NULL; + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + aRenderState.DeviceColor[0] = 0; + aRenderState.DeviceColor[1] = 1; + aRenderState.DeviceColor[2] = 0; + mxCanvas->drawPolyPolygon(mxViewStateClip, maViewState, aRenderState); + } + + maViewState.Clip = mxViewStateClip; +} + + + +namespace { + +//===== BitmapDescriptor ====================================================== + +BitmapDescriptor::BitmapDescriptor( + const ::boost::shared_ptr& rpTheme, + const OUString& rsStyleName, + const OUString& rsBitmapName) + : mxBitmap(), + maOffset(0,0), + maSize(0,0), + maReplacementColor(0x00ffffff) +{ + if (rpTheme.get() == NULL) + return; + + const OUString sPrefix (rsStyleName + +OUString::createFromAscii("_Border_") + +rsBitmapName + +OUString::createFromAscii("_")); + + try + { + rpTheme->getPropertyValue(sPrefix+OUString::createFromAscii("Bitmap")) >>= mxBitmap; + if (mxBitmap.is()) + { + const geometry::IntegerSize2D aSize (mxBitmap->getSize()); + maSize = awt::Size(aSize.Width, aSize.Height); + } + } + catch(beans::UnknownPropertyException&) + { + } + + try + { + rpTheme->getPropertyValue(sPrefix+OUString::createFromAscii("Offset")) >>= maOffset; + } + catch(beans::UnknownPropertyException&) + { + } + + try + { + rpTheme->getPropertyValue(sPrefix+OUString::createFromAscii("Color")) >>= maReplacementColor; + } + catch(beans::UnknownPropertyException&) + { + } +} + + + + +//===== BorderSize ============================================================ + +BorderSize::BorderSize (void) + : mnLeft(0), + mnTop(0), + mnRight(0), + mnBottom(0) +{ +} + + + + +BorderSize::BorderSize (const BorderSize& rBorderSize) + : mnLeft(rBorderSize.mnLeft), + mnTop(rBorderSize.mnTop), + mnRight(rBorderSize.mnRight), + mnBottom(rBorderSize.mnBottom) +{ +} + + + + +BorderSize& BorderSize::operator= (const BorderSize& rBorderSize) +{ + if (&rBorderSize != this) + { + mnLeft = rBorderSize.mnLeft; + mnTop = rBorderSize.mnTop; + mnRight = rBorderSize.mnRight; + mnBottom = rBorderSize.mnBottom; + } + return *this; +} + + + + +//===== RendererPaneStyle ============================================================ + +RendererPaneStyle::RendererPaneStyle ( + const ::boost::shared_ptr& rpTheme, + const OUString& rsStyleName) + : maTopLeft(rpTheme, rsStyleName, OUString::createFromAscii("TopLeft")), + maTop(rpTheme, rsStyleName, OUString::createFromAscii("Top")), + maTopRight(rpTheme, rsStyleName, OUString::createFromAscii("TopRight")), + maLeft(rpTheme, rsStyleName, OUString::createFromAscii("Left")), + maRight(rpTheme, rsStyleName, OUString::createFromAscii("Right")), + maBottomLeft(rpTheme, rsStyleName, OUString::createFromAscii("BottomLeft")), + maBottom(rpTheme, rsStyleName, OUString::createFromAscii("Bottom")), + maBottomRight(rpTheme, rsStyleName, OUString::createFromAscii("BottomRight")), + maWindowBackground(rpTheme, rsStyleName, OUString::createFromAscii("WindowBackground")), + maCanvasFontDescriptor(), + maFontColor(0), + meFontAnchor(AnchorCenter), + maInnerBorderSize(), + maOuterBorderSize(), + maTotalBorderSize() +{ + if (rpTheme.get() != NULL) + { + // Get font description. + OUString sFontName (OUString::createFromAscii("Albany")); + sal_Int32 nFontSize (17); + maFontColor = 0x00000000; + OUString sAnchor (OUString::createFromAscii("Left")); + const OUString sFontPrefix (rsStyleName+OUString::createFromAscii("_Font_")); + try + { + rpTheme->getPropertyValue(sFontPrefix+OUString::createFromAscii("Name")) >>= sFontName; + rpTheme->getPropertyValue(sFontPrefix+OUString::createFromAscii("Size")) >>= nFontSize; + rpTheme->getPropertyValue(sFontPrefix+OUString::createFromAscii("Color")) + >>= maFontColor; + rpTheme->getPropertyValue(sFontPrefix+OUString::createFromAscii("Anchor")) >>= sAnchor; + } + catch(beans::UnknownPropertyException&) + { + OSL_ASSERT(false); + } + + maCanvasFontDescriptor.FontDescription.FamilyName = sFontName; + maCanvasFontDescriptor.CellSize = nFontSize; + + if (sAnchor == OUString::createFromAscii("Left")) + meFontAnchor = AnchorLeft; + else if (sAnchor == OUString::createFromAscii("Right")) + meFontAnchor = AnchorRight; + else if (sAnchor == OUString::createFromAscii("Center")) + meFontAnchor = AnchorCenter; + else + meFontAnchor = AnchorCenter; + + // Get border sizes. + Sequence aInnerBorder (4); + Sequence aOuterBorder (4); + try + { + rpTheme->getPropertyValue(rsStyleName+OUString::createFromAscii("_InnerBorderSize")) + >>= aInnerBorder; + maInnerBorderSize.mnLeft = aInnerBorder[0]; + maInnerBorderSize.mnTop = aInnerBorder[1]; + maInnerBorderSize.mnRight = aInnerBorder[2]; + maInnerBorderSize.mnBottom = aInnerBorder[3]; + + rpTheme->getPropertyValue(rsStyleName+OUString::createFromAscii("_OuterBorderSize")) + >>= aOuterBorder; + maOuterBorderSize.mnLeft = aOuterBorder[0]; + maOuterBorderSize.mnTop = aOuterBorder[1]; + maOuterBorderSize.mnRight = aOuterBorder[2]; + maOuterBorderSize.mnBottom = aOuterBorder[3]; + } + catch(beans::UnknownPropertyException&) + { + OSL_ASSERT(false); + } + + UpdateBorderSizes(); + } +} + + + + + +awt::Rectangle RendererPaneStyle::AddBorder ( + const awt::Rectangle& rBox, + const drawing::framework::BorderType eBorderType) const +{ + const BorderSize* pBorderSize = NULL; + switch (eBorderType) + { + case drawing::framework::BorderType_INNER_BORDER: + pBorderSize = &maInnerBorderSize; + break; + case drawing::framework::BorderType_OUTER_BORDER: + pBorderSize = &maOuterBorderSize; + break; + case drawing::framework::BorderType_TOTAL_BORDER: + pBorderSize = &maTotalBorderSize; + break; + default: + return rBox; + } + return awt::Rectangle ( + rBox.X - pBorderSize->mnLeft, + rBox.Y - pBorderSize->mnTop, + rBox.Width + pBorderSize->mnLeft + pBorderSize->mnRight, + rBox.Height + pBorderSize->mnTop + pBorderSize->mnBottom); +} + + + + +awt::Rectangle RendererPaneStyle::RemoveBorder ( + const awt::Rectangle& rBox, + const css::drawing::framework::BorderType eBorderType) const +{ + const BorderSize* pBorderSize = NULL; + switch (eBorderType) + { + case drawing::framework::BorderType_INNER_BORDER: + pBorderSize = &maInnerBorderSize; + break; + case drawing::framework::BorderType_OUTER_BORDER: + pBorderSize = &maOuterBorderSize; + break; + case drawing::framework::BorderType_TOTAL_BORDER: + pBorderSize = &maTotalBorderSize; + break; + default: + return rBox; + } + return awt::Rectangle ( + rBox.X + pBorderSize->mnLeft, + rBox.Y + pBorderSize->mnTop, + rBox.Width - pBorderSize->mnLeft - pBorderSize->mnRight, + rBox.Height - pBorderSize->mnTop - pBorderSize->mnBottom); +} + + + + +const rendering::FontRequest& RendererPaneStyle::GetCanvasFontDescriptor (void) const +{ + return maCanvasFontDescriptor; +} + + + + +sal_Int32 RendererPaneStyle::GetBorderSize (const Side eSide) const +{ + switch (eSide) + { + case Left : return maTotalBorderSize.mnLeft; + case Right : return maTotalBorderSize.mnRight; + case Top : return maTotalBorderSize.mnTop; + case Bottom : return maTotalBorderSize.mnBottom; + } + return 0; +} + + + + +void RendererPaneStyle::UpdateBorderSizes (void) +{ + maTotalBorderSize.mnLeft = maInnerBorderSize.mnLeft + maOuterBorderSize.mnLeft; + maTotalBorderSize.mnTop = maInnerBorderSize.mnTop + maOuterBorderSize.mnTop; + maTotalBorderSize.mnRight = maInnerBorderSize.mnRight + maOuterBorderSize.mnRight; + maTotalBorderSize.mnBottom = maInnerBorderSize.mnBottom + maOuterBorderSize.mnBottom; +} + + + +} // end of anonymous namespace + + +} } // end of namespace ::sd::presenter -- cgit From ed4653ebd6b9066a38027517323607e941923aed Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:01:58 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/03/26 15:37:44 cl 1.1.2.3: added missing interface methods 2008/01/23 11:57:02 af 1.1.2.2: #i18486# Adaption to changes in the XPaneBorderPainter interface. 2008/01/21 15:47:24 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterPaneBorderPainter.hxx | 172 +++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneBorderPainter.hxx diff --git a/sdext/source/presenter/PresenterPaneBorderPainter.hxx b/sdext/source/presenter/PresenterPaneBorderPainter.hxx new file mode 100644 index 000000000000..325a6859c6a4 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneBorderPainter.hxx @@ -0,0 +1,172 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneBorderPainter.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:01:58 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_PANE_BORDER_PAINTER_HXX +#define SDEXT_PRESENTER_PRESENTER_PANE_BORDER_PAINTER_HXX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace tools { + class ConfigurationAccess; +} } + +namespace sdext { namespace presenter { + +class PresenterPane; +class PresenterTheme; + +namespace { + typedef ::cppu::WeakComponentImplHelper1< + css::drawing::framework::XPaneBorderPainter + > PresenterPaneBorderPainterInterfaceBase; +} + +/** This class is responsible for painting window borders of PresenterPane + objects. +*/ +class PresenterPaneBorderPainter + : private ::boost::noncopyable, + protected ::cppu::BaseMutex, + public PresenterPaneBorderPainterInterfaceBase +{ +public: + PresenterPaneBorderPainter ( + const css::uno::Reference& rxContext); + virtual ~PresenterPaneBorderPainter (void); + + /** Transform the bounding box of the window content to the outer + bounding box of the border that is painted around it. + @param rsPaneURL + Specifies the pane style that is used to determine the border sizes. + @param rInnerBox + The rectangle of the inner window content. + */ + css::awt::Rectangle AddBorder ( + const ::rtl::OUString& rsPaneURL, + const css::awt::Rectangle& rInnerBox, + const css::drawing::framework::BorderType eBorderType) const; + + /** Transorm the outer bounding box of a window to the bounding box of + the inner content area. + @param rsPaneURL + Specifies the pane style that is used to determine the border sizes. + @param rOuterBox + The bounding box of the rectangle around the window. + @param bIsTitleVisible + This flag controls whether the upper part of the frame is + supposed to contain the window title. + */ + css::awt::Rectangle RemoveBorder ( + const ::rtl::OUString& rsPaneURL, + const css::awt::Rectangle& rOuterBox, + const css::drawing::framework::BorderType eBorderType) const; + + bool HasTheme (void) const; + + void SetTheme (const ::boost::shared_ptr& rpTheme); + + class Renderer; + + // XPaneBorderPainter + + virtual css::awt::Rectangle SAL_CALL addBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::awt::Rectangle& rRectangle, + css::drawing::framework::BorderType eBorderType) + throw(css::uno::RuntimeException); + + virtual css::awt::Rectangle SAL_CALL removeBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::awt::Rectangle& rRectangle, + css::drawing::framework::BorderType eBorderType) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL paintBorder( + const ::rtl::OUString& sPaneBorderStyleName, + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas >& xCanvas, + const ::com::sun::star::awt::Rectangle& aOuterBorderRectangle, + const ::com::sun::star::awt::Rectangle& aRepaintArea, + const ::rtl::OUString& sTitle ) + throw (::com::sun::star::uno::RuntimeException); + + virtual void SAL_CALL paintBorderWithCallout( + const ::rtl::OUString& sPaneBorderStyleName, + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas >& xCanvas, + const ::com::sun::star::awt::Rectangle& aOuterBorderRectangle, + const ::com::sun::star::awt::Rectangle& aRepaintArea, + const ::rtl::OUString& sTitle, + const ::com::sun::star::awt::Point& aCalloutAnchor ) + throw (::com::sun::star::uno::RuntimeException); + + virtual ::com::sun::star::awt::Point SAL_CALL getCalloutOffset( + const ::rtl::OUString& sPaneBorderStyleName ) + throw (::com::sun::star::uno::RuntimeException); + +private: + css::uno::Reference mxContext; + ::boost::shared_ptr mpTheme; + ::boost::scoped_ptr mpRenderer; + + /** When the theme for the border has not yet been loaded then try again + when this method is called. + @return + Returns only one time when the theme is loaded and/or the + renderer is initialized. + */ + bool ProvideTheme ( + const css::uno::Reference& rxCanvas); + bool ProvideTheme (void); + + void ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException); +}; + +} } // end of namespace ::sd::presenter + +#endif -- cgit From b0e1ec3d6e1a92f46287d7684af5bf199986f5a3 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:02:09 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/03/03 17:17:58 af 1.1.2.8: #i18486# Fixed StorePane to returns the right pane. 2008/02/28 16:15:25 af 1.1.2.7: #i18486# Find... methods of pane container now return SharedPaneDescriptor. 2008/02/26 15:13:45 af 1.1.2.6: #i18486# Panes are stored as rtl References. Added activation state, access to sprites for each pane. 2008/01/24 09:44:34 af 1.1.2.5: #i18486# Using XPresenterHelper to improve ToTop(). 2008/01/21 14:53:13 af 1.1.2.4: #i18486# Support of border windows separated from the panes. 2007/12/14 09:38:39 af 1.1.2.3: #i18486# Resolved resync problems. 2007/12/12 15:15:41 af 1.1.2.2: #i18486# Added ToTop() and Find() variant. Listening for disposing of windows. 2007/10/24 12:00:27 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaneContainer.cxx | 370 ++++++++++++++++++++++ 1 file changed, 370 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneContainer.cxx diff --git a/sdext/source/presenter/PresenterPaneContainer.cxx b/sdext/source/presenter/PresenterPaneContainer.cxx new file mode 100644 index 000000000000..bdd917852fa8 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneContainer.cxx @@ -0,0 +1,370 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneContainer.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:02:09 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +//#include "precompiled_sdext.hxx" + +#include "PresenterPaneContainer.hxx" +#include "PresenterPaneBase.hxx" +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +PresenterPaneContainer::PresenterPaneContainer ( + const Reference& rxContext) + : PresenterPaneContainerInterfaceBase(m_aMutex), + maPanes(), + mxPresenterHelper() +{ + Reference xFactory (rxContext->getServiceManager()); + if (xFactory.is()) + { + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + rxContext), + UNO_QUERY_THROW); + } +} + + + + +PresenterPaneContainer::~PresenterPaneContainer (void) +{ +} + + + + +void PresenterPaneContainer::PreparePane ( + const Reference& rxPaneId, + const OUString& rsTitle, + const ViewInitializationFunction& rViewInitialization, + const double nLeft, + const double nTop, + const double nRight, + const double nBottom) +{ + if ( ! rxPaneId.is()) + return; + + SharedPaneDescriptor pPane (FindPaneURL(rxPaneId->getResourceURL())); + if (pPane.get() == NULL) + { + // No entry found for the given pane id. Create a new one. + SharedPaneDescriptor pDescriptor (new PaneDescriptor()); + pDescriptor->mxPaneId = rxPaneId; + pDescriptor->mxPane = NULL; + pDescriptor->msTitle = rsTitle; + pDescriptor->maViewInitialization = rViewInitialization; + pDescriptor->mnLeft = nLeft; + pDescriptor->mnTop = nTop; + pDescriptor->mnRight = nRight; + pDescriptor->mnBottom = nBottom; + pDescriptor->mbIsActive = true; + pDescriptor->maSpriteProvider = PaneDescriptor::SpriteProvider(); + pDescriptor->mbIsSprite = false; + maPanes.push_back(pDescriptor); + } +} + + + + +void SAL_CALL PresenterPaneContainer::disposing (void) +{ + while ( ! maPanes.empty()) + RemovePane(maPanes.back()->mxPaneId); +} + + + + +PresenterPaneContainer::SharedPaneDescriptor + PresenterPaneContainer::StorePane (const rtl::Reference& rxPane) +{ + SharedPaneDescriptor pDescriptor; + + if (rxPane.is()) + { + OUString sPaneURL; + Reference xPaneId (rxPane->getResourceId()); + if (xPaneId.is()) + sPaneURL = xPaneId->getResourceURL(); + + pDescriptor = FindPaneURL(sPaneURL); + if (pDescriptor.get() == NULL) + PreparePane(xPaneId, OUString(), ViewInitializationFunction(), 0,0,0,0); + pDescriptor = FindPaneURL(sPaneURL); + if (pDescriptor.get() != NULL) + { + Reference xWindow (rxPane->getWindow()); + pDescriptor->mxContentWindow = xWindow; + pDescriptor->mxPaneId = xPaneId; + pDescriptor->mxPane = rxPane; + pDescriptor->mxPane->SetTitle(pDescriptor->msTitle); + + if (xWindow.is()) + xWindow->addEventListener(this); + } + } + + return pDescriptor; +} + + + + +PresenterPaneContainer::SharedPaneDescriptor + PresenterPaneContainer::StoreBorderWindow( + const Reference& rxPaneId, + const Reference& rxBorderWindow) +{ + // The content window may not be present. Use the resource URL of the + // pane id as key. + OUString sPaneURL; + if (rxPaneId.is()) + sPaneURL = rxPaneId->getResourceURL(); + + SharedPaneDescriptor pDescriptor (FindPaneURL(sPaneURL)); + if (pDescriptor.get() != NULL) + { + pDescriptor->mxBorderWindow = rxBorderWindow; + return pDescriptor; + } + else + return SharedPaneDescriptor(); +} + + + + +PresenterPaneContainer::SharedPaneDescriptor + PresenterPaneContainer::StoreView ( + const Reference& rxView, + const util::Color aViewBackgroundColor, + const Reference& rxViewBackgroundBitmap) +{ + SharedPaneDescriptor pDescriptor; + + if (rxView.is()) + { + OUString sPaneURL; + Reference xViewId (rxView->getResourceId()); + if (xViewId.is()) + { + Reference xPaneId (xViewId->getAnchor()); + if (xPaneId.is()) + sPaneURL = xPaneId->getResourceURL(); + } + + pDescriptor = FindPaneURL(sPaneURL); + if (pDescriptor.get() != NULL) + { + pDescriptor->mxView = rxView; + pDescriptor->maViewBackgroundColor = aViewBackgroundColor; + pDescriptor->mxViewBackgroundBitmap = rxViewBackgroundBitmap; + pDescriptor->mxPane->SetBackground(aViewBackgroundColor, rxViewBackgroundBitmap); + try + { + if ( ! pDescriptor->maViewInitialization.empty()) + pDescriptor->maViewInitialization(rxView); + + // Activate or deactivate the pane/view. + if ( ! pDescriptor->maActivator.empty()) + pDescriptor->maActivator(pDescriptor->mbIsActive); + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } + } + } + + return pDescriptor; +} + + + + +void PresenterPaneContainer::RemovePane ( + const Reference& rxPaneId) +{ + SharedPaneDescriptor pDescriptor (FindPaneId(rxPaneId)); + if (pDescriptor.get() != NULL) + { + if (pDescriptor->mxContentWindow.is()) + pDescriptor->mxContentWindow->removeEventListener(this); + pDescriptor->mxContentWindow = NULL; + pDescriptor->mxBorderWindow = NULL; + pDescriptor->mxPane = NULL; + pDescriptor->mxView = NULL; + pDescriptor->mbIsActive = false; + } +} + + + + + +PresenterPaneContainer::SharedPaneDescriptor PresenterPaneContainer::FindBorderWindow ( + const Reference& rxBorderWindow) +{ + PaneList::const_iterator iPane; + PaneList::iterator iEnd (maPanes.end()); + for (iPane=maPanes.begin(); iPane!=iEnd; ++iPane) + { + if ((*iPane)->mxBorderWindow == rxBorderWindow) + return *iPane; + } + return SharedPaneDescriptor(); +} + + + + +PresenterPaneContainer::SharedPaneDescriptor PresenterPaneContainer::FindContentWindow ( + const Reference& rxContentWindow) +{ + PaneList::const_iterator iPane; + PaneList::iterator iEnd (maPanes.end()); + for (iPane=maPanes.begin(); iPane!=iEnd; ++iPane) + { + if ((*iPane)->mxContentWindow == rxContentWindow) + return *iPane; + } + return SharedPaneDescriptor(); +} + + + + +PresenterPaneContainer::SharedPaneDescriptor PresenterPaneContainer::FindPaneURL ( + const OUString& rsPaneURL) +{ + PaneList::const_iterator iPane; + PaneList::const_iterator iEnd (maPanes.end()); + for (iPane=maPanes.begin(); iPane!=iEnd; ++iPane) + { + if ((*iPane)->mxPaneId->getResourceURL() == rsPaneURL) + return *iPane; + } + return SharedPaneDescriptor(); +} + + + + +PresenterPaneContainer::SharedPaneDescriptor PresenterPaneContainer::FindPaneId ( + const Reference& rxPaneId) +{ + PaneList::iterator iEnd (maPanes.end()); + + if ( ! rxPaneId.is()) + return SharedPaneDescriptor(); + + PaneList::iterator iPane; + for (iPane=maPanes.begin(); iPane!=iEnd; ++iPane) + { + if (rxPaneId->compareTo((*iPane)->mxPaneId) == 0) + return *iPane; + } + return SharedPaneDescriptor(); +} + + + + +void PresenterPaneContainer::ToTop (const SharedPaneDescriptor& rpDescriptor) +{ + if (rpDescriptor.get() != NULL) + { + // Find iterator for pDescriptor. + PaneList::iterator iPane; + PaneList::iterator iEnd (maPanes.end()); + for (iPane=maPanes.begin(); iPane!=iEnd; ++iPane) + if (iPane->get() == rpDescriptor.get()) + break; + OSL_ASSERT(iPane!=iEnd); + if (iPane == iEnd) + return; + + if (mxPresenterHelper.is()) + mxPresenterHelper->toTop(rpDescriptor->mxBorderWindow); + + maPanes.erase(iPane); + maPanes.push_back(rpDescriptor); + } +} + + + + +//----- XEventListener -------------------------------------------------------- + +void SAL_CALL PresenterPaneContainer::disposing ( + const com::sun::star::lang::EventObject& rEvent) + throw (com::sun::star::uno::RuntimeException) +{ + SharedPaneDescriptor pDescriptor ( + FindContentWindow(Reference(rEvent.Source, UNO_QUERY))); + if (pDescriptor.get() != NULL) + { + RemovePane(pDescriptor->mxPaneId); + } +} + + + + +//===== PresenterPaneContainer::PaneDescriptor ================================ + +void PresenterPaneContainer::PaneDescriptor::SetActivationState (const bool bIsActive) +{ + mbIsActive = bIsActive; + if ( ! maActivator.empty()) + maActivator(mbIsActive); +} + +} } // end of namespace ::sdext::presenter -- cgit From 8b50be41bab3afd71cad8b2e3fbc60dd6b87fa81 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:02:23 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/28 16:15:25 af 1.1.2.7: #i18486# Find... methods of pane container now return SharedPaneDescriptor. 2008/02/26 15:13:11 af 1.1.2.6: #i18486# Panes are stored as rtl References. Added activation state, access to sprites for each pane. 2008/01/24 09:44:50 af 1.1.2.5: #i18486# Using XPresenterHelper to improve ToTop(). 2008/01/21 14:54:58 af 1.1.2.4: #i18486# Support of border windows separated from the panes. 2007/12/14 09:38:39 af 1.1.2.3: #i18486# Resolved resync problems. 2007/12/12 15:13:31 af 1.1.2.2: #i18486# Added ToTop() and Find() variant. Listening for disposing of windows. 2007/10/24 12:00:40 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaneContainer.hxx | 189 ++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneContainer.hxx diff --git a/sdext/source/presenter/PresenterPaneContainer.hxx b/sdext/source/presenter/PresenterPaneContainer.hxx new file mode 100644 index 000000000000..c5debd17cb9c --- /dev/null +++ b/sdext/source/presenter/PresenterPaneContainer.hxx @@ -0,0 +1,189 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneContainer.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:02:23 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PANE_CONTAINER_HXX +#define SDEXT_PRESENTER_PANE_CONTAINER_HXX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterPaneBase; +class PresenterSprite; + +namespace { + typedef ::cppu::WeakComponentImplHelper1 < + css::lang::XEventListener + > PresenterPaneContainerInterfaceBase; +} + +/** This class could also be called PresenterPaneAndViewContainer because it + stores not only references to all panes that belong to the presenter + screen but stores the views displayed in these panes as well. +*/ +class PresenterPaneContainer + : private ::boost::noncopyable, + private ::cppu::BaseMutex, + public PresenterPaneContainerInterfaceBase +{ +public: + PresenterPaneContainer ( + const css::uno::Reference& rxContext); + virtual ~PresenterPaneContainer (void); + + virtual void SAL_CALL disposing (void); + + typedef ::boost::function1&> + ViewInitializationFunction; + + /** Each pane descriptor holds references to one pane and the view + displayed in this pane as well as the other information that is used + to manage the pane window like an XWindow reference, the title, and + the coordinates. + + A initialization function for the view is stored as well. This + function is executed as soon as a view is created. + */ + class PaneDescriptor + { + public: + typedef ::boost::function Activator; + typedef ::boost::function()> SpriteProvider; + css::uno::Reference mxPaneId; + ::rtl::Reference mxPane; + css::uno::Reference mxView; + css::uno::Reference mxContentWindow; + css::uno::Reference mxBorderWindow; + ::rtl::OUString msTitle; + ViewInitializationFunction maViewInitialization; + double mnLeft; + double mnTop; + double mnRight; + double mnBottom; + css::util::Color maViewBackgroundColor; + css::uno::Reference mxViewBackgroundBitmap; + bool mbIsActive; + bool mbNeedsClipping; + SpriteProvider maSpriteProvider; + bool mbIsSprite; + Activator maActivator; + + void SetActivationState (const bool bIsActive); + }; + typedef ::boost::shared_ptr SharedPaneDescriptor; + typedef ::std::vector PaneList; + PaneList maPanes; + + void PreparePane ( + const css::uno::Reference& rxPaneId, + const ::rtl::OUString& rsTitle, + const ViewInitializationFunction& rViewIntialization, + const double nLeft, + const double nTop, + const double nRight, + const double nBottom); + + SharedPaneDescriptor StorePane ( + const rtl::Reference& rxPane); + + SharedPaneDescriptor StoreBorderWindow( + const css::uno::Reference& rxPaneId, + const css::uno::Reference& rxBorderWindow); + + SharedPaneDescriptor StoreView ( + const css::uno::Reference& rxView, + const css::util::Color aViewBackgroundColor, + const css::uno::Reference& rxViewBackgroundBitmap); + + void RemovePane (const css::uno::Reference& rxPaneId); + + void CreateBorderWindow (PaneDescriptor& rDescriptor); + + /** Find the pane whose border window is identical to the given border + window. + */ + SharedPaneDescriptor FindBorderWindow ( + const css::uno::Reference& rxBorderWindow); + + /** Find the pane whose border window is identical to the given content + window. + */ + SharedPaneDescriptor FindContentWindow ( + const css::uno::Reference& rxBorderWindow); + + /** Find the pane whose pane URL is identical to the given URL string. + */ + SharedPaneDescriptor FindPaneURL (const ::rtl::OUString& rsPaneURL); + + /** Find the pane whose resource id is identical to the given one. + */ + SharedPaneDescriptor FindPaneId (const css::uno::Reference< + css::drawing::framework::XResourceId>& rxPaneId); + + void ToTop (const SharedPaneDescriptor& rpDescriptor); + + + // XEventListener + + virtual void SAL_CALL disposing ( + const com::sun::star::lang::EventObject& rEvent) + throw (com::sun::star::uno::RuntimeException); + +private: + css::uno::Reference mxPresenterHelper; + + PaneList::const_iterator FindIteratorForPaneURL (const ::rtl::OUString& rsPaneURL); +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From 2d8feda621a6513986c8b33578172e5a09301915 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:02:33 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:28:38 af 1.1.2.9: #i18486# Added support for sprite panes. 2008/01/29 14:41:01 af 1.1.2.8: #i18486# Be content with bitmap canvas instead of sprite canvas. 2008/01/23 15:21:16 af 1.1.2.7: #i18486# Fixed Linux compilation problems. 2008/01/23 12:00:25 af 1.1.2.6: #i18486# Releasing a pane disposes the border window and removes it from pane container. 2008/01/21 14:58:03 af 1.1.2.5: #i18486# Code cleanup. 2007/12/12 15:28:51 af 1.1.2.4: #i18486# Code cleanup. 2007/11/19 09:38:17 af 1.1.2.3: #i18486# Code cleanup. 2007/10/24 13:12:20 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 12:10:10 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaneFactory.cxx | 316 ++++++++++++++++++++++++ 1 file changed, 316 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneFactory.cxx diff --git a/sdext/source/presenter/PresenterPaneFactory.cxx b/sdext/source/presenter/PresenterPaneFactory.cxx new file mode 100644 index 000000000000..758301ffb653 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneFactory.cxx @@ -0,0 +1,316 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneFactory.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:02:33 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterPaneFactory.hxx" +#include "PresenterController.hxx" +#include "PresenterPane.hxx" +#include "PresenterPaneBorderPainter.hxx" +#include "PresenterPaneContainer.hxx" +#include "PresenterSpritePane.hxx" +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +const ::rtl::OUString PresenterPaneFactory::msCurrentSlidePreviewPaneURL( + OUString::createFromAscii("private:resource/pane/Presenter/Pane1")); +const ::rtl::OUString PresenterPaneFactory::msNextSlidePreviewPaneURL( + OUString::createFromAscii("private:resource/pane/Presenter/Pane2")); +const ::rtl::OUString PresenterPaneFactory::msNotesPaneURL( + OUString::createFromAscii("private:resource/pane/Presenter/Pane3")); +const ::rtl::OUString PresenterPaneFactory::msToolBarPaneURL( + OUString::createFromAscii("private:resource/pane/Presenter/Pane4")); +const ::rtl::OUString PresenterPaneFactory::msSlideSorterPaneURL( + OUString::createFromAscii("private:resource/pane/Presenter/Pane5")); +const ::rtl::OUString PresenterPaneFactory::msClockPaneURL( + OUString::createFromAscii("private:resource/pane/Presenter/Pane6")); + +const ::rtl::OUString PresenterPaneFactory::msDebugPaneURL( + OUString::createFromAscii("private:resource/pane/Presenter/Debug")); + +const ::rtl::OUString PresenterPaneFactory::msOverlayPaneURL( + OUString::createFromAscii("private:resource/pane/Presenter/Overlay")); + + + +//===== PresenterPaneFactory ================================================== + +Reference PresenterPaneFactory::Create ( + const Reference& rxContext, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) +{ + rtl::Reference pFactory ( + new PresenterPaneFactory(rxContext,rpPresenterController)); + pFactory->Register(rxController); + return Reference( + static_cast(pFactory.get()), UNO_QUERY); +} + + + + +PresenterPaneFactory::PresenterPaneFactory ( + const Reference& rxContext, + const ::rtl::Reference& rpPresenterController) + : PresenterPaneFactoryInterfaceBase(m_aMutex), + mxComponentContextWeak(rxContext), + mxConfigurationControllerWeak(), + mpPresenterController(rpPresenterController) +{ +} + + + + +void PresenterPaneFactory::Register (const Reference& rxController) +{ + Reference xCC; + try + { + // Get the configuration controller. + Reference xCM (rxController, UNO_QUERY_THROW); + xCC = Reference(xCM->getConfigurationController()); + mxConfigurationControllerWeak = xCC; + if ( ! xCC.is()) + { + throw RuntimeException(); + } + else + { + xCC->addResourceFactory( + OUString::createFromAscii("private:resource/pane/Presenter/*"), + this); + } + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + if (xCC.is()) + xCC->removeResourceFactoryForReference(this); + mxConfigurationControllerWeak = WeakReference(); + + throw; + } +} + + + + +PresenterPaneFactory::~PresenterPaneFactory (void) +{ +} + + + + +void SAL_CALL PresenterPaneFactory::disposing (void) + throw (RuntimeException) +{ + Reference xCC (mxConfigurationControllerWeak); + if (xCC.is()) + xCC->removeResourceFactoryForReference(this); + mxConfigurationControllerWeak = WeakReference(); +} + + + + +//----- XPaneFactory ---------------------------------------------------------- + +Reference SAL_CALL PresenterPaneFactory::createResource ( + const Reference& rxPaneId) + throw (RuntimeException) +{ + return CreatePane(rxPaneId, OUString()); +} + + + + +void SAL_CALL PresenterPaneFactory::releaseResource (const Reference& rxResource) + throw (RuntimeException) +{ + if ( ! rxResource.is()) + throw lang::IllegalArgumentException(); + + // Remove the pane from the container. + Reference rxPane (rxResource, UNO_QUERY_THROW); + rtl::Reference pPaneContainer( + mpPresenterController->GetPaneContainer()); + pPaneContainer->RemovePane(rxPane->getResourceId()); + + // Dispose the pane (together with the content window.) + Reference xPaneComponent (rxPane, UNO_QUERY); + if (xPaneComponent.is()) + xPaneComponent->dispose(); +} + + + + +//----------------------------------------------------------------------------- + +Reference PresenterPaneFactory::CreatePane ( + const Reference& rxPaneId, + const OUString& rsTitle) +{ + (void)rsTitle; + + if ( ! rxPaneId.is()) + return NULL; + + Reference xCC (mxConfigurationControllerWeak); + if ( ! xCC.is()) + return NULL; + + Reference xContext (mxComponentContextWeak); + if ( ! xContext.is()) + return NULL; + + Reference xParentPane (xCC->getResource(rxPaneId->getAnchor()), UNO_QUERY); + if ( ! xParentPane.is()) + return NULL; + + try + { + return CreatePane( + rxPaneId, + rsTitle, + xParentPane, + rxPaneId->getFullResourceURL().Arguments.compareToAscii("Sprite=1") == 0); + } + catch (Exception&) + { + OSL_ASSERT(false); + } + + return NULL; +} + + + + +Reference PresenterPaneFactory::CreatePane ( + const Reference& rxPaneId, + const OUString& rsTitle, + const Reference& rxParentPane, + const bool bIsSpritePane) +{ + Reference xContext (mxComponentContextWeak); + Reference xFactory ( + xContext->getServiceManager(), UNO_QUERY_THROW); + + // Create a border window and canvas and store it in the pane + // container. + + // Create the pane. + ::rtl::Reference xPane; + if (bIsSpritePane) + xPane = ::rtl::Reference(new PresenterSpritePane(xContext)); + else + xPane = ::rtl::Reference(new PresenterPane(xContext)); + + // Supply arguments. + Sequence aArguments (6); + aArguments[0] <<= rxPaneId; + aArguments[1] <<= rxParentPane->getWindow(); + aArguments[2] <<= rxParentPane->getCanvas(); + aArguments[3] <<= rsTitle; + aArguments[4] <<= Reference( + static_cast(mpPresenterController->GetPaneBorderPainter().get()), + UNO_QUERY); + aArguments[5] <<= bIsSpritePane ? false : true; + xPane->initialize(aArguments); + + // Get the window of the frame and make that visible. + if ( ! bIsSpritePane) + { + Reference xWindow (xPane->getWindow(), UNO_QUERY_THROW); + xWindow->setVisible(sal_True); + } + + // Store pane and canvases and windows in container. + ::rtl::Reference pContainer ( + mpPresenterController->GetPaneContainer()); + PresenterPaneContainer::SharedPaneDescriptor pDescriptor( + pContainer->StoreBorderWindow(rxPaneId, xPane->GetBorderWindow())); + pContainer->StorePane(xPane); + if (pDescriptor.get() != NULL) + if (bIsSpritePane) + { + pDescriptor->maSpriteProvider = ::boost::bind( + &PresenterSpritePane::GetSprite, + dynamic_cast(xPane.get())); + pDescriptor->mbIsSprite = true; + pDescriptor->mbNeedsClipping = false; + } + else + { + pDescriptor->mbIsSprite = false; + pDescriptor->mbNeedsClipping = true; + } + + return Reference(static_cast(xPane.get()), UNO_QUERY_THROW); +} + + + + +void PresenterPaneFactory::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterPaneFactory object has already been disposed")), + const_cast(static_cast(this))); + } +} + + +} } // end of namespace sdext::presenter -- cgit From ff3dc02e6bf2b6bac84f967b3333a3dfd8462d89 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:02:44 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:28:53 af 1.1.2.4: #i18486# Added support for sprite panes. 2008/01/21 14:56:46 af 1.1.2.3: #i18486# Code cleanup. 2007/10/24 13:12:20 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 12:09:57 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaneFactory.hxx | 143 ++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaneFactory.hxx diff --git a/sdext/source/presenter/PresenterPaneFactory.hxx b/sdext/source/presenter/PresenterPaneFactory.hxx new file mode 100644 index 000000000000..1f809770b468 --- /dev/null +++ b/sdext/source/presenter/PresenterPaneFactory.hxx @@ -0,0 +1,143 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaneFactory.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:02:44 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PANE_FACTORY_HXX +#define SDEXT_PRESENTER_PANE_FACTORY_HXX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterController; + +namespace { + typedef ::cppu::WeakComponentImplHelper1 < + css::drawing::framework::XResourceFactory + > PresenterPaneFactoryInterfaceBase; +} + + +/** The PresenerPaneFactory provides a fixed set of panes. + + In order to make the presener screen more easily extendable in the + future the set of supported panes could be made extendable on demand. +*/ +class PresenterPaneFactory + : public ::cppu::BaseMutex, + public PresenterPaneFactoryInterfaceBase +{ +public: + static const ::rtl::OUString msCurrentSlidePreviewPaneURL; + static const ::rtl::OUString msNextSlidePreviewPaneURL; + static const ::rtl::OUString msNotesPaneURL; + static const ::rtl::OUString msToolBarPaneURL; + static const ::rtl::OUString msSlideSorterPaneURL; + static const ::rtl::OUString msClockPaneURL; + static const ::rtl::OUString msDebugPaneURL; + static const ::rtl::OUString msOverlayPaneURL; + + /** Create a new instance of this class and register it as resource + factory in the drawing framework of the given controller. + This registration keeps it alive. When the drawing framework is + shut down and releases its reference to the factory then the factory + is destroyed. + */ + static css::uno::Reference Create ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); + virtual ~PresenterPaneFactory (void); + + static ::rtl::OUString getImplementationName_static (void); + static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); + static css::uno::Reference Create( + const css::uno::Reference& rxContext) + SAL_THROW((css::uno::Exception)); + + virtual void SAL_CALL disposing (void) + throw (css::uno::RuntimeException); + + // XResourceFactory + + virtual css::uno::Reference + SAL_CALL createResource ( + const ::com::sun::star::uno::Reference< + com::sun::star::drawing::framework::XResourceId>& rxPaneId) + throw (::com::sun::star::uno::RuntimeException); + + virtual void SAL_CALL + releaseResource ( + const ::com::sun::star::uno::Reference& + rxPane) + throw (::com::sun::star::uno::RuntimeException); + +private: + css::uno::WeakReference mxComponentContextWeak; + css::uno::WeakReference + mxConfigurationControllerWeak; + ::rtl::Reference mpPresenterController; + + PresenterPaneFactory ( + const css::uno::Reference& rxContext, + const ::rtl::Reference& rpPresenterController); + + void Register (const css::uno::Reference& rxController); + + css::uno::Reference CreatePane ( + const css::uno::Reference& rxPaneId, + const ::rtl::OUString& rsTitle); + css::uno::Reference CreatePane ( + const css::uno::Reference& rxPaneId, + const ::rtl::OUString& rsTitle, + const css::uno::Reference& rxParentPane, + const bool bIsSpritePane); + + void ThrowIfDisposed (void) const throw (::com::sun::star::lang::DisposedException); +}; + +} } + +#endif -- cgit From 5344afd62abcbb687be635385caf9984e755ea20 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:02:55 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2007/12/14 09:38:39 af 1.1.2.2: #i18486# Resolved resync problems. 2007/11/19 09:29:11 af 1.1.2.1: #i18486# Initial revision. --- .../source/presenter/PresenterProtocolHandler.cxx | 245 +++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 sdext/source/presenter/PresenterProtocolHandler.cxx diff --git a/sdext/source/presenter/PresenterProtocolHandler.cxx b/sdext/source/presenter/PresenterProtocolHandler.cxx new file mode 100644 index 000000000000..3fa29c49cc46 --- /dev/null +++ b/sdext/source/presenter/PresenterProtocolHandler.cxx @@ -0,0 +1,245 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterProtocolHandler.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:02:55 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterProtocolHandler.hxx" +#include "PresenterController.hxx" +#include "PresenterHelper.hxx" +#include "PresenterPaneFactory.hxx" +#include "PresenterViewFactory.hxx" +#include "PresenterWindowManager.hxx" +#include "PresenterPaneContainer.hxx" +#include "PresenterConfigurationAccess.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +namespace { + const static OUString gsProtocol ( + OUString::createFromAscii("vnd.com.sun.star.comp.PresenterScreen:")); + const static OUString gsAboutCommand ( + OUString::createFromAscii("about")); +} + + + +//----- Service --------------------------------------------------------------- + +OUString PresenterProtocolHandler::getImplementationName_static (void) +{ + return OUString::createFromAscii("vnd.sun.star.sdext.presenter.PresenterProtocolHandler"); +} + + + + +Sequence PresenterProtocolHandler::getSupportedServiceNames_static (void) +{ + static const ::rtl::OUString sServiceName( + ::rtl::OUString::createFromAscii("com.sun.star.frame.ProtocolHandler")); + return Sequence(&sServiceName, 1); +} + + + + +Reference PresenterProtocolHandler::Create ( + const Reference& rxContext) + SAL_THROW((Exception)) +{ + return Reference(static_cast(new PresenterProtocolHandler(rxContext))); +} + + + + +//===== PresenterProtocolHandler ========================================================= + + +PresenterProtocolHandler::PresenterProtocolHandler (const Reference& rxContext) + : PresenterProtocolHandlerInterfaceBase(m_aMutex) +{ + (void)rxContext; +} + + + + +PresenterProtocolHandler::~PresenterProtocolHandler (void) +{ +} + + + + +void SAL_CALL PresenterProtocolHandler::disposing (void) +{ +} + + + + +//----- XInitialize ----------------------------------------------------------- + +void SAL_CALL PresenterProtocolHandler::initialize (const Sequence& aArguments) + throw (Exception, RuntimeException) +{ + ThrowIfDisposed(); + if (aArguments.getLength() > 0) + { + try + { + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } + } +} + + + + +//----- XDispatchProvider ----------------------------------------------------- + +Reference SAL_CALL PresenterProtocolHandler::queryDispatch ( + const css::util::URL& rURL, + const rtl::OUString& rsTargetFrameName, + sal_Int32 nSearchFlags) + throw(RuntimeException) +{ + (void)rsTargetFrameName; + (void)nSearchFlags; + ThrowIfDisposed(); + + if (rURL.Protocol == gsProtocol) + return this; + else + return NULL; +} + + + + +Sequence > SAL_CALL PresenterProtocolHandler::queryDispatches( + const Sequence& rDescriptors) + throw(RuntimeException) +{ + (void)rDescriptors; + ThrowIfDisposed(); + return Sequence >(); +} + + + + +//----- XDispatch ------------------------------------------------------------- + +void SAL_CALL PresenterProtocolHandler::dispatch( + const css::util::URL& rURL, + const css::uno::Sequence& rArguments) + throw(css::uno::RuntimeException) +{ + (void)rArguments; + ThrowIfDisposed(); + + if (rURL.Protocol == gsProtocol) + { + if (rURL.Path == gsAboutCommand) + { + // AboutDialog aAboutDialog (mxMSF, mxFrame); + // aAboutDialog.execute(); + } + } +} + + + + +void SAL_CALL PresenterProtocolHandler::addStatusListener( + const css::uno::Reference& rxListener, + const css::util::URL& rURL) + throw(css::uno::RuntimeException) +{ + (void)rxListener; + (void)rURL; +} + + + + +void SAL_CALL PresenterProtocolHandler::removeStatusListener ( + const css::uno::Reference& rxListener, + const css::util::URL& rURL) + throw(css::uno::RuntimeException) +{ + (void)rxListener; + (void)rURL; +} + + + + +//----------------------------------------------------------------------------- + +void PresenterProtocolHandler::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterProtocolHandler object has already been disposed")), + const_cast(static_cast(this))); + } +} + + + +} } // end of namespace ::sdext::presenter -- cgit From 03c1ca8b83e64d846d5c1f03aab5b55ec0da462c Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:03:05 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2007/11/19 09:28:58 af 1.1.2.1: #i18486# Initial revision. --- .../source/presenter/PresenterProtocolHandler.hxx | 122 +++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 sdext/source/presenter/PresenterProtocolHandler.hxx diff --git a/sdext/source/presenter/PresenterProtocolHandler.hxx b/sdext/source/presenter/PresenterProtocolHandler.hxx new file mode 100644 index 000000000000..95171f71b24d --- /dev/null +++ b/sdext/source/presenter/PresenterProtocolHandler.hxx @@ -0,0 +1,122 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterProtocolHandler.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:03:05 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_PROTOCOL_HANDLER_HXX +#define SDEXT_PRESENTER_PRESENTER_PROTOCOL_HANDLER_HXX + +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + + +namespace { + typedef ::cppu::WeakComponentImplHelper3 < + css::lang::XInitialization, + css::frame::XDispatchProvider, + css::frame::XDispatch + > PresenterProtocolHandlerInterfaceBase; +} + + +class PresenterProtocolHandler + : protected ::cppu::BaseMutex, + public PresenterProtocolHandlerInterfaceBase +{ +public: + PresenterProtocolHandler (const css::uno::Reference& rxContext); + virtual ~PresenterProtocolHandler (void); + + void SAL_CALL disposing (void); + + static ::rtl::OUString getImplementationName_static (void); + static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); + static css::uno::Reference Create( + const css::uno::Reference& rxContext) + SAL_THROW((css::uno::Exception)); + + + // XInitialization + + virtual void SAL_CALL initialize( + const css::uno::Sequence& aArguments) + throw (css::uno::Exception, css::uno::RuntimeException); + + + // XDispatchProvider + + virtual css::uno::Reference SAL_CALL + queryDispatch ( + const css::util::URL& aURL, + const rtl::OUString& aTargetFrameName, + sal_Int32 nSearchFlags ) + throw(css::uno::RuntimeException); + + virtual css::uno::Sequence > SAL_CALL + queryDispatches( + const css::uno::Sequence< css::frame::DispatchDescriptor>& rDescriptors) + throw(css::uno::RuntimeException); + + + // XDispatch + virtual void SAL_CALL dispatch( + const css::util::URL& aURL, + const css::uno::Sequence& rArguments) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL addStatusListener( + const css::uno::Reference& rxListener, + const css::util::URL& rURL) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL removeStatusListener ( + const css::uno::Reference& rxListener, + const css::util::URL& rURL) + throw(css::uno::RuntimeException); + +private: + + void ThrowIfDisposed (void) const throw (css::lang::DisposedException); +}; + +} } + +#endif -- cgit From b553f8a7430ff52df5f6d8ebfb46cbdbbf290ac4 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:03:16 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/03/03 15:36:32 af 1.1.2.11: #i18486# Do not hide existing panes or views. 2008/02/28 16:15:25 af 1.1.2.10: #i18486# Find... methods of pane container now return SharedPaneDescriptor. 2008/02/12 10:22:08 af 1.1.2.9: #i18486# Avoid access to sd dll when not necessary. 2008/01/24 09:45:32 af 1.1.2.8: #i18486# Passing component context to constructor of PresenterPaneContainer. 2008/01/23 15:21:16 af 1.1.2.7: #i18486# Fixed Linux compilation problems. 2008/01/23 12:02:49 af 1.1.2.6: #i18486# Removed mxPresentationViewResourceId member. 2008/01/21 15:07:48 af 1.1.2.5: #i18486# Initialization changed. Uses XJob interface. 2008/01/09 18:36:57 cl 1.1.2.4: #i18486# use new slideshow api 2007/12/12 15:18:59 af 1.1.2.3: #i18486# Code cleanup. 2007/11/19 09:40:19 af 1.1.2.2: #i18486# Moved some frequently used drawing framework strings to PresenterHelper. Deactivating Impress panes explicitly. 2007/10/24 12:06:28 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterScreen.cxx | 618 +++++++++++++++++++++++++++++ 1 file changed, 618 insertions(+) create mode 100644 sdext/source/presenter/PresenterScreen.cxx diff --git a/sdext/source/presenter/PresenterScreen.cxx b/sdext/source/presenter/PresenterScreen.cxx new file mode 100644 index 000000000000..d3b7eadcb338 --- /dev/null +++ b/sdext/source/presenter/PresenterScreen.cxx @@ -0,0 +1,618 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterScreen.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:03:16 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterScreen.hxx" +#include "PresenterController.hxx" +#include "PresenterHelper.hxx" +#include "PresenterPaneFactory.hxx" +#include "PresenterViewFactory.hxx" +#include "PresenterWindowManager.hxx" +#include "PresenterPaneContainer.hxx" +#include "PresenterConfigurationAccess.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::presentation; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +//----- Service --------------------------------------------------------------- + +OUString PresenterScreen::getImplementationName_static (void) +{ + return OUString::createFromAscii("com.sun.star.comp.Draw.framework.PresenterScreen"); +} + + + + +Sequence PresenterScreen::getSupportedServiceNames_static (void) +{ + static const ::rtl::OUString sServiceName( + ::rtl::OUString::createFromAscii("com.sun.star.drawing.framework.PresenterScreen")); + return Sequence(&sServiceName, 1); +} + + + + +Reference PresenterScreen::Create (const Reference& rxContext) + SAL_THROW((css::uno::Exception)) +{ + return Reference(static_cast(new PresenterScreen(rxContext))); +} + + + + +//===== PresenterScreen ========================================================= + + +PresenterScreen::PresenterScreen (const Reference& rxContext) + : PresenterScreenInterfaceBase(m_aMutex), + mxModel(), + mxController(), + mxConfigurationControllerWeak(), + mxContextWeak(rxContext), + mxSlideShowControllerWeak(), + mpPresenterController(), + mxSlideShowViewId(), + mxSavedConfiguration(), + mpPaneContainer(), + mnComponentIndex(0), + mxPaneFactory(), + mxViewFactory() +{ +} + + + + +PresenterScreen::~PresenterScreen (void) +{ +} + + + + +void SAL_CALL PresenterScreen::disposing (void) +{ + Reference xCC (mxConfigurationControllerWeak); + if (xCC.is()) + { + if (mxSavedConfiguration.is()) + xCC->restoreConfiguration(mxSavedConfiguration); + + mxConfigurationControllerWeak = Reference(NULL); + } + + Reference xViewFactoryComponent (mxViewFactory, UNO_QUERY); + if (xViewFactoryComponent.is()) + xViewFactoryComponent->dispose(); + Reference xPaneFactoryComponent (mxPaneFactory, UNO_QUERY); + if (xPaneFactoryComponent.is()) + xPaneFactoryComponent->dispose(); +} + + + + +//----- XJob ----------------------------------------------------------- + +Any SAL_CALL PresenterScreen::execute( + const Sequence< beans::NamedValue >& Arguments ) + throw (lang::IllegalArgumentException, Exception, RuntimeException) +{ + Sequence< beans::NamedValue > lEnv; + + sal_Int32 i = 0; + sal_Int32 c = Arguments.getLength(); + const beans::NamedValue* p = Arguments.getConstArray(); + for (i=0; i>= lEnv; + break; + } + } + + c = lEnv.getLength(); + p = lEnv.getConstArray(); + for (i=0; i>= mxModel; + break; + } + } + + Reference< XServiceInfo > xInfo( mxModel, UNO_QUERY ); + if( xInfo.is() && xInfo->supportsService( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.presentation.PresentationDocument" ) ) ) ) + { + Reference< document::XEventListener > xDocListener(static_cast< document::XEventListener* >(this), UNO_QUERY); + Reference< document::XEventBroadcaster > xDocBroadcaster( mxModel, UNO_QUERY ); + if( xDocBroadcaster.is() ) + xDocBroadcaster->addEventListener(xDocListener); + } + + return Any(); +} + + + + +//----- document::XEventListener ---------------------------------------------- + +void SAL_CALL PresenterScreen::notifyEvent( const css::document::EventObject& Event ) throw (css::uno::RuntimeException) +{ + if( Event.EventName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "OnStartPresentation" ) ) ) + { + InitializePresenterScreen(); + } + else if( Event.EventName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "OnEndPresentation" ) ) ) + { + ShutdownPresenterScreen(); + } +} + + + + +//----- XEventListener -------------------------------------------------------- + +void SAL_CALL PresenterScreen::disposing (const lang::EventObject& /*rEvent*/) + throw (RuntimeException) +{ + mxSlideShowControllerWeak = WeakReference(); + ShutdownPresenterScreen(); +} + + + + +//----------------------------------------------------------------------------- + +void PresenterScreen::InitializePresenterScreen (void) +{ + try + { + Reference xContext (mxContextWeak); + Reference xMainPaneId( + ResourceId::create( + xContext, + PresenterHelper::msFullScreenPaneURL + +OUString::createFromAscii("?FullScreen=false&ScreenNumber=1"))); + mpPaneContainer = + new PresenterPaneContainer(Reference(xContext)); + + Reference xPS ( mxModel, UNO_QUERY_THROW); + Reference xPresentation(xPS->getPresentation(), UNO_QUERY_THROW); + Reference xSlideShowController( xPresentation->getController() ); + mxSlideShowControllerWeak = xSlideShowController; + + if( !xSlideShowController.is() || !xSlideShowController->isFullScreen() ) + return; + + // find first controller that is not the current controller (the one with the slideshow + mxController = mxModel->getCurrentController(); + Reference< container::XEnumeration > xEnum( mxModel->getControllers() ); + if( xEnum.is() ) + { + while( xEnum->hasMoreElements() ) + { + Reference< frame::XController > xC( xEnum->nextElement(), UNO_QUERY ); + if( xC.is() && (xC != mxController) ) + { + mxController = xC; + break; + } + } + } + // Get the XController from the first argument. + Reference xCM(mxController, UNO_QUERY_THROW); + + Reference xCC( xCM->getConfigurationController()); + mxConfigurationControllerWeak = xCC; + + if (xCC.is() && xContext.is()) + { + // Store the current configuration so that we can restore it when + // the presenter view is deactivated. + mxSavedConfiguration = xCC->getRequestedConfiguration(); + xCC->lock(); + try + { + // At the moment the presenter controller is displayed in its + // own full screen window that is controlled by the same + // configuration controller as the Impress document from + // which the presentation was started. Therefore the main + // pane is actived additionally to the already existing + // panes and does not replace them. + xCC->requestResourceActivation( + xMainPaneId, + ResourceActivationMode_ADD); + SetupConfiguration(xContext, xMainPaneId); + + mpPresenterController = new PresenterController( + xContext, + mxController, + xSlideShowController, + mpPaneContainer, + xMainPaneId); + + // Create pane and view factories and integrate them into the + // drawing framework. + SetupPaneFactory(xContext); + SetupViewFactory(xContext); + } + catch (RuntimeException&) + { + xCC->restoreConfiguration(mxSavedConfiguration); + } + xCC->unlock(); + } + } + catch (Exception&) + { + } +} + + + + +void PresenterScreen::DeactivatePanes (const Reference& rxCC) +{ + OSL_ASSERT(rxCC.is()); + + Reference xContext (mxContextWeak); + if ( ! xContext.is()) + return; + Reference xCenterPaneId(ResourceId::create( + xContext, + PresenterHelper::msCenterPaneURL)); + if ( ! xCenterPaneId.is()) + return; + + Reference xCurrentConfiguration (rxCC->getCurrentConfiguration()); + if (xCurrentConfiguration.is()) + { + // First explicitly deactivate the view in the center pane. This + // view is used as marker by some other modules and it is important + // that its deactivation is requested first. + const Sequence > aViews (xCurrentConfiguration->getResources( + xCenterPaneId, + PresenterHelper::msViewURLPrefix, + AnchorBindingMode_DIRECT)); + for (sal_Int32 nIndex=0; nIndexrequestResourceDeactivation(aViews[nIndex]); + + // Now deactivate all top level panes and and all resources anchored + // to them. + const Sequence > aPanes (xCurrentConfiguration->getResources( + xCenterPaneId, + PresenterHelper::msPaneURLPrefix, + AnchorBindingMode_DIRECT)); + for (sal_Int32 nIndex=0; nIndexrequestResourceDeactivation(aPanes[nIndex]); + } +} + + + + +void PresenterScreen::ShutdownPresenterScreen (void) +{ + if (mpPresenterController.get() != NULL) + { + mpPresenterController->dispose(); + mpPresenterController = rtl::Reference(); + } + + Reference xCC (mxConfigurationControllerWeak); + if (xCC.is() && mxSavedConfiguration.is()) + { + xCC->restoreConfiguration(mxSavedConfiguration); + } + mpPaneContainer = new PresenterPaneContainer(Reference(mxContextWeak)); + + Reference xViewFactoryComponent (mxViewFactory, UNO_QUERY); + if (xViewFactoryComponent.is()) + xViewFactoryComponent->dispose(); + mxViewFactory = NULL; + + Reference xPaneFactoryComponent (mxPaneFactory, UNO_QUERY); + if (xPaneFactoryComponent.is()) + xPaneFactoryComponent->dispose(); + mxPaneFactory = NULL; + +} + + + + +void PresenterScreen::SetupPaneFactory (const Reference& rxContext) +{ + try + { + if ( ! mxPaneFactory.is()) + mxPaneFactory = PresenterPaneFactory::Create( + rxContext, + mxController, + mpPresenterController); + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } +} + + + + +void PresenterScreen::SetupViewFactory (const Reference& rxContext) +{ + try + { + if ( ! mxViewFactory.is()) + mxViewFactory = PresenterViewFactory::Create( + rxContext, + mxController, + mpPresenterController); + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } +} + + + + +void PresenterScreen::SetupConfiguration ( + const Reference& rxContext, + const Reference& rxAnchorId) +{ + try + { + PresenterConfigurationAccess aConfiguration ( + rxContext, + OUString::createFromAscii("org.openoffice.Office.extension.PresenterScreen"), + PresenterConfigurationAccess::READ_ONLY); + OUString sLayoutName (OUString::createFromAscii("DefaultLayout")); + aConfiguration.GetConfigurationNode( + OUString::createFromAscii("Presenter/CurrentLayout")) >>= sLayoutName; + ProcessLayout(aConfiguration, sLayoutName, rxContext, rxAnchorId); + } + catch (RuntimeException&) + { + } +} + + + + +void PresenterScreen::ProcessLayout ( + PresenterConfigurationAccess& rConfiguration, + const OUString& rsLayoutName, + const Reference& rxContext, + const Reference& rxAnchorId) +{ + try + { + Reference xLayoutNode ( + rConfiguration.GetConfigurationNode( + OUString::createFromAscii("Presenter/Layouts/")+rsLayoutName), + UNO_QUERY_THROW); + + // Read the parent layout first, if one is referenced. + OUString sParentLayout; + rConfiguration.GetConfigurationNode( + xLayoutNode, + OUString::createFromAscii("ParentLayout")) >>= sParentLayout; + if (sParentLayout.getLength() > 0) + { + // Prevent infinite recursion. + if (rsLayoutName != sParentLayout) + ProcessLayout(rConfiguration, sParentLayout, rxContext, rxAnchorId); + } + + // Process the actual layout list. + Reference xList ( + rConfiguration.GetConfigurationNode( + xLayoutNode, + OUString::createFromAscii("Layout")), + UNO_QUERY_THROW); + + ::std::vector aProperties (7); + aProperties[0] = OUString::createFromAscii("PaneURL"); + aProperties[1] = OUString::createFromAscii("ViewURL"); + aProperties[2] = OUString::createFromAscii("Title"); + aProperties[3] = OUString::createFromAscii("RelativeX"); + aProperties[4] = OUString::createFromAscii("RelativeY"); + aProperties[5] = OUString::createFromAscii("RelativeWidth"); + aProperties[6] = OUString::createFromAscii("RelativeHeight"); + mnComponentIndex = 1; + PresenterConfigurationAccess::ForAll( + xList, + aProperties, + ::boost::bind(&PresenterScreen::ProcessComponent, this, + _1, + _2, + rxContext, + rxAnchorId)); + } + catch (RuntimeException&) + { + } +} + + + + +void PresenterScreen::ProcessComponent ( + const OUString& rsKey, + const ::std::vector& rValues, + const Reference& rxContext, + const Reference& rxAnchorId) +{ + (void)rsKey; + + if (rValues.size() != 7) + return; + + try + { + OUString sPaneURL; + OUString sViewURL; + OUString sTitle; + double nX = 0; + double nY = 0; + double nWidth = 0; + double nHeight = 0; + rValues[0] >>= sPaneURL; + rValues[1] >>= sViewURL; + rValues[2] >>= sTitle; + rValues[3] >>= nX; + rValues[4] >>= nY; + rValues[5] >>= nWidth; + rValues[6] >>= nHeight; + + if (nX>=0 && nY>=0 && nWidth>0 && nHeight>0) + { + SetupView( + rxContext, + rxAnchorId, + sPaneURL, + sViewURL, + sTitle, + PresenterPaneContainer::ViewInitializationFunction(), + nX, + nY, + nX+nWidth, + nY+nHeight); + } + } + catch (Exception& e) + { + (void)e; + OSL_ASSERT(false); + } +} + + + + +Reference PresenterScreen::SetupView( + const Reference& rxContext, + const Reference& rxAnchorId, + const OUString& rsPaneURL, + const OUString& rsViewURL, + const OUString& rsTitle, + const PresenterPaneContainer::ViewInitializationFunction& rViewInitialization, + const double nLeft, + const double nTop, + const double nRight, + const double nBottom) +{ + Reference xCC (mxConfigurationControllerWeak); + if (xCC.is()) + { + Reference xPaneId (ResourceId::createWithAnchor(rxContext,rsPaneURL,rxAnchorId)); + OSL_ASSERT(mpPaneContainer.get() != NULL); + mpPaneContainer->PreparePane( + xPaneId, + rsTitle, + rViewInitialization, + nLeft, + nTop, + nRight, + nBottom); + + Reference xViewId (ResourceId::createWithAnchor(rxContext,rsViewURL,xPaneId)); + if (rsViewURL.getLength() > 0) + { + xCC->requestResourceActivation( + xPaneId, + ResourceActivationMode_ADD); + + xCC->requestResourceActivation( + xViewId, + ResourceActivationMode_REPLACE); + } + + return xViewId; + } + else + return Reference(); +} + + + + +void PresenterScreen::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterScreen object has already been disposed")), + const_cast(static_cast(this))); + } +} + + + +} } // end of namespace ::sdext::presenter -- cgit From 7b6a008fb4f09e3c76db637d2d4f2d1bb8a8132f Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:03:26 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:29:26 af 1.1.2.7: #i18486# Code cleanup. 2008/01/21 15:06:53 af 1.1.2.6: #i18486# Initialization changed. Uses XJob interface. 2008/01/09 18:36:57 cl 1.1.2.5: #i18486# use new slideshow api 2007/12/12 15:17:50 af 1.1.2.4: #i18486# Code cleanup. 2007/11/19 09:40:54 af 1.1.2.3: #i18486# Deactivating Impress panes explicitly. 2007/10/24 13:12:20 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 12:06:16 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterScreen.hxx | 195 +++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 sdext/source/presenter/PresenterScreen.hxx diff --git a/sdext/source/presenter/PresenterScreen.hxx b/sdext/source/presenter/PresenterScreen.hxx new file mode 100644 index 000000000000..57f90b3ae0ec --- /dev/null +++ b/sdext/source/presenter/PresenterScreen.hxx @@ -0,0 +1,195 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterScreen.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:03:26 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_SCREEN_HXX +#define SDEXT_PRESENTER_PRESENTER_SCREEN_HXX + +#include "PresenterConfigurationAccess.hxx" +#include "PresenterPaneContainer.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterWindowManager; +class PresenterController; + +namespace { + typedef ::cppu::WeakComponentImplHelper2 < + css::task::XJob, + css::document::XEventListener > PresenterScreenInterfaceBase; +} + + +/** This is the bootstrap class of the presenter screen. It is registered + as drawing framework startup service. That means that every drawing + framework instance creates an instance of this class. + +

A PresenterScreen object registers itself as listener for drawing + framework configuration changes. It waits for the full screen marker (a + top level resource) to appear in the current configuration. When that + happens the actual presenter screen is initialized. A new + PresenterController is created and takes over the task of controlling + the presenter screen.

+*/ +class PresenterScreen + : private ::boost::noncopyable, + private ::cppu::BaseMutex, + public PresenterScreenInterfaceBase +{ +public: + void SAL_CALL disposing (void); + + static ::rtl::OUString getImplementationName_static (void); + static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); + static css::uno::Reference Create( + const css::uno::Reference& rxContext) + SAL_THROW((css::uno::Exception)); + + + // XJob + + virtual css::uno::Any SAL_CALL execute( + const css::uno::Sequence& Arguments) + throw (css::lang::IllegalArgumentException, + css::uno::Exception, + css::uno::RuntimeException); + + // document::XEventListener + + virtual void SAL_CALL notifyEvent( const css::document::EventObject& Event ) throw (css::uno::RuntimeException); + + // XEventListener + + virtual void SAL_CALL disposing ( const css::lang::EventObject& rEvent) throw (css::uno::RuntimeException); + +private: + css::uno::Reference mxModel; + css::uno::Reference mxController; + css::uno::WeakReference + mxConfigurationControllerWeak; + css::uno::WeakReference mxContextWeak; + css::uno::WeakReference mxSlideShowControllerWeak; + ::rtl::Reference mpPresenterController; + css::uno::Reference mxSlideShowViewId; + css::uno::Reference mxSavedConfiguration; + ::rtl::Reference mpPaneContainer; + sal_Int32 mnComponentIndex; + css::uno::Reference mxPaneFactory; + css::uno::Reference mxViewFactory; + + PresenterScreen (const css::uno::Reference& rxContext); + virtual ~PresenterScreen (void); + + /** Make the presenter screen visible. + */ + void InitializePresenterScreen (void); + + /** Deactivate the currently active panes to make room for the full + screen pane and the presenter panes. + */ + void DeactivatePanes ( + const css::uno::Reference& rxCC); + + void ShutdownPresenterScreen (void); + + /** Create and initialize the factory for presenter view specific panes. + */ + void SetupPaneFactory ( + const css::uno::Reference& rxContext); + + /** Create and initialize the factory for presenter view specific views. + */ + void SetupViewFactory ( + const css::uno::Reference& rxContext); + + /** Read the current layout from the configuration and call + ProcessLayout to bring it on to the screen. + */ + void SetupConfiguration ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxAnchorId); + + /** Read one layout from the configuration and make resource activation + requests to bring it on to the screen. When one layout references a + parent layout then this method calls itself recursively. + */ + void ProcessLayout ( + PresenterConfigurationAccess& rConfiguration, + const ::rtl::OUString& rsLayoutName, + const css::uno::Reference& rxContext, + const css::uno::Reference& rxAnchorId); + + /** Called by ProcessLayout for a single entry of a Layouts + configuration list. + */ + void ProcessComponent ( + const ::rtl::OUString& rsKey, + const ::std::vector& rValues, + const css::uno::Reference& rxContext, + const css::uno::Reference& rxAnchorId); + + css::uno::Reference SetupView ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxAnchorId, + const ::rtl::OUString& rsPaneURL, + const ::rtl::OUString& rsViewURL, + const ::rtl::OUString& rsTitle, + const PresenterPaneContainer::ViewInitializationFunction& rViewInitialization, + const double nLeft, + const double nTop, + const double nRight, + const double nBottom); + + void ThrowIfDisposed (void) const throw (::com::sun::star::lang::DisposedException); +}; + +} } + +#endif -- cgit From 4a4653189dc2413b1de04189200b30a2a16888a5 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:03:57 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/27 09:11:09 af 1.1.2.2: #i18486# Resolved resync problems. 2008/02/26 16:23:39 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterScrollBar.cxx | 1112 +++++++++++++++++++++++++ 1 file changed, 1112 insertions(+) create mode 100644 sdext/source/presenter/PresenterScrollBar.cxx diff --git a/sdext/source/presenter/PresenterScrollBar.cxx b/sdext/source/presenter/PresenterScrollBar.cxx new file mode 100644 index 000000000000..a54aa0ffe5a6 --- /dev/null +++ b/sdext/source/presenter/PresenterScrollBar.cxx @@ -0,0 +1,1112 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterScrollBar.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:03:57 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterScrollBar.hxx" +#include "PresenterBitmapContainer.hxx" +#include "PresenterGeometryHelper.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + + +namespace sdext { namespace presenter { + +namespace { + double clip (const double nMin, const double nMax, const double nValue) + { + if (nValue < nMin) + return nMin; + else if (nValue > nMax) + return nMax; + else + return nValue; + } + +} // end of anonymous namespace + + + +//===== PresenterScrollBar ==================================================== + +boost::weak_ptr PresenterScrollBar::mpSharedBitmaps; + +PresenterScrollBar::PresenterScrollBar ( + const Reference& rxComponentContext, + const Reference& rxParentWindow, + const ::boost::function& rThumbMotionListener) + : PresenterScrollBarInterfaceBase(m_aMutex), + mxComponentContext(rxComponentContext), + mxParentWindow(rxParentWindow), + mxWindow(), + mxCanvas(), + mxPresenterHelper(), + mnThumbPosition(0), + mnTotalSize(0), + mnThumbSize(0), + maDragPosition(-1,-1), + maThumbMotionListener(rThumbMotionListener), + meButtonDownArea(None), + meMouseMoveArea(None), + //maBorders(), + mbIsNotificationActive(false), + mpBitmaps(), + maPrevButtonSet(), + maNextButtonSet(), + maPagerStartSet(), + maPagerCenterSet(), + maPagerEndSet() +{ + try + { + Reference xFactory (rxComponentContext->getServiceManager()); + if ( ! xFactory.is()) + throw RuntimeException(); + + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + rxComponentContext), + UNO_QUERY_THROW); + + // Create a window that contains the scroll bar. + Reference xToolkit ( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.awt.Toolkit"), + rxComponentContext), + UNO_QUERY_THROW); + awt::WindowDescriptor aWindowDescriptor ( + awt::WindowClass_CONTAINER, + OUString(), + Reference(rxParentWindow,UNO_QUERY_THROW), + -1, // parent index not available + awt::Rectangle(0,0,10,10), + awt::WindowAttribute::SIZEABLE + | awt::WindowAttribute::MOVEABLE + | awt::WindowAttribute::NODECORATION); + mxWindow = Reference( + xToolkit->createWindow(aWindowDescriptor),UNO_QUERY_THROW); + + // Make the background transparent. The slide show paints its own background. + Reference xPeer (mxWindow, UNO_QUERY_THROW); + if (xPeer.is()) + { + xPeer->setBackground(0xff000000); + } + + mxWindow->setVisible(sal_True); + mxWindow->addWindowListener(this); + mxWindow->addMouseListener(this); + mxWindow->addMouseMotionListener(this); + } + catch (RuntimeException&) + { + } +} + + + + +PresenterScrollBar::~PresenterScrollBar (void) +{ +} + + + + +void SAL_CALL PresenterScrollBar::disposing (void) +{ + if (mxWindow.is()) + { + mxWindow->removeWindowListener(this); + mxWindow->removeMouseListener(this); + mxWindow->removeMouseMotionListener(this); + + Reference xComponent (mxWindow, UNO_QUERY); + mxWindow = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + mpBitmaps.reset(); +} + + + + +void PresenterScrollBar::SetPosSize (const css::geometry::RealRectangle2D& rBox) +{ + if (mxWindow.is()) + { + mxWindow->setPosSize( + sal_Int32(floor(rBox.X1)), + sal_Int32(floor(rBox.Y1)), + sal_Int32(ceil(rBox.X2-rBox.X1)), + sal_Int32(ceil(rBox.Y2-rBox.Y1)), + awt::PosSize::POSSIZE); + UpdateBorders(); + } +} + + + + +void PresenterScrollBar::SetThumbPosition (const double nPosition) +{ + if (nPosition != mnThumbPosition && ! mbIsNotificationActive) + { + if (nPosition < 0) + mnThumbPosition = 0; + else if ((nPosition + mnThumbSize) > mnTotalSize) + mnThumbPosition = mnTotalSize - mnThumbSize; + else + mnThumbPosition = nPosition; + + UpdateBorders(); + + Repaint(GetRectangle(Total)); + + NotifyThumbPositionChange(); + } +} + + + + +void PresenterScrollBar::SetTotalSize (const double nTotalSize) +{ + if (mnTotalSize != nTotalSize) + { + mnTotalSize = nTotalSize; + UpdateBorders(); + Repaint(GetRectangle(Total)); + } +} + + + + +void PresenterScrollBar::SetThumbSize (const double nThumbSize) +{ + OSL_ASSERT(nThumbSize>=0); + if (mnThumbSize != nThumbSize) + { + mnThumbSize = nThumbSize; + UpdateBorders(); + Repaint(GetRectangle(Total)); + } +} + + + +void PresenterScrollBar::SetCanvas (const Reference& rxCanvas) +{ + if (mxCanvas != rxCanvas) + { + mxCanvas = rxCanvas; + if (mxCanvas.is()) + { + if (mpBitmaps.get()==NULL) + { + if (mpSharedBitmaps.expired()) + { + try + { + mpBitmaps.reset(new PresenterBitmapContainer( + mxComponentContext, + mxCanvas, + OUString::createFromAscii("PresenterScreenSettings/ScrollBar/Bitmaps"))); + mpSharedBitmaps = mpBitmaps; + } + catch(Exception&) + { + OSL_ASSERT(false); + } + } + else + mpBitmaps = ::boost::shared_ptr(mpSharedBitmaps); + UpdateBitmaps(); + UpdateBorders(); + } + + Repaint(GetRectangle(Total)); + } + } +} + + + + +void PresenterScrollBar::Paint ( + const awt::Rectangle& rUpdateBox, + const bool bNoClip) +{ + if ( ! mxCanvas.is() || ! mxWindow.is()) + { + OSL_ASSERT(mxCanvas.is()); + OSL_ASSERT(mxWindow.is()); + return; + } + + if ( ! bNoClip) + if (PresenterGeometryHelper::AreRectanglesDisjoint (rUpdateBox, mxWindow->getPosSize())) + return; + + Paint(PagerUp, maPagerStartSet, maPagerCenterSet, PresenterBitmapContainer::BitmapSet()); + Paint(PagerDown, PresenterBitmapContainer::BitmapSet(), maPagerCenterSet, maPagerEndSet); + Paint(Thumb, maThumbStartSet, maThumbCenterSet, maThumbEndSet); + Paint(PrevButton, maPrevButtonSet, 1,0,0); + Paint(NextButton, maNextButtonSet, 0,1,0); + + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); +} + + + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterScrollBar::windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + + +void SAL_CALL PresenterScrollBar::windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterScrollBar::windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterScrollBar::windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + + +//----- XMouseListener -------------------------------------------------------- + +void SAL_CALL PresenterScrollBar::mousePressed (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + maDragPosition.X = rEvent.X; + maDragPosition.Y = rEvent.Y; + meButtonDownArea = GetArea(rEvent.X, rEvent.Y); +} + + + + +void SAL_CALL PresenterScrollBar::mouseReleased (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + if (mxPresenterHelper.is()) + mxPresenterHelper->releaseMouse(mxWindow); + + if (meButtonDownArea != None && meButtonDownArea == GetArea(rEvent.X, rEvent.Y)) + { + switch (meButtonDownArea) + { + case PrevButton: + SetThumbPosition(mnThumbPosition - mnTotalSize / 100.0); + break; + + case NextButton: + SetThumbPosition(mnThumbPosition + mnTotalSize / 100.0); + break; + + case PagerUp: + SetThumbPosition(mnThumbPosition - mnTotalSize / 20.0); + break; + + case PagerDown: + SetThumbPosition(mnThumbPosition + mnTotalSize / 20.0); + break; + + default: + break; + } + } +} + + + + +void SAL_CALL PresenterScrollBar::mouseEntered (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterScrollBar::mouseExited (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + if (meMouseMoveArea != None) + { + const Area eOldMouseMoveArea (meMouseMoveArea); + meMouseMoveArea = None; + Repaint(GetRectangle(eOldMouseMoveArea)); + } + meButtonDownArea = None; + meMouseMoveArea = None; +} + + + + + +//----- XMouseMotionListener -------------------------------------------------- + +void SAL_CALL PresenterScrollBar::mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + const Area eArea (GetArea(rEvent.X, rEvent.Y)); + if (eArea != meMouseMoveArea) + { + const Area eOldMouseMoveArea (meMouseMoveArea); + meMouseMoveArea = eArea; + if (eOldMouseMoveArea != None) + Repaint(GetRectangle(eOldMouseMoveArea)); + if (meMouseMoveArea != None) + Repaint(GetRectangle(meMouseMoveArea)); + } +} + + + + +void SAL_CALL PresenterScrollBar::mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + if (meButtonDownArea != Thumb) + return; + if (mxPresenterHelper.is()) + mxPresenterHelper->captureMouse(mxWindow); + + const double nDragDistance (GetDragDistance(rEvent.X,rEvent.Y)); + maDragPosition.X = rEvent.X; + maDragPosition.Y = rEvent.Y; + if (nDragDistance != 0) + { + SetThumbPosition(mnThumbPosition + nDragDistance); + } +} + + + + +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL PresenterScrollBar::disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException) +{ + if (rEvent.Source == mxWindow) + mxWindow = NULL; +} + + + + +//----------------------------------------------------------------------------- + +geometry::RealRectangle2D PresenterScrollBar::GetRectangle (const Area eArea) const +{ + if ( ! mxWindow.is()) + return geometry::RealRectangle2D(0,0,0,0); + + switch (eArea) + { + case Total: + default: + return GetBorderRectangle(LeftOrTopOfPrevButton, RightOrBottomOfNextButton); + + case PrevButton: + return GetBorderRectangle(LeftOrTopOfPrevButton, RightOrBottomOfPrevButton); + + case NextButton: + return GetBorderRectangle(LeftOrTopOfNextButton, RightOrBottomOfNextButton); + + case Pager: + return GetBorderRectangle(RightOrBottomOfPrevButton, LeftOrTopOfNextButton); + + case PagerUp: + return GetBorderRectangle(RightOrBottomOfPrevButton, LeftOrTopOfThumb); + + case PagerDown: + return GetBorderRectangle(RightOrBottomOfThumb, LeftOrTopOfNextButton); + + case Thumb: + return GetBorderRectangle(LeftOrTopOfThumb, RightOrBottomOfThumb); + } +} + + + + +void PresenterScrollBar::Repaint (const geometry::RealRectangle2D aBox) +{ +#if 1 + Paint( + awt::Rectangle( + sal_Int32(aBox.X1), + sal_Int32(aBox.Y1), + sal_Int32(aBox.X2 - aBox.X1), + sal_Int32(aBox.Y2 - aBox.Y1)), + true); +#else + Reference xPeer (mxParentWindow, UNO_QUERY); + if (xPeer.is() && mxWindow.is()) + { + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const sal_Int32 nX (sal_Int32(floor(aBox.X1)) + aWindowBox.X); + const sal_Int32 nY (sal_Int32(floor(aBox.Y1)) + aWindowBox.Y); + const sal_Int32 nWidth (sal_Int32(ceil(aBox.X2) - nX)); + const sal_Int32 nHeight (sal_Int32(ceil(aBox.Y2) - nY)); + xPeer->invalidateRect(awt::Rectangle(nX,nY,nWidth,nHeight), awt::InvalidateStyle::UPDATE); + } +#endif +} + + + + +void PresenterScrollBar::Paint( + const Area eArea, + const PresenterBitmapContainer::BitmapSet& rBitmaps, + const double nRed, + const double nGreen, + const double nBlue) +{ + if (rBitmaps.mxNormalIcon.is()) + PaintBitmap(eArea, rBitmaps); + else + PaintBox(eArea, nRed, nGreen, nBlue); +} + + + + +void PresenterScrollBar::Paint( + const Area eArea, + const PresenterBitmapContainer::BitmapSet& rStartBitmaps, + const PresenterBitmapContainer::BitmapSet& rCenterBitmaps, + const PresenterBitmapContainer::BitmapSet& rEndBitmaps) +{ + geometry::RealRectangle2D aBox (GetRectangle(eArea)); + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + aBox.X1 += aWindowBox.X; + aBox.Y1 += aWindowBox.Y; + aBox.X2 += aWindowBox.X; + aBox.Y2 += aWindowBox.Y; + Reference xPolygon ( + PresenterGeometryHelper::CreatePolygon(aBox, mxCanvas->getDevice())); + + if (xPolygon.is()) + { + + const rendering::ViewState aViewState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + xPolygon); + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + Reference xStartBitmap (GetBitmap(eArea, rStartBitmaps)); + Reference xCenterBitmap (GetBitmap(eArea, rCenterBitmaps)); + Reference xEndBitmap (GetBitmap(eArea, rEndBitmaps)); + + if (xCenterBitmap.is()) + { + const geometry::IntegerSize2D aSize (xCenterBitmap->getSize()); + geometry::RealPoint2D aFilteredMajorSize (GetPoint( + GetMajor(aSize.Width, aSize.Height), + 0)); + geometry::RealPoint2D aOffset (aBox.X1, aBox.Y1); + while(aOffset.X < aBox.X2 && aOffset.Y < aBox.Y2) + { + aRenderState.AffineTransform.m02 = aOffset.X; + aRenderState.AffineTransform.m12 = aOffset.Y; + mxCanvas->drawBitmap( + xCenterBitmap, + aViewState, + aRenderState); + aOffset.X += aFilteredMajorSize.X; + aOffset.Y += aFilteredMajorSize.Y; + } + } + + if (xStartBitmap.is()) + { + aRenderState.AffineTransform.m02 = aBox.X1; + aRenderState.AffineTransform.m12 = aBox.Y1; + mxCanvas->drawBitmap( + xStartBitmap, + aViewState, + aRenderState); + } + + if (xEndBitmap.is()) + { + const geometry::IntegerSize2D aSize (xEndBitmap->getSize()); + geometry::RealPoint2D aFilteredSize (GetPoint( + GetMajor(aSize.Width, aSize.Height), + GetMinor(aSize.Width, aSize.Height))); + aRenderState.AffineTransform.m02 = aBox.X2 - aFilteredSize.X; + aRenderState.AffineTransform.m12 = aBox.Y2 - aFilteredSize.Y; + mxCanvas->drawBitmap( + xEndBitmap, + aViewState, + aRenderState); + } + } +} + + + + +void PresenterScrollBar::PaintBitmap( + const Area eArea, + const PresenterBitmapContainer::BitmapSet& rBitmaps) +{ + const geometry::RealRectangle2D aBox (GetRectangle(eArea)); + Reference xPolygon ( + PresenterGeometryHelper::CreatePolygon(aBox, mxCanvas->getDevice())); + Reference xBitmap (GetBitmap(eArea,rBitmaps)); + + if (xPolygon.is() && xBitmap.is()) + { + const rendering::ViewState aViewState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D( + 1,0,aWindowBox.X+aBox.X1, + 0,1,aWindowBox.Y+aBox.Y1), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + mxCanvas->drawBitmap( + xBitmap, + aViewState, + aRenderState); + } +} + + + + +void PresenterScrollBar::PaintBox ( + const Area eArea, + const double nRed, + const double nGreen, + const double nBlue) +{ + Reference xPolygon ( + PresenterGeometryHelper::CreatePolygon(GetRectangle(eArea), + mxCanvas->getDevice())); + + if (xPolygon.is()) + { + const rendering::ViewState aViewState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,aWindowBox.X, 0,1,aWindowBox.Y), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + if (meMouseMoveArea == eArea) + { + aRenderState.DeviceColor[0] = (1+nRed)/2; + aRenderState.DeviceColor[1] = (1+nGreen)/2; + aRenderState.DeviceColor[2] = (1+nBlue)/2; + } + else + { + aRenderState.DeviceColor[0] = nRed; + aRenderState.DeviceColor[1] = nGreen; + aRenderState.DeviceColor[2] = nBlue; + } + mxCanvas->fillPolyPolygon( + xPolygon, + aViewState, + aRenderState); + } +} + + + + +void PresenterScrollBar::NotifyThumbPositionChange (void) +{ + if ( ! mbIsNotificationActive) + { + mbIsNotificationActive = true; + + try + { + maThumbMotionListener(mnThumbPosition); + } + catch (Exception&) + { + } + + mbIsNotificationActive = false; + } +} + + + + +PresenterScrollBar::Area PresenterScrollBar::GetArea (const double nX, const double nY) const +{ + const double nValue (GetMajor(nX,nY)); + + if (nValue < maBorders[LeftOrTopOfThumb]) + if (nValue < maBorders[RightOrBottomOfPrevButton]) + if (nValue < maBorders[LeftOrTopOfPrevButton]) + return None; + else + return PrevButton; + else + return PagerUp; + else if (nValue > maBorders[RightOrBottomOfThumb]) + if (nValue > maBorders[LeftOrTopOfNextButton]) + if (nValue > maBorders[RightOrBottomOfNextButton]) + return None; + else + return NextButton; + else + return PagerDown; + else + return Thumb; +} + + + + +void PresenterScrollBar::UpdateWidthOrHeight ( + sal_Int32& rSize, + const PresenterBitmapContainer::BitmapSet& rSet) +{ + if (rSet.mxNormalIcon.is()) + { + const geometry::IntegerSize2D aBitmapSize (rSet.mxNormalIcon->getSize()); + const sal_Int32 nBitmapSize = (sal_Int32)GetMinor(aBitmapSize.Width, aBitmapSize.Height); + if (nBitmapSize > rSize) + rSize = nBitmapSize; + } +} + + + + +css::uno::Reference PresenterScrollBar::GetBitmap ( + const Area eArea, + const PresenterBitmapContainer::BitmapSet& rBitmaps) const +{ + if (eArea==meMouseMoveArea && rBitmaps.mxMouseOverIcon.is()) + return rBitmaps.mxMouseOverIcon; + return rBitmaps.mxNormalIcon; +} + + + + +//===== PresenterVerticalScrollBar ============================================ + +PresenterVerticalScrollBar::PresenterVerticalScrollBar ( + const Reference& rxComponentContext, + const Reference& rxParentWindow, + const ::boost::function& rThumbMotionListener) + : PresenterScrollBar(rxComponentContext, rxParentWindow, rThumbMotionListener), + mnScrollBarWidth(0) +{ +} + + + + +PresenterVerticalScrollBar::~PresenterVerticalScrollBar (void) +{ +} + + + + +geometry::RealRectangle2D PresenterVerticalScrollBar::GetBorderRectangle ( + const sal_Int32 nLeftOrTopBorder, + const sal_Int32 nRightOrBottomBorder) const +{ + OSL_ASSERT(nLeftOrTopBorder < nRightOrBottomBorder); + return geometry::RealRectangle2D( + 0, maBorders[nLeftOrTopBorder], + mnScrollBarWidth, maBorders[nRightOrBottomBorder]); +} + + + + +double PresenterVerticalScrollBar::GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const +{ + (void)nX; + const sal_Int32 nDistance (nY - maDragPosition.Y); + if (nDistance == 0) + return 0; + else + { + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const double nBarWidth (aWindowBox.Width); + const double nPagerHeight (aWindowBox.Height - 2*nBarWidth); + return mnTotalSize / nPagerHeight * nDistance; + } +} + + + + +sal_Int32 PresenterVerticalScrollBar::GetSize (void) const +{ + return mnScrollBarWidth; +} + + + + +geometry::RealPoint2D PresenterVerticalScrollBar::GetPoint ( + const double nMajor, const double nMinor) const +{ + return geometry::RealPoint2D(nMinor, nMajor); +} + + + + +double PresenterVerticalScrollBar::GetMajor (const double nX, const double nY) const +{ + (void)nX; + return nY; +} + + + + +double PresenterVerticalScrollBar::GetMinor (const double nX, const double nY) const +{ + (void)nY; + return nX; +} + + + + +void PresenterVerticalScrollBar::UpdateBorders (void) +{ + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const double nButtonHeight = aWindowBox.Height>=2*mnScrollBarWidth + ? mnScrollBarWidth : aWindowBox.Height/2.0; + const double nPagerHeight (aWindowBox.Height - 2*nButtonHeight); + + maBorders[LeftOrTopOfPrevButton] = 0; + maBorders[RightOrBottomOfPrevButton] = nButtonHeight; + maBorders[LeftOrTopOfNextButton] = nPagerHeight + nButtonHeight; + maBorders[RightOrBottomOfNextButton] = aWindowBox.Height; + if (mnTotalSize <= 0) + { + maBorders[LeftOrTopOfThumb] = maBorders[RightOrBottomOfPrevButton]; + maBorders[RightOrBottomOfThumb] = maBorders[LeftOrTopOfNextButton]; + } + else + { + maBorders[LeftOrTopOfThumb] = clip( + maBorders[RightOrBottomOfPrevButton], + maBorders[LeftOrTopOfNextButton], + nButtonHeight + (mnThumbPosition) / mnTotalSize * nPagerHeight); + maBorders[RightOrBottomOfThumb] = clip( + maBorders[RightOrBottomOfPrevButton], + maBorders[LeftOrTopOfNextButton], + nButtonHeight + (mnThumbPosition+mnThumbSize) / mnTotalSize * nPagerHeight); + } + + OSL_ASSERT(0 <= maBorders[LeftOrTopOfPrevButton]); + OSL_ASSERT(maBorders[LeftOrTopOfPrevButton] <= maBorders[RightOrBottomOfPrevButton]); + OSL_ASSERT(maBorders[RightOrBottomOfPrevButton] <= maBorders[LeftOrTopOfThumb]); + OSL_ASSERT(maBorders[LeftOrTopOfThumb] <= maBorders[RightOrBottomOfThumb]); + OSL_ASSERT(maBorders[RightOrBottomOfThumb] <= maBorders[LeftOrTopOfNextButton]); + OSL_ASSERT(maBorders[LeftOrTopOfNextButton] <= maBorders[RightOrBottomOfNextButton]); + OSL_ASSERT(maBorders[RightOrBottomOfNextButton] <= aWindowBox.Height); +} + + + + +void PresenterVerticalScrollBar::UpdateBitmaps (void) +{ + if (mpBitmaps.get() != NULL) + { + maPrevButtonSet = mpBitmaps->GetButtons(A2S("Up")); + maNextButtonSet = mpBitmaps->GetButtons(A2S("Down")); + maPagerStartSet = mpBitmaps->GetButtons(A2S("PagerTop")); + maPagerCenterSet = mpBitmaps->GetButtons(A2S("PagerVertical")); + maPagerEndSet = mpBitmaps->GetButtons(A2S("PagerBottom")); + maThumbStartSet = mpBitmaps->GetButtons(A2S("ThumbTop")); + maThumbCenterSet = mpBitmaps->GetButtons(A2S("ThumbVertical")); + maThumbEndSet = mpBitmaps->GetButtons(A2S("ThumbBottom")); + + mnScrollBarWidth = 0; + UpdateWidthOrHeight(mnScrollBarWidth, maPrevButtonSet); + UpdateWidthOrHeight(mnScrollBarWidth, maNextButtonSet); + UpdateWidthOrHeight(mnScrollBarWidth, maPagerStartSet); + UpdateWidthOrHeight(mnScrollBarWidth, maPagerCenterSet); + UpdateWidthOrHeight(mnScrollBarWidth, maPagerEndSet); + UpdateWidthOrHeight(mnScrollBarWidth, maThumbStartSet); + UpdateWidthOrHeight(mnScrollBarWidth, maThumbCenterSet); + UpdateWidthOrHeight(mnScrollBarWidth, maThumbEndSet); + if (mnScrollBarWidth == 0) + mnScrollBarWidth = 20; + } +} + + + + +//===== PresenterHorizontalScrollBar ============================================ + +PresenterHorizontalScrollBar::PresenterHorizontalScrollBar ( + const Reference& rxComponentContext, + const Reference& rxParentWindow, + const ::boost::function& rThumbMotionListener) + : PresenterScrollBar(rxComponentContext, rxParentWindow, rThumbMotionListener), + mnScrollBarHeight(0) +{ +} + + + + +PresenterHorizontalScrollBar::~PresenterHorizontalScrollBar (void) +{ +} + + + + +geometry::RealRectangle2D PresenterHorizontalScrollBar::GetBorderRectangle ( + const sal_Int32 nLeftOrTopBorder, + const sal_Int32 nRightOrBottomBorder) const +{ + OSL_ASSERT(nLeftOrTopBorder < nRightOrBottomBorder); + return geometry::RealRectangle2D( + maBorders[nLeftOrTopBorder], 0, + maBorders[nRightOrBottomBorder], mnScrollBarHeight); +} + + + + +double PresenterHorizontalScrollBar::GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const +{ + (void)nY; + const sal_Int32 nDistance (nX - maDragPosition.X); + if (nDistance == 0) + return 0; + else + { + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const double nBarHeight (aWindowBox.Height); + const double nPagerWidth (aWindowBox.Width - 2*nBarHeight); + return mnTotalSize / nPagerWidth * nDistance; + } +} + + + + +sal_Int32 PresenterHorizontalScrollBar::GetSize (void) const +{ + return mnScrollBarHeight; +} + + + + + +geometry::RealPoint2D PresenterHorizontalScrollBar::GetPoint ( + const double nMajor, const double nMinor) const +{ + return geometry::RealPoint2D(nMajor, nMinor); +} + + + + +double PresenterHorizontalScrollBar::GetMajor (const double nX, const double nY) const +{ + (void)nY; + return nX; +} + + + + +double PresenterHorizontalScrollBar::GetMinor (const double nX, const double nY) const +{ + (void)nX; + return nY; +} + + + + +void PresenterHorizontalScrollBar::UpdateBorders (void) +{ + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const double nButtonWidth = (aWindowBox.Width>2*mnScrollBarHeight + ? mnScrollBarHeight : aWindowBox.Width/2.0); + const double nPagerWidth (aWindowBox.Width - 2*nButtonWidth); + + maBorders[LeftOrTopOfPrevButton] = 0; + maBorders[RightOrBottomOfPrevButton] = nButtonWidth; + maBorders[LeftOrTopOfNextButton] = nPagerWidth + nButtonWidth; + maBorders[RightOrBottomOfNextButton] = aWindowBox.Width; + if (mnTotalSize <= 0) + { + maBorders[LeftOrTopOfThumb] = maBorders[RightOrBottomOfPrevButton]; + maBorders[RightOrBottomOfThumb] = maBorders[LeftOrTopOfNextButton]; + } + else + { + maBorders[LeftOrTopOfThumb] = clip ( + maBorders[RightOrBottomOfPrevButton], + maBorders[LeftOrTopOfNextButton], + nButtonWidth + (mnThumbPosition) / mnTotalSize * nPagerWidth); + maBorders[RightOrBottomOfThumb] = clip ( + maBorders[RightOrBottomOfPrevButton], + maBorders[LeftOrTopOfNextButton], + nButtonWidth + (mnThumbPosition+mnThumbSize) / mnTotalSize * nPagerWidth); + } + + + OSL_ASSERT(0 <= maBorders[LeftOrTopOfPrevButton]); + OSL_ASSERT(maBorders[LeftOrTopOfPrevButton] <= maBorders[RightOrBottomOfPrevButton]); + OSL_ASSERT(maBorders[RightOrBottomOfPrevButton] <= maBorders[LeftOrTopOfThumb]); + OSL_ASSERT(maBorders[LeftOrTopOfThumb] <= maBorders[RightOrBottomOfThumb]); + OSL_ASSERT(maBorders[RightOrBottomOfThumb] <= maBorders[LeftOrTopOfNextButton]); + OSL_ASSERT(maBorders[LeftOrTopOfNextButton] <= maBorders[RightOrBottomOfNextButton]); + OSL_ASSERT(maBorders[RightOrBottomOfNextButton] <= aWindowBox.Width); +} + + + + +void PresenterHorizontalScrollBar::UpdateBitmaps (void) +{ + if (mpBitmaps.get() != NULL) + { + maPrevButtonSet = mpBitmaps->GetButtons(A2S("Left")); + maNextButtonSet = mpBitmaps->GetButtons(A2S("Right")); + maPagerStartSet = mpBitmaps->GetButtons(A2S("PagerLeft")); + maPagerCenterSet = mpBitmaps->GetButtons(A2S("PagerHorizontal")); + maPagerEndSet = mpBitmaps->GetButtons(A2S("PagerRight")); + maThumbStartSet = mpBitmaps->GetButtons(A2S("ThumbLeft")); + maThumbCenterSet = mpBitmaps->GetButtons(A2S("ThumbHorizontal")); + maThumbEndSet = mpBitmaps->GetButtons(A2S("ThumbRight")); + + mnScrollBarHeight = 0; + UpdateWidthOrHeight(mnScrollBarHeight, maPrevButtonSet); + UpdateWidthOrHeight(mnScrollBarHeight, maNextButtonSet); + UpdateWidthOrHeight(mnScrollBarHeight, maPagerStartSet); + UpdateWidthOrHeight(mnScrollBarHeight, maPagerCenterSet); + UpdateWidthOrHeight(mnScrollBarHeight, maPagerEndSet); + UpdateWidthOrHeight(mnScrollBarHeight, maThumbStartSet); + UpdateWidthOrHeight(mnScrollBarHeight, maThumbCenterSet); + UpdateWidthOrHeight(mnScrollBarHeight, maThumbEndSet); + if (mnScrollBarHeight == 0) + mnScrollBarHeight = 20; + } +} + + + +} } // end of namespace ::sdext::presenter -- cgit From 5fd0b93a6972e1115e7881864f8c35bab65351bf Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:04:09 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/27 09:11:09 af 1.1.2.2: #i18486# Resolved resync problems. 2008/02/26 16:23:53 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterScrollBar.hxx | 302 ++++++++++++++++++++++++++ 1 file changed, 302 insertions(+) create mode 100644 sdext/source/presenter/PresenterScrollBar.hxx diff --git a/sdext/source/presenter/PresenterScrollBar.hxx b/sdext/source/presenter/PresenterScrollBar.hxx new file mode 100644 index 000000000000..1aafa657b9f5 --- /dev/null +++ b/sdext/source/presenter/PresenterScrollBar.hxx @@ -0,0 +1,302 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterScrollBar.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:04:09 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_SCROLL_BAR_HXX +#define SDEXT_PRESENTER_PRESENTER_SCROLL_BAR_HXX + +#include "PresenterBitmapContainer.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +namespace { + typedef ::cppu::WeakComponentImplHelper3 < + css::awt::XWindowListener, + css::awt::XMouseListener, + css::awt::XMouseMotionListener + > PresenterScrollBarInterfaceBase; +} + +/** Base class of horizontal and vertical scroll bars. +*/ +class PresenterScrollBar + : private ::boost::noncopyable, + private ::cppu::BaseMutex, + public PresenterScrollBarInterfaceBase +{ +public: + typedef ::boost::function ThumbMotionListener; + virtual ~PresenterScrollBar (void); + + virtual void SAL_CALL disposing (void); + + /** Set the bounding box of the scroll bar. + */ + void SetPosSize (const css::geometry::RealRectangle2D& rBox); + + /** Set the position of the movable thumb. + @param nPosition + A value between 0 and the last value given to SetTotalSize() + minus the last value given to SetThumbSize(). + */ + void SetThumbPosition (const double nPosition); + + /** Set the upper border of the slider range. + */ + void SetTotalSize (const double nTotalSize); + + /** Set the size of the movable thumb. + @param nThumbSize + A value not larger than the last value given to SetTotalSize(). + */ + void SetThumbSize (const double nThumbSize); + + /** Set the canvas that is used for painting the scroll bar. + */ + void SetCanvas (const css::uno::Reference& rxCanvas); + + /** On some occasions it is necessary to trigger the painting of a + scrollbar from the outside. + */ + virtual void Paint ( + const css::awt::Rectangle& rUpdateBox, + bool bNoClip = false); + + virtual sal_Int32 GetSize (void) const = 0; + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseListener + + virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + + // XMouseMotionListener + + virtual void SAL_CALL mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // lang::XEventListener + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + +protected: + css::uno::Reference mxComponentContext; + css::uno::Reference mxParentWindow; + css::uno::Reference mxWindow; + css::uno::Reference mxCanvas; + css::uno::Reference mxPresenterHelper; + double mnThumbPosition; + double mnTotalSize; + double mnThumbSize; + css::awt::Point maDragPosition; + ::boost::function maThumbMotionListener; + enum Area { None, Total, Pager, Thumb, PagerUp, PagerDown, PrevButton, NextButton }; + Area meButtonDownArea; + Area meMouseMoveArea; + enum Border { + LeftOrTopOfPrevButton, + RightOrBottomOfPrevButton, + LeftOrTopOfThumb, + RightOrBottomOfThumb, + LeftOrTopOfNextButton, + RightOrBottomOfNextButton, + _Count + }; + double maBorders[_Count]; + bool mbIsNotificationActive; + static boost::weak_ptr mpSharedBitmaps; + boost::shared_ptr mpBitmaps; + PresenterBitmapContainer::BitmapSet maPrevButtonSet; + PresenterBitmapContainer::BitmapSet maNextButtonSet; + PresenterBitmapContainer::BitmapSet maPagerStartSet; + PresenterBitmapContainer::BitmapSet maPagerCenterSet; + PresenterBitmapContainer::BitmapSet maPagerEndSet; + PresenterBitmapContainer::BitmapSet maThumbStartSet; + PresenterBitmapContainer::BitmapSet maThumbCenterSet; + PresenterBitmapContainer::BitmapSet maThumbEndSet; + + virtual css::geometry::RealRectangle2D GetRectangle (const Area eArea) const; + virtual css::geometry::RealRectangle2D GetBorderRectangle ( + const sal_Int32 nLeftOrTopBorder, + const sal_Int32 nRightOrBottomBorder) const = 0; + virtual double GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const = 0; + virtual css::geometry::RealPoint2D GetPoint (const double nMajor, const double nMinor) const = 0; + virtual double GetMajor (const double nX, const double nY) const = 0; + virtual double GetMinor (const double nX, const double nY) const = 0; + virtual void UpdateBorders (void) = 0; + virtual void UpdateBitmaps (void) = 0; + + PresenterScrollBar ( + const css::uno::Reference& rxComponentContext, + const css::uno::Reference& rxParentWindow, + const ::boost::function& rThumbMotionListener); + + void Repaint (const css::geometry::RealRectangle2D aBox); + void Paint( + const Area eArea, + const PresenterBitmapContainer::BitmapSet& rBitmaps, + const double nRed, + const double nGreen, + const double nBlue); + void PaintBitmap( + const Area eArea, + const PresenterBitmapContainer::BitmapSet& rBitmaps); + void PaintBox ( + const Area eArea, + const double nRed, + const double nGreen, + const double nBlue); + void Paint( + const Area eArea, + const PresenterBitmapContainer::BitmapSet& rStartBitmaps, + const PresenterBitmapContainer::BitmapSet& rCenterBitmaps, + const PresenterBitmapContainer::BitmapSet& rEndBitmaps); + void NotifyThumbPositionChange (void); + void UpdateWidthOrHeight (sal_Int32& rSize, + const PresenterBitmapContainer::BitmapSet& rSet); + css::uno::Reference GetBitmap ( + const Area eArea, + const PresenterBitmapContainer::BitmapSet& rBitmaps) const; + +private: + Area GetArea (const double nX, const double nY) const; +}; + + + + +/** A vertical scroll bar. +*/ +class PresenterVerticalScrollBar : public PresenterScrollBar +{ +public: + PresenterVerticalScrollBar ( + const css::uno::Reference& rxComponentContext, + const css::uno::Reference& rxParentWindow, + const ::boost::function& rThumbMotionListener); + virtual ~PresenterVerticalScrollBar (void); + virtual sal_Int32 GetSize (void) const; + +protected: + virtual css::geometry::RealRectangle2D GetBorderRectangle ( + const sal_Int32 nLeftOrTopBorder, + const sal_Int32 nRightOrBottomBorder) const; + virtual double GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const; + virtual css::geometry::RealPoint2D GetPoint (const double nMajor, const double nMinor) const; + virtual double GetMinor (const double nX, const double nY) const; + virtual double GetMajor (const double nX, const double nY) const; + virtual void UpdateBorders (void); + virtual void UpdateBitmaps (void); + +private: + sal_Int32 mnScrollBarWidth; +}; + + + + +/** A horizontal scroll bar. +*/ +class PresenterHorizontalScrollBar : public PresenterScrollBar +{ +public: + PresenterHorizontalScrollBar ( + const css::uno::Reference& rxComponentContext, + const css::uno::Reference& rxParentWindow, + const ::boost::function& rThumbMotionListener); + virtual ~PresenterHorizontalScrollBar (void); + virtual sal_Int32 GetSize (void) const; + +protected: + virtual css::geometry::RealRectangle2D GetBorderRectangle ( + const sal_Int32 nLeftOrTopBorder, + const sal_Int32 nRightOrBottomBorder) const; + virtual double GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const; + virtual css::geometry::RealPoint2D GetPoint (const double nMajor, const double nMinor) const; + virtual double GetMinor (const double nX, const double nY) const; + virtual double GetMajor (const double nX, const double nY) const; + virtual void UpdateBorders (void); + virtual void UpdateBitmaps (void); + +private: + sal_Int32 mnScrollBarHeight; +}; + + + + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From 2cd7e62fefac42c34feae3a02d4572e2aaedb5fb Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:04:19 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/30 15:06:20 af 1.1.2.7: #i18486# Avoid re-creation of preview bitmap when only its position but not its size changes. 2008/01/30 11:53:12 af 1.1.2.6: #i18486# Added mxPane member. Demoted mxCanvas from XSpriteCanvas to XCanvas. 2008/01/21 15:10:00 af 1.1.2.5: #i18486# Code cleanup. 2007/12/12 15:23:36 af 1.1.2.4: #i18486# Using canvas for rendering. 2007/11/19 09:42:08 af 1.1.2.3: #i18486# Added isAnchorOnly() method. 2007/10/25 09:53:57 af 1.1.2.2: #i18486# Removed meSlide member. 2007/10/24 12:14:53 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSlidePreview.cxx | 445 +++++++++++++++++++++++ 1 file changed, 445 insertions(+) create mode 100644 sdext/source/presenter/PresenterSlidePreview.cxx diff --git a/sdext/source/presenter/PresenterSlidePreview.cxx b/sdext/source/presenter/PresenterSlidePreview.cxx new file mode 100644 index 000000000000..e578a2c1b92e --- /dev/null +++ b/sdext/source/presenter/PresenterSlidePreview.cxx @@ -0,0 +1,445 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSlidePreview.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:04:19 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterSlidePreview.hxx" +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace +{ + // Use a super sample factor greater than 1 to achive a poor mans + // antialiasing effect for slide previews. + const sal_Int16 gnSuperSampleFactor = 2; +} + +namespace sdext { namespace presenter { + +//===== PresenterSlidePreview ================================================= + +PresenterSlidePreview::PresenterSlidePreview ( + const Reference& rxContext, + const Reference& rxViewId, + const Reference& rxAnchorPane, + const ::rtl::Reference& rpPresenterController) + : PresenterSlidePreviewInterfaceBase(m_aMutex), + mpPresenterController(rpPresenterController), + mxPane(rxAnchorPane), + mxViewId(rxViewId), + mxPreviewRenderer(), + mxPreview(), + mxCurrentSlide(), + mxWindow(), + mxCanvas() +{ + if ( ! rxContext.is() + || ! rxViewId.is() + || ! rxAnchorPane.is() + || ! rpPresenterController.is()) + { + throw RuntimeException( + OUString::createFromAscii( + "PresenterSlidePreview can not be constructed due to empty argument"), + static_cast(this)); + } + + mxWindow = rxAnchorPane->getWindow(); + mxCanvas = rxAnchorPane->getCanvas(); + + if (mxWindow.is()) + { + mxWindow->addWindowListener(this); + mxWindow->addPaintListener(this); + + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->setBackground(util::Color(0xff000000)); + + mxWindow->setVisible(sal_True); + } + + + Reference xFactory (rxContext->getServiceManager(), UNO_QUERY); + if (xFactory.is()) + mxPreviewRenderer = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.drawing.SlideRenderer"), + rxContext), + UNO_QUERY); + + Resize(); +} + + + + +PresenterSlidePreview::~PresenterSlidePreview (void) +{ +} + + + + +void SAL_CALL PresenterSlidePreview::disposing (void) +{ + if (mxWindow.is()) + { + mxWindow->removeWindowListener(this); + mxWindow->removePaintListener(this); + mxWindow = NULL; + mxCanvas = NULL; + } + + Reference xComponent (mxPreviewRenderer, UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); +} + + + + +//----- XResourceId ----------------------------------------------------------- + +Reference SAL_CALL PresenterSlidePreview::getResourceId (void) + throw (RuntimeException) +{ + return mxViewId; +} + + + + +sal_Bool SAL_CALL PresenterSlidePreview::isAnchorOnly (void) + throw (RuntimeException) +{ + return false; +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterSlidePreview::windowResized (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + Resize(); +} + + + + + +void SAL_CALL PresenterSlidePreview::windowMoved (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterSlidePreview::windowShown (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + Resize(); +} + + + + +void SAL_CALL PresenterSlidePreview::windowHidden (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterSlidePreview::windowPaint (const awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + ThrowIfDisposed(); + + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + if (mxWindow.is()) + Paint(awt::Rectangle( + rEvent.UpdateRect.X, + rEvent.UpdateRect.Y, + rEvent.UpdateRect.Width, + rEvent.UpdateRect.Height)); +} + + + + +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL PresenterSlidePreview::disposing (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + if (rEvent.Source == mxWindow) + { + mxWindow = NULL; + mxCanvas = NULL; + mxPreview = NULL; + } +} + + + + +//----- XDrawView ------------------------------------------------------------- + +void SAL_CALL PresenterSlidePreview::setCurrentPage (const Reference& rxSlide) + throw (RuntimeException) +{ + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + SetSlide(rxSlide); +} + + + + +Reference SAL_CALL PresenterSlidePreview::getCurrentPage (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + return NULL; +} + + + + +//----------------------------------------------------------------------------- + +void PresenterSlidePreview::SetSlide (const Reference& rxPage) +{ + mxCurrentSlide = rxPage; + mxPreview = NULL; + + Reference xPropertySet (mxCurrentSlide, UNO_QUERY); + if (xPropertySet.is()) + { + awt::Size aSlideSize; + try + { + xPropertySet->getPropertyValue( + OUString::createFromAscii("Width")) >>= aSlideSize.Width; + xPropertySet->getPropertyValue( + OUString::createFromAscii("Height")) >>= aSlideSize.Height; + } + catch (beans::UnknownPropertyException&) + { + OSL_ASSERT(false); + } + if (aSlideSize.Height > 0) + mnSlideAspectRatio = double(aSlideSize.Width) / double(aSlideSize.Height); + } + + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(awt::InvalidateStyle::NOERASE); +} + + + + +void PresenterSlidePreview::Paint (const awt::Rectangle& rBoundingBox) +{ + (void)rBoundingBox; + if ( ! mxWindow.is()) + return; + if ( ! mxCanvas.is()) + return; + if ( ! mxPreviewRenderer.is()) + return; + + // Make sure that a preview in the correct size exists. + awt::Rectangle aWindowBox (mxWindow->getPosSize()); + + if ( ! mxPreview.is() && mxCurrentSlide.is()) + { + // Create a new preview bitmap. + mxPreview = mxPreviewRenderer->createPreviewForCanvas( + mxCurrentSlide, + awt::Size(aWindowBox.Width, aWindowBox.Height), + gnSuperSampleFactor, + mxCanvas); + } + + const rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + + // Paint the background + { + util::Color aColor ( + mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL())); + Sequence aBackgroundColor(3); + aBackgroundColor[0] = ((aColor >> 16) & 0x0ff) / 255.0; + aBackgroundColor[1] = ((aColor >> 8) & 0x0ff) / 255.0; + aBackgroundColor[2] = ((aColor >> 0) & 0x0ff) / 255.0; + const rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1, 0, 0, 0, 1, 0), + NULL, + aBackgroundColor, + rendering::CompositeOperation::SOURCE); + + Sequence > aBox(1); + aBox[0] = Sequence(4); + aBox[0][0] = geometry::RealPoint2D(0,0); + aBox[0][1] = geometry::RealPoint2D(aWindowBox.Width, 0); + aBox[0][2] = geometry::RealPoint2D(aWindowBox.Width, aWindowBox.Height); + aBox[0][3] = geometry::RealPoint2D(0, aWindowBox.Height); + Reference xPolygon ( + mxCanvas->getDevice()->createCompatibleLinePolyPolygon(aBox), + UNO_QUERY); + if (xPolygon.is()) + { + xPolygon->setClosed(0, sal_True); + mxCanvas->fillPolyPolygon(xPolygon, aViewState, aRenderState); + } + } + + // Paint the preview. + Sequence aBackgroundColor(3); + aBackgroundColor[0] = 0; + aBackgroundColor[1] = 0; + aBackgroundColor[2] = 0; + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1, 0, 0, 0, 1, 0), + NULL, + aBackgroundColor, + rendering::CompositeOperation::SOURCE); + if (mxPreview.is()) + { + const geometry::IntegerSize2D aPreviewSize (mxPreview->getSize()); + aRenderState.AffineTransform.m02 = (aWindowBox.Width - aPreviewSize.Width)/2; + aRenderState.AffineTransform.m12 = (aWindowBox.Height - aPreviewSize.Height)/2; + mxCanvas->drawBitmap(mxPreview, aViewState, aRenderState); + } + else + { + if (mnSlideAspectRatio > 0) + { + const awt::Size aPreviewSize (mxPreviewRenderer->calculatePreviewSize( + mnSlideAspectRatio,awt::Size(aWindowBox.Width, aWindowBox.Height))); + aRenderState.AffineTransform.m02 = (aWindowBox.Width - aPreviewSize.Width)/2; + aRenderState.AffineTransform.m12 = (aWindowBox.Height - aPreviewSize.Height)/2; + Sequence > aBox(1); + aBox[0] = Sequence(4); + aBox[0][0] = geometry::RealPoint2D(0,0); + aBox[0][1] = geometry::RealPoint2D(aPreviewSize.Width, 0); + aBox[0][2] = geometry::RealPoint2D(aPreviewSize.Width, aPreviewSize.Height); + aBox[0][3] = geometry::RealPoint2D(0, aPreviewSize.Height); + Reference xPolygon ( + mxCanvas->getDevice()->createCompatibleLinePolyPolygon(aBox), + UNO_QUERY); + if (xPolygon.is()) + { + xPolygon->setClosed(0, sal_False); + mxCanvas->fillPolyPolygon(xPolygon, aViewState, aRenderState); + } + } + } + + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); +} + + + + +void PresenterSlidePreview::Resize (void) +{ + if (mxPreviewRenderer.is() && mxPreview.is()) + { + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const awt::Size aNewPreviewSize (mxPreviewRenderer->calculatePreviewSize( + mnSlideAspectRatio, + awt::Size(aWindowBox.Width, aWindowBox.Height))); + const geometry::IntegerSize2D aPreviewSize (mxPreview->getSize()); + if (aNewPreviewSize.Width==aPreviewSize.Width + && aNewPreviewSize.Height==aPreviewSize.Height) + { + // The size of the window may have changed but the preview would + // be painted in the same size (but not necessarily at the same + // position.) + return; + } + } + SetSlide(mxCurrentSlide); +} + + + + +void PresenterSlidePreview::ThrowIfDisposed (void) + throw (::com::sun::star::lang::DisposedException) +{ + if (PresenterSlidePreviewInterfaceBase::rBHelper.bDisposed || PresenterSlidePreviewInterfaceBase::rBHelper.bInDispose) + { + throw lang::DisposedException ( + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterSlidePreview object has already been disposed")), + static_cast(this)); + } +} + + +} } // end of namespace ::sd::presenter + -- cgit From 0e6997e3c77cf6bbe9d0df0d1c341621fdbb80cd Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:04:29 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/30 11:52:17 af 1.1.2.5: #i18486# Added mxPane member. Demoted mxCanvas from XSpriteCanvas to XCanvas. 2007/12/12 15:20:38 af 1.1.2.4: #i18486# Using canvas for rendering. 2007/11/19 09:41:30 af 1.1.2.3: #i18486# Added isAnchorOnly() method. 2007/10/25 09:54:45 af 1.1.2.2: #i18486# Removed meSlide member. 2007/10/24 12:15:05 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSlidePreview.hxx | 181 +++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 sdext/source/presenter/PresenterSlidePreview.hxx diff --git a/sdext/source/presenter/PresenterSlidePreview.hxx b/sdext/source/presenter/PresenterSlidePreview.hxx new file mode 100644 index 000000000000..74cbc74e4bc4 --- /dev/null +++ b/sdext/source/presenter/PresenterSlidePreview.hxx @@ -0,0 +1,181 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSlidePreview.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:04:29 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_SLIDE_PREVIEW_HXX +#define SDEXT_PRESENTER_SLIDE_PREVIEW_HXX + +#include "PresenterController.hxx" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +namespace { + typedef ::cppu::WeakComponentImplHelper4 < + css::drawing::framework::XView, + css::drawing::XDrawView, + css::awt::XPaintListener, + css::awt::XWindowListener + > PresenterSlidePreviewInterfaceBase; +} + + +/** Static preview of a slide. Typically used for the preview of the next + slide. + This implementation shows a preview of the slide given to the + setCurrentSlide. For showing the next slide the PresenterViewFactory + uses a derived class that overloads the setCurrentSlide() method. +*/ +class PresenterSlidePreview + : private ::boost::noncopyable, + private ::cppu::BaseMutex, + public PresenterSlidePreviewInterfaceBase +{ +public: + PresenterSlidePreview ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxAnchorPane, + const ::rtl::Reference& rpPresenterController); + virtual ~PresenterSlidePreview (void); + virtual void SAL_CALL disposing (void); + + + // XResourceId + + virtual css::uno::Reference SAL_CALL getResourceId (void) + throw (css::uno::RuntimeException); + + virtual sal_Bool SAL_CALL isAnchorOnly (void) + throw (com::sun::star::uno::RuntimeException); + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + + // lang::XEventListener + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XDrawView + + virtual void SAL_CALL setCurrentPage ( + const css::uno::Reference& rxSlide) + throw (css::uno::RuntimeException); + + virtual css::uno::Reference SAL_CALL getCurrentPage (void) + throw (css::uno::RuntimeException); + +protected: + ::rtl::Reference mpPresenterController; + +private: + css::uno::Reference mxPane; + css::uno::Reference mxViewId; + css::uno::Reference mxPreviewRenderer; + + /** This Image holds the preview of the current slide. After resize + requests the image may be empty. This results eventually in a call + to ProvideSlide() in order to created a preview in the correct new + size. + */ + css::uno::Reference mxPreview; + + /** The current slide for which a preview is displayed. This may or + may not be the same as the current slide of the PresenterView. + */ + css::uno::Reference mxCurrentSlide; + double mnSlideAspectRatio; + + css::uno::Reference mxWindow; + css::uno::Reference mxCanvas; + + /** Set the given slide as the current slide of the called PresenterSlidePreview + object. + */ + void SetSlide (const css::uno::Reference& rxPage); + + /** Paint the preview of the current slide centered in the window of the + anchor pane. + */ + void Paint (const css::awt::Rectangle& rBoundingBox); + + /** React to a resize of the anchor pane. + */ + void Resize (void); + + /** This method throws a DisposedException when the object has already been + disposed. + */ + void ThrowIfDisposed (void) throw (css::lang::DisposedException); +}; + +} } // end of namespace ::sd::presenter + +#endif -- cgit From 2f93f42c3b95ffaad6386b7987d5441c2223ece7 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:04:41 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:32:12 af 1.1.2.8: #i18486# Added ForceRepaint() method. 2008/01/30 15:07:11 af 1.1.2.7: #i18486# Fixed repainting of the preview. 2008/01/24 09:46:59 af 1.1.2.6: #i18486# Remember background polygon. 2008/01/23 12:09:25 af 1.1.2.5: #i18486# Make use of XPresenterHelper. 2008/01/09 18:36:57 cl 1.1.2.4: #i18486# use new slideshow api 2007/12/12 15:26:51 af 1.1.2.3: #i18486# Code cleanup. 2007/11/19 09:43:13 af 1.1.2.2: #i18486# Added isAnchorOnly() method. 2007/10/24 12:17:06 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSlideShowView.cxx | 911 ++++++++++++++++++++++ 1 file changed, 911 insertions(+) create mode 100644 sdext/source/presenter/PresenterSlideShowView.cxx diff --git a/sdext/source/presenter/PresenterSlideShowView.cxx b/sdext/source/presenter/PresenterSlideShowView.cxx new file mode 100644 index 000000000000..ec300a6ce696 --- /dev/null +++ b/sdext/source/presenter/PresenterSlideShowView.cxx @@ -0,0 +1,911 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSlideShowView.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:04:41 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterSlideShowView.hxx" + +#include "PresenterGeometryHelper.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +//===== Service =============================================================== + +OUString PresenterSlideShowView::getImplementationName_static (void) +{ + return OUString::createFromAscii("com.sun.star.comp.Presenter.SlideShowView"); +} + + + + +Sequence PresenterSlideShowView::getSupportedServiceNames_static (void) +{ + static const ::rtl::OUString sServiceName( + ::rtl::OUString::createFromAscii("com.sun.star.drawing.presenter.SlideShowView")); + return Sequence(&sServiceName, 1); +} + + + + +Reference PresenterSlideShowView::Create ( + const Reference& rxContext) + SAL_THROW((Exception)) +{ + return Reference(static_cast(new PresenterSlideShowView(rxContext))); +} + + + + +//===== PresenterSlideShowView ================================================ + +PresenterSlideShowView::PresenterSlideShowView (const Reference& rxContext) + : PresenterSlideShowViewInterfaceBase(m_aMutex), + mxComponentContext(rxContext), + mxViewId(), + mxController(), + mxSlideShowController(), + mxSlideShow(), + mxCanvas(), + mxViewCanvas(), + mxPointer(), + mxWindow(), + mxViewWindow(), + mxBackgroundPolyPolygon(), + mnPageAspectRatio(1), + maBroadcaster(m_aMutex), + maBackgroundColor(0x00ffffff), + mbIsInModifyNotification(false), + mbIsForcedPaintPending(false), + mbIsPaintPending(true) +{ +} + + + + +void SAL_CALL PresenterSlideShowView::initialize (const Sequence& rArguments) + throw (Exception, RuntimeException) +{ + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + + if (rArguments.getLength() == 5) + { + try + { + // Extract the given arguments. + if ( ! (rArguments[0] >>= mxViewId)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterSlideShowView: invalid view id"), + static_cast(this), + 0); + } + if ( ! (rArguments[1] >>= mxController)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterSlideShowView: invalid XController"), + static_cast(this), + 1); + } + if ( ! (rArguments[2] >>= mxSlideShowController)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterSlideShowView: invalid XSlideShowController"), + static_cast(this), + 2); + } + if ( ! (rArguments[3] >>= mnPageAspectRatio)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterSlideShowView: invalid aspect ratio"), + static_cast(this), + 3); + } + if ( ! (rArguments[4] >>= maBackgroundColor)) + { + throw lang::IllegalArgumentException( + OUString::createFromAscii("PresenterSlideShowView: invalid background color"), + static_cast(this), + 4); + } + + mxSlideShow = Reference ( + mxSlideShowController->getSlideShow(), UNO_QUERY_THROW); + + // Use view id and controller to retrieve window and canvas from + // configuration controller. + Reference xCM (mxController, UNO_QUERY_THROW); + Reference xCC (xCM->getConfigurationController()); + + if (xCC.is()) + { + Reference xPane (xCC->getResource(mxViewId->getAnchor()), UNO_QUERY_THROW); + + mxWindow = xPane->getWindow(); + mxCanvas = xPane->getCanvas(); + } + + if (mxWindow.is()) + { + // Register listeners at window. + mxWindow->addPaintListener(this); + mxWindow->addMouseListener(this); + mxWindow->addMouseMotionListener(this); + mxWindow->addWindowListener(this); + + mxWindow->setVisible(sal_True); + + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->setBackground(util::Color(0xff000000)); + } + + mxViewWindow = CreateViewWindow(mxWindow); + if (mxViewWindow.is()) + Resize(); + + // Create a canvas for the view window. + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + Reference xPresenterHelper( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + mxComponentContext), + UNO_QUERY_THROW); + Reference xParentPane ( + xCC->getResource(mxViewId->getAnchor()->getAnchor()), + UNO_QUERY_THROW); + mxViewCanvas = xPresenterHelper->createSharedCanvas( + Reference(xParentPane->getCanvas(), UNO_QUERY), + xParentPane->getWindow(), + xParentPane->getCanvas(), + xParentPane->getWindow(), + mxViewWindow); + } + catch (RuntimeException&) + { + OSL_ENSURE(false, "PresenterSlideShowView::initialize(): caught exception"); + disposing(); + throw; + } + } + else + { + throw RuntimeException( + OUString::createFromAscii("PresenterSlideShowView: invalid number of arguments"), + static_cast(this)); + } +} + + + + +PresenterSlideShowView::~PresenterSlideShowView (void) +{ +} + + + + +void PresenterSlideShowView::disposing (void) +{ + if (mxWindow.is()) + { + mxWindow->removePaintListener(this); + mxWindow->removeMouseListener(this); + mxWindow->removeMouseMotionListener(this); + mxWindow->removeWindowListener(this); + mxWindow = NULL; + } + if (mxViewWindow.is()) + { + Reference xComponent (mxViewWindow, UNO_QUERY); + mxViewWindow = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + if (mxViewCanvas.is()) + { + Reference xComponent (mxViewCanvas, UNO_QUERY); + mxViewCanvas = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + lang::EventObject aEvent; + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + pIterator->disposeAndClear(aEvent); + // Do this for + // XModifyListener,XMouseListener,XMouseMotionListener,XWindowListener? + mxComponentContext = NULL; +} + + + + +Reference SAL_CALL PresenterSlideShowView::getCanvas (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + + return Reference(mxViewCanvas, UNO_QUERY); +} + + + + +void SAL_CALL PresenterSlideShowView::clear (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + mbIsForcedPaintPending = false; + mbIsPaintPending = false; + + if (mxViewCanvas.is() && mxViewWindow.is()) + { + // Create a polygon for the window outline. + awt::Rectangle aViewWindowBox (mxViewWindow->getPosSize()); + Reference xPolygon (PresenterGeometryHelper::CreatePolygon( + awt::Rectangle(0,0, aViewWindowBox.Width,aViewWindowBox.Height), + mxViewCanvas->getDevice())); + + rendering::ViewState aViewState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + double aColor[3] = {0,0,0}; + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(aColor,3), + rendering::CompositeOperation::SOURCE); + mxViewCanvas->fillPolyPolygon(xPolygon, aViewState, aRenderState); + } +} + + + + +geometry::AffineMatrix2D SAL_CALL PresenterSlideShowView::getTransformation (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + + if (mxViewWindow.is()) + { + // When the mbIsInModifyNotification is set then a slightly modifed + // version of the transformation is returned in order to get past + // optimizations the avoid updates when the transformation is + // unchanged (when the window size changes then due to the constant + // aspect ratio the size of the preview may remain the same while + // the position changes. The position, however, is repesented by + // the position of the view window. This transformation is given + // relative to the view window and therefore does not contain the + // position.) + const awt::Rectangle aWindowBox = mxViewWindow->getPosSize(); + return geometry::AffineMatrix2D( + aWindowBox.Width-1, 0, (mbIsInModifyNotification ? 1 : 0), + 0, aWindowBox.Height-1, 0); + } + else + { + return geometry::AffineMatrix2D(1,0,0, 0,1,0); + } +} + + + + +void SAL_CALL PresenterSlideShowView::addTransformationChangedListener( + const Reference& rxListener) + throw (RuntimeException) +{ + ThrowIfDisposed(); + maBroadcaster.addListener( + getCppuType((Reference*)NULL), + rxListener); +} + + + + +void SAL_CALL PresenterSlideShowView::removeTransformationChangedListener( + const Reference& rxListener) + throw (RuntimeException) +{ + ThrowIfDisposed(); + maBroadcaster.removeListener( + getCppuType((Reference*)NULL), + rxListener); +} + + + + +void SAL_CALL PresenterSlideShowView::addPaintListener( + const Reference& rxListener) + throw (RuntimeException) +{ + ThrowIfDisposed(); + maBroadcaster.addListener( + getCppuType((Reference*)NULL), + rxListener); +} + + + + +void SAL_CALL PresenterSlideShowView::removePaintListener( + const Reference& rxListener) + throw (RuntimeException) +{ + ThrowIfDisposed(); + maBroadcaster.removeListener( + getCppuType((Reference*)NULL), + rxListener); +} + + + + +void SAL_CALL PresenterSlideShowView::addMouseListener( + const Reference& rxListener) + throw (RuntimeException) +{ + ThrowIfDisposed(); + maBroadcaster.addListener( + getCppuType((Reference*)NULL), + rxListener); +} + + + + +void SAL_CALL PresenterSlideShowView::removeMouseListener( + const Reference& rxListener) + throw (RuntimeException) +{ + ThrowIfDisposed(); + maBroadcaster.removeListener( + getCppuType((Reference*)NULL), + rxListener); +} + + + + +void SAL_CALL PresenterSlideShowView::addMouseMotionListener( + const Reference& rxListener) + throw (RuntimeException) +{ + ThrowIfDisposed(); + maBroadcaster.addListener( + getCppuType((Reference*)NULL), + rxListener); +} + + + + +void SAL_CALL PresenterSlideShowView::removeMouseMotionListener( + const Reference& rxListener) + throw (RuntimeException) +{ + ThrowIfDisposed(); + maBroadcaster.removeListener( + getCppuType((Reference*)NULL), + rxListener); +} + + + + +void SAL_CALL PresenterSlideShowView::setMouseCursor(::sal_Int16 nPointerShape) + throw (RuntimeException) +{ + ThrowIfDisposed(); + + // Create a pointer when it does not yet exist. + if ( ! mxPointer.is()) + { + Reference xFactory ( + mxComponentContext, UNO_QUERY); + if (xFactory.is()) + mxPointer = Reference( + xFactory->createInstance(OUString::createFromAscii("com.sun.star.awt.Pointer")), + UNO_QUERY); + } + + // Set the pointer to the given shape and the window(peer) to the + // pointer. + Reference xPeer (mxViewWindow, UNO_QUERY); + if (mxPointer.is() && xPeer.is()) + { + mxPointer->setType(nPointerShape); + xPeer->setPointer(mxPointer); + } +} + + + + +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL PresenterSlideShowView::disposing (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + if (rEvent.Source == mxViewWindow) + mxViewWindow = NULL; +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterSlideShowView::windowPaint (const awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + awt::Rectangle aViewWindowBox (mxViewWindow->getPosSize()); + if (aViewWindowBox.Width <= 0 || aViewWindowBox.Height <= 0) + return; + + // Paint the background + if (mxCanvas.is() && mxBackgroundPolyPolygon.is()) + { + const rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + PresenterGeometryHelper::CreatePolygon(rEvent.UpdateRect, mxCanvas->getDevice())); + + Sequence aBackgroundColor(3); + aBackgroundColor[0] = ((maBackgroundColor >> 16) & 0x0ff) / 255.0; + aBackgroundColor[1] = ((maBackgroundColor >> 8) & 0x0ff) / 255.0; + aBackgroundColor[2] = ((maBackgroundColor >> 0) & 0x0ff) / 255.0; + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1, 0, 0, 0, 1, 0), + NULL, + aBackgroundColor, + rendering::CompositeOperation::SOURCE); + + mxCanvas->fillPolyPolygon(mxBackgroundPolyPolygon, aViewState, aRenderState); + } + + // Forward windowpaint to listeners. + awt::PaintEvent aEvent (rEvent); + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + { + pIterator->notifyEach(&awt::XPaintListener::windowPaint, aEvent); + } + + if (mbIsForcedPaintPending) + ForceRepaint(); + + // Schedule the processing of the events caused by the previous notifies. + if (mxSlideShow.is()) + { + double nTimeToNextUpdateCall (0); + mxSlideShow->update(nTimeToNextUpdateCall); + // We do not call update regularly, so we ignore the returned values. + } + + // Finally, in double buffered environments, request the changes to be + // made visible. + Reference mxSpriteCanvas (mxCanvas, UNO_QUERY); + if (mxSpriteCanvas.is()) + mxSpriteCanvas->updateScreen(sal_True); +} + + + + +//----- XMouseListener -------------------------------------------------------- + +void SAL_CALL PresenterSlideShowView::mousePressed (const awt::MouseEvent& rEvent) + throw (RuntimeException) +{ + awt::MouseEvent aEvent (rEvent); + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + { + pIterator->notifyEach(&awt::XMouseListener::mousePressed, aEvent); + } +} + + + + +void SAL_CALL PresenterSlideShowView::mouseReleased (const awt::MouseEvent& rEvent) + throw (RuntimeException) +{ + awt::MouseEvent aEvent (rEvent); + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + { + pIterator->notifyEach(&awt::XMouseListener::mouseReleased, aEvent); + } +} + + + + +void SAL_CALL PresenterSlideShowView::mouseEntered (const awt::MouseEvent& rEvent) + throw (RuntimeException) +{ + awt::MouseEvent aEvent (rEvent); + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + { + pIterator->notifyEach(&awt::XMouseListener::mouseEntered, aEvent); + } +} + + + + +void SAL_CALL PresenterSlideShowView::mouseExited (const awt::MouseEvent& rEvent) + throw (RuntimeException) +{ + awt::MouseEvent aEvent (rEvent); + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + { + pIterator->notifyEach(&awt::XMouseListener::mouseExited, aEvent); + } +} + + + + +//----- XMouseMotionListener -------------------------------------------------- + +void SAL_CALL PresenterSlideShowView::mouseDragged (const awt::MouseEvent& rEvent) + throw (RuntimeException) +{ + awt::MouseEvent aEvent (rEvent); + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + { + pIterator->notifyEach(&awt::XMouseMotionListener::mouseDragged, aEvent); + } +} + + + + +void SAL_CALL PresenterSlideShowView::mouseMoved (const awt::MouseEvent& rEvent) + throw (RuntimeException) +{ + awt::MouseEvent aEvent (rEvent); + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + { + pIterator->notifyEach(&awt::XMouseMotionListener::mouseMoved, aEvent); + } +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterSlideShowView::windowResized (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + + Resize(); +} + + + + + +void SAL_CALL PresenterSlideShowView::windowMoved (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + if ( ! mbIsPaintPending) + mbIsForcedPaintPending = true; +} + + + + +void SAL_CALL PresenterSlideShowView::windowShown (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + Resize(); +} + + + + +void SAL_CALL PresenterSlideShowView::windowHidden (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XView ----------------------------------------------------------------- + +Reference SAL_CALL PresenterSlideShowView::getResourceId (void) + throw(RuntimeException) +{ + return mxViewId; +} + + + + +sal_Bool SAL_CALL PresenterSlideShowView::isAnchorOnly (void) + throw (RuntimeException) +{ + return false; +} + + + + +//----------------------------------------------------------------------------- + +Reference PresenterSlideShowView::CreateViewWindow ( + const Reference& rxParentWindow) +{ + Reference xViewWindow; + try + { + Reference xFactory (mxComponentContext->getServiceManager()); + if ( ! xFactory.is()) + return xViewWindow; + + Reference xToolkit ( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.awt.Toolkit"), + mxComponentContext), + UNO_QUERY_THROW); + awt::WindowDescriptor aWindowDescriptor ( + awt::WindowClass_CONTAINER, + OUString(), + Reference(rxParentWindow,UNO_QUERY_THROW), + -1, // parent index not available + awt::Rectangle(0,0,10,10), + awt::WindowAttribute::SIZEABLE + | awt::WindowAttribute::MOVEABLE + | awt::WindowAttribute::NODECORATION); + xViewWindow = Reference( + xToolkit->createWindow(aWindowDescriptor),UNO_QUERY_THROW); + + // Make the background transparent. The slide show paints its own background. + Reference xPeer (xViewWindow, UNO_QUERY_THROW); + if (xPeer.is()) + { + xPeer->setBackground(0xff000000); + } + + xViewWindow->setVisible(sal_True); + } + catch (RuntimeException&) + { + } + return xViewWindow; +} + + + + +void PresenterSlideShowView::Resize (void) +{ + if ( ! mxWindow.is() || ! mxViewWindow.is()) + return; + + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + awt::Rectangle aViewWindowBox; + if (aWindowBox.Height > 0) + { + const double nWindowAspectRatio ( + double(aWindowBox.Width) / double(aWindowBox.Height)); + if (nWindowAspectRatio > mnPageAspectRatio) + { + // Slides will be painted with the full parent window height. + aViewWindowBox.Width = sal_Int32(aWindowBox.Height * mnPageAspectRatio + 0.5); + aViewWindowBox.Height = aWindowBox.Height; + aViewWindowBox.X = (aWindowBox.Width - aViewWindowBox.Width) / 2; + aViewWindowBox.Y = 0; + } + else + { + // Slides will be painted with the full parent window width. + aViewWindowBox.Width = aWindowBox.Width; + aViewWindowBox.Height = sal_Int32(aWindowBox.Width / mnPageAspectRatio + 0.5); + aViewWindowBox.X = 0; + aViewWindowBox.Y = (aWindowBox.Height - aViewWindowBox.Height) / 2; + } + mxViewWindow->setPosSize( + aViewWindowBox.X, + aViewWindowBox.Y, + aViewWindowBox.Width, + aViewWindowBox.Height, + awt::PosSize::POSSIZE); + } + + // Clear the background polygon so that on the next paint it is created + // for the new size. + mxBackgroundPolyPolygon = CreateBackgroundPolyPolygon(); + + + // Due to constant aspect ratio resizing may lead a preview that changes + // its position but not its size. This invalidates the back buffer and + // we have to enforce a complete repaint. + if ( ! mbIsPaintPending) + mbIsForcedPaintPending = true; +} + + + + +void PresenterSlideShowView::ForceRepaint (void) +{ + // The modify listeners are called twice. The first time the + // mbIsInModifyNotification flag leads to a slightly modified + // transformation returned by getTransformation(). With this hack we + // get past the optimization that otherwise prevents a proper repaint + // when the size of the preview does not change. + mbIsInModifyNotification = true; + try + { + lang::EventObject aEvent; + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + pIterator->notifyEach(&util::XModifyListener::modified, aEvent); + } + catch (Exception&) + { + } + mbIsInModifyNotification = false; + + lang::EventObject aEvent; + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + pIterator->notifyEach(&util::XModifyListener::modified, aEvent); +} + + + + +Reference + PresenterSlideShowView::CreateBackgroundPolyPolygon (void) const +{ + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const awt::Rectangle aViewWindowBox (mxViewWindow->getPosSize()); + ::std::vector aBackgroundBoxes; + if (aWindowBox.Height == aViewWindowBox.Height) + { + // Paint two boxes to the left and right of the view window. + aBackgroundBoxes.push_back( + awt::Rectangle( + 0, + 0, + aViewWindowBox.X, + aWindowBox.Height)); + aBackgroundBoxes.push_back( + awt::Rectangle( + aViewWindowBox.X + aViewWindowBox.Width, + 0, + aWindowBox.Width - aViewWindowBox.X - aViewWindowBox.Width, + aWindowBox.Height)); + } + else + { + // Paint two boxes above and below the view window. + aBackgroundBoxes.push_back( + awt::Rectangle( + 0, + 0, + aWindowBox.Width, + aViewWindowBox.Y)); + aBackgroundBoxes.push_back( + awt::Rectangle( + 0, + aViewWindowBox.Y + aViewWindowBox.Height, + aWindowBox.Width, + aWindowBox.Height - aViewWindowBox.Y - aViewWindowBox.Height)); + } + + return PresenterGeometryHelper::CreatePolygon(aBackgroundBoxes, mxCanvas->getDevice()); +} + + + + +void PresenterSlideShowView::ThrowIfDisposed (void) + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString::createFromAscii("PresenterSlideShowView object has already been disposed"), + static_cast(this)); + } +} + + +} } // end of namespace ::sd::presenter -- cgit From 92fc891fcd4695f3520e322fac069c839ce7b115 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:04:51 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:31:32 af 1.1.2.6: #i18486# Added ForceRepaint() method. 2008/01/30 15:08:28 af 1.1.2.5: #i18486# Fixed repainting of the preview. 2008/01/24 09:46:16 af 1.1.2.4: #i18486# Remember background polygon. 2007/12/12 15:28:08 af 1.1.2.3: #i18486# Code cleanup. 2007/11/19 09:42:49 af 1.1.2.2: #i18486# Added isAnchorOnly() method. 2007/10/24 12:17:19 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSlideShowView.hxx | 272 ++++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 sdext/source/presenter/PresenterSlideShowView.hxx diff --git a/sdext/source/presenter/PresenterSlideShowView.hxx b/sdext/source/presenter/PresenterSlideShowView.hxx new file mode 100644 index 000000000000..5ec29f40816e --- /dev/null +++ b/sdext/source/presenter/PresenterSlideShowView.hxx @@ -0,0 +1,272 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSlideShowView.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:04:51 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_SLIDE_SHOW_VIEW_HXX +#define SDEXT_PRESENTER_SLIDE_SHOW_VIEW_HXX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +namespace { + typedef cppu::WeakComponentImplHelper7< + css::presentation::XSlideShowView, + css::awt::XPaintListener, + css::awt::XMouseListener, + css::awt::XMouseMotionListener, + css::awt::XWindowListener, + css::drawing::framework::XView, + css::lang::XInitialization + > PresenterSlideShowViewInterfaceBase; +} + +/** Life view in a secondary windo of a full screen slide show. +*/ +class PresenterSlideShowView + : private ::boost::noncopyable, + protected ::cppu::BaseMutex, + public PresenterSlideShowViewInterfaceBase +{ +public: + PresenterSlideShowView (const css::uno::Reference& rxContext); + virtual ~PresenterSlideShowView (void); + + virtual void SAL_CALL disposing (void); + + // Service. + + static ::rtl::OUString getImplementationName_static (void); + static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); + static css::uno::Reference Create( + const css::uno::Reference& rxContext) + SAL_THROW((css::uno::Exception)); + + + // XSlideShowView + + virtual css::uno::Reference< + css::rendering::XSpriteCanvas > SAL_CALL getCanvas (void) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL clear (void) + throw (css::uno::RuntimeException); + + virtual css::geometry::AffineMatrix2D SAL_CALL getTransformation (void) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL addTransformationChangedListener( + const css::uno::Reference< + css::util::XModifyListener >& xListener) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL removeTransformationChangedListener( + const css::uno::Reference< + css::util::XModifyListener >& xListener) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL addPaintListener( + const css::uno::Reference< + css::awt::XPaintListener >& xListener) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL removePaintListener( + const css::uno::Reference< + css::awt::XPaintListener >& xListener) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL addMouseListener( + const css::uno::Reference< + css::awt::XMouseListener >& xListener) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL removeMouseListener( + const css::uno::Reference< + css::awt::XMouseListener >& xListener) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL addMouseMotionListener( + const css::uno::Reference< + css::awt::XMouseMotionListener >& xListener) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL removeMouseMotionListener( + const css::uno::Reference< + css::awt::XMouseMotionListener >& xListener) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL setMouseCursor(::sal_Int16 nPointerShape) + throw (css::uno::RuntimeException); + + + // lang::XEventListener + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseListener + virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseMotionListener + + virtual void SAL_CALL mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XView + + virtual css::uno::Reference SAL_CALL + getResourceId (void) + throw(css::uno::RuntimeException); + + virtual sal_Bool SAL_CALL isAnchorOnly (void) + throw (com::sun::star::uno::RuntimeException); + + + // XInitialization + + virtual void SAL_CALL initialize (const css::uno::Sequence& rArguments) + throw (css::uno::Exception, css::uno::RuntimeException); + +private: + css::uno::Reference mxComponentContext; + css::uno::Reference mxViewId; + css::uno::Reference mxController; + css::uno::Reference mxSlideShowController; + css::uno::Reference mxSlideShow; + css::uno::Reference mxCanvas; + css::uno::Reference mxViewCanvas; + css::uno::Reference mxPointer; + css::uno::Reference mxWindow; + css::uno::Reference mxViewWindow; + css::uno::Reference mxBackgroundPolyPolygon; + + /** Aspect ratio of the current slide. + */ + double mnPageAspectRatio; + + /** This broadcast helper is used to notify listeners registed to a + SlideShowView object. + */ + ::cppu::OBroadcastHelper maBroadcaster; + + css::util::Color maBackgroundColor; + + bool mbIsInModifyNotification; + bool mbIsForcedPaintPending; + bool mbIsPaintPending; + + /** Create the window into which the slide show will render its + content. This window has the correct aspect ratio and is displayed centered + and as large as possible in its parent window. + */ + css::uno::Reference CreateViewWindow ( + const css::uno::Reference& rxParentWindow); + + void Resize (void); + + /** The slide show relies on the back buffer of the canvas not being + modified. With a shared canvas there are times when that can not be + guaranteed. + Call this method when the back buffer may have changed its content, + like when the window has been moved but not resized. + */ + void ForceRepaint (void); + + css::uno::Reference CreateBackgroundPolyPolygon (void) const; + + /** This method throws a DisposedException when the object has already been + disposed. + */ + void ThrowIfDisposed (void) + throw (css::lang::DisposedException); +}; + +} } // end of namespace ::sd::presenter + +#endif -- cgit From a0884c69004fbc7b595f4ab5474b045629ebf0c2 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:05:02 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/27 09:11:09 af 1.1.2.2: #i18486# Resolved resync problems. 2008/02/26 16:25:40 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSlideSorter.cxx | 1508 +++++++++++++++++++++++ 1 file changed, 1508 insertions(+) create mode 100644 sdext/source/presenter/PresenterSlideSorter.cxx diff --git a/sdext/source/presenter/PresenterSlideSorter.cxx b/sdext/source/presenter/PresenterSlideSorter.cxx new file mode 100644 index 000000000000..93e4469a79f1 --- /dev/null +++ b/sdext/source/presenter/PresenterSlideSorter.cxx @@ -0,0 +1,1508 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSlideSorter.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:05:02 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterSlideSorter.hxx" +#include "PresenterGeometryHelper.hxx" +#include "PresenterHelper.hxx" +#include "PresenterScrollBar.hxx" +#include "PresenterWindowManager.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +//===== PresenterSlideSorter::Layout ========================================== + +class PresenterSlideSorter::Layout +{ +public: + enum Orientation { Horizontal, Vertical }; + Layout ( + const Orientation eOrientation, + const ::rtl::Reference& rpHorizontalScrollBar, + const ::rtl::Reference& rpVerticalScrollBar); + + void Update (const awt::Rectangle& rWindowBox, const double nSlideAspectRatio); + void SetupVisibleArea (void); + sal_Int32 GetSlideIndexForPosition (const css::geometry::RealPoint2D& rPoint); + css::geometry::RealPoint2D GetPoint ( + const sal_Int32 nSlideIndex, + const sal_Int32 nRelativeHorizontalPosition, + const sal_Int32 nRelativeVerticalPosition); + enum DistanceType { Norm1, Norm2, XOnly, YOnly }; + double GetDistanceFromCenter ( + const css::geometry::RealPoint2D& rPoint, + const sal_Int32 nSlideIndex, + const DistanceType eDistanceType); + css::awt::Rectangle GetBoundingBox (const sal_Int32 nSlideIndex); + void ForAllVisibleSlides (const ::boost::function& rAction); + sal_Int32 GetFirstVisibleSlideIndex (void); + sal_Int32 GetLastVisibleSlideIndex (void); + bool SetHorizontalOffset (const double nOffset); + + css::geometry::RealRectangle2D maInnerBorder; + css::geometry::RealRectangle2D maOuterBorder; + css::geometry::RealRectangle2D maViewport; + css::geometry::IntegerSize2D maPreviewSize; + double mnHorizontalOffset; + double mnVerticalOffset; + double mnHorizontalGap; + double mnVerticalGap; + sal_Int32 mnRowCount; + sal_Int32 mnColumnCount; + sal_Int32 mnSlideCount; + sal_Int32 mnSlideIndexAtMouse; + sal_Int32 mnFirstVisibleColumn; + sal_Int32 mnLastVisibleColumn; + sal_Int32 mnFirstVisibleRow; + sal_Int32 mnLastVisibleRow; + double mnScrollBarHeight; + +private: + Orientation meOrientation; + ::rtl::Reference mpHorizontalScrollBar; + ::rtl::Reference mpVerticalScrollBar; + void UpdateScrollBars (void); + sal_Int32 GetIndex (const sal_Int32 nRow, const sal_Int32 nColumn); + sal_Int32 GetRow (const sal_Int32 nSlideIndex); + sal_Int32 GetColumn (const sal_Int32 nSlideIndex); +}; + + + + +//==== PresenterSlideSorter::MouseOverManager ================================= + +namespace { + typedef cppu::WeakComponentImplHelper1< + css::drawing::XSlidePreviewCacheListener + > MouseOverManagerInterfaceBase; +} + +class PresenterSlideSorter::MouseOverManager + : private ::cppu::BaseMutex, + public MouseOverManagerInterfaceBase +{ +public: + const static double mnMinScale; + const static double mnMaxScale; + + MouseOverManager ( + const Reference& rxContext, + const Reference& rxSlides, + const Reference& rxModel); + ~MouseOverManager (void); + + void SetCanvas ( + const Reference& rxCanvas); + + void SetSlide ( + const sal_Int32 nSlideIndex, + const awt::Rectangle& rBox, + const double nDistance); + + void SetActiveState (const bool bIsActive); + + // XSlidePreviewCacheListener + + virtual void SAL_CALL notifyPreviewCreation ( + sal_Int32 nSlideIndex) + throw(css::uno::RuntimeException); + +private: + Reference mxCanvas; + Reference mxPreviewCache; + sal_Int32 mnSlideIndex; + awt::Rectangle maBoundingBox; + double mnDistance; + Reference mxSprite; + geometry::RealSize2D maSpriteSize; + bool mbIsActive; + + void CreateSprite (const sal_Int32 nSlideIndex); + void DisposeSprite (void); +}; + +const double PresenterSlideSorter::MouseOverManager::mnMinScale = 1.0; +const double PresenterSlideSorter::MouseOverManager::mnMaxScale = 2.0; + + + +//===== PresenterSlideSorter ================================================== + +PresenterSlideSorter::PresenterSlideSorter ( + const Reference& rxContext, + const Reference& rxViewId, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) + : PresenterSlideSorterInterfaceBase(m_aMutex), + mxComponentContext(rxContext), + mxViewId(rxViewId), + mxPane(), + mxCanvas(), + mxWindow(), + mpPresenterController(rpPresenterController), + mxSlideShowController(mpPresenterController->GetSlideShowController()), + mxPreviewCache(), + mbIsPaintPending(true), + mpLayout(), + mpHorizontalScrollBar(), + mpMouseOverManager(), + mnSlideIndexMousePressed(-1), + mnCurrentSlideIndex(-1) +{ + if ( ! rxContext.is() + || ! rxViewId.is() + || ! rxController.is() + || rpPresenterController.get()==NULL) + { + throw lang::IllegalArgumentException(); + } + + if ( ! mxSlideShowController.is()) + throw RuntimeException(); + + try + { + // Get pane and window. + Reference xCM (rxController, UNO_QUERY_THROW); + Reference xCC ( + xCM->getConfigurationController(), UNO_QUERY_THROW); + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + + mxPane = Reference(xCC->getResource(rxViewId->getAnchor()), UNO_QUERY_THROW); + mxWindow = mxPane->getWindow(); + + // Add window listener. + mxWindow->addWindowListener(this); + mxWindow->addPaintListener(this); + mxWindow->addMouseListener(this); + mxWindow->addMouseMotionListener(this); + mxWindow->setVisible(sal_True); + + // Create the scroll bar. + mpHorizontalScrollBar = ::rtl::Reference( + new PresenterHorizontalScrollBar( + rxContext, + mxWindow, + ::boost::bind(&PresenterSlideSorter::SetHorizontalOffset,this,_1))); + + // Remember the current slide. + mnCurrentSlideIndex = mxSlideShowController->getCurrentSlideIndex(); + + // Create the layout. + mpLayout.reset(new Layout( + Layout::Horizontal, + mpHorizontalScrollBar, + ::rtl::Reference())); + + // Create the preview cache. + mxPreviewCache = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.drawing.PresenterPreviewCache"), + mxComponentContext), + UNO_QUERY_THROW); + Reference xSlides (mxSlideShowController, UNO_QUERY); + mxPreviewCache->setDocumentSlides(xSlides, rxController->getModel()); + mxPreviewCache->addPreviewCreationNotifyListener(this); + if (xSlides.is()) + { + mpLayout->mnSlideCount = xSlides->getCount(); + } + + // Create the mouse over manager. + mpMouseOverManager = ::rtl::Reference(new MouseOverManager( + mxComponentContext, + Reference(mxSlideShowController, UNO_QUERY), + rxController->getModel())); + + // Listen for changes of the current slide. + Reference xControllerProperties (rxController, UNO_QUERY_THROW); + xControllerProperties->addPropertyChangeListener( + OUString::createFromAscii("CurrentPage"), + this); + + UpdateLayout(); + + // Move the current slide in the center of the window. + const awt::Rectangle aCurrentSlideBBox (mpLayout->GetBoundingBox(mnCurrentSlideIndex)); + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + SetHorizontalOffset(aCurrentSlideBBox.X - aWindowBox.Width/2.0); + + Paint(); + } + catch (RuntimeException&) + { + disposing(); + throw; + } +} + + + + +PresenterSlideSorter::~PresenterSlideSorter (void) +{ +} + + + + +void SAL_CALL PresenterSlideSorter::disposing (void) +{ + mxComponentContext = NULL; + mxViewId = NULL; + mxPane = NULL; + if (mxCanvas.is()) + { + Reference xComponent (mxCanvas, UNO_QUERY); + if (xComponent.is()) + xComponent->removeEventListener(static_cast(this)); + mxCanvas = NULL; + } + mpPresenterController = NULL; + mxSlideShowController = NULL; + mpLayout.reset(); + mpHorizontalScrollBar = NULL; + if (mpMouseOverManager.is()) + { + mpMouseOverManager->dispose(); + mpMouseOverManager = NULL; + } + + if (mxPreviewCache.is()) + { + mxPreviewCache->removePreviewCreationNotifyListener(this); + + Reference xComponent (mxPreviewCache, UNO_QUERY); + mxPreviewCache = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + if (mxWindow.is()) + { + mxWindow->removeWindowListener(this); + mxWindow->removePaintListener(this); + mxWindow->removeMouseListener(this); + mxWindow->removeMouseMotionListener(this); + } +} + + + + +void PresenterSlideSorter::SetActiveState (const bool bIsActive) +{ + if (mxPreviewCache.is()) + if (bIsActive) + mxPreviewCache->resume(); + else + mxPreviewCache->pause(); + + if (mpMouseOverManager.get() != NULL) + mpMouseOverManager->SetActiveState(bIsActive); +} + + + + +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL PresenterSlideSorter::disposing (const lang::EventObject& rEventObject) + throw (RuntimeException) +{ + if (rEventObject.Source == mxWindow) + { + mxWindow = NULL; + dispose(); + } + else if (rEventObject.Source == mxPreviewCache) + { + mxPreviewCache = NULL; + dispose(); + } + else if (rEventObject.Source == mxCanvas) + { + mxCanvas = NULL; + if (mpMouseOverManager.get() != NULL) + mpMouseOverManager->SetCanvas(NULL); + if (mpHorizontalScrollBar.is()) + mpHorizontalScrollBar->SetCanvas(NULL); + mbIsPaintPending = true; + + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(awt::InvalidateStyle::CHILDREN); + } +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterSlideSorter::windowResized (const awt::WindowEvent& rEvent) + throw (uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + // The canvas should eventually be (or already has been) disposed by the + // pane. We listen for that and request a repaint when that happens. + mbIsPaintPending = true; +} + + + + +void SAL_CALL PresenterSlideSorter::windowMoved (const awt::WindowEvent& rEvent) + throw (uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +void SAL_CALL PresenterSlideSorter::windowShown (const lang::EventObject& rEvent) + throw (uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + mbIsPaintPending = true; +} + + + + +void SAL_CALL PresenterSlideSorter::windowHidden (const lang::EventObject& rEvent) + throw (uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterSlideSorter::windowPaint (const css::awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + + if ( ! ProvideCanvas()) + return; + + if (mbIsPaintPending) + { + UpdateLayout(); + Paint(); + } + + /* + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); + */ +} + + + + +//----- XMouseListener -------------------------------------------------------- + +void SAL_CALL PresenterSlideSorter::mousePressed (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + const geometry::RealPoint2D aPosition (rEvent.X, rEvent.Y); + mnSlideIndexMousePressed = mpLayout->GetSlideIndexForPosition(aPosition); +} + + + + +void SAL_CALL PresenterSlideSorter::mouseReleased (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + const geometry::RealPoint2D aPosition (rEvent.X, rEvent.Y); + const sal_Int32 nSlideIndex (mpLayout->GetSlideIndexForPosition(aPosition)); + + if (nSlideIndex == mnSlideIndexMousePressed && mnSlideIndexMousePressed >= 0) + { + mpMouseOverManager->SetSlide(-1, awt::Rectangle(0,0,0,0), 0); + GotoSlide(nSlideIndex); + } +} + + + + +void SAL_CALL PresenterSlideSorter::mouseEntered (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterSlideSorter::mouseExited (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + mnSlideIndexMousePressed = -1; + if (mpMouseOverManager.get() != NULL) + mpMouseOverManager->SetSlide(mnSlideIndexMousePressed, awt::Rectangle(0,0,0,0), 0); +} + + + + +//----- XMouseMotionListener -------------------------------------------------- + +void SAL_CALL PresenterSlideSorter::mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + if (mpMouseOverManager.get() != NULL) + { + const geometry::RealPoint2D aPosition (rEvent.X, rEvent.Y); + sal_Int32 nSlideIndex (mpLayout->GetSlideIndexForPosition(aPosition)); + double nDistanceFromCenter (2); + + if (nSlideIndex >= 0) + { + const double nDistance (mpLayout->GetDistanceFromCenter(aPosition, nSlideIndex, + Layout::Norm1)); + if (nDistance < 1) + nDistanceFromCenter = nDistance; + else + nSlideIndex = -1; + } + else + { + mnSlideIndexMousePressed = -1; + } + + if (nSlideIndex < 0) + { + mpMouseOverManager->SetSlide(nSlideIndex, awt::Rectangle(0,0,0,0), 0); + } + else + { + mpMouseOverManager->SetSlide( + nSlideIndex, + mpLayout->GetBoundingBox(nSlideIndex), + nDistanceFromCenter); + } + } +} + + + + +void SAL_CALL PresenterSlideSorter::mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XResourceId ----------------------------------------------------------- + +Reference SAL_CALL PresenterSlideSorter::getResourceId (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + return mxViewId; +} + + + + +sal_Bool SAL_CALL PresenterSlideSorter::isAnchorOnly (void) + throw (RuntimeException) +{ + return false; +} + + + + +//----- XPropertyChangeListener ----------------------------------------------- + +void SAL_CALL PresenterSlideSorter::propertyChange ( + const css::beans::PropertyChangeEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + // Close the slide sorter view. +} + + + + +//----- XSlidePreviewCacheListener -------------------------------------------- + +void SAL_CALL PresenterSlideSorter::notifyPreviewCreation ( + sal_Int32 nSlideIndex) + throw(css::uno::RuntimeException) +{ + PaintPreview(nSlideIndex); +} + + + + +//----------------------------------------------------------------------------- + +void PresenterSlideSorter::UpdateLayout (void) +{ + if ( ! mxWindow.is()) + return; + + mpLayout->Update( + mxWindow->getPosSize(), + GetSlideAspectRatio()); + + // Tell the preview cache about some of the values. + mxPreviewCache->setPreviewSize(mpLayout->maPreviewSize); + mxPreviewCache->setVisibleRange( + mpLayout->GetFirstVisibleSlideIndex(), + mpLayout->GetLastVisibleSlideIndex()); +} + + + + +void PresenterSlideSorter::ClearBackground ( + const Reference& rxCanvas, + const awt::Rectangle& rUpdateBox) +{ + OSL_ASSERT(rxCanvas.is()); + + util::Color aColor ( + mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL())); + Sequence aBackgroundColor(3); + aBackgroundColor[0] = ((aColor >> 16) & 0x0ff) / 255.0; + aBackgroundColor[1] = ((aColor >> 8) & 0x0ff) / 255.0; + aBackgroundColor[2] = ((aColor >> 0) & 0x0ff) / 255.0; + + rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + aBackgroundColor, + rendering::CompositeOperation::SOURCE); + + Reference xPolygon ( + PresenterGeometryHelper::CreatePolygon(rUpdateBox, rxCanvas->getDevice())); + if (xPolygon.is()) + rxCanvas->fillPolyPolygon( + xPolygon, + aViewState, + aRenderState); +} + + + + +double PresenterSlideSorter::GetSlideAspectRatio (void) const +{ + double nSlideAspectRatio (28.0/21.0); + + try + { + Reference xSlides(mxSlideShowController, UNO_QUERY_THROW); + if (mxSlideShowController.is() && xSlides->getCount()>0) + { + Reference xProperties(xSlides->getByIndex(0),UNO_QUERY_THROW); + sal_Int32 nWidth (28000); + sal_Int32 nHeight (21000); + if ((xProperties->getPropertyValue(OUString::createFromAscii("Width")) >>= nWidth) + && (xProperties->getPropertyValue(OUString::createFromAscii("Height")) >>= nHeight) + && nHeight > 0) + { + nSlideAspectRatio = double(nWidth) / double(nHeight); + } + } + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } + + return nSlideAspectRatio; +} + + + + +Reference PresenterSlideSorter::GetPreview (const sal_Int32 nSlideIndex) +{ + if (nSlideIndex < 0 || nSlideIndex>=mpLayout->mnSlideCount) + return NULL; + else if (mxPane.is()) + return mxPreviewCache->getSlidePreview(nSlideIndex, mxPane->getCanvas()); + else + return NULL; +} + + + + +void PresenterSlideSorter::PaintPreview ( + const sal_Int32 nSlideIndex) +{ + if ( ! ProvideCanvas()) + return; + + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + PaintPreview(mxCanvas, nSlideIndex); + + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); +} + + + + +void PresenterSlideSorter::PaintPreview ( + const Reference& rxCanvas, + const sal_Int32 nSlideIndex) +{ + OSL_ASSERT(rxCanvas.is()); + + Reference xPreview (GetPreview(nSlideIndex)); + + const geometry::RealPoint2D aTopLeft (mpLayout->GetPoint(nSlideIndex, -1, -1)); + rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D( + 1, 0, aTopLeft.X, + 0, 1, aTopLeft.Y), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + geometry::IntegerSize2D aSize (mpLayout->maPreviewSize); + + if (nSlideIndex == mnCurrentSlideIndex) + { + // Paint a frame around the slide preview that indicates that this + // is the current slide. + const double nFrameWidth (3); + const geometry::RealRectangle2D aBox (-nFrameWidth, -nFrameWidth, + aSize.Width+nFrameWidth, aSize.Height+nFrameWidth); + Reference xPolygon ( + PresenterGeometryHelper::CreatePolygon(aBox, rxCanvas->getDevice())); + if (xPolygon.is()) + { + const util::Color aColor ( + mpPresenterController->GetViewFontColor(mxViewId->getResourceURL())); + aRenderState.DeviceColor[0] = ((aColor >> 16) & 0x0ff) / 255.0; + aRenderState.DeviceColor[1] = ((aColor >> 8) & 0x0ff) / 255.0; + aRenderState.DeviceColor[2] = ((aColor >> 0) & 0x0ff) / 255.0; + rxCanvas->fillPolyPolygon(xPolygon, aViewState, aRenderState); + } + } + + if (xPreview.is()) + { + aSize = xPreview->getSize(); + if (aSize.Width > 0 && aSize.Height > 0) + { + rxCanvas->drawBitmap(xPreview, aViewState, aRenderState); + } + } + + // Paint a border around the preview. + const geometry::RealRectangle2D aBox (0, 0, aSize.Width, aSize.Height); + Reference xPolygon ( + PresenterGeometryHelper::CreatePolygon(aBox, rxCanvas->getDevice())); + if (xPolygon.is()) + { + const util::Color aColor ( + mpPresenterController->GetViewFontColor(mxViewId->getResourceURL())); + aRenderState.DeviceColor[0] = ((aColor >> 16) & 0x0ff) / 255.0; + aRenderState.DeviceColor[1] = ((aColor >> 8) & 0x0ff) / 255.0; + aRenderState.DeviceColor[2] = ((aColor >> 0) & 0x0ff) / 255.0; + rxCanvas->drawPolyPolygon(xPolygon, aViewState, aRenderState); + } +} + + + + +void PresenterSlideSorter::Paint (void) +{ + if ( ! ProvideCanvas()) + return; + + if (mpLayout->mnRowCount<=0 || mpLayout->mnColumnCount<=0) + { + OSL_ASSERT(mpLayout->mnRowCount>0 || mpLayout->mnColumnCount>0); + return; + } + + mbIsPaintPending = false; + + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + ClearBackground(mxCanvas, awt::Rectangle(0,0,aWindowBox.Width,aWindowBox.Height)); + + // Paint the horizontal scroll bar. + if (mpHorizontalScrollBar.is()) + { + mpHorizontalScrollBar->SetCanvas(mxCanvas); + mpHorizontalScrollBar->Paint(aWindowBox); + } + + // Paint the slides. + mpLayout->ForAllVisibleSlides( + ::boost::bind(&PresenterSlideSorter::PaintPreview, this, mxCanvas, _1)); + + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); +} + + + + +void PresenterSlideSorter::Invalidate (const awt::Rectangle& rBBox) +{ + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidateRect(rBBox, awt::InvalidateStyle::UPDATE); +} + + + + +void PresenterSlideSorter::SetHorizontalOffset (const double nXOffset) +{ + if (mpLayout->SetHorizontalOffset(nXOffset)) + { + mxPreviewCache->setVisibleRange( + mpLayout->GetFirstVisibleSlideIndex(), + mpLayout->GetLastVisibleSlideIndex()); + + Paint(); + } +} + + + + +void PresenterSlideSorter::GotoSlide (const sal_Int32 nSlideIndex) +{ + mxSlideShowController->gotoSlideIndex(nSlideIndex); + mpPresenterController->HideSlideSorter(); +} + + + + +bool PresenterSlideSorter::ProvideCanvas (void) +{ + if ( ! mxCanvas.is()) + { + if (mxPane.is()) + mxCanvas = mxPane->getCanvas(); + + // Register as event listener so that we are informed when the + // canvas is disposed (and we have to fetch another one). + Reference xComponent (mxCanvas, UNO_QUERY); + if (xComponent.is()) + xComponent->addEventListener(static_cast(this)); + + // New canvas => new MouseOverManager. + if (mpMouseOverManager.get() != NULL) + mpMouseOverManager->SetCanvas( + Reference(mxCanvas, UNO_QUERY)); + + // Tell the scrollbar about the canvas. + if (mpHorizontalScrollBar.is()) + mpHorizontalScrollBar->SetCanvas(mxCanvas); + } + return mxCanvas.is(); +} + + + + +void PresenterSlideSorter::ThrowIfDisposed (void) + throw (lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterSlideSorter has been already disposed")), + const_cast(static_cast(this))); + } +} + + + + +//===== PresenterSlideSorter::Layout ========================================== + +PresenterSlideSorter::Layout::Layout ( + const Orientation eOrientation, + const ::rtl::Reference& rpHorizontalScrollBar, + const ::rtl::Reference& rpVerticalScrollBar) + : maInnerBorder(), + maOuterBorder(), + maViewport(), + maPreviewSize(), + mnHorizontalOffset(0), + mnVerticalOffset(0), + mnHorizontalGap(0), + mnVerticalGap(0), + mnRowCount(1), + mnColumnCount(1), + mnSlideCount(0), + mnSlideIndexAtMouse(-1), + mnFirstVisibleColumn(-1), + mnLastVisibleColumn(-1), + mnFirstVisibleRow(-1), + mnLastVisibleRow(-1), + mnScrollBarHeight(25), + meOrientation(eOrientation), + mpHorizontalScrollBar(rpHorizontalScrollBar), + mpVerticalScrollBar(rpVerticalScrollBar) +{ +} + + + + +void PresenterSlideSorter::Layout::Update ( + const awt::Rectangle& rWindowBox, + const double nSlideAspectRatio) +{ + if (rWindowBox.Width <= 0 || rWindowBox.Height <= 0) + return; + + const static sal_Int32 nFrameSize (10); + maInnerBorder = geometry::RealRectangle2D(nFrameSize,nFrameSize,nFrameSize,nFrameSize); + maOuterBorder = geometry::RealRectangle2D(50,50,50,50); + const static double nMinGap(15); + mnRowCount = 1; + mnColumnCount = 6; + + maViewport = geometry::RealRectangle2D( + maInnerBorder.X1 + maOuterBorder.X1, + maInnerBorder.Y1 + maInnerBorder.Y1, + rWindowBox.Width - maInnerBorder.X2 - maOuterBorder.X2, + rWindowBox.Height - maInnerBorder.Y2 - mnScrollBarHeight - maOuterBorder.Y2); + const double nAvailableWidth (maViewport.X2 - maViewport.X1); + const double nAvailableHeight (maViewport.Y2 - maViewport.Y1); + const double nMaxWidth (::std::max(nAvailableWidth / mnColumnCount - nMinGap, 50.0)); + const double nMaxHeight (::std::max(nAvailableHeight / mnRowCount - nMinGap, 30.0)); + + // Calculate the preview size. + if ((double(nMaxWidth) / double(nMaxHeight)) <= nSlideAspectRatio) + { + maPreviewSize.Width = sal_Int32(nMaxWidth); + maPreviewSize.Height = sal_Int32(nMaxWidth / nSlideAspectRatio); + } + else + { + maPreviewSize.Width = sal_Int32(nMaxHeight * nSlideAspectRatio); + maPreviewSize.Height = sal_Int32(nMaxHeight); + } + if (maPreviewSize.Width <= 0 || maPreviewSize.Height <= 0) + return; + + // Calculate the numbers of visible rows and columns. + mnColumnCount = sal_Int32((nAvailableWidth+nMinGap) / (maPreviewSize.Width + nMinGap)); + if (mnColumnCount < 1) + mnColumnCount = 1; + mnRowCount = sal_Int32((nAvailableHeight+nMinGap) / (maPreviewSize.Height + nMinGap)); + if (mnRowCount < 1) + mnRowCount = 1; + + // Calculate the gaps between adjacent previews. + if (mnColumnCount >= 2) + mnHorizontalGap = (nAvailableWidth - mnColumnCount*maPreviewSize.Width) / (mnColumnCount-1); + else + mnHorizontalGap = 0; + if (mnRowCount >= 2) + mnVerticalGap = (nAvailableHeight - mnRowCount*maPreviewSize.Height) / (mnRowCount-1); + else + mnVerticalGap = 0; + + // Reset the offset. + if (meOrientation == Horizontal) + { + mnVerticalOffset = -(nAvailableHeight + - mnRowCount*maPreviewSize.Height - (mnRowCount-1)*mnVerticalGap) + / 2; + mnHorizontalOffset = 0; + } + else + { + mnVerticalOffset = 0; + mnHorizontalOffset = -(nAvailableWidth + - mnColumnCount*maPreviewSize.Width - (mnColumnCount-1)*mnHorizontalGap) + / 2; + } + + SetupVisibleArea(); + UpdateScrollBars(); +} + + + + +void PresenterSlideSorter::Layout::SetupVisibleArea (void) +{ + geometry::RealPoint2D aPoint (0,0); + if (meOrientation == Horizontal) + { + mnFirstVisibleColumn = ::std::max( + sal_Int32(0), + sal_Int32((aPoint.X + mnHorizontalOffset + mnHorizontalGap) + / (maPreviewSize.Width+mnHorizontalGap))); + mnFirstVisibleRow = 0; + } + else + { + mnFirstVisibleColumn = 0; + mnFirstVisibleRow = ::std::max( + sal_Int32(0), + sal_Int32((aPoint.Y + mnVerticalOffset + mnVerticalGap) + / (maPreviewSize.Height+mnVerticalGap))); + } + + aPoint = geometry::RealPoint2D(maViewport.X2-maViewport.X1, maViewport.Y2-maViewport.Y1); + if (meOrientation == Horizontal) + { + mnLastVisibleColumn = sal_Int32((aPoint.X + mnHorizontalOffset) + / (maPreviewSize.Width+mnHorizontalGap)); + mnLastVisibleRow = mnRowCount - 1; + } + else + { + mnLastVisibleColumn = mnColumnCount - 1; + mnLastVisibleRow = sal_Int32((aPoint.Y + mnVerticalOffset) + / (maPreviewSize.Height+mnVerticalGap)); + } +} + + + + +sal_Int32 PresenterSlideSorter::Layout::GetSlideIndexForPosition ( + const css::geometry::RealPoint2D& rPoint) +{ + if (rPoint.X < maViewport.X1 + || rPoint.X > maViewport.X2 + || rPoint.Y < maViewport.Y1 + || rPoint.Y > maViewport.Y2) + { + return -1; + } + + const double nX (rPoint.X - maViewport.X1 + mnHorizontalOffset); + const double nY (rPoint.Y - maViewport.Y1 + mnVerticalOffset); + const sal_Int32 nColumn (sal_Int32( + (nX + mnHorizontalGap/2.0) / (maPreviewSize.Width+mnHorizontalGap))); + const sal_Int32 nRow (sal_Int32( + (nY + mnVerticalGap/2.0) / (maPreviewSize.Height+mnVerticalGap))); + + if (nColumn < 0 || nRow < 0) + return -1; + else + { + sal_Int32 nIndex (GetIndex(nRow, nColumn)); + if (nIndex >= mnSlideCount) + return -1; + else + return nIndex; + } +} + + + + +geometry::RealPoint2D PresenterSlideSorter::Layout::GetPoint ( + const sal_Int32 nSlideIndex, + const sal_Int32 nRelativeHorizontalPosition, + const sal_Int32 nRelativeVerticalPosition) +{ + sal_Int32 nColumn (GetColumn(nSlideIndex)); + sal_Int32 nRow (GetRow(nSlideIndex)); + + geometry::RealPoint2D aPosition( + maViewport.X1 + nColumn*(maPreviewSize.Width+mnHorizontalGap) - mnHorizontalOffset, + maViewport.Y1 + nRow*(maPreviewSize.Height+mnVerticalGap) - mnVerticalOffset); + + if (nRelativeHorizontalPosition >= 0) + if (nRelativeHorizontalPosition > 0) + aPosition.X += maPreviewSize.Width; + else + aPosition.X += maPreviewSize.Width / 2.0; + if (nRelativeVerticalPosition >= 0) + if (nRelativeVerticalPosition > 0) + aPosition.Y += maPreviewSize.Height; + else + aPosition.Y += maPreviewSize.Height / 2.0; + + return aPosition; +} + + +namespace { double sqr (const double nValue) { return nValue*nValue; } } + +double PresenterSlideSorter::Layout::GetDistanceFromCenter ( + const css::geometry::RealPoint2D& rPoint, + const sal_Int32 nSlideIndex, + const DistanceType eDistanceType) +{ + const geometry::RealPoint2D aCenter (GetPoint(nSlideIndex, 0,0)); + + switch (eDistanceType) + { + case Norm1: + default: + return ::std::max( + fabs(rPoint.X - aCenter.X) / maPreviewSize.Width * 2, + fabs(rPoint.Y - aCenter.Y) / maPreviewSize.Height * 2); + + case Norm2: + return sqrt( + sqr((rPoint.X - aCenter.X) / maPreviewSize.Width * 2) + + sqr((rPoint.Y - aCenter.Y) / maPreviewSize.Height * 2)); + + case XOnly: + return fabs(rPoint.X - aCenter.X) / maPreviewSize.Width * 2; + + case YOnly: + return fabs(rPoint.Y - aCenter.Y) / maPreviewSize.Height * 2; + } +} + + + + +awt::Rectangle PresenterSlideSorter::Layout::GetBoundingBox (const sal_Int32 nSlideIndex) +{ + const geometry::RealPoint2D aPosition(GetPoint(nSlideIndex, 0, 0)); + return awt::Rectangle ( + sal_Int32(floor(aPosition.X)), + sal_Int32(floor(aPosition.Y)), + sal_Int32(ceil(aPosition.X + maPreviewSize.Width) - floor(aPosition.X)), + sal_Int32(ceil(aPosition.Y + maPreviewSize.Height) - floor(aPosition.Y))); +} + + + + +void PresenterSlideSorter::Layout::ForAllVisibleSlides (const ::boost::function& rAction) +{ + for (sal_Int32 nRow=mnFirstVisibleRow; nRow<=mnLastVisibleRow; ++nRow) + { + for (sal_Int32 nColumn=mnFirstVisibleColumn; nColumn<=mnLastVisibleColumn; ++nColumn) + { + const sal_Int32 nSlideIndex (GetIndex(nRow, nColumn)); + if (nSlideIndex >= mnSlideCount) + return; + rAction(nSlideIndex); + } + } +} + + + + +sal_Int32 PresenterSlideSorter::Layout::GetFirstVisibleSlideIndex (void) +{ + return GetIndex(mnFirstVisibleRow, mnFirstVisibleColumn); +} + + + + +sal_Int32 PresenterSlideSorter::Layout::GetLastVisibleSlideIndex (void) +{ + return ::std::min( + GetIndex(mnLastVisibleRow, mnLastVisibleColumn), + mnSlideCount); +} + + + + +bool PresenterSlideSorter::Layout::SetHorizontalOffset (const double nOffset) +{ + if (mnHorizontalOffset != nOffset) + { + mnHorizontalOffset = nOffset; + SetupVisibleArea(); + UpdateScrollBars(); + return true; + } + else + return false; +} + + + + +void PresenterSlideSorter::Layout::UpdateScrollBars (void) +{ + sal_Int32 nTotalColumnCount (0); + sal_Int32 nTotalRowCount (0); + if (meOrientation == Horizontal) + { + nTotalColumnCount = sal_Int32(ceil(double(mnSlideCount) / double(mnRowCount))); + nTotalRowCount = mnRowCount; + } + else + { + nTotalColumnCount = mnColumnCount; + nTotalRowCount = sal_Int32(ceil(double(mnSlideCount) / double(mnColumnCount))); + } + + if (mpHorizontalScrollBar.get() != NULL) + { + mpHorizontalScrollBar->SetTotalSize( + nTotalColumnCount * maPreviewSize.Width + (nTotalColumnCount-1) * mnHorizontalGap); + mpHorizontalScrollBar->SetThumbPosition(mnHorizontalOffset); + mpHorizontalScrollBar->SetThumbSize( + mnColumnCount * (maPreviewSize.Width + mnHorizontalGap) - mnHorizontalGap); + } + if (mpVerticalScrollBar.get() != NULL) + { + mpVerticalScrollBar->SetTotalSize( + nTotalRowCount * maPreviewSize.Height + (nTotalRowCount-1) * mnVerticalGap); + mpVerticalScrollBar->SetThumbPosition(mnVerticalOffset); + mpVerticalScrollBar->SetThumbSize( + mnRowCount * (maPreviewSize.Height + mnVerticalGap) - mnVerticalGap); + } + + + // Place the scroll bars. + if (mpHorizontalScrollBar.get() != NULL) + { + mpHorizontalScrollBar->SetPosSize(geometry::RealRectangle2D( + maViewport.X1, + maViewport.Y2 + maInnerBorder.Y2, + maViewport.X2, + maViewport.Y2 + maInnerBorder.Y2 + mnScrollBarHeight)); + } + + // No place yet for the vertical scroll bar. +} + + + + +sal_Int32 PresenterSlideSorter::Layout::GetIndex (const sal_Int32 nRow, const sal_Int32 nColumn) +{ + if (meOrientation == Horizontal) + return nColumn * mnRowCount + nRow; + else + return nRow * mnColumnCount + nColumn; +} + + + + +sal_Int32 PresenterSlideSorter::Layout::GetRow (const sal_Int32 nSlideIndex) +{ + if (meOrientation == Horizontal) + return nSlideIndex % mnRowCount; + else + return nSlideIndex / mnColumnCount; +} + + + + +sal_Int32 PresenterSlideSorter::Layout::GetColumn (const sal_Int32 nSlideIndex) +{ + if (meOrientation == Horizontal) + return nSlideIndex / mnRowCount; + else + return nSlideIndex % mnColumnCount; +} + + + + +//===== PresenterSlideSorter::MouseOverManager ================================ + +PresenterSlideSorter::MouseOverManager::MouseOverManager ( + const Reference& rxContext, + const Reference& rxSlides, + const Reference& rxModel) + : MouseOverManagerInterfaceBase(m_aMutex), + mxCanvas(), + mxPreviewCache(), + mnSlideIndex(-1), + mnDistance(2), + mxSprite(NULL), + maSpriteSize(0,0), + mbIsActive(true) +{ + Reference xFactory (rxContext->getServiceManager(), UNO_QUERY); + if (xFactory.is()) + { + // Create the preview cache. + mxPreviewCache = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.drawing.PresenterPreviewCache"), + rxContext), + UNO_QUERY_THROW); + mxPreviewCache->setDocumentSlides(rxSlides, rxModel); + mxPreviewCache->addPreviewCreationNotifyListener(this); + } +} + + + + +PresenterSlideSorter::MouseOverManager::~MouseOverManager (void) +{ + Reference xComponent (mxPreviewCache, UNO_QUERY); + mxPreviewCache = NULL; + if (xComponent.is()) + xComponent->dispose(); + + DisposeSprite(); +} + + + + +void PresenterSlideSorter::MouseOverManager::DisposeSprite (void) +{ + if (mxSprite.is()) + { + mxSprite->hide(); + if (mxCanvas.is()) + mxCanvas->updateScreen(sal_False); + + Reference xComponent (mxSprite, UNO_QUERY); + mxSprite = NULL; + if (xComponent.is()) + xComponent->dispose(); + } +} + + + + +void PresenterSlideSorter::MouseOverManager::SetCanvas ( + const Reference& rxCanvas) +{ + mxCanvas = rxCanvas; +} + + + + +void PresenterSlideSorter::MouseOverManager::SetSlide ( + const sal_Int32 nSlideIndex, + const awt::Rectangle& rBox, + const double nDistance) +{ + mnDistance = nDistance; + if ( ! mxSprite.is() + || nSlideIndex != mnSlideIndex + || rBox.X != maBoundingBox.X + || rBox.Y != maBoundingBox.Y) + { + DisposeSprite(); + mnSlideIndex = nSlideIndex; + maBoundingBox = rBox; + + if (mnSlideIndex < 0) + return; + + if ( ! mbIsActive) + return; + + CreateSprite(nSlideIndex); + if ( ! mxSprite.is()) + return; + + mxSprite->move( + geometry::RealPoint2D(maBoundingBox.X, maBoundingBox.Y), + rendering::ViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL), + rendering::RenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE) + ); + } + + if ( ! mxSprite.is()) + return; + + double nDownScale (maBoundingBox.Width / maSpriteSize.Width); + double nUpScale (1.0); + if (nDistance < 1.0) + if (nDistance < 0.8) + nUpScale = mnMaxScale; + else + { + const double nWeight ((nDistance-0.8) / 0.2); + nUpScale = mnMinScale*nWeight + mnMaxScale*(1-nWeight); + } + + double nScale (nDownScale * nUpScale); + mxSprite->transform( + geometry::AffineMatrix2D( + nScale,0, - nScale*maSpriteSize.Width/2.0, + 0,nScale, - nScale*maSpriteSize.Height/2.0)); + + mxCanvas->updateScreen(sal_False); +} + + + + +void PresenterSlideSorter::MouseOverManager::SetActiveState (const bool bIsActive) +{ + if (mbIsActive != bIsActive) + { + mbIsActive = bIsActive; + if ( ! mbIsActive) + DisposeSprite(); + else if (mnSlideIndex >= 0) + SetSlide (mnSlideIndex, maBoundingBox, mnDistance); + } +} + + + + +void PresenterSlideSorter::MouseOverManager::CreateSprite (const sal_Int32 nSlideIndex) +{ + if ( ! mxPreviewCache.is()) + return; + maSpriteSize = geometry::RealSize2D(maBoundingBox.Width*2, maBoundingBox.Height*2); + mxPreviewCache->setPreviewSize(geometry::IntegerSize2D( + sal_Int32(maSpriteSize.Width), sal_Int32(maSpriteSize.Height))); + if (mxCanvas.is() && ! mxSprite.is()) + { + mxSprite = mxCanvas->createCustomSprite(maSpriteSize); + if (mxSprite.is()) + { + mxSprite->setAlpha(1.0); + mxSprite->setPriority(+10); + mxSprite->show(); + } + } + if (mxSprite.is()) + { + Reference xSpriteCanvas (mxSprite->getContentCanvas()); + if (xSpriteCanvas.is()) + { + Reference xBitmap ( + mxPreviewCache->getSlidePreview(nSlideIndex, xSpriteCanvas)); + if (xBitmap.is()) + { + rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + xSpriteCanvas->drawBitmap(xBitmap, aViewState, aRenderState); + } + } + } +} + + + + +void SAL_CALL PresenterSlideSorter::MouseOverManager::notifyPreviewCreation ( + sal_Int32 nSlideIndex) + throw(css::uno::RuntimeException) +{ + if (nSlideIndex == mnSlideIndex) + { + CreateSprite(mnSlideIndex); + + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); + } +} + +} } // end of namespace ::sdext::presenter -- cgit From 1695912dc772dfa8e4628b505c6b97b8ac25fbb4 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:05:13 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:25:54 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSlideSorter.hxx | 208 ++++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 sdext/source/presenter/PresenterSlideSorter.hxx diff --git a/sdext/source/presenter/PresenterSlideSorter.hxx b/sdext/source/presenter/PresenterSlideSorter.hxx new file mode 100644 index 000000000000..2e08b2c3098a --- /dev/null +++ b/sdext/source/presenter/PresenterSlideSorter.hxx @@ -0,0 +1,208 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSlideSorter.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:05:13 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_SLIDE_SORTER_HXX +#define SDEXT_PRESENTER_PRESENTER_SLIDE_SORTER_HXX + +#include "PresenterController.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace { + typedef cppu::WeakComponentImplHelper7< + css::drawing::framework::XView, + css::awt::XWindowListener, + css::awt::XPaintListener, + css::beans::XPropertyChangeListener, + css::drawing::XSlidePreviewCacheListener, + css::awt::XMouseListener, + css::awt::XMouseMotionListener + > PresenterSlideSorterInterfaceBase; +} + +namespace sdext { namespace presenter { + +class PresenterScrollBar; + +/** A simple slide sorter for the presenter screen. It uses a preview cache + to create the slide previews. Painting is done via a canvas. +*/ +class PresenterSlideSorter + : private ::cppu::BaseMutex, + public PresenterSlideSorterInterfaceBase +{ +public: + explicit PresenterSlideSorter ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); + virtual ~PresenterSlideSorter (void); + + virtual void SAL_CALL disposing (void); + + void SetActiveState (const bool bIsActive); + + + // lang::XEventListener + + virtual void SAL_CALL + disposing (const css::lang::EventObject& rEventObject) + throw (css::uno::RuntimeException); + + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseListener + + virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + + // XMouseMotionListener + + virtual void SAL_CALL mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XResourceId + + virtual css::uno::Reference SAL_CALL getResourceId (void) + throw (css::uno::RuntimeException); + + virtual sal_Bool SAL_CALL isAnchorOnly (void) + throw (com::sun::star::uno::RuntimeException); + + + // XPropertyChangeListener + + virtual void SAL_CALL propertyChange ( + const css::beans::PropertyChangeEvent& rEvent) + throw(css::uno::RuntimeException); + + + // XSlidePreviewCacheListener + + virtual void SAL_CALL notifyPreviewCreation ( + sal_Int32 nSlideIndex) + throw(css::uno::RuntimeException); + +private: + css::uno::Reference mxComponentContext; + css::uno::Reference mxViewId; + css::uno::Reference mxPane; + css::uno::Reference mxCanvas; + css::uno::Reference mxWindow; + ::rtl::Reference mpPresenterController; + css::uno::Reference mxSlideShowController; + css::uno::Reference mxPreviewCache; + bool mbIsPaintPending; + class Layout; + ::boost::shared_ptr mpLayout; + ::rtl::Reference mpHorizontalScrollBar; + class MouseOverManager; + ::rtl::Reference mpMouseOverManager; + sal_Int32 mnSlideIndexMousePressed; + sal_Int32 mnCurrentSlideIndex; + + void UpdateLayout (void); + void ClearBackground ( + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRedrawArea); + double GetSlideAspectRatio (void) const; + css::uno::Reference GetPreview (const sal_Int32 nSlideIndex); + void PaintPreview (const sal_Int32 nSlideIndex); + void PaintPreview ( + const css::uno::Reference& rxCanvas, + const sal_Int32 nSlideIndex); + void Paint (void); + void Invalidate (const css::awt::Rectangle& rBBox); + void SetHorizontalOffset (const double nXOffset); + void GotoSlide (const sal_Int32 nSlideIndex); + bool ProvideCanvas (void); + + /** This method throws a DisposedException when the object has already been + disposed. + */ + void ThrowIfDisposed (void) + throw (css::lang::DisposedException); +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From 674bc63d4ed4766693884658db16591cb6d9c9dc Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:05:24 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:32:59 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSprite.cxx | 291 +++++++++++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 sdext/source/presenter/PresenterSprite.cxx diff --git a/sdext/source/presenter/PresenterSprite.cxx b/sdext/source/presenter/PresenterSprite.cxx new file mode 100644 index 000000000000..70a513d15d4d --- /dev/null +++ b/sdext/source/presenter/PresenterSprite.cxx @@ -0,0 +1,291 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSprite.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:05:24 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterSprite.hxx" + +#include +#include +#include +#include + +using namespace ::com::sun::star; +using ::com::sun::star::uno::Reference; +using ::com::sun::star::uno::UNO_QUERY; + +namespace sdext { namespace presenter { + +PresenterSprite::PresenterSprite (void) + : mxSpriteFactory(), + mxSprite(), + maSize(0,0), + maLocation(0,0), + maTransform(1,0,0, 0,1,0), + mbIsVisible(false), + mnPriority(0), + mnAlpha(1.0) +{ +} + + + + +PresenterSprite::~PresenterSprite (void) +{ + if (mxSprite.is()) + { + mxSprite->hide(); + Reference xComponent (mxSprite, UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); + mxSprite = NULL; + } +} + + + + +void PresenterSprite::SetFactory ( + const ::css::uno::Reference& rxSpriteFactory) +{ + if (mxSpriteFactory != rxSpriteFactory) + { + DisposeSprite(); + mxSpriteFactory = rxSpriteFactory; + if (mbIsVisible) + PresenterSprite(); + } +} + + + + +::css::uno::Reference PresenterSprite::GetCanvas (void) +{ + ProvideSprite(); + if (mxSprite.is()) + return mxSprite->getContentCanvas(); + else + return NULL; +} + + + + +void PresenterSprite::Show (void) +{ + mbIsVisible = true; + if (mxSprite.is()) + mxSprite->show(); + else + ProvideSprite(); +} + + + + +void PresenterSprite::Hide (void) +{ + mbIsVisible = false; + if (mxSprite.is()) + mxSprite->hide(); +} + + + + +bool PresenterSprite::IsVisible (void) const +{ + return mbIsVisible; +} + + + + +void PresenterSprite::SetPriority (const double nPriority) +{ + mnPriority = nPriority; + if (mxSprite.is()) + mxSprite->setPriority(mnPriority); +} + + + + +double PresenterSprite::GetPriority (void) const +{ + return mnPriority; +} + + + + +void PresenterSprite::Resize (const css::geometry::RealSize2D& rSize) +{ + maSize = rSize; + if (mxSprite.is()) + DisposeSprite(); + if (mbIsVisible) + ProvideSprite(); +} + + + + +css::geometry::RealSize2D PresenterSprite::GetSize (void) const +{ + return maSize; +} + + + + +void PresenterSprite::MoveTo (const css::geometry::RealPoint2D& rLocation) +{ + maLocation = rLocation; + if (mxSprite.is()) + mxSprite->move( + maLocation, + rendering::ViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL), + rendering::RenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + uno::Sequence(3), + rendering::CompositeOperation::SOURCE) + ); +} + + + + +css::geometry::RealPoint2D PresenterSprite::GetLocation (void) const +{ + return maLocation; +} + + + + +void PresenterSprite::Transform (const css::geometry::AffineMatrix2D& rTransform) +{ + maTransform = rTransform; + if (mxSprite.is()) + mxSprite->transform(maTransform); +} + + + + +css::geometry::AffineMatrix2D PresenterSprite::GetTransform (void) const +{ + return maTransform; +} + + + + +void PresenterSprite::SetAlpha (const double nAlpha) +{ + mnAlpha = nAlpha; + if (mxSprite.is()) + mxSprite->setAlpha(mnAlpha); +} + + + + +double PresenterSprite::GetAlpha (void) const +{ + return mnAlpha; +} + + + + +void PresenterSprite::Update (void) +{ + if (mxSpriteFactory.is()) + mxSpriteFactory->updateScreen(sal_False); +} + + + + +void PresenterSprite::ProvideSprite (void) +{ + if ( ! mxSprite.is() + && mxSpriteFactory.is() + && maSize.Width>0 + && maSize.Height>0) + { + mxSprite = mxSpriteFactory->createCustomSprite(maSize); + if (mxSprite.is()) + { + mxSprite->transform(maTransform); + mxSprite->move(maLocation, + rendering::ViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL), + rendering::RenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + uno::Sequence(3), + rendering::CompositeOperation::SOURCE) + ); + mxSprite->setAlpha(mnAlpha); + mxSprite->setPriority(mnPriority); + if (mbIsVisible) + mxSprite->show(); + } + } +} + + + + +void PresenterSprite::DisposeSprite (void) +{ + if (mxSprite.is()) + { + mxSprite->hide(); + Reference xComponent (mxSprite, UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); + mxSprite = NULL; + } +} + +} } -- cgit From bc3c90a6730750c42df55ae9e3ba2170d70da462 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:05:34 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 16:32:42 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSprite.hxx | 107 +++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 sdext/source/presenter/PresenterSprite.hxx diff --git a/sdext/source/presenter/PresenterSprite.hxx b/sdext/source/presenter/PresenterSprite.hxx new file mode 100644 index 000000000000..5e903ae6b480 --- /dev/null +++ b/sdext/source/presenter/PresenterSprite.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSprite.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:05:34 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_SPRITE_HXX +#define SDEXT_PRESENTER_PRESENTER_SPRITE_HXX + +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +/** A wrapper around a com::sun::star::rendering::XCustomSprite that allows + not only setting values like size, location, and transformation but also + provides read access to them. + It also handles the showing and hiding of a sprite. This includes not + to show the sprite when its size is not yet defined (results in a crash) + and hiding a sprite before disposing it (results in zombie sprites.) +*/ +class PresenterSprite + : private ::boost::noncopyable +{ +public: + PresenterSprite (void); + virtual ~PresenterSprite (void); + + /** The given sprite canvas is used as factory to create the sprite that + is wrapped by objects of this class. + It is also used to call updateScreen() at (wrapped by the Update() method). + */ + void SetFactory ( + const ::css::uno::Reference& rxSpriteFactory); + + ::css::uno::Reference GetCanvas (void); + + void Show (void); + void Hide (void); + bool IsVisible (void) const; + + void SetPriority (const double nPriority); + double GetPriority (void) const; + + void Resize (const css::geometry::RealSize2D& rSize); + css::geometry::RealSize2D GetSize (void) const; + + void MoveTo (const css::geometry::RealPoint2D& rLocation); + css::geometry::RealPoint2D GetLocation (void) const; + + void Transform (const css::geometry::AffineMatrix2D& rTransform); + css::geometry::AffineMatrix2D GetTransform (void) const; + + void SetAlpha (const double nAlpha); + double GetAlpha (void) const; + + void Update (void); + +private: + ::css::uno::Reference mxSpriteFactory; + ::css::uno::Reference mxSprite; + css::geometry::RealSize2D maSize; + css::geometry::RealPoint2D maLocation; + css::geometry::AffineMatrix2D maTransform; + bool mbIsVisible; + double mnPriority; + double mnAlpha; + + void ProvideSprite (void); + void DisposeSprite (void); +}; + +} } + +#endif -- cgit From 31bef27063bc75bdc9e5362a75cb6c1c796767a6 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:05:44 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/27 09:11:09 af 1.1.2.2: #i18486# Resolved resync problems. 2008/02/26 16:35:42 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSpritePane.cxx | 474 +++++++++++++++++++++++++ 1 file changed, 474 insertions(+) create mode 100644 sdext/source/presenter/PresenterSpritePane.cxx diff --git a/sdext/source/presenter/PresenterSpritePane.cxx b/sdext/source/presenter/PresenterSpritePane.cxx new file mode 100644 index 000000000000..58d1212d458a --- /dev/null +++ b/sdext/source/presenter/PresenterSpritePane.cxx @@ -0,0 +1,474 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSpritePane.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:05:44 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterSpritePane.hxx" +#include "PresenterGeometryHelper.hxx" +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +//----- Service --------------------------------------------------------------- + +OUString PresenterSpritePane::getImplementationName_static (void) +{ + return OUString::createFromAscii("com.sun.star.comp.Draw.PresenterSpritePane"); +} + + + + +Sequence PresenterSpritePane::getSupportedServiceNames_static (void) +{ + static const ::rtl::OUString sServiceName( + ::rtl::OUString::createFromAscii("com.sun.star.drawing.PresenterSpritePane")); + return Sequence(&sServiceName, 1); +} + + + + +Reference PresenterSpritePane::Create (const Reference& rxContext) + SAL_THROW((css::uno::Exception)) +{ + return Reference(static_cast(new PresenterSpritePane(rxContext))); +} + + + + +//===== TransparentBorderPainter ============================================== + +namespace { + typedef ::cppu::WeakComponentImplHelper1< + css::drawing::framework::XPaneBorderPainter + > TransparentBorderPainterInterfaceBase; +} + +class TransparentBorderPainter + : private ::boost::noncopyable, + protected ::cppu::BaseMutex, + public TransparentBorderPainterInterfaceBase +{ +public: + TransparentBorderPainter (void); + virtual ~TransparentBorderPainter (void); + + // XPaneBorderPainter + + virtual css::awt::Rectangle SAL_CALL addBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::awt::Rectangle& rRectangle, + css::drawing::framework::BorderType eBorderType) + throw(css::uno::RuntimeException); + + virtual css::awt::Rectangle SAL_CALL removeBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::awt::Rectangle& rRectangle, + css::drawing::framework::BorderType eBorderType) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL paint ( + const rtl::OUString& rsPaneBorderStyleName, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rOuterBorderRectangle, + const css::awt::Rectangle& rRepaintArea, + const rtl::OUString& rsTitle) + throw(css::uno::RuntimeException); + +private: + double mnLeft; + double mnTop; + double mnRight; + double mnBottom; + + void ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException); +}; + + + + +//===== PresenterSpritePane ========================================================= + +PresenterSpritePane::PresenterSpritePane (const Reference& rxContext) + : PresenterPaneBase(rxContext), + mxParentWindow(), + mxParentCanvas(), + mpSprite(new PresenterSprite()) +{ + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + mxComponentContext), + UNO_QUERY_THROW); +} + + + + +PresenterSpritePane::~PresenterSpritePane (void) +{ +} + + + + +void PresenterSpritePane::disposing (void) +{ + mpSprite->SetFactory(NULL); + mxParentWindow = NULL; + mxParentCanvas = NULL; + PresenterPaneBase::disposing(); +} + + + + +//----- XPane ----------------------------------------------------------------- + +Reference SAL_CALL PresenterSpritePane::getWindow (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + return mxContentWindow; +} + + + + +Reference SAL_CALL PresenterSpritePane::getCanvas (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + + if ( ! mxContentCanvas.is()) + UpdateCanvases(); + + return mxContentCanvas; +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterSpritePane::windowResized (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + mpSprite->Resize(geometry::RealSize2D(rEvent.Width, rEvent.Height)); + LayoutContextWindow(); + UpdateCanvases(); +} + + + + + +void SAL_CALL PresenterSpritePane::windowMoved (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + awt::Rectangle aBox ( + mxPresenterHelper->getWindowExtentsRelative(mxBorderWindow, mxParentWindow)); + mpSprite->MoveTo(geometry::RealPoint2D(aBox.X, aBox.Y)); + mpSprite->Update(); +} + + + + +void SAL_CALL PresenterSpritePane::windowShown (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + + mpSprite->Show(); + ToTop(); + + if (mxContentWindow.is()) + { + LayoutContextWindow(); + mxContentWindow->setVisible(sal_True); + } +} + + + + +void SAL_CALL PresenterSpritePane::windowHidden (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + + mpSprite->Hide(); + if (mxContentWindow.is()) + mxContentWindow->setVisible(sal_False); +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterSpritePane::windowPaint (const awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + + /* + Reference xSpriteCanvas (mxParentCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); + */ +} + + + + +//----------------------------------------------------------------------------- + + +::boost::shared_ptr PresenterSpritePane::GetSprite (void) +{ + return mpSprite; +} + + + + +void PresenterSpritePane::ShowTransparentBorder (void) +{ + // mxBorderPainter = new TransparentBorderPainter(); +} + + + + +void PresenterSpritePane::UpdateCanvases (void) +{ + Reference xContentCanvasComponent (mxContentCanvas, UNO_QUERY); + if (xContentCanvasComponent.is()) + { + if (xContentCanvasComponent.is()) + xContentCanvasComponent->dispose(); + } + + // The border canvas is the content canvas of the sprite. + mxBorderCanvas = mpSprite->GetCanvas(); + + // The content canvas is a wrapper of the border canvas. + if (mxBorderCanvas.is()) + mxContentCanvas = mxPresenterHelper->createSharedCanvas( + mxParentCanvas, + mxParentWindow, + mxBorderCanvas, + mxBorderWindow, + mxContentWindow); + + const awt::Rectangle aWindowBox (mxBorderWindow->getPosSize()); + PaintBorder(awt::Rectangle(0,0,aWindowBox.Width,aWindowBox.Height)); +} + + + + +void PresenterSpritePane::CreateCanvases ( + const css::uno::Reference& rxParentWindow, + const css::uno::Reference& rxParentCanvas) +{ + OSL_ASSERT(!mxParentWindow.is() || mxParentWindow==rxParentWindow); + OSL_ASSERT(!mxParentCanvas.is() || mxParentCanvas==rxParentCanvas); + mxParentWindow = rxParentWindow; + mxParentCanvas = rxParentCanvas; + + mpSprite->SetFactory(mxParentCanvas); + if (mxBorderWindow.is()) + { + const awt::Rectangle aBorderBox (mxBorderWindow->getPosSize()); + mpSprite->Resize(geometry::RealSize2D(aBorderBox.Width, aBorderBox.Height)); + } + + UpdateCanvases(); +} + + + + +//===== TransparentBorderPainter ============================================== + +TransparentBorderPainter::TransparentBorderPainter (void) + : TransparentBorderPainterInterfaceBase(m_aMutex), + mnLeft(50), + mnTop(50), + mnRight(50), + mnBottom(50) +{ +} + + + + +TransparentBorderPainter::~TransparentBorderPainter (void) +{ +} + + + + +// XPaneBorderPainter + +css::awt::Rectangle SAL_CALL TransparentBorderPainter::addBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::awt::Rectangle& rRectangle, + css::drawing::framework::BorderType eBorderType) + throw(css::uno::RuntimeException) +{ + (void)rsPaneBorderStyleName; + + switch (eBorderType) + { + case drawing::framework::BorderType_INNER_BORDER: + default: + return rRectangle; + + case drawing::framework::BorderType_OUTER_BORDER: + case drawing::framework::BorderType_TOTAL_BORDER: + return awt::Rectangle( + sal::static_int_cast(rRectangle.X - mnLeft), + sal::static_int_cast(rRectangle.Y - mnTop), + sal::static_int_cast(rRectangle.Width + (mnLeft + mnRight)), + sal::static_int_cast(rRectangle.Height + (mnTop + mnBottom))); + } +} + + + + +css::awt::Rectangle SAL_CALL TransparentBorderPainter::removeBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::awt::Rectangle& rRectangle, + css::drawing::framework::BorderType eBorderType) + throw(css::uno::RuntimeException) +{ + (void)rsPaneBorderStyleName; + + switch (eBorderType) + { + case drawing::framework::BorderType_INNER_BORDER: + default: + return rRectangle; + + case drawing::framework::BorderType_OUTER_BORDER: + case drawing::framework::BorderType_TOTAL_BORDER: + return awt::Rectangle( + sal::static_int_cast(rRectangle.X + mnLeft), + sal::static_int_cast(rRectangle.Y + mnTop), + sal::static_int_cast(rRectangle.Width - (mnLeft + mnRight)), + sal::static_int_cast(rRectangle.Height - (mnTop + mnBottom))); + } +} + + + + +void SAL_CALL TransparentBorderPainter::paint ( + const rtl::OUString& rsPaneBorderStyleName, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rOuterBorderRectangle, + const css::awt::Rectangle& rRepaintArea, + const rtl::OUString& rsTitle) + throw(css::uno::RuntimeException) +{ + (void)rsPaneBorderStyleName; + (void)rRepaintArea; + (void)rsTitle; + + rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(4), + rendering::CompositeOperation::SOURCE); + + aRenderState.DeviceColor[0] = 0.5; + aRenderState.DeviceColor[1] = 0.5; + aRenderState.DeviceColor[2] = 0.5; + aRenderState.DeviceColor[3] = 0.5; + + Reference xPolygon ( + PresenterGeometryHelper::CreatePolygon(rOuterBorderRectangle, rxCanvas->getDevice())); + if (xPolygon.is()) + rxCanvas->fillPolyPolygon( + xPolygon, + aViewState, + aRenderState); +} + + + + +void TransparentBorderPainter::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "TransparentBorderPainter object has already been disposed")), + const_cast(static_cast(this))); + } +} + + + +} } // end of namespace ::sd::presenter -- cgit From 53df1d98b9d1a5843beee1c8a668be5b9fa49d12 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:05:55 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/27 09:11:10 af 1.1.2.2: #i18486# Resolved resync problems. 2008/02/26 16:35:25 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterSpritePane.hxx | 132 +++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 sdext/source/presenter/PresenterSpritePane.hxx diff --git a/sdext/source/presenter/PresenterSpritePane.hxx b/sdext/source/presenter/PresenterSpritePane.hxx new file mode 100644 index 000000000000..c6c7b5974cbb --- /dev/null +++ b/sdext/source/presenter/PresenterSpritePane.hxx @@ -0,0 +1,132 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterSpritePane.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:05:55 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SD_PRESENTER_PRESENTER_SPRITE_PANE_HXX +#define SD_PRESENTER_PRESENTER_SPRITE_PANE_HXX + +#include "PresenterPaneBase.hxx" +#include "PresenterSprite.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + + +namespace sdext { namespace presenter { + +/** Use a sprite to display the contents and the border of a pane. Windows + are still used to define the locations and sizes of both the border and + the pane content. Note that every resize results in a disposed canvas. + Therefore call getCanvas in every repaint or at least after every resize. +*/ +class PresenterSpritePane : public PresenterPaneBase +{ +public: + PresenterSpritePane (const css::uno::Reference& rxContext); + virtual ~PresenterSpritePane (void); + + virtual void SAL_CALL disposing (void); + + using css::lang::XEventListener::disposing; + + ::boost::shared_ptr GetSprite (void); + + static ::rtl::OUString getImplementationName_static (void); + static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); + static css::uno::Reference Create( + const css::uno::Reference& rxContext) + SAL_THROW((css::uno::Exception)); + + void ShowTransparentBorder (void); + + // XPane + + css::uno::Reference SAL_CALL getWindow (void) + throw (css::uno::RuntimeException); + + css::uno::Reference SAL_CALL getCanvas (void) + throw (css::uno::RuntimeException); + + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + +private: + css::uno::Reference mxParentWindow; + css::uno::Reference mxParentCanvas; + ::boost::shared_ptr mpSprite; + + virtual void CreateCanvases ( + const css::uno::Reference& rxParentWindow, + const css::uno::Reference& rxParentCanvas); + void UpdateCanvases (void); +}; + +} } // end of namespace ::sd::presenter + +#endif -- cgit From 405451ce720564a936341ca24868a8ba1138ea5f Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:06:06 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/23 12:20:35 af 1.1.2.2: #i18486# Canvas can be supplied after PresenterTheme object has been created. Give direct access to pane and view style names. 2008/01/21 15:56:14 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterTheme.cxx | 1285 +++++++++++++++++++++++++++++ 1 file changed, 1285 insertions(+) create mode 100644 sdext/source/presenter/PresenterTheme.cxx diff --git a/sdext/source/presenter/PresenterTheme.cxx b/sdext/source/presenter/PresenterTheme.cxx new file mode 100644 index 000000000000..36bdc1c36f70 --- /dev/null +++ b/sdext/source/presenter/PresenterTheme.cxx @@ -0,0 +1,1285 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterTheme.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:06:06 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterTheme.hxx" +#include "PresenterComponent.hxx" +#include "PresenterConfigurationAccess.hxx" +#include "PresenterHelper.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::std; +using ::rtl::OUString; + +namespace { +OUString A2S (const sal_Char* pString) { return OUString::createFromAscii(pString); } +} + +namespace sdext { namespace presenter { + +namespace { + +class BorderSize +{ +public: + BorderSize (void) : mnLeft(0),mnTop(0),mnRight(0),mnBottom(0) {} + + sal_Int32 mnLeft; + sal_Int32 mnTop; + sal_Int32 mnRight; + sal_Int32 mnBottom; +}; + + + + +/** Reading a theme from the configurations is done in various classes. The + ReadContext gives access to frequently used objects and functions to make + the configuration handling easier. +*/ +class ReadContext +{ +public: + PresenterConfigurationAccess& mrConfiguration; + Reference mxCanvas; + ::boost::shared_ptr mpPropertyMap; + Reference mxPresenterHelper; + OUString msBasePath; + + ReadContext ( + const css::uno::Reference& rxContext, + PresenterConfigurationAccess& rConfiguration, + const Reference& rxCanvas); + ~ReadContext (void); + + /** Read one bitmap from a file and store this and the other given data + into a new BitmapDescriptor object. + */ + ::boost::shared_ptr ReadBitmap ( + const ::rtl::OUString& rsKey, + const ::rtl::OUString& rsFileName, + const sal_Int32 nXOffset, + const sal_Int32 nYOffset, + const util::Color nColor); + + /** Read data describing a font from the node that can be reached from + the given root via the given path. + @param rsFontPath + May be empty. + */ + ::boost::shared_ptr ReadFont ( + const css::uno::Reference& rxTheme, + const ::rtl::OUString& rsFontPath); + + /** Read a single bitmap, that typically is not member of a set, and + return a new BitmapDescriptor with the data describing the bitmap. + */ + ::boost::shared_ptr ReadSingleBitmap ( + const ::rtl::OUString& rsKey, + const css::uno::Reference& rxNode, + const ::rtl::OUString& rsRelativePath); + + /** Read a set of bitmaps from the given node and return a new + BitmapContainer that contains them. + */ + ::boost::shared_ptr ReadBorderBitmaps ( + const css::uno::Reference& rxNode); + + ::boost::shared_ptr ReadTheme ( + const OUString& rsThemeName); + + BorderSize ReadBorderSize (const Reference& rxNode); + +private: + /** Used by ReadBorderBitmaps to read a single bitmap. + @param rpContainer + The container to insert the new bitmap into. + @param rsKey + The key of the configuration node that contains the bitmap data. + @param rValues + A set of Anys that contain Strings, nodes, and other data that + describe a bitmap. + */ + void ProcessBitmap ( + const ::boost::shared_ptr& rpContainer, + const ::rtl::OUString& rsKey, + const ::std::vector& rValues); +}; + + + + +/** A PaneStyle describes how a pane is rendered. +*/ +class PaneStyle +{ +public: + PaneStyle (void); + ~PaneStyle (void); + + void AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap); + + OUString msStyleName; + ::boost::shared_ptr mpParentStyle; + ::boost::shared_ptr mpFont; + BorderSize maInnerBorderSize; + BorderSize maOuterBorderSize; + ::boost::shared_ptr mpBitmaps; +}; + + + + +class PaneStyleContainer : vector > +{ +public: + void Read ( + ReadContext& rReadContext, + const Reference& rThemeRoot); + void AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap); + + +private: + void ProcessPaneStyle ( + ReadContext& rReadContext, + const ::rtl::OUString& rsKey, + const ::std::vector& rValues); +}; + + + + +/** A ViewStyle describes how a view is displayed. +*/ +class ViewStyle +{ +public: + ViewStyle (void); + ~ViewStyle (void); + + void AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap); + + OUString msStyleName; + ::boost::shared_ptr mpParentStyle; + ::boost::shared_ptr mpFont; + ::boost::shared_ptr mpBackground; +}; + + + + +class ViewStyleContainer : vector > +{ +public: + void Read ( + ReadContext& rReadContext, + const Reference& rThemeRoot); + void AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap); + +private: + void ProcessViewStyle( + ReadContext& rReadContext, + const ::rtl::OUString& rsKey, + const ::std::vector& rValues); +}; + + + + +class StyleAssociation +{ +public: + StyleAssociation ( + const OUString& rsResourceURL, + const OUString& rsStyleName); + ~StyleAssociation (void); + OUString msResourceURL; + OUString msStyleName; +}; + + + + +class StyleAssociationContainer : vector +{ +public: + void Read ( + ReadContext& rReadContext, + const Reference& rThemeRoot); + void AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap); + +private: + void ProcessStyleAssociation( + ReadContext& rReadContext, + const ::rtl::OUString& rsKey, + const ::std::vector& rValues); +}; + +} // end of anonymous namespace + + +class PresenterTheme::Theme +{ +public: + Theme ( + const OUString& rsName, + const Reference& rThemeRoot); + ~Theme (void); + + void Read ( + ReadContext& rReadContext); + void AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap); + +private: + OUString msThemeName; + ::boost::shared_ptr mpParentTheme; + ::boost::shared_ptr mpBackground; + PaneStyleContainer maPaneStyles; + ViewStyleContainer maViewStyles; + StyleAssociationContainer maStyleAssociations; + Reference mxThemeRoot; +}; + + + + +class PresenterTheme::BitmapDescriptor +{ +public: + explicit BitmapDescriptor (void); + void SetBitmap (const Reference& rxBitmap); + + sal_Int32 mnWidth; + sal_Int32 mnHeight; + sal_Int32 mnXOffset; + sal_Int32 mnYOffset; + util::Color maReplacementColor; + uno::Reference mxBitmap; + + void AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap); +}; + + + + +class PresenterTheme::BitmapContainer + : public ::std::map > +{ +public: + BitmapContainer (void); + + void AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap); +}; + + + + +typedef ::boost::function PropertyProviderFunction; + +class PresenterTheme::PropertyMap : public ::std::map +{ +public: + PropertyMap (void); + + void Set (const OUString& rsKey, const Any& rValue); +}; + + + + +class PresenterTheme::FontDescriptor +{ +public: + FontDescriptor (void); + ::rtl::OUString msName; + sal_Int32 mnSize; + sal_uInt32 mnColor; + ::rtl::OUString msAnchor; + + void AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap); +}; + + + + +//===== PresenterTheme ======================================================== + +PresenterTheme::PresenterTheme ( + const css::uno::Reference& rxContext, + const rtl::OUString& rsThemeName, + const css::uno::Reference& rxCanvas) + : mxContext(rxContext), + msThemeName(rsThemeName), + mpBitmapContainer(new BitmapContainer()), + mxCanvas(rxCanvas), + mpPropertyMap(new PropertyMap()) +{ + ReadTheme(); +} + + + + +PresenterTheme::~PresenterTheme (void) +{ +} + + + + +void SAL_CALL PresenterTheme::disposing (void) +{ +} + + + + +void PresenterTheme::ReadTheme (void) +{ + PresenterConfigurationAccess aConfiguration ( + mxContext, + OUString::createFromAscii("/org.openoffice.Office.extension.PresenterScreen/"), + PresenterConfigurationAccess::READ_ONLY); + + // Read the theme and properties. + ReadContext aReadContext(mxContext, aConfiguration, mxCanvas); + ::boost::shared_ptr pTheme (aReadContext.ReadTheme(msThemeName)); + if (pTheme.get() != NULL) + { + pTheme->Read(aReadContext); + pTheme->AddProperties(msThemeName, mpPropertyMap); + } +} + + + + +bool PresenterTheme::HasCanvas (void) const +{ + return mxCanvas.is(); +} + + + + +void PresenterTheme::ProvideCanvas (const Reference& rxCanvas) +{ + if ( ! mxCanvas.is() && rxCanvas.is()) + { + mxCanvas = rxCanvas; + ReadTheme(); + } +} + + + + +Any PresenterTheme::getPropertyValue (const OUString& rsPropertyName) +{ + PropertyMap::const_iterator iProperty (mpPropertyMap->find(rsPropertyName)); + if (iProperty != mpPropertyMap->end()) + return iProperty->second; + else + throw beans::UnknownPropertyException(); +} + + + + +OUString PresenterTheme::GetPaneStyle (const ::rtl::OUString& rsResourceURL) const +{ + OUString sStyleName (PresenterHelper::msDefaultPaneStyle); + PropertyMap::const_iterator iProperty (mpPropertyMap->find(rsResourceURL)); + if (iProperty != mpPropertyMap->end()) + iProperty->second >>= sStyleName; + return sStyleName; +} + + + + +OUString PresenterTheme::GetViewStyle (const ::rtl::OUString& rsResourceURL) const +{ + OUString sStyleName (PresenterHelper::msDefaultViewStyle); + PropertyMap::const_iterator iProperty (mpPropertyMap->find(rsResourceURL)); + if (iProperty != mpPropertyMap->end()) + iProperty->second >>= sStyleName; + return sStyleName; +} + + + + +//===== BitmapDescriptor ====================================================== + +PresenterTheme::BitmapDescriptor::BitmapDescriptor (void) + : mnWidth(0), + mnHeight(0), + mnXOffset(0), + mnYOffset(0), + maReplacementColor(0x00000000), + mxBitmap() +{ +} + + + + +void PresenterTheme::BitmapDescriptor::SetBitmap (const Reference& rxBitmap) +{ + mxBitmap = rxBitmap; + if (mxBitmap.is()) + { + mnWidth = mxBitmap->getSize().Width; + mnHeight = mxBitmap->getSize().Height; + } + else + { + mnWidth = 0; + mnHeight = 0; + } +} + + + + +void PresenterTheme::BitmapDescriptor::AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap) +{ + rpPropertyMap->Set(rsPropertyPrefix + A2S("Bitmap"), Any(mxBitmap)); + rpPropertyMap->Set(rsPropertyPrefix + A2S("Offset"), Any(awt::Point(mnXOffset,mnYOffset))); + rpPropertyMap->Set(rsPropertyPrefix + A2S("Color"), Any(maReplacementColor)); +} + + + + +//===== BitmapContainer ======================================================= + +PresenterTheme::BitmapContainer::BitmapContainer (void) +{ +} + + + + +void PresenterTheme::BitmapContainer::AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap) +{ + const_iterator iDescriptor; + for (iDescriptor=begin(); iDescriptor!=end(); ++iDescriptor) + { + if (iDescriptor->second.get() == NULL) + { + OSL_ASSERT(false); + continue; + } + iDescriptor->second->AddProperties( + rsPropertyPrefix+iDescriptor->first+A2S("_"), + rpPropertyMap); + } +} + + + + +//===== PropertyMap =========================================================== + +PresenterTheme::PropertyMap::PropertyMap (void) +{ +} + + + + +void PresenterTheme::PropertyMap::Set (const OUString& rsKey, const Any& rValue) +{ + iterator iItem (find(rsKey)); + if (iItem == end()) + insert(value_type(rsKey,rValue)); + else + iItem->second = rValue; +} + + + + +//===== FontDescriptor ======================================================== + +PresenterTheme::FontDescriptor::FontDescriptor (void) + : msName(OUString::createFromAscii("Albany")), + mnSize(12), + mnColor(0x00000000), + msAnchor(OUString::createFromAscii("Left")) +{ +} + + + + +void PresenterTheme::FontDescriptor::AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap) +{ + rpPropertyMap->Set(rsPropertyPrefix+A2S("Name"), Any(msName)); + rpPropertyMap->Set(rsPropertyPrefix+A2S("Size"), Any(mnSize)); + rpPropertyMap->Set(rsPropertyPrefix+A2S("Color"), Any(mnColor)); + rpPropertyMap->Set(rsPropertyPrefix+A2S("Anchor"), Any(msAnchor)); +} + + + + +//===== Theme ================================================================= + +PresenterTheme::Theme::Theme ( + const OUString& rsName, + const Reference& rxThemeRoot) + : msThemeName(rsName), + mpParentTheme(), + maPaneStyles(), + maViewStyles(), + maStyleAssociations(), + mxThemeRoot(rxThemeRoot) +{ +} + + + + +PresenterTheme::Theme::~Theme (void) +{ +} + + + + +void PresenterTheme::Theme::Read (ReadContext& rReadContext) +{ + PresenterConfigurationAccess::GetConfigurationNode(mxThemeRoot, A2S("ThemeName")) + >>= msThemeName; + + // Parent theme name. + OUString sParentThemeName; + if ((PresenterConfigurationAccess::GetConfigurationNode(mxThemeRoot, A2S("ParentTheme")) + >>= sParentThemeName) + && sParentThemeName.getLength()>0) + { + mpParentTheme = rReadContext.ReadTheme(sParentThemeName); + } + + // Background. + mpBackground + = rReadContext.ReadSingleBitmap(A2S("Background"), mxThemeRoot, A2S("Background")); + + // Style associations. + maStyleAssociations.Read(rReadContext, mxThemeRoot); + + // Pane styles. + maPaneStyles.Read(rReadContext, mxThemeRoot); + + // View styles. + maViewStyles.Read(rReadContext, mxThemeRoot); + +} + + + + +void PresenterTheme::Theme::AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap) +{ + if (mpParentTheme.get() != NULL) + mpParentTheme->AddProperties(rsPropertyPrefix, rpPropertyMap); + + // Background. + if (mpBackground.get() != NULL) + mpBackground->AddProperties(rsPropertyPrefix+A2S("Background_"), rpPropertyMap); + + // Style associations. + maStyleAssociations.AddProperties(rsPropertyPrefix, rpPropertyMap); + + // Pane styles. + maPaneStyles.AddProperties(rsPropertyPrefix, rpPropertyMap); + + // View styles. + maViewStyles.AddProperties(rsPropertyPrefix, rpPropertyMap); +} + + + + +namespace { + +//===== ReadContext =========================================================== + +ReadContext::ReadContext ( + const css::uno::Reference& rxContext, + PresenterConfigurationAccess& rConfiguration, + const Reference& rxCanvas) + : mrConfiguration(rConfiguration), + mxCanvas(rxCanvas), + mxPresenterHelper(), + msBasePath() +{ + Reference xFactory (rxContext->getServiceManager()); + if (xFactory.is()) + { + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + rxContext), + UNO_QUERY_THROW); + } + + // Get base path to bitmaps. + Reference xInformationProvider ( + rxContext->getValueByName(OUString::createFromAscii( + "/singletons/com.sun.star.deployment.PackageInformationProvider")), + UNO_QUERY_THROW); + if (xInformationProvider.is()) + msBasePath = xInformationProvider->getPackageLocation(gsExtensionIdentifier); + msBasePath += OUString::createFromAscii("/"); +} + + + + +ReadContext::~ReadContext (void) +{ +} + + + + +::boost::shared_ptr ReadContext::ReadBitmap ( + const OUString& rsKey, + const OUString& rsFileName, + const sal_Int32 nXOffset, + const sal_Int32 nYOffset, + const util::Color nColor) +{ + (void)rsKey; + + ::boost::shared_ptr pDescriptor( + new PresenterTheme::BitmapDescriptor()); + + if ( ! mxCanvas.is()) + return pDescriptor; + + if (mxPresenterHelper.is()) + { + + pDescriptor->mnXOffset = nXOffset; + pDescriptor->mnYOffset = nYOffset; + pDescriptor->maReplacementColor = nColor; + pDescriptor->mxBitmap = mxPresenterHelper->loadBitmap( + msBasePath + rsFileName, + mxCanvas); + } + else + { + OSL_ASSERT(mxPresenterHelper.is()); + } + return pDescriptor; +} + + + + +::boost::shared_ptr ReadContext::ReadFont ( + const Reference& rxNode, + const OUString& rsFontPath) +{ + ::boost::shared_ptr pDescriptor ( + new PresenterTheme::FontDescriptor()); + + if ( ! rxNode.is()) + return pDescriptor; + + try + { + Reference xFont ( + PresenterConfigurationAccess::GetConfigurationNode( + rxNode, + rsFontPath), + UNO_QUERY_THROW); + + PresenterConfigurationAccess::GetConfigurationNode( + xFont, + OUString::createFromAscii("FamilyName")) >>= pDescriptor->msName; + + PresenterConfigurationAccess::GetConfigurationNode( + xFont, + OUString::createFromAscii("Size")) >>= pDescriptor->mnSize; + + PresenterConfigurationAccess::GetConfigurationNode( + xFont, + OUString::createFromAscii("Color")) >>= pDescriptor->mnColor; + + PresenterConfigurationAccess::GetConfigurationNode( + xFont, + OUString::createFromAscii("Anchor")) >>= pDescriptor->msAnchor; + } + catch (Exception&) + { + OSL_ASSERT(false); + } + + return pDescriptor; +} + + + + +::boost::shared_ptr ReadContext::ReadBorderBitmaps ( + const Reference& rxNode) +{ + ::boost::shared_ptr pContainer ( + new PresenterTheme::BitmapContainer()); + Reference xBitmapList (rxNode, UNO_QUERY); + ::std::vector aProperties (4); + aProperties[0] = OUString::createFromAscii("FileName"); + aProperties[1] = OUString::createFromAscii("XOffset"); + aProperties[2] = OUString::createFromAscii("YOffset"); + aProperties[3] = OUString::createFromAscii("ReplacementColor"); + PresenterConfigurationAccess::ForAll( + xBitmapList, + aProperties, + ::boost::bind(&ReadContext::ProcessBitmap, this, pContainer, _1, _2)); + return pContainer; +} + + + + +void ReadContext::ProcessBitmap ( + const ::boost::shared_ptr& rpContainer, + const OUString& rsKey, + const ::std::vector& rValues) +{ + if (rValues.size() != 4) + return; + + OUString sFileName; + sal_Int32 nXOffset (0); + sal_Int32 nYOffset (0); + sal_uInt32 nColor (0); + rValues[0] >>= sFileName; + rValues[1] >>= nXOffset; + rValues[2] >>= nYOffset; + rValues[3] >>= nColor; + + rpContainer->insert( + PresenterTheme::BitmapContainer::value_type( + rsKey, + ReadBitmap(rsKey, sFileName, nXOffset, nYOffset, nColor))); +} + + + + +::boost::shared_ptr ReadContext::ReadSingleBitmap ( + const OUString& rsKey, + const Reference& rxTheme, + const OUString& rsRelativeNodePath) +{ + if ( ! mxCanvas.is()) + return ::boost::shared_ptr(); + + Reference xBitmapNode( + PresenterConfigurationAccess::GetConfigurationNode( + rxTheme, + rsRelativeNodePath), + UNO_QUERY); + if (xBitmapNode.is()) + { + OUString sFileName; + sal_Int32 nXOffset (0); + sal_Int32 nYOffset (0); + util::Color nColor (0); + PresenterConfigurationAccess::GetConfigurationNode(xBitmapNode,A2S("FileName")) + >>= sFileName; + PresenterConfigurationAccess::GetConfigurationNode(xBitmapNode,A2S("XOffset")) + >>= nXOffset; + PresenterConfigurationAccess::GetConfigurationNode(xBitmapNode,A2S("YOffset")) + >>= nYOffset; + PresenterConfigurationAccess::GetConfigurationNode(xBitmapNode,A2S("ReplacementColor")) + >>= nColor; + return ReadBitmap( + rsKey, + sFileName, + nXOffset, + nYOffset, + nColor); + } + return ::boost::shared_ptr(); +} + + + + +::boost::shared_ptr ReadContext::ReadTheme ( + const OUString& rsThemeName) +{ + ::boost::shared_ptr pTheme; + + OUString sCurrentThemeName (rsThemeName); + if (sCurrentThemeName.getLength() == 0) + { + // No theme name given. Look up the CurrentTheme property. + mrConfiguration.GetConfigurationNode(A2S("Presenter/CurrentTheme")) >>= sCurrentThemeName; + if (sCurrentThemeName.getLength() == 0) + { + // Still no name. Use "DefaultTheme". + sCurrentThemeName = A2S("DefaultTheme"); + } + } + + Reference xThemes ( + mrConfiguration.GetConfigurationNode(OUString::createFromAscii("Presenter/Themes")), + UNO_QUERY); + if (xThemes.is()) + { + // Iterate over all themes and search the one with the given name. + Sequence aKeys (xThemes->getElementNames()); + for (sal_Int32 nItemIndex=0; nItemIndex xTheme ( + xThemes->getByName(rsKey), UNO_QUERY); + if (xTheme.is()) + { + OUString sThemeName; + PresenterConfigurationAccess::GetConfigurationNode(xTheme, A2S("ThemeName")) + >>= sThemeName; + if (sThemeName == sCurrentThemeName) + { + pTheme.reset(new PresenterTheme::Theme(sThemeName,xTheme)); + break; + } + } + } + } + + return pTheme; +} + + + + +BorderSize ReadContext::ReadBorderSize (const Reference& rxNode) +{ + BorderSize aBorderSize; + + if (rxNode.is()) + { + Any aValue; + rxNode->getByName(A2S("Left")) >>= aBorderSize.mnLeft; + rxNode->getByName(A2S("Top")) >>= aBorderSize.mnTop; + rxNode->getByName(A2S("Right")) >>= aBorderSize.mnRight; + rxNode->getByName(A2S("Bottom")) >>= aBorderSize.mnBottom; + } + + return aBorderSize; +} + + + + +//===== PaneStyleContainer ==================================================== + +void PaneStyleContainer::Read ( + ReadContext& rReadContext, + const Reference& rxThemeRoot) +{ + Reference xPaneStyleList ( + PresenterConfigurationAccess::GetConfigurationNode( + rxThemeRoot, + OUString::createFromAscii("PaneStyles")), + UNO_QUERY); + if (xPaneStyleList.is()) + { + ::std::vector aProperties; + aProperties.reserve(6); + aProperties.push_back(A2S("StyleName")); + aProperties.push_back(A2S("ParentStyle")); + aProperties.push_back(A2S("TitleFont")); + aProperties.push_back(A2S("InnerBorderSize")); + aProperties.push_back(A2S("OuterBorderSize")); + aProperties.push_back(A2S("BorderBitmapList")); + PresenterConfigurationAccess::ForAll( + xPaneStyleList, + aProperties, + ::boost::bind(&PaneStyleContainer::ProcessPaneStyle, + this, ::boost::ref(rReadContext), _1, _2)); + } +} + + + + +void PaneStyleContainer::ProcessPaneStyle( + ReadContext& rReadContext, + const OUString& rsKey, + const ::std::vector& rValues) +{ + (void)rsKey; + + if (rValues.size() != 6) + return; + + ::boost::shared_ptr pStyle (new PaneStyle()); + + rValues[0] >>= pStyle->msStyleName; + + OUString sParentStyleName; + if (rValues[1] >>= sParentStyleName) + { + // Find parent style. + PaneStyleContainer::const_iterator iStyle; + for (iStyle=begin(); iStyle!=end(); ++iStyle) + if ((*iStyle)->msStyleName.equals(sParentStyleName)) + pStyle->mpParentStyle = *iStyle; + } + + Reference xFontNode (rValues[2], UNO_QUERY); + pStyle->mpFont = rReadContext.ReadFont(xFontNode, A2S("")); + + Reference xInnerBorderSizeNode (rValues[3], UNO_QUERY); + pStyle->maInnerBorderSize = rReadContext.ReadBorderSize(xInnerBorderSizeNode); + Reference xOuterBorderSizeNode (rValues[4], UNO_QUERY); + pStyle->maOuterBorderSize = rReadContext.ReadBorderSize(xOuterBorderSizeNode); + + if (rReadContext.mxCanvas.is()) + { + Reference xBitmapsNode (rValues[5], UNO_QUERY); + ::boost::shared_ptr pBitmaps; + pBitmaps = rReadContext.ReadBorderBitmaps(xBitmapsNode); + pStyle->mpBitmaps = pBitmaps; + } + + push_back(pStyle); +} + + + + +void PaneStyleContainer::AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap) +{ + for (const_iterator iStyle=begin(); iStyle!=end(); ++iStyle) + (*iStyle)->AddProperties( + rsPropertyPrefix+(*iStyle)->msStyleName+A2S("_"), + rpPropertyMap); +} + + + + +//===== PaneStyle ============================================================= + +PaneStyle::PaneStyle (void) + : msStyleName(), + mpFont(), + maInnerBorderSize(), + maOuterBorderSize(), + mpBitmaps(new PresenterTheme::BitmapContainer()) +{ +} + + + + +PaneStyle::~PaneStyle (void) +{ +} + + + + +void PaneStyle::AddProperties( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap) +{ + if (mpParentStyle.get() != NULL) + mpParentStyle->AddProperties(rsPropertyPrefix, rpPropertyMap); + if (mpFont.get() != NULL) + mpFont->AddProperties(rsPropertyPrefix+A2S("Font_"), rpPropertyMap); + if (mpBitmaps.get() != NULL) + mpBitmaps->AddProperties(rsPropertyPrefix+A2S("Border_"), rpPropertyMap); + + Sequence aBorderSize (4); + aBorderSize[0] = maInnerBorderSize.mnLeft; + aBorderSize[1] = maInnerBorderSize.mnTop; + aBorderSize[2] = maInnerBorderSize.mnRight; + aBorderSize[3] = maInnerBorderSize.mnBottom; + rpPropertyMap->Set( + rsPropertyPrefix+A2S("InnerBorderSize"), + Any(aBorderSize)); + aBorderSize[0] = maOuterBorderSize.mnLeft; + aBorderSize[1] = maOuterBorderSize.mnTop; + aBorderSize[2] = maOuterBorderSize.mnRight; + aBorderSize[3] = maOuterBorderSize.mnBottom; + rpPropertyMap->Set( + rsPropertyPrefix+A2S("OuterBorderSize"), + Any(aBorderSize)); +} + + + + +//===== ViewStyleContainer ==================================================== + +void ViewStyleContainer::Read ( + ReadContext& rReadContext, + const Reference& rxThemeRoot) +{ + Reference xViewStyleList ( + PresenterConfigurationAccess::GetConfigurationNode( + rxThemeRoot, + OUString::createFromAscii("ViewStyles")), + UNO_QUERY); + if (xViewStyleList.is()) + { + ::std::vector aProperties (4); + aProperties[0] = OUString::createFromAscii("StyleName"); + aProperties[1] = OUString::createFromAscii("ParentStyle"); + aProperties[2] = OUString::createFromAscii("Font"); + aProperties[3] = OUString::createFromAscii("Background"); + PresenterConfigurationAccess::ForAll( + xViewStyleList, + aProperties, + ::boost::bind(&ViewStyleContainer::ProcessViewStyle, + this, ::boost::ref(rReadContext), _1, _2)); + } +} + + + + +void ViewStyleContainer::ProcessViewStyle( + ReadContext& rReadContext, + const OUString& rsKey, + const ::std::vector& rValues) +{ + (void)rsKey; + + if (rValues.size() != 4) + return; + + ::boost::shared_ptr pStyle (new ViewStyle()); + + rValues[0] >>= pStyle->msStyleName; + + const OUString sPathToFont; // empty string + Reference xFontNode (rValues[2], UNO_QUERY); + pStyle->mpFont = rReadContext.ReadFont(xFontNode, sPathToFont); + + Reference xBackgroundNode (rValues[3], UNO_QUERY); + pStyle->mpBackground = rReadContext.ReadSingleBitmap( + A2S("Background"), xBackgroundNode, A2S("")); + + push_back(pStyle); +} + + + + +void ViewStyleContainer::AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap) +{ + for (const_iterator iStyle=begin(); iStyle!=end(); ++iStyle) + (*iStyle)->AddProperties( + rsPropertyPrefix+(*iStyle)->msStyleName+A2S("_"), + rpPropertyMap); +} + + + + +//===== PaneStyle ============================================================= + +ViewStyle::ViewStyle (void) + : msStyleName(), + mpFont(), + mpBackground() +{ +} + + + + +ViewStyle::~ViewStyle (void) +{ +} + + + + +void ViewStyle::AddProperties( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap) +{ + if (mpParentStyle.get() != NULL) + mpParentStyle->AddProperties(rsPropertyPrefix, rpPropertyMap); + if (mpFont.get() != NULL) + mpFont->AddProperties(rsPropertyPrefix+A2S("Font_"), rpPropertyMap); + if (mpBackground.get() != NULL) + mpBackground->AddProperties(rsPropertyPrefix+A2S("Background_"), rpPropertyMap); +} + + + + +//===== StyleAssociationContainer ============================================= + +void StyleAssociationContainer::Read ( + ReadContext& rReadContext, + const Reference& rxThemeRoot) +{ + Reference xStyleAssociationList ( + PresenterConfigurationAccess::GetConfigurationNode( + rxThemeRoot, + OUString::createFromAscii("StyleAssociations")), + UNO_QUERY); + if (xStyleAssociationList.is()) + { + ::std::vector aProperties (2); + aProperties[0] = OUString::createFromAscii("ResourceURL"); + aProperties[1] = OUString::createFromAscii("StyleName"); + PresenterConfigurationAccess::ForAll( + xStyleAssociationList, + aProperties, + ::boost::bind(&StyleAssociationContainer::ProcessStyleAssociation, + this, ::boost::ref(rReadContext), _1, _2)); + } +} + + + + +void StyleAssociationContainer::AddProperties ( + const OUString& rsPropertyPrefix, + const ::boost::shared_ptr& rpPropertyMap) +{ + (void)rsPropertyPrefix; + for (const_iterator iAssociation=begin(); iAssociation!=end(); ++iAssociation) + rpPropertyMap->Set( + iAssociation->msResourceURL, + Any(iAssociation->msStyleName)); +} + + + + +void StyleAssociationContainer::ProcessStyleAssociation( + ReadContext& rReadContext, + const OUString& rsKey, + const ::std::vector& rValues) +{ + (void)rReadContext; + (void)rsKey; + + if (rValues.size() != 2) + return; + + OUString sResourceURL; + OUString sStyleName; + if ((rValues[0] >>= sResourceURL) + && (rValues[1] >>= sStyleName)) + { + push_back(StyleAssociation(sResourceURL, sStyleName)); + } +} + + + + +//===== StyleAssociation ====================================================== + +StyleAssociation::StyleAssociation ( + const OUString& rsResourceURL, + const OUString& rsStyleName) + : msResourceURL(rsResourceURL), + msStyleName(rsStyleName) +{ +} + + + + +StyleAssociation::~StyleAssociation (void) +{ +} + + + + +} // end of anonymous namespace + +} } // end of namespace ::sdext::presenter -- cgit From 97b9b3308bcd402b860e194b88388c0acc70e36e Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:06:18 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/23 12:19:19 af 1.1.2.2: #i18486# Canvas can be supplied after PresenterTheme object has been created. Give direct access to pane and view style names. 2008/01/21 15:55:32 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterTheme.hxx | 109 ++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 sdext/source/presenter/PresenterTheme.hxx diff --git a/sdext/source/presenter/PresenterTheme.hxx b/sdext/source/presenter/PresenterTheme.hxx new file mode 100644 index 000000000000..95d7f4823bd3 --- /dev/null +++ b/sdext/source/presenter/PresenterTheme.hxx @@ -0,0 +1,109 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterTheme.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:06:18 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_THEME_HXX +#define SDEXT_PRESENTER_PRESENTER_THEME_HXX + +#include "PresenterConfigurationAccess.hxx" +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + + +/** A theme is a set of properties describing fonts, colors, and bitmaps to be used to draw + background, pane borders, and view content. + + At the moment the properties can be accessed via the getPropertyValue() method. + + For a resource URL of a pane or a view you get the name of the + associated PaneStyle or ViewStyle. + + For the name of pane or view style suffixed with and underscore and the + name of configuration property, and maybe additionally suffixed by + another underscore and sub property name you get the associated + property. + + Example: you want to access the top left bitmap of a pane border + (simplified code): + + String sStyleName = getPropertyValue("private:resource/pane/Presenter/Pane1"); + XBitmap xBitmap = getPropertyValue(sStyleName + "_TopLeftBitmap"); + + For the offset of the bitmap you can call + Point aOffset = getPropertyValue(sStyleName + "_TopLeftOffset"); + + This is work in progress. +*/ +class PresenterTheme +{ +public: + PresenterTheme ( + const css::uno::Reference& rxContext, + const rtl::OUString& rsThemeName, + const css::uno::Reference& rxCanvas); + ~PresenterTheme (void); + + void SAL_CALL disposing (void); + + bool HasCanvas (void) const; + void ProvideCanvas (const css::uno::Reference& rxCanvas); + css::uno::Any getPropertyValue (const ::rtl::OUString& rsPropertyName); + + ::rtl::OUString GetPaneStyle (const ::rtl::OUString& rsResourceURL) const; + ::rtl::OUString GetViewStyle (const ::rtl::OUString& rsResourceURL) const; + + class BitmapContainer; + class FontDescriptor; + class BitmapDescriptor; + class Theme; + class PropertyMap; + +private: + css::uno::Reference mxContext; + const ::rtl::OUString msThemeName; + ::boost::shared_ptr mpBitmapContainer; + css::uno::Reference mxCanvas; + ::boost::shared_ptr mpPropertyMap; + + void ReadTheme (void); +}; + +} } // end of namespace ::sd::presenter + +#endif -- cgit From 775a3213c55becc6cd2943bd6bb770dd7e87c946 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:06:28 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:34:21 af 1.1.2.8: #i18486# Factored out management of theme bitmaps to PresenterBitmapContainer. 2008/01/30 11:54:28 af 1.1.2.7: #i18486# Added guards againts missing canvas. 2008/01/21 15:26:59 af 1.1.2.6: #i18486# Using PresenterHelper for loading bitmaps. Code cleanup. 2008/01/09 18:36:57 cl 1.1.2.5: #i18486# use new slideshow api 2007/12/14 09:38:39 af 1.1.2.4: #i18486# Resolved resync problems. 2007/12/12 15:31:19 af 1.1.2.3: #i18486# Using canvas for rendering. 2007/11/19 09:44:32 af 1.1.2.2: #i18486# Added isAnchorOnly() method. Added initial theming support. 2007/10/24 12:25:07 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterToolBar.cxx | 971 ++++++++++++++++++++++++++++ 1 file changed, 971 insertions(+) create mode 100644 sdext/source/presenter/PresenterToolBar.cxx diff --git a/sdext/source/presenter/PresenterToolBar.cxx b/sdext/source/presenter/PresenterToolBar.cxx new file mode 100644 index 000000000000..724263b57504 --- /dev/null +++ b/sdext/source/presenter/PresenterToolBar.cxx @@ -0,0 +1,971 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterToolBar.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:06:28 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterToolBar.hxx" + +#include "PresenterBitmapContainer.hxx" +#include "PresenterGeometryHelper.hxx" +//#include "PresenterHelper.hxx" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + +namespace { +const sal_Int32 gnButtonSize = 64; +} + +namespace sdext { namespace presenter { + +//===== PresenterToolBar::Element ============================================= + +class PresenterToolBar::Element +{ +public: + explicit Element ( + const Reference& rxWindowPeer); + explicit Element ( + const Reference& rxWindowPeer, + const awt::Rectangle& rBoundingBox); + virtual ~Element (void); + + virtual void SetCurrentSlide ( + const Reference& rxCurrentSlide, + const sal_Int32 nSlideCount); + virtual void SetPosSize (const awt::Rectangle& rBox); + virtual awt::Rectangle GetBoundingBox (void) const; + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState) = 0; + virtual bool SetState (const bool bIsOver, const bool bIsPressed); + virtual void Invalidate (void); + virtual bool IsOutside (const awt::Rectangle& rBox); + +protected: + Reference mxWindowPeer; + awt::Rectangle maBoundingBox; +}; + + + + +//===== PresenterToolBar::Button ============================================== + +class Button : public PresenterToolBar::Element +{ +public: + typedef ::boost::function Callback; + + /** + @param rxWindowPeer + The window peer is used to invalidate the region of the button + to enforce its repaint. + */ + Button ( + const Reference& rxWindowPeer, + const OUString& rsText, + const PresenterBitmapContainer::BitmapSet& rIcons, + const Callback& rCallback); + + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState); + virtual bool SetState (const bool bIsOver, const bool bIsPressed); + +private: + OUString msText; + bool mbIsOver; + bool mbIsPressed; + PresenterBitmapContainer::BitmapSet maIcons; + bool mbIconLoadingFailed; + Callback maCallback; +}; + + + + +//===== PresenterToolBar::Label =============================================== + +class Label : public PresenterToolBar::Element +{ +public: + Label ( + const Reference& rxPeer, + const util::Color& rFontColor, + const rendering::FontRequest& rRequestedFontDescriptor); + + virtual void SetCurrentSlide ( + const Reference& rxCurrentSlide, + const sal_Int32 nSlideCount); + void SetText (const OUString& rsText); + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState); + +private: + OUString msText; + Reference mxFont; + util::Color maFontColor; + rendering::FontRequest maRequestedFontDescriptor; +}; + + + + +//===== PresenterToolBar ====================================================== + +PresenterToolBar::PresenterToolBar ( + const Reference& rxContext, + const Reference& rxViewId, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) + : PresenterToolBarInterfaceBase(m_aMutex), + mxComponentContext(rxContext), + mxPane(), + mxViewId(rxViewId), + mxCanvas(), + maElementContainer(), + mxWindow(), + mxControl(), + mxCurrentSlide(), + mxSlideShowController(), + mpPresenterController(rpPresenterController), + msPreviousButtonBitmapURL(), + msNextButtonBitmapURL(), + mpIconContainer() +{ + try + { + Reference xCM (rxController, UNO_QUERY_THROW); + Reference xCC(xCM->getConfigurationController(),UNO_QUERY_THROW); + mxPane = Reference(xCC->getResource(rxViewId->getAnchor()), UNO_QUERY_THROW); + + mxWindow = mxPane->getWindow(); + mxCanvas = mxPane->getCanvas(); + + mpIconContainer.reset(new PresenterBitmapContainer(rxContext, mxCanvas, + A2S("PresenterScreenSettings/ToolBar/Bitmaps"))); + CreateControls(); + + // Set background of tool bar. + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + { + xPeer->setBackground( + mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL())); + } + + if (mxWindow.is()) + { + mxWindow->addWindowListener(this); + mxWindow->addPaintListener(this); + mxWindow->addMouseListener(this); + mxWindow->addMouseMotionListener(this); + + xPeer = Reference(mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->setBackground(util::Color(0xff000000)); + + mxWindow->setVisible(sal_True); + } + + + mxSlideShowController = rpPresenterController->GetSlideShowController(); + UpdateSlideNumber(); + Resize(); + } + catch (RuntimeException&) + { + mxViewId = NULL; + maElementContainer.clear(); + mxControl = NULL; + throw; + } +} + + + + +PresenterToolBar::~PresenterToolBar (void) +{ +} + + + + +void SAL_CALL PresenterToolBar::disposing (void) +{ + if (mxWindow.is()) + { + mxWindow->removeWindowListener(this); + mxWindow->removePaintListener(this); + mxWindow->removeMouseListener(this); + mxWindow->removeMouseMotionListener(this); + mxWindow = NULL; + } + Reference xComponent (mxControl, UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); + mxControl = NULL; + maElementContainer.clear(); + mxViewId = NULL; +} + + + + +//----- lang::XEventListener ------------------------------------------------- + +void SAL_CALL PresenterToolBar::disposing (const lang::EventObject& rEventObject) + throw (RuntimeException) +{ + if (rEventObject.Source == mxWindow) + mxWindow = NULL; +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterToolBar::windowResized (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + Resize(); +} + + + + +void SAL_CALL PresenterToolBar::windowMoved (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterToolBar::windowShown (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterToolBar::windowHidden (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterToolBar::windowPaint (const css::awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + if ( ! mxCanvas.is()) + return; + + const rendering::ViewState aViewState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + PresenterGeometryHelper::CreatePolygon(rEvent.UpdateRect, mxCanvas->getDevice())); + + Clear(rEvent.UpdateRect, aViewState); + Paint(rEvent.UpdateRect, aViewState); + + // Make the back buffer visible. + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); +} + + + + +//----- XMouseListener -------------------------------------------------------- + +void SAL_CALL PresenterToolBar::mousePressed (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + CheckMouseOver(rEvent, true, true); +} + + + + +void SAL_CALL PresenterToolBar::mouseReleased (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + CheckMouseOver(rEvent, true); +} + + + + +void SAL_CALL PresenterToolBar::mouseEntered (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + CheckMouseOver(rEvent, true); +} + + + + +void SAL_CALL PresenterToolBar::mouseExited (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + CheckMouseOver(rEvent, false); +} + + + + +//----- XMouseMotionListener -------------------------------------------------- + +void SAL_CALL PresenterToolBar::mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + + CheckMouseOver(rEvent, true); +} + + + + +void SAL_CALL PresenterToolBar::mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + (void)rEvent; +} + + + + +//----- XResourceId ----------------------------------------------------------- + +Reference SAL_CALL PresenterToolBar::getResourceId (void) + throw (RuntimeException) +{ + return mxViewId; +} + + + + +sal_Bool SAL_CALL PresenterToolBar::isAnchorOnly (void) + throw (RuntimeException) +{ + return false; +} + + + + +//----- XDrawView ------------------------------------------------------------- + +void SAL_CALL PresenterToolBar::setCurrentPage (const Reference& rxSlide) + throw (RuntimeException) +{ + if (mxCurrentSlide != rxSlide) + { + mxCurrentSlide = rxSlide; + UpdateSlideNumber(); + } +} + + + + +Reference SAL_CALL PresenterToolBar::getCurrentPage (void) + throw (RuntimeException) +{ + return mxCurrentSlide; +} + + + + +//----------------------------------------------------------------------------- + +void PresenterToolBar::GotoPreviousSlide (void) +{ + if (mxSlideShowController.is()) + { + mxSlideShowController->gotoPreviousSlide(); + // Going to the previous slide does not trigger any event that would + // cause an update of the presenter view. Therefore request an + // update explicitly. + if (mpPresenterController.is()) + mpPresenterController->UpdateCurrentSlide(0); + } +} + + + + +void PresenterToolBar::GotoNextEffect (void) +{ + if (mxSlideShowController.is()) + { + mxSlideShowController->gotoNextEffect(); + // When playing the next effect causes a change to the next slide + // then events are sent that cause an update of the presenter view. + } +} + + + + +void PresenterToolBar::GotoNextSlide (void) +{ + if (mxSlideShowController.is()) + { + mxSlideShowController->gotoNextSlide(); + // Going to the next slide does not trigger any event that would + // cause an update of the presenter view. Therefore request an + // update explicitly. + if (mpPresenterController.is()) + mpPresenterController->UpdateCurrentSlide(0); + } +} + + + + +void PresenterToolBar::CreateControls (void) +{ + if ( ! mxWindow.is()) + return; + + // Expand the macro in the bitmap file names. + Reference xInformationProvider ( + mxComponentContext->getValueByName( + A2S("/singletons/com.sun.star.deployment.PackageInformationProvider")), + UNO_QUERY); + Reference xPeer (mxWindow, UNO_QUERY); + + maElementContainer.push_back(boost::shared_ptr(new Button( + xPeer, + A2S("Back"), + mpIconContainer->GetButtons(A2S("PreviousSlide")), + ::boost::bind(&PresenterToolBar::GotoPreviousSlide,this)))); + + maElementContainer.push_back(boost::shared_ptr(new Label( + xPeer, + mpPresenterController->GetViewFontColor(mxViewId->getResourceURL()), + mpPresenterController->GetViewFontRequest(mxViewId->getResourceURL())))); + + maElementContainer.push_back(boost::shared_ptr(new Button( + xPeer, + A2S("Next\nEffect"), + mpIconContainer->GetButtons(A2S("NextEffect")), + ::boost::bind(&PresenterToolBar::GotoNextEffect,this)))); + + maElementContainer.push_back(boost::shared_ptr(new Button( + xPeer, + A2S("Next\nSlide"), + mpIconContainer->GetButtons(A2S("NextSlide")), + ::boost::bind(&PresenterToolBar::GotoNextSlide,this)))); +} + + + + +void PresenterToolBar::Resize (void) +{ + if (mxWindow.is()) + { + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + if (mxControl.is()) + mxControl->setPosSize(0,0, aWindowBox.Width, aWindowBox.Height, awt::PosSize::POSSIZE); + + // Calculate the summed width of all elements. + sal_Int32 nTotalControlWidth (0); + sal_Int32 nMaximalHeight (0); + sal_Int32 nElementCount (0); + ElementContainer::iterator iElement; + for (iElement=maElementContainer.begin(); iElement!=maElementContainer.end(); ++iElement) + { + if (iElement->get() != NULL) + { + ++nElementCount; + nTotalControlWidth += (*iElement)->GetBoundingBox().Width; + const sal_Int32 nHeight ((*iElement)->GetBoundingBox().Height); + if (nHeight > nMaximalHeight) + nMaximalHeight = nHeight; + } + } + + // Calculate the gaps between elements. + sal_Int32 nGapSize = (aWindowBox.Width - nTotalControlWidth) / 3; + if (nGapSize > 10) + nGapSize = 10; + + sal_Int32 nX = (aWindowBox.Width - (nTotalControlWidth + (nElementCount-1)*nGapSize)) / 2; + sal_Int32 nY = (aWindowBox.Height - nMaximalHeight) / 2; + + // Place the elements. + for (iElement=maElementContainer.begin(); iElement!=maElementContainer.end(); ++iElement) + { + if (iElement->get() != NULL) + { + const awt::Rectangle aBox ((*iElement)->GetBoundingBox()); + (*iElement)->SetPosSize(awt::Rectangle(nX,nY, aBox.Width, aBox.Height)); + + nX += aBox.Width + nGapSize; + } + } + + // The whole window has to be repainted. + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(awt::InvalidateStyle::CHILDREN); + } +} + + + + +void PresenterToolBar::Clear ( + const awt::Rectangle& rUpdateBox, + const rendering::ViewState& rViewState) +{ + OSL_ASSERT(mxCanvas.is()); + + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + const sal_Int32 nColor ( + mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL())); + aRenderState.DeviceColor[0] = ((nColor&0x00ff0000) >> 16) / 255.0; + aRenderState.DeviceColor[1] = ((nColor&0x0000ff00) >> 8) / 255.0; + aRenderState.DeviceColor[2] = ((nColor&0x000000ff) >> 0) / 255.0; + + Reference xRectangle ( + PresenterGeometryHelper::CreatePolygon(rUpdateBox, mxCanvas->getDevice())); + if (xRectangle.is()) + mxCanvas->fillPolyPolygon(xRectangle, rViewState, aRenderState); +} + + + + +void PresenterToolBar::Paint ( + const awt::Rectangle& rUpdateBox, + const rendering::ViewState& rViewState) +{ + OSL_ASSERT(mxCanvas.is()); + + ElementContainer::iterator iElement; + for (iElement=maElementContainer.begin(); iElement!=maElementContainer.end(); ++iElement) + { + if (iElement->get() != NULL) + { + if ( ! (*iElement)->IsOutside(rUpdateBox)) + (*iElement)->Paint(mxCanvas, rViewState); + } + } +} + + + + +void PresenterToolBar::UpdateSlideNumber (void) +{ + if( mxSlideShowController.is() ) + { + ElementContainer::iterator iElement; + for (iElement=maElementContainer.begin(); + iElement!=maElementContainer.end(); + ++iElement) + { + if (iElement->get() != NULL) + (*iElement)->SetCurrentSlide(mxCurrentSlide, mxSlideShowController->getSlideCount()); + } + } + + // All elements may have to be repainted. + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(awt::InvalidateStyle::CHILDREN); +} + + + + +void PresenterToolBar::CheckMouseOver ( + const css::awt::MouseEvent& rEvent, + const bool bOverWindow, + const bool bMouseDown) +{ + ElementContainer::iterator iElement; + for (iElement=maElementContainer.begin(); + iElement!=maElementContainer.end(); + ++iElement) + { + if (iElement->get() == NULL) + continue; + + awt::Rectangle aBox ((*iElement)->GetBoundingBox()); + const bool bIsOver = bOverWindow + && aBox.X <= rEvent.X + && aBox.Width+aBox.X-1 >= rEvent.X + && aBox.Y <= rEvent.Y + && aBox.Height+aBox.Y-1 >= rEvent.Y; + (*iElement)->SetState( + bIsOver, + bIsOver && rEvent.Buttons!=0 && bMouseDown && rEvent.ClickCount>0); + } +} + + + + +void PresenterToolBar::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterToolBar has already been disposed")), + const_cast(static_cast(this))); + } +} + + + + +//===== PresenterToolBar::Element ============================================= + +PresenterToolBar::Element::Element (const Reference& rxWindowPeer) + : mxWindowPeer(rxWindowPeer), + maBoundingBox() +{ +} + + + + +PresenterToolBar::Element::Element ( + const Reference& rxWindowPeer, + const awt::Rectangle& rBoundingBox) + : mxWindowPeer(rxWindowPeer), + maBoundingBox(rBoundingBox) +{ +} + + + + +PresenterToolBar::Element::~Element (void) +{ +} + + + + +void PresenterToolBar::Element::SetCurrentSlide ( + const Reference& rxCurrentSlide, + const sal_Int32 nSlideCount) +{ + (void)rxCurrentSlide; + (void)nSlideCount; +} + + + + +void PresenterToolBar::Element::SetPosSize (const awt::Rectangle& rBox) +{ + maBoundingBox = rBox; +} + + + + +awt::Rectangle PresenterToolBar::Element::GetBoundingBox (void) const +{ + return maBoundingBox; +} + + + + +bool PresenterToolBar::Element::SetState ( + const bool bIsOver, + const bool bIsPressed) +{ + (void)bIsOver; + (void)bIsPressed; + return false; +} + + + + +void PresenterToolBar::Element::Invalidate (void) +{ + if (mxWindowPeer.is()) + mxWindowPeer->invalidateRect(maBoundingBox, awt::InvalidateStyle::UPDATE); +} + + + + +bool PresenterToolBar::Element::IsOutside (const awt::Rectangle& rBox) +{ + if (rBox.X >= maBoundingBox.X+maBoundingBox.Width) + return true; + else if (rBox.Y >= maBoundingBox.Y+maBoundingBox.Height) + return true; + else if (maBoundingBox.X >= rBox.X+rBox.Width) + return true; + else if (maBoundingBox.Y >= rBox.Y+rBox.Height) + return true; + else + return false; +} + + + + +//===== PresenterToolBar::Button ============================================== + +Button::Button ( + const Reference& rxWindowPeer, + const OUString& rsText, + const PresenterBitmapContainer::BitmapSet& rIcons, + const Callback& rCallback) + : Element(rxWindowPeer, awt::Rectangle(0,0,gnButtonSize,gnButtonSize)), + msText(rsText), + mbIsOver(false), + mbIsPressed(false), + maIcons(rIcons), + mbIconLoadingFailed(false), + maCallback(rCallback) +{ +} + + + + +void Button::Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState) +{ + OSL_ASSERT(rxCanvas.is()); + + Reference xBitmap; + if (mbIsPressed) + xBitmap = maIcons.mxButtonDownIcon; + else if (mbIsOver) + xBitmap = maIcons.mxMouseOverIcon; + else + xBitmap = maIcons.mxNormalIcon; + + if (xBitmap.is()) + { + const rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,maBoundingBox.X, 0,1,maBoundingBox.Y), + NULL, + Sequence(3), + rendering::CompositeOperation::OVER); + rxCanvas->drawBitmap(xBitmap, rViewState, aRenderState); + } +} + + + + +bool Button::SetState ( + const bool bIsOver, + const bool bIsPressed) +{ + bool bModified (mbIsOver != bIsOver || mbIsPressed != bIsPressed); + bool bClicked (mbIsPressed && bIsOver && ! bIsPressed); + + mbIsOver = bIsOver; + mbIsPressed = bIsPressed; + + if (bModified) + Invalidate(); + + if (bClicked) + maCallback(); + + return bModified; +} + + + + +//===== PresenterToolBar::Label =============================================== + +Label::Label ( + const Reference& rxWindowPeer, + const util::Color& rFontColor, + const rendering::FontRequest& rFontDescriptor) + : Element(rxWindowPeer, awt::Rectangle(0,0,100,gnButtonSize)), + msText(), + mxFont(), + maFontColor(rFontColor), + maRequestedFontDescriptor(rFontDescriptor) +{ + maRequestedFontDescriptor.CellSize = gnButtonSize / 2; +} + + + + +void Label::SetCurrentSlide ( + const Reference& rxCurrentSlide, + const sal_Int32 nSlideCount) +{ + try + { + Reference xSlideProperties (rxCurrentSlide, UNO_QUERY_THROW); + const Any aSlideNumber (xSlideProperties->getPropertyValue( + OUString::createFromAscii("Number"))); + sal_Int32 nSlideNumber (0); + if (aSlideNumber >>= nSlideNumber) + { + SetText( + OUString::valueOf(nSlideNumber) + + OUString::createFromAscii(" / ") + + OUString::valueOf(nSlideCount)); + } + } + catch (RuntimeException&) + { + } +} + + + + +void Label::SetText (const OUString& rsText) +{ + msText = rsText; + Invalidate(); +} + + + + +void Label::Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState) +{ + OSL_ASSERT(rxCanvas.is()); + + if ( ! mxFont.is()) + mxFont = rxCanvas->createFont( + maRequestedFontDescriptor, + Sequence(), + geometry::Matrix2D(1,0,0,1)); + + if (mxFont.is()) + { + rendering::StringContext aContext (msText, 0, msText.getLength()); + + Reference xLayout ( + mxFont->createTextLayout(aContext, rendering::TextDirection::WEAK_LEFT_TO_RIGHT, 0)); + + geometry::RealRectangle2D aBox (xLayout->queryTextBounds()); + const double nTextWidth = aBox.X2 - aBox.X1; + const double nTextHeight = aBox.Y2 - aBox.Y1; + const double nY = maBoundingBox.Y + (maBoundingBox.Height - nTextHeight)/2 + + 3*nTextHeight/4; + const double nX = maBoundingBox.X + (maBoundingBox.Width - nTextWidth)/2; + + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,nX, 0,1,nY), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + aRenderState.DeviceColor[0] = ((maFontColor&0x00ff0000)>>16) / 255.0; + aRenderState.DeviceColor[1] = ((maFontColor&0x0000ff00)>>8) / 255.0; + aRenderState.DeviceColor[2] = (maFontColor&0x000000ff) / 255.0; + + rxCanvas->drawText( + aContext, + mxFont, + rViewState, + aRenderState, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT); + } +} + + + + +} } // end of namespace ::sdext::presenter -- cgit From 40427a71e22ae43dd857b64a56e4a3516b13d805 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:06:39 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:33:48 af 1.1.2.6: #i18486# Factored out management of theme bitmaps to PresenterBitmapContainer. 2008/01/30 11:54:44 af 1.1.2.5: #i18486# Added guards againts missing canvas. 2008/01/21 15:28:28 af 1.1.2.4: #i18486# Using PresenterHelper for loading bitmaps. Code cleanup. 2007/12/12 15:32:45 af 1.1.2.3: #i18486# Using canvas for rendering. 2007/11/19 09:44:01 af 1.1.2.2: #i18486# Added isAnchorOnly() method. Added initial theming support. 2007/10/24 12:24:50 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterToolBar.hxx | 221 ++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 sdext/source/presenter/PresenterToolBar.hxx diff --git a/sdext/source/presenter/PresenterToolBar.hxx b/sdext/source/presenter/PresenterToolBar.hxx new file mode 100644 index 000000000000..9c0cd3ba4b86 --- /dev/null +++ b/sdext/source/presenter/PresenterToolBar.hxx @@ -0,0 +1,221 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterToolBar.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:06:39 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_TOOL_BAR_HXX +#define SDEXT_PRESENTER_TOOL_BAR_HXX + +#include "PresenterController.hxx" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace { + typedef cppu::WeakComponentImplHelper6< + css::awt::XWindowListener, + css::awt::XPaintListener, + css::awt::XMouseListener, + css::awt::XMouseMotionListener, + css::drawing::framework::XView, + css::drawing::XDrawView + > PresenterToolBarInterfaceBase; +} + +namespace sdext { namespace presenter { + +class PresenterBitmapContainer; + +/** A simple tool bar that can display bitmapped buttons and labels. At the + moment there are buttons for moving to the next and previous slide and + to the next effect. A label displayes the index of the current slide + and the total number of slides. + + In the future this set of controls may be extended. Declaration of the + control set could be made more flexible and more easy (e.g. via the + configuration to avoid the need to recompile this class.) +*/ +class PresenterToolBar + : private ::cppu::BaseMutex, + public PresenterToolBarInterfaceBase +{ +public: + explicit PresenterToolBar ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); + virtual ~PresenterToolBar (void); + + virtual void SAL_CALL disposing (void); + + // lang::XEventListener + + virtual void SAL_CALL + disposing (const css::lang::EventObject& rEventObject) + throw (css::uno::RuntimeException); + + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseListener + + virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseMotionListener + + virtual void SAL_CALL mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XResourceId + + virtual css::uno::Reference SAL_CALL getResourceId (void) + throw (css::uno::RuntimeException); + + virtual sal_Bool SAL_CALL isAnchorOnly (void) + throw (com::sun::star::uno::RuntimeException); + + + // XDrawView + + virtual void SAL_CALL setCurrentPage ( + const css::uno::Reference& rxSlide) + throw (css::uno::RuntimeException); + + virtual css::uno::Reference SAL_CALL getCurrentPage (void) + throw (css::uno::RuntimeException); + + class Element; + +private: + + css::uno::Reference mxComponentContext; + css::uno::Reference mxPane; + css::uno::Reference mxViewId; + css::uno::Reference mxCanvas; + + typedef ::std::vector > ElementContainer; + ElementContainer maElementContainer; + css::uno::Reference mxWindow; + css::uno::Reference mxControl; + css::uno::Reference mxCurrentSlide; + css::uno::Reference mxSlideShowController; + ::rtl::Reference mpPresenterController; + ::rtl::OUString msPreviousButtonBitmapURL; + ::rtl::OUString msNextButtonBitmapURL; + ::boost::scoped_ptr mpIconContainer; + + void CreateControls (void); + void Resize (void); + void Clear ( + const css::awt::Rectangle& rUpdateBox, + const css::rendering::ViewState& rViewState); + void Paint ( + const css::awt::Rectangle& rUpdateBox, + const css::rendering::ViewState& rViewState); + + void UpdateSlideNumber (void); + + void CheckMouseOver ( + const css::awt::MouseEvent& rEvent, + const bool bOverWindow, + const bool bMouseDown=false); + + void GotoPreviousSlide (void); + void GotoNextSlide (void); + void GotoNextEffect (void); + + /** This method throws a DisposedException when the object has already been + disposed. + */ + void ThrowIfDisposed (void) const + throw (css::lang::DisposedException); +}; + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From b561e658ebed8cfcfd18dc90bd25de9134341fb3 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:06:49 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/28 16:15:25 af 1.1.2.11: #i18486# Find... methods of pane container now return SharedPaneDescriptor. 2008/02/26 15:35:43 af 1.1.2.10: #i18486# Replaced PresenterSlideSorterView with PresenterSlideSorter. 2008/01/30 15:09:07 af 1.1.2.9: #i18486# Fixed repainting of the preview. 2008/01/23 15:21:16 af 1.1.2.8: #i18486# Fixed Linux compilation problems. 2008/01/21 15:33:01 af 1.1.2.7: #i18486# Code cleanup. 2008/01/09 18:36:57 cl 1.1.2.6: #i18486# use new slideshow api 2007/12/12 15:55:26 af 1.1.2.5: #i18486# Code cleanup. 2007/11/19 09:45:33 af 1.1.2.4: #i18486# Passing XComponentContext to some more view constructors. 2007/10/25 09:51:08 af 1.1.2.3: #i18486# Avoid IndexOutOfBoundsException. 2007/10/24 13:12:20 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 12:26:56 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterViewFactory.cxx | 555 ++++++++++++++++++++++++ 1 file changed, 555 insertions(+) create mode 100644 sdext/source/presenter/PresenterViewFactory.cxx diff --git a/sdext/source/presenter/PresenterViewFactory.cxx b/sdext/source/presenter/PresenterViewFactory.cxx new file mode 100644 index 000000000000..bcf73cfc878c --- /dev/null +++ b/sdext/source/presenter/PresenterViewFactory.cxx @@ -0,0 +1,555 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterViewFactory.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:06:49 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterViewFactory.hxx" +#include "PresenterPaneContainer.hxx" +#include "PresenterHelper.hxx" +#include "PresenterHelpView.hxx" +#include "PresenterNotesView.hxx" +#include "PresenterSlidePreview.hxx" +#include "PresenterSlideSorter.hxx" +#include "PresenterToolBar.hxx" +#include "PresenterClock.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +namespace sdext { namespace presenter { + +const ::rtl::OUString PresenterViewFactory::msCurrentSlidePreviewViewURL( + OUString::createFromAscii("private:resource/view/Presenter/CurrentSlidePreview")); +const ::rtl::OUString PresenterViewFactory::msNextSlidePreviewViewURL( + OUString::createFromAscii("private:resource/view/Presenter/NextSlidePreview")); +const ::rtl::OUString PresenterViewFactory::msNotesViewURL( + OUString::createFromAscii("private:resource/view/Presenter/Notes")); +const ::rtl::OUString PresenterViewFactory::msToolBarViewURL( + OUString::createFromAscii("private:resource/view/Presenter/ToolBar")); +const ::rtl::OUString PresenterViewFactory::msSlideSorterURL( + OUString::createFromAscii("private:resource/view/Presenter/SlideSorter")); +const ::rtl::OUString PresenterViewFactory::msClockViewURL( + OUString::createFromAscii("private:resource/view/Presenter/Clock")); +const ::rtl::OUString PresenterViewFactory::msHelpViewURL( + OUString::createFromAscii("private:resource/view/Presenter/Help")); + + + +//===== SimpleView ============================================================ + +namespace { + +typedef ::cppu::WeakComponentImplHelper1 SimpleViewInterfaceBase; + +class SimpleView + : private ::cppu::BaseMutex, + public SimpleViewInterfaceBase +{ +public: + SimpleView (const Reference& rxViewId) + : SimpleViewInterfaceBase(m_aMutex),mxResourceId(rxViewId) {}; + virtual ~SimpleView (void) {}; + + // XView + + virtual Reference SAL_CALL getResourceId (void) throw (RuntimeException) + { return mxResourceId; }; + +private: + Reference mxResourceId; +}; + + + +/** By default the PresenterSlidePreview shows the preview of the current + slide. This adapter class makes it display the preview of the next + slide. +*/ +class NextSlidePreview : public PresenterSlidePreview +{ +public: + NextSlidePreview ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxAnchorPane, + const ::rtl::Reference& rpPresenterController) + : PresenterSlidePreview(rxContext, rxViewId, rxAnchorPane, rpPresenterController) + { + } + virtual ~NextSlidePreview (void) {} + virtual void SAL_CALL setCurrentPage ( + const css::uno::Reference& rxSlide) + throw (css::uno::RuntimeException) + { + Reference xSlideShowController ( + mpPresenterController->GetSlideShowController()); + Reference xSlide; + if (xSlideShowController.is()) + { + const sal_Int32 nCount (xSlideShowController->getSlideCount()); + sal_Int32 nNextSlideIndex (-1); + if (xSlideShowController->getCurrentSlide() == rxSlide) + { + nNextSlideIndex = xSlideShowController->getNextSlideIndex(); + } + else + { + for (sal_Int32 nIndex=0; nIndex( + xSlideShowController->getSlideByIndex(nIndex), UNO_QUERY)) + { + nNextSlideIndex = nIndex + 1; + } + } + } + if (nNextSlideIndex >= 0) + { + if (nNextSlideIndex < nCount) + { + xSlide = Reference( + xSlideShowController->getSlideByIndex(nNextSlideIndex), + UNO_QUERY); + } + } + } + PresenterSlidePreview::setCurrentPage(xSlide); + } +}; + +} // end of anonymous namespace + + + + +//===== PresenterViewFactory ============================================== + +PresenterViewFactory::PresenterViewFactory ( + const Reference& rxContext, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) + : PresenterViewFactoryInterfaceBase(m_aMutex), + mxComponentContext(rxContext), + mxConfigurationController(), + mxControllerWeak(rxController), + mpPresenterController(rpPresenterController) +{ +} + + + + +Reference PresenterViewFactory::Create ( + const Reference& rxContext, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) +{ + rtl::Reference pFactory ( + new PresenterViewFactory(rxContext,rxController,rpPresenterController)); + pFactory->Register(rxController); + return Reference( + static_cast(pFactory.get()), UNO_QUERY); +} + + + + +void PresenterViewFactory::Register (const Reference& rxController) +{ + try + { + // Get the configuration controller. + Reference xCM (rxController, UNO_QUERY_THROW); + mxConfigurationController = xCM->getConfigurationController(); + if ( ! mxConfigurationController.is()) + { + throw RuntimeException(); + } + else + { + mxConfigurationController->addResourceFactory(msCurrentSlidePreviewViewURL, this); + mxConfigurationController->addResourceFactory(msNextSlidePreviewViewURL, this); + mxConfigurationController->addResourceFactory(msNotesViewURL, this); + mxConfigurationController->addResourceFactory(msToolBarViewURL, this); + mxConfigurationController->addResourceFactory(msSlideSorterURL, this); + mxConfigurationController->addResourceFactory(msClockViewURL, this); + mxConfigurationController->addResourceFactory(msHelpViewURL, this); + } + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + if (mxConfigurationController.is()) + mxConfigurationController->removeResourceFactoryForReference(this); + mxConfigurationController = NULL; + + throw; + } +} + + + + +PresenterViewFactory::~PresenterViewFactory (void) +{ +} + + + + +void SAL_CALL PresenterViewFactory::disposing (void) + throw (RuntimeException) +{ + if (mxConfigurationController.is()) + mxConfigurationController->removeResourceFactoryForReference(this); + mxConfigurationController = NULL; +} + + + + +//----- XViewFactory ---------------------------------------------------------- + +Reference SAL_CALL PresenterViewFactory::createResource ( + const Reference& rxViewId) + throw (RuntimeException) +{ + ThrowIfDisposed(); + + Reference xView; + + if (rxViewId.is()) + { + try + { + const OUString sResourceURL (rxViewId->getResourceURL()); + if (sResourceURL.equals(msCurrentSlidePreviewViewURL)) + { + xView = Reference(CreateSlideShowView(rxViewId), UNO_QUERY); + } + else if (sResourceURL.equals(msNotesViewURL)) + { + xView = Reference(CreateNotesView(rxViewId), UNO_QUERY); + } + else if (sResourceURL.equals(msNextSlidePreviewViewURL)) + { + xView = Reference(CreateSlidePreviewView(rxViewId), UNO_QUERY); + } + else if (sResourceURL.equals(msToolBarViewURL)) + { + xView = new PresenterToolBar( + mxComponentContext, + rxViewId, + Reference(mxControllerWeak), + mpPresenterController); + } + else if (sResourceURL.equals(msSlideSorterURL)) + { + xView = Reference(CreateSlideSorterView(rxViewId), UNO_QUERY); + } + else if (sResourceURL.equals(msClockViewURL)) + { + xView = Reference( + static_cast(PresenterClock::Create( + mxComponentContext, + rxViewId, + Reference(mxControllerWeak), + mpPresenterController).get()), + UNO_QUERY); + } + else if (sResourceURL.equals(msHelpViewURL)) + { + xView = Reference(CreateHelpView(rxViewId), UNO_QUERY); + } + } + catch (RuntimeException&) + { + xView = NULL; + } + } + + return xView; +} + + + + +void SAL_CALL PresenterViewFactory::releaseResource (const Reference& rxView) + throw (RuntimeException) +{ + Reference xComponent (rxView, UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); +} + + + + +//----------------------------------------------------------------------------- + +Reference PresenterViewFactory::CreateSlideShowView( + const Reference& rxViewId) const +{ + Reference xView; + + if ( ! mxConfigurationController.is()) + return xView; + if ( ! mxComponentContext.is()) + return xView; + + try + { + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + Reference xAnchorPane ( + mxConfigurationController->getResource(rxViewId->getAnchor()), + UNO_QUERY_THROW); + Reference xWindow (xAnchorPane->getWindow()); + const double nSlideAspectRatio (GetSlideAspectRatio()); + Reference xSlideShowController( + PresenterHelper::GetSlideShowController( + Reference(mxControllerWeak))); + Sequence aArguments(5); + aArguments[0] <<= rxViewId; + aArguments[1] <<= Reference(mxControllerWeak); + aArguments[2] <<= xSlideShowController; + aArguments[3] <<= nSlideAspectRatio; + aArguments[4] <<= mpPresenterController->GetViewBackgroundColor(rxViewId->getResourceURL()); + + xView = Reference( + xFactory->createInstanceWithArgumentsAndContext( + OUString::createFromAscii("com.sun.star.drawing.presenter.SlideShowView"), + aArguments, + mxComponentContext), + UNO_QUERY_THROW); + + if( xSlideShowController.is() ) + { + Reference xSlideShow ( + xSlideShowController->getSlideShow(), UNO_QUERY_THROW); + xSlideShow->addView(Reference(xView, UNO_QUERY_THROW)); + } + } + catch (RuntimeException&) + { + xView = NULL; + } + + return xView; +} + + + + +Reference PresenterViewFactory::CreateSlidePreviewView( + const Reference& rxViewId) const +{ + Reference xView; + + if ( ! mxConfigurationController.is()) + return xView; + if ( ! mxComponentContext.is()) + return xView; + + try + { + Reference xAnchorPane ( + mxConfigurationController->getResource(rxViewId->getAnchor()), + UNO_QUERY_THROW); + xView = Reference( + static_cast(new NextSlidePreview( + mxComponentContext, + rxViewId, + xAnchorPane, + mpPresenterController)), + UNO_QUERY_THROW); + } + catch (RuntimeException&) + { + xView = NULL; + } + + return xView; +} + + + + +Reference PresenterViewFactory::CreateNotesView( + const Reference& rxViewId) const +{ + Reference xView; + + if ( ! mxConfigurationController.is()) + return xView; + if ( ! mxComponentContext.is()) + return xView; + + try + { + Reference xAnchorPane ( + mxConfigurationController->getResource(rxViewId->getAnchor()), + UNO_QUERY_THROW); + xView = Reference(static_cast( + new PresenterNotesView( + mxComponentContext, + rxViewId, + Reference(mxControllerWeak), + mpPresenterController)), + UNO_QUERY_THROW); + } + catch (RuntimeException&) + { + xView = NULL; + } + + return xView; +} + + + + +Reference PresenterViewFactory::CreateSlideSorterView( + const Reference& rxViewId) const +{ + Reference xView; + + if ( ! mxConfigurationController.is()) + return xView; + if ( ! mxComponentContext.is()) + return xView; + + try + { + rtl::Reference pView ( + new PresenterSlideSorter( + mxComponentContext, + rxViewId, + Reference(mxControllerWeak), + mpPresenterController)); + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPresenterController->GetPaneContainer()->FindPaneId(rxViewId->getAnchor())); + if (pDescriptor.get() != NULL) + pDescriptor->maActivator = ::boost::bind( + &PresenterSlideSorter::SetActiveState, pView.get(), _1); + xView = pView.get(); + } + catch (RuntimeException&) + { + xView = NULL; + } + + return xView; +} + + + + +Reference PresenterViewFactory::CreateHelpView( + const Reference& rxViewId) const +{ + return Reference(new PresenterHelpView( + mxComponentContext, + rxViewId, + Reference(mxControllerWeak), + mpPresenterController)); +} + + + + + +double PresenterViewFactory::GetSlideAspectRatio (void) const +{ + double nSlideAspectRatio (28.0/21.0); + + try + { + Reference xController (mxControllerWeak); + if (xController.is()) + { + Reference xSlideSupplier ( + xController->getModel(), UNO_QUERY_THROW); + Reference xSlides (xSlideSupplier->getDrawPages()); + if (xSlides.is() && xSlides->getCount()>0) + { + Reference xProperties(xSlides->getByIndex(0),UNO_QUERY_THROW); + sal_Int32 nWidth (28000); + sal_Int32 nHeight (21000); + if ((xProperties->getPropertyValue(OUString::createFromAscii("Width")) >>= nWidth) + && (xProperties->getPropertyValue(OUString::createFromAscii("Height")) >>= nHeight) + && nHeight > 0) + { + nSlideAspectRatio = double(nWidth) / double(nHeight); + } + } + } + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } + + return nSlideAspectRatio; +} + + + + +void PresenterViewFactory::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterViewFactory object has already been disposed")), + const_cast(static_cast(this))); + } +} + + +} } -- cgit From 37c436043573c9e11f5cc3becd8875808b41bc0d Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:07:00 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:35:04 af 1.1.2.4: #i18486# Replaced PresenterSlideSorterView with PresenterSlideSorter. 2008/01/21 15:31:12 af 1.1.2.3: #i18486# Code cleanup. 2007/10/24 13:12:20 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 12:26:33 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterViewFactory.hxx | 155 ++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 sdext/source/presenter/PresenterViewFactory.hxx diff --git a/sdext/source/presenter/PresenterViewFactory.hxx b/sdext/source/presenter/PresenterViewFactory.hxx new file mode 100644 index 000000000000..b9f955d68353 --- /dev/null +++ b/sdext/source/presenter/PresenterViewFactory.hxx @@ -0,0 +1,155 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterViewFactory.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:07:00 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_VIEW_FACTORY_HXX +#define SDEXT_PRESENTER_VIEW_FACTORY_HXX + +#include "PresenterController.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterPaneContainer; + +namespace { + typedef ::cppu::WeakComponentImplHelper1 < + css::drawing::framework::XResourceFactory + > PresenterViewFactoryInterfaceBase; +} + + +/** Factory of the presenter screen specific views. The supported set of + views includes: + a life view of the current slide, + a static preview of the next slide, + the notes of the current slide, + a tool bar, + a clock. +*/ +class PresenterViewFactory + : public ::cppu::BaseMutex, + public PresenterViewFactoryInterfaceBase +{ +public: + static const ::rtl::OUString msCurrentSlidePreviewViewURL; + static const ::rtl::OUString msNextSlidePreviewViewURL; + static const ::rtl::OUString msNotesViewURL; + static const ::rtl::OUString msToolBarViewURL; + static const ::rtl::OUString msSlideSorterURL; + static const ::rtl::OUString msClockViewURL; + static const ::rtl::OUString msHelpViewURL; + + /** Create a new instance of this class and register it as resource + factory in the drawing framework of the given controller. + This registration keeps it alive. When the drawing framework is + shut down and releases its reference to the factory then the factory + is destroyed. + */ + static css::uno::Reference Create ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); + virtual ~PresenterViewFactory (void); + + static ::rtl::OUString getImplementationName_static (void); + static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); + static css::uno::Reference Create( + const css::uno::Reference& rxContext) + SAL_THROW((css::uno::Exception)); + + virtual void SAL_CALL disposing (void) + throw (css::uno::RuntimeException); + + + // XResourceFactory + + virtual css::uno::Reference + SAL_CALL createResource ( + const css::uno::Reference& rxViewId) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL + releaseResource ( + const css::uno::Reference& rxPane) + throw (css::uno::RuntimeException); + +private: + css::uno::Reference mxComponentContext; + css::uno::Reference + mxConfigurationController; + css::uno::WeakReference mxControllerWeak; + ::rtl::Reference mpPresenterController; + + PresenterViewFactory ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); + + void Register (const css::uno::Reference& rxController); + + css::uno::Reference CreateSlideShowView( + const css::uno::Reference& rxViewId) const; + + css::uno::Reference CreateSlidePreviewView( + const css::uno::Reference& rxViewId) const; + + css::uno::Reference CreateNotesView( + const css::uno::Reference& rxViewId) const; + + css::uno::Reference CreateSlideSorterView( + const css::uno::Reference& rxViewId) const; + + css::uno::Reference CreateHelpView( + const css::uno::Reference& rxViewId) const; + + double GetSlideAspectRatio (void) const; + + void ThrowIfDisposed (void) const throw (::com::sun::star::lang::DisposedException); +}; + +} } + +#endif -- cgit From 54752765148a63c550f02353f5c1f158e144d15b Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:07:10 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/28 16:15:25 af 1.1.2.11: #i18486# Find... methods of pane container now return SharedPaneDescriptor. 2008/02/27 09:11:10 af 1.1.2.10: #i18486# Resolved resync problems. 2008/02/26 15:38:48 af 1.1.2.9: #i18486# Added support for animated panes. 2008/01/29 14:47:09 af 1.1.2.8: #i18486# Border painter moved from window manager to PresenterController. 2008/01/24 09:47:40 af 1.1.2.7: #i18486# Fixed usage of clip rectangles. 2008/01/23 15:21:16 af 1.1.2.6: #i18486# Fixed Linux compilation problems. 2008/01/23 12:22:15 af 1.1.2.5: #i18486# Use rtl::Reference to have direct access to border painter. 2008/01/21 15:36:02 af 1.1.2.4: #i18486# Moved several class from sd to sdext. 2007/12/12 16:00:34 af 1.1.2.3: #i18486# Taking advantage of all children using the same canvas for rendering. 2007/11/19 09:48:29 af 1.1.2.2: #i18486# Implementing focus listener. 2007/10/24 12:29:02 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterWindowManager.cxx | 835 ++++++++++++++++++++++ 1 file changed, 835 insertions(+) create mode 100644 sdext/source/presenter/PresenterWindowManager.cxx diff --git a/sdext/source/presenter/PresenterWindowManager.cxx b/sdext/source/presenter/PresenterWindowManager.cxx new file mode 100644 index 000000000000..a34068cb1f6f --- /dev/null +++ b/sdext/source/presenter/PresenterWindowManager.cxx @@ -0,0 +1,835 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterWindowManager.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:07:10 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#include "PresenterWindowManager.hxx" +#include "PresenterAnimation.hxx" +#include "PresenterAnimator.hxx" +#include "PresenterController.hxx" +#include "PresenterGeometryHelper.hxx" +#include "PresenterHelper.hxx" +#include "PresenterPaneBase.hxx" +#include "PresenterPaneBorderPainter.hxx" +#include "PresenterPaneContainer.hxx" +#include "PresenterPaneFactory.hxx" +#include "PresenterTheme.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::drawing::framework; +using ::rtl::OUString; + +#undef VERBOSE +//#define VERBOSE + +namespace sdext { namespace presenter { + +PresenterWindowManager::PresenterWindowManager ( + const Reference& rxContext, + const ::rtl::Reference& rpPaneContainer, + const ::rtl::Reference& rpPresenterController) + : PresenterWindowManagerInterfaceBase(m_aMutex), + mxComponentContext(rxContext), + mpPresenterController(rpPresenterController), + mxParentWindow(), + mxParentCanvas(), + mxPaneBorderManager(), + mpPaneBorderPainter(), + mpPaneContainer(rpPaneContainer), + mbIsLayoutPending(true), + mbIsLayouting(false), + mpTheme(), + mxBackgroundBitmap(), + maBackgroundColor(), + maPaneBackgroundColor(), + mxClipPolygon() +{ + UpdateWindowList(); +} + + + + +PresenterWindowManager::~PresenterWindowManager (void) +{ +} + + + + +void SAL_CALL PresenterWindowManager::disposing (void) +{ + SetParentPane(NULL); + + Reference xComponent (mxPaneBorderManager, UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); + mxPaneBorderManager = NULL; + + PresenterPaneContainer::PaneList::const_iterator iPane; + PresenterPaneContainer::PaneList::const_iterator iEnd (mpPaneContainer->maPanes.end()); + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=iEnd; ++iPane) + { + if ((*iPane)->mxBorderWindow.is()) + { + (*iPane)->mxBorderWindow->removeWindowListener(this); + (*iPane)->mxBorderWindow->removeFocusListener(this); + } + } +} + + + + +void PresenterWindowManager::SetParentPane ( + const Reference& rxPane) +{ + if (mxParentWindow.is()) + { + mxParentWindow->removeWindowListener(this); + mxParentWindow->removePaintListener(this); + mxParentWindow->removeMouseListener(this); + mxParentWindow->removeFocusListener(this); + } + mxParentWindow = NULL; + mxParentCanvas = NULL; + + if (rxPane.is()) + { + mxParentWindow = rxPane->getWindow(); + mxParentCanvas = rxPane->getCanvas(); + } + else + { + mxParentWindow = NULL; + } + + if (mxParentWindow.is()) + { + mxParentWindow->addWindowListener(this); + mxParentWindow->addPaintListener(this); + mxParentWindow->addMouseListener(this); + mxParentWindow->addFocusListener(this); + + // We paint our own background, make that of the parent window transparent. + Reference xPeer (mxParentWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->setBackground(util::Color(0xff000000)); + } +} + + + + +void PresenterWindowManager::SetTheme (const ::boost::shared_ptr& rpTheme) +{ + mpTheme = rpTheme; + + // Get background bitmap or background color from the theme. + mxBackgroundBitmap = NULL; + maBackgroundColor = util::Color(0x00ffffff); + + try + { + if (mpTheme.get() != NULL) + mxBackgroundBitmap = Reference( + mpTheme->getPropertyValue(OUString::createFromAscii("Background_Bitmap")), + UNO_QUERY); + } + catch (beans::UnknownPropertyException&) + { + OSL_TRACE("no Background_Bitmap property found in PresenterWindowManager::PaintBackground"); + } + + if ( ! mxBackgroundBitmap.is()) + { + try + { + if (mpTheme.get() != NULL) + mpTheme->getPropertyValue(OUString::createFromAscii("Background_Color")) + >>= maBackgroundColor; + } + catch (beans::UnknownPropertyException&) + { + OSL_TRACE("no Background_Color property found in PresenterWindowManager::PaintBackground"); + } + } +} + + + + +void PresenterWindowManager::NotifyPaneCreation ( + const PresenterPaneContainer::SharedPaneDescriptor& rpDescriptor) +{ + if (rpDescriptor.get()==NULL) + { + OSL_ASSERT(rpDescriptor.get()!=NULL); + return; + } + if ( ! rpDescriptor->mxContentWindow.is()) + { + OSL_ASSERT(rpDescriptor->mxContentWindow.is()); + return; + } + + mbIsLayoutPending = true; + + Reference xBorderWindow (rpDescriptor->mxBorderWindow); + OSL_ASSERT(xBorderWindow.is()); + if (xBorderWindow.is() && ! rpDescriptor->mbIsSprite) + { + Invalidate(); + + xBorderWindow->addWindowListener(this); + xBorderWindow->addFocusListener(this); + } + + UpdateWindowList(); + Layout(); +} + + + + +void PresenterWindowManager::NotifyViewCreation (const Reference& rxView) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(rxView->getResourceId()->getAnchor())); + OSL_ASSERT(pDescriptor.get() != NULL); + if (pDescriptor.get() != NULL) + { + Reference xPeer (pDescriptor->mxContentWindow, UNO_QUERY); + if (xPeer.is()) + { + xPeer->invalidate(awt::InvalidateStyle::NOERASE | awt::InvalidateStyle::UPDATE); + } + } +} + + + + +void PresenterWindowManager::SetPanePosSizeRelative ( + const Reference& rxPaneId, + const double nRelativeX, + const double nRelativeY, + const double nRelativeWidth, + const double nRelativeHeight) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(rxPaneId)); + if (pDescriptor.get() != NULL) + { + pDescriptor->mnLeft = nRelativeX; + pDescriptor->mnTop = nRelativeY; + pDescriptor->mnRight = nRelativeX + nRelativeWidth; + pDescriptor->mnBottom = nRelativeY + nRelativeHeight; + + mpPaneContainer->ToTop(pDescriptor); + } +} + + + + +void PresenterWindowManager::SetPanePosSizeAbsolute ( + const Reference& rxPaneId, + const double nX, + const double nY, + const double nWidth, + const double nHeight) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindPaneId(rxPaneId)); + if (pDescriptor.get() != NULL) + { + awt::Rectangle aParentBox = mxParentWindow->getPosSize(); + if (aParentBox.Width > 0 && aParentBox.Height > 0) + { + pDescriptor->mnLeft = nX / aParentBox.Width; + pDescriptor->mnTop = nY / aParentBox.Height; + pDescriptor->mnRight = (nX + nWidth) / aParentBox.Width; + pDescriptor->mnBottom = (nY + nHeight) / aParentBox.Height; + } + if (pDescriptor->mxBorderWindow.is()) + pDescriptor->mxBorderWindow->setPosSize( + ::sal::static_int_cast(nX), + ::sal::static_int_cast(nY), + ::sal::static_int_cast(nWidth), + ::sal::static_int_cast(nHeight), + awt::PosSize::POSSIZE); + } +} + + + + +void PresenterWindowManager::SetPaneBorderPainter ( + const ::rtl::Reference& rPainter) +{ + mpPaneBorderPainter = rPainter; +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterWindowManager::windowResized (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + ThrowIfDisposed(); + if (rEvent.Source == mxParentWindow) + { + Layout(); + } + else + { + Reference xWindow (rEvent.Source,UNO_QUERY); + UpdateWindowSize(xWindow); + } +} + + + + +void SAL_CALL PresenterWindowManager::windowMoved (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + ThrowIfDisposed(); + if (rEvent.Source != mxParentWindow) + { + Reference xWindow (rEvent.Source,UNO_QUERY); + UpdateWindowSize(xWindow); + } +} + + + + +void SAL_CALL PresenterWindowManager::windowShown (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterWindowManager::windowHidden (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterWindowManager::windowPaint (const awt::PaintEvent& rEvent) + throw (RuntimeException) +{ + ThrowIfDisposed(); + + if ( ! mxParentWindow.is()) + return; + if ( ! mxParentCanvas.is()) + return; + + if (mpTheme.get()!=NULL) + { + try + { + if (mbIsLayoutPending) + Layout(); + PaintBackground(rEvent.UpdateRect); + PaintChildren(rEvent); + } + catch (RuntimeException&) + { + OSL_ASSERT(FALSE); + } + } +} + + + + +//----- XMouseListener -------------------------------------------------------- + +void SAL_CALL PresenterWindowManager::mousePressed (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterWindowManager::mouseReleased (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterWindowManager::mouseEntered (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterWindowManager::mouseExited (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +//----- XFocusListener -------------------------------------------------------- + +void SAL_CALL PresenterWindowManager::focusGained (const css::awt::FocusEvent& rEvent) + throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + (void)rEvent; +} + + + + +void SAL_CALL PresenterWindowManager::focusLost (const css::awt::FocusEvent& rEvent) + throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + (void)rEvent; +} + + + + +//----- XEventListener -------------------------------------------------------- + +void SAL_CALL PresenterWindowManager::disposing (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + if (rEvent.Source == mxParentWindow) + mxParentWindow = NULL; + else + { + Reference xWindow (rEvent.Source, UNO_QUERY); + } +} + + + + +//----------------------------------------------------------------------------- + +void PresenterWindowManager::PaintChildren (const awt::PaintEvent& rEvent) const +{ + // Call windowPaint on all children that lie in or touch the + // update rectangle. + PresenterPaneContainer::PaneList::const_iterator iPane; + PresenterPaneContainer::PaneList::const_iterator iEnd (mpPaneContainer->maPanes.end()); + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=iEnd; ++iPane) + { + try + { + // Make sure that the pane shall and can be painted. + if ( ! (*iPane)->mbIsActive) + continue; + if ((*iPane)->mbIsSprite) + continue; + if ( ! (*iPane)->mxPane.is()) + continue; + if ( ! (*iPane)->mxBorderWindow.is()) + continue; + Reference xBorderWindow ((*iPane)->mxBorderWindow); + if ( ! xBorderWindow.is()) + continue; + + // Get the area in which the border of the pane has to be painted. + const awt::Rectangle aBorderBox (xBorderWindow->getPosSize()); + const awt::Rectangle aBorderUpdateBox( + PresenterGeometryHelper::Intersection( + rEvent.UpdateRect, + aBorderBox)); + if (aBorderUpdateBox.Width<=0 || aBorderUpdateBox.Height<=0) + continue; + + const awt::Rectangle aLocalBorderUpdateBox( + PresenterGeometryHelper::TranslateRectangle( + aBorderUpdateBox, + -aBorderBox.X, + -aBorderBox.Y)); + + // Invalidate the area of the content window. + Reference xPeer (xBorderWindow, UNO_QUERY); + if (xPeer.is()) + { + xPeer->invalidateRect( + aLocalBorderUpdateBox, + awt::InvalidateStyle::CHILDREN | awt::InvalidateStyle::NOTRANSPARENT); + } + } + catch (RuntimeException&) + { + OSL_ASSERT(FALSE); + } + } +} + + + + +void PresenterWindowManager::Layout (void) +{ + if (mxParentWindow.is() && ! mbIsLayouting) + { + mbIsLayoutPending = false; + mbIsLayouting = true; + + try + { + awt::Rectangle aBox = mxParentWindow->getPosSize(); + + PresenterPaneContainer::PaneList::const_iterator iPane; + PresenterPaneContainer::PaneList::const_iterator iEnd (mpPaneContainer->maPanes.end()); + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=iEnd; ++iPane) + { + const PresenterPaneContainer::SharedPaneDescriptor& pDescriptor (*iPane); + if ( ! pDescriptor->mxBorderWindow.is()) + continue; + + // Layout the border window. + const sal_Int32 nX = (sal_Int32)(pDescriptor->mnLeft * aBox.Width); + const sal_Int32 nY = (sal_Int32)(pDescriptor->mnTop * aBox.Height); + const sal_Int32 nWidth = (sal_Int32)(pDescriptor->mnRight * aBox.Width) - nX; + const sal_Int32 nHeight = (sal_Int32)(pDescriptor->mnBottom * aBox.Height) - nY; + + pDescriptor->mxBorderWindow->setPosSize( + nX,nY,nWidth,nHeight, + awt::PosSize::POSSIZE); + + } + } + catch (Exception&) + { + mbIsLayouting = false; + throw; + } + + mbIsLayouting = false; + } +} + + + + +void PresenterWindowManager::UpdateWindowSize (const Reference& rxBorderWindow) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindBorderWindow(rxBorderWindow)); + if (pDescriptor.get() != NULL) + { + mxClipPolygon = NULL; + + awt::Rectangle aParentBox = mxParentWindow->getPosSize(); + awt::Rectangle aBorderBox (pDescriptor->mxBorderWindow->getPosSize()); + + if ( ! mbIsLayouting) + { + const double nWidth (aParentBox.Width); + const double nHeight (aParentBox.Height); + pDescriptor->mnLeft = double(aBorderBox.X) / nWidth; + pDescriptor->mnTop = double(aBorderBox.Y) / nHeight; + pDescriptor->mnRight = double(aBorderBox.X + aBorderBox.Width) / nWidth; + pDescriptor->mnBottom = double(aBorderBox.Y + aBorderBox.Height) / nHeight; + } + else + { + // This update of the window size was initiated by + // Layout(). Therefore the window size does not have to be + // updated. + } + + // ToTop is called last because it may invalidate the iterator. + if ( ! mbIsLayouting) + mpPaneContainer->ToTop(pDescriptor); + } +} + + + + +void PresenterWindowManager::PaintBackground (const awt::Rectangle& rUpdateBox) +{ + (void)rUpdateBox; + if ( ! mxParentWindow.is()) + return; + + Reference xDevice (mxParentCanvas->getDevice()); + if ( ! xDevice.is()) + return; + + // Create a polygon for the background and for clipping. + Reference xBackgroundPolygon ( + PresenterGeometryHelper::CreatePolygon(mxParentWindow->getPosSize(), xDevice)); + if ( ! mxClipPolygon.is()) + mxClipPolygon = CreateClipPolyPolygon(); + + // Create View- and RenderState structs. + const rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + PresenterGeometryHelper::CreatePolygon(rUpdateBox, xDevice)); + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + mxClipPolygon, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + // Paint the background. + if (mxBackgroundBitmap.is()) + { + Sequence aTextures (1); + geometry::IntegerSize2D aBitmapSize (mxBackgroundBitmap->getSize()); + aTextures[0] = rendering::Texture ( + geometry::AffineMatrix2D( + aBitmapSize.Width,0,0, + 0,aBitmapSize.Height,0), + 1, + 0, + mxBackgroundBitmap, + NULL, + NULL, + rendering::StrokeAttributes(), + rendering::TexturingMode::REPEAT, + rendering::TexturingMode::REPEAT); + + mxParentCanvas->fillTexturedPolyPolygon( + xBackgroundPolygon, + aViewState, + aRenderState, + aTextures); + } + else + { + aRenderState.DeviceColor[0] = ((maBackgroundColor >> 16) & 0x0ff) / 255.0; + aRenderState.DeviceColor[1] = ((maBackgroundColor >> 8) & 0x0ff) / 255.0; + aRenderState.DeviceColor[2] = ((maBackgroundColor >> 0) & 0x0ff) / 255.0; + mxParentCanvas->fillPolyPolygon( + xBackgroundPolygon, + aViewState, + aRenderState); + } +} + + + + +Reference PresenterWindowManager::CreateClipPolyPolygon (void) const +{ + // Create a clip polygon that includes the whole update area but has the + // content windows as holes. + const sal_Int32 nPaneCount (mpPaneContainer->maPanes.size()); + ::std::vector aRectangles; + aRectangles.reserve(1+nPaneCount); + aRectangles.push_back(mxParentWindow->getPosSize()); + PresenterPaneContainer::PaneList::const_iterator iPane; + PresenterPaneContainer::PaneList::const_iterator iEnd (mpPaneContainer->maPanes.end()); + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=iEnd; ++iPane) + { + PresenterPaneContainer::SharedPaneDescriptor pDescriptor (*iPane); + if ( ! pDescriptor->mbIsActive) + continue; + if ( ! pDescriptor->mbNeedsClipping) + continue; + if ( ! pDescriptor->mxBorderWindow.is() || ! pDescriptor->mxContentWindow.is()) + continue; + Reference xWindow (pDescriptor->mxBorderWindow, UNO_QUERY); + if (xWindow.is() && ! xWindow->isVisible()) + continue; + + const awt::Rectangle aOuterBorderBox (pDescriptor->mxBorderWindow->getPosSize()); + awt::Rectangle aInnerBorderBox (pDescriptor->mxContentWindow->getPosSize()); + aInnerBorderBox.X += aOuterBorderBox.X; + aInnerBorderBox.Y += aOuterBorderBox.Y; + aRectangles.push_back(aInnerBorderBox); + } + Reference xPolyPolygon ( + PresenterGeometryHelper::CreatePolygon( + aRectangles, + mxParentCanvas->getDevice())); + if (xPolyPolygon.is()) + xPolyPolygon->setFillRule(rendering::FillRule_EVEN_ODD); + return xPolyPolygon; +} + + + + +void PresenterWindowManager::UpdateWindowList (void) +{ + try + { + OSL_ASSERT(mxComponentContext.is()); + + Reference xComponent (mxPaneBorderManager, UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); + + Reference xFactory (mxComponentContext->getServiceManager()); + if (xFactory.is()) + { + Sequence aArguments (1 + mpPaneContainer->maPanes.size()*2); + sal_Int32 nIndex (0); + aArguments[nIndex++] = Any(mxParentWindow); + for (sal_uInt32 nPaneIndex=0; nPaneIndexmaPanes.size(); ++nPaneIndex) + { + if ( ! mpPaneContainer->maPanes[nPaneIndex]->mbIsActive) + continue; + + const Reference xBorderWindow ( + mpPaneContainer->maPanes[nPaneIndex]->mxBorderWindow); + const Reference xContentWindow ( + mpPaneContainer->maPanes[nPaneIndex]->mxContentWindow); + const Reference xBorderWindow2(xBorderWindow, UNO_QUERY); + if (xBorderWindow.is() + && xContentWindow.is() + && ( ! xBorderWindow2.is() || xBorderWindow2->isVisible())) + { + aArguments[nIndex++] = Any(xBorderWindow); + aArguments[nIndex++] = Any(xContentWindow); + } + } + + aArguments.realloc(nIndex); + mxPaneBorderManager = xFactory->createInstanceWithArgumentsAndContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterPaneBorderManager"), + aArguments, + mxComponentContext); + } + } + catch (RuntimeException&) + { + } +} + + + + +void PresenterWindowManager::Invalidate (void) +{ + Reference xPeer (mxParentWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate( + awt::InvalidateStyle::CHILDREN|awt::InvalidateStyle::NOTRANSPARENT); +} + + + + +Reference PresenterWindowManager::GetParentWindow (void) const +{ + return mxParentWindow; +} + + + + +Reference PresenterWindowManager::GetParentCanvas (void) const +{ + return mxParentCanvas; +} + + + + +void PresenterWindowManager::Update (void) +{ + mxClipPolygon = NULL; + mbIsLayoutPending = true; + + UpdateWindowList(); + Invalidate(); +} + + + + +void PresenterWindowManager::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterWindowManager has already been disposed")), + const_cast(static_cast(this))); + } +} + + + + + +} } // end of namespace ::sdext::presenter -- cgit From 3a53c219b7ca1d471b2b85164a7638acc60e4524 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:07:19 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/02/26 15:38:57 af 1.1.2.8: #i18486# Added support for animated panes. 2008/01/29 14:47:29 af 1.1.2.7: #i18486# Border painter moved from window manager to PresenterController. 2008/01/23 12:21:36 af 1.1.2.6: #i18486# Use rtl::Reference to have direct access to border painter. 2008/01/21 15:37:55 af 1.1.2.5: #i18486# Moved several class from sd to sdext. 2007/12/12 15:58:55 af 1.1.2.4: #i18486# Taking advantage of all children using the same canvas for rendering. 2007/11/19 09:46:10 af 1.1.2.3: #i18486# Implementing focus listener. 2007/10/24 13:12:20 af 1.1.2.2: #i18486# Fixed inital compilation problems. 2007/10/24 12:29:14 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterWindowManager.hxx | 206 ++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 sdext/source/presenter/PresenterWindowManager.hxx diff --git a/sdext/source/presenter/PresenterWindowManager.hxx b/sdext/source/presenter/PresenterWindowManager.hxx new file mode 100644 index 000000000000..f7a413f484c4 --- /dev/null +++ b/sdext/source/presenter/PresenterWindowManager.hxx @@ -0,0 +1,206 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterWindowManager.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2008-04-03 16:07:19 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library 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. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_WINDOW_MANAGER_HXX +#define SDEXT_PRESENTER_PRESENTER_WINDOW_MANAGER_HXX + +#include "PresenterPaneContainer.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterController; +class PresenterPaneBorderPainter; +class PresenterTheme; + +namespace { + typedef ::cppu::WeakComponentImplHelper4< + css::awt::XWindowListener, + css::awt::XPaintListener, + css::awt::XMouseListener, + css::awt::XFocusListener + > PresenterWindowManagerInterfaceBase; +} + + +/** A simple manager of the positions of the panes of the presenter screen. + Uses relative coordinates of the four sides of each pane. Allows panes + to be moved or resized with the mouse. +*/ +class PresenterWindowManager + : private ::boost::noncopyable, + protected ::cppu::BaseMutex, + public PresenterWindowManagerInterfaceBase +{ +public: + PresenterWindowManager ( + const ::css::uno::Reference& rxContext, + const ::rtl::Reference& rpPaneContainer, + const ::rtl::Reference& rpPresenterController); + virtual ~PresenterWindowManager (void); + + void SAL_CALL disposing (void); + + void SetParentPane (const css::uno::Reference& rxPane); + void SetTheme (const ::boost::shared_ptr& rpTheme); + void NotifyPaneCreation (const PresenterPaneContainer::SharedPaneDescriptor& rpDescriptor); + void NotifyViewCreation (const css::uno::Reference& rxView); + void SetPanePosSizeRelative ( + const css::uno::Reference& rxPaneId, + const double nRelativeX, + const double nRelativeY, + const double nRelativeWidth, + const double nRelativeHeight); + void SetPanePosSizeAbsolute ( + const css::uno::Reference& rxPaneId, + const double nX, + const double nY, + const double nWidth, + const double nHeight); + void SetPaneBorderPainter (const ::rtl::Reference& rPainter); + css::uno::Reference GetParentWindow (void) const; + css::uno::Reference GetParentCanvas (void) const; + void Update (void); + void Layout (void); + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseListener + + virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + + // XFocusListener + + virtual void SAL_CALL focusGained (const css::awt::FocusEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL focusLost (const css::awt::FocusEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XEventListener + + virtual void SAL_CALL disposing ( + const com::sun::star::lang::EventObject& rEvent) + throw (com::sun::star::uno::RuntimeException); + +private: + css::uno::Reference mxComponentContext; + ::rtl::Reference mpPresenterController; + css::uno::Reference mxParentWindow; + css::uno::Reference mxParentCanvas; + css::uno::Reference mxPaneBorderManager; + ::rtl::Reference mpPaneBorderPainter; + ::rtl::Reference mpPaneContainer; + bool mbIsLayoutPending; + /** This flag is set to while the Layout() method is being + executed. Prevents windowMoved() and windowResized() from changing + the window sizes. + */ + bool mbIsLayouting; + ::boost::shared_ptr mpTheme; + css::uno::Reference mxBackgroundBitmap; + css::util::Color maBackgroundColor; + css::util::Color maPaneBackgroundColor; + css::uno::Reference mxClipPolygon; + + void PaintChildren (const css::awt::PaintEvent& rEvent) const; + void UpdateWindowSize (const css::uno::Reference& rxBorderWindow); + void PaintBackground (const css::awt::Rectangle& rUpdateBox); + css::uno::Reference CreateClipPolyPolygon (void) const; + void ToTop (); + + void UpdateWindowList (void); + bool ChildNeedsRepaint ( + const css::uno::Reference& rxPane) const; + + void Invalidate (void); + + void ThrowIfDisposed (void) const throw (::com::sun::star::lang::DisposedException); +}; + +} } + +#endif -- cgit From 82fc5aaeeba80f6c7654b81d196c00bdb9b1b192 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:07:38 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2007/10/24 13:10:08 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/delzip | 1 + 1 file changed, 1 insertion(+) create mode 100644 sdext/source/presenter/delzip diff --git a/sdext/source/presenter/delzip b/sdext/source/presenter/delzip new file mode 100644 index 000000000000..636fda90bfcb --- /dev/null +++ b/sdext/source/presenter/delzip @@ -0,0 +1 @@ +ECHO is OFF -- cgit From 5b516e8db512a2ddbbd75d8e850e8476781432bc Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:07:49 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/07 14:13:37 af 1.1.2.3: #i18486# Using licinserter for choosing the right set of licenses. 2007/11/19 09:49:24 af 1.1.2.2: #i18486# Fixed namespace in dependencies list. 2007/10/24 12:31:41 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/description.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 sdext/source/presenter/description.xml diff --git a/sdext/source/presenter/description.xml b/sdext/source/presenter/description.xml new file mode 100644 index 000000000000..aff751bf9bed --- /dev/null +++ b/sdext/source/presenter/description.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + -- cgit From 8e18607966f4d014cc788e98dbca21c009921982 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:08:00 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2007/10/24 12:32:07 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/exports.map | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 sdext/source/presenter/exports.map diff --git a/sdext/source/presenter/exports.map b/sdext/source/presenter/exports.map new file mode 100644 index 000000000000..c673092ae700 --- /dev/null +++ b/sdext/source/presenter/exports.map @@ -0,0 +1,9 @@ +PDFFILTER_1_0 { + global: + component_getImplementationEnvironment; + component_getFactory; + component_writeInfo; + + local: + *; +}; \ No newline at end of file -- cgit From 386d413278b2a28b0010511f3234569dbd79d73a Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:08:10 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/04/02 15:07:13 af 1.1.2.13: #i84791# Changed default for conditional build. 2008/04/02 15:02:16 af 1.1.2.12: #i84791# Conditional build depending on configure options. 2008/02/28 16:57:53 af 1.1.2.11: #i18486# Removed unnecessary PresenterSubController. 2008/02/26 14:53:03 af 1.1.2.10: #i18486# Added PresenterSpritePane 2008/01/23 12:23:05 af 1.1.2.9: #i18486# Moved several files here from the sd project. Impress.xcs no longer used. 2008/01/09 18:36:42 cl 1.1.2.8: #i18486# trigger extension as a job for onDocumentOpened event 2008/01/07 14:15:59 af 1.1.2.7: #i18486# Using licinserter for choosing the right set of licenses. 2007/12/14 09:38:39 af 1.1.2.6: #i18486# Resolved resync problems. 2007/11/19 09:50:21 af 1.1.2.5: #i18486# Added PresenterProtocolHandler class and xcu/xcs files. 2007/10/25 07:54:54 af 1.1.2.4: #i18486# Added description.xml to ZIP1DEPS. 2007/10/24 15:51:18 af 1.1.2.3: #i18486# Fixed ZIP1DEPS target. 2007/10/24 12:37:00 af 1.1.2.2: #i18486# Removed unused Impress.xcs 2007/10/24 12:30:51 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/makefile.mk | 246 +++++++++++++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 sdext/source/presenter/makefile.mk diff --git a/sdext/source/presenter/makefile.mk b/sdext/source/presenter/makefile.mk new file mode 100644 index 000000000000..024af450247d --- /dev/null +++ b/sdext/source/presenter/makefile.mk @@ -0,0 +1,246 @@ +#************************************************************************* +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# last change: $Author: kz $ $Date: 2008-04-03 16:08:10 $ +# +# The Contents of this file are made available subject to +# the terms of GNU Lesser General Public License Version 2.1. +# +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2005 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +#************************************************************************* + +PRJ=..$/.. +PRJNAME=presenter +TARGET=PresenterScreen +GEN_HID=FALSE +EXTNAME=presenter + +ENABLE_EXCEPTIONS=TRUE + +# --- Settings ---------------------------------- + +.INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +.IF "$(ENABLE_PRESENTER_SCREEN)" == "NO" +@all: + @echo "Presenter Screen build disabled." +.ELSE + +DLLPRE= +common_build_zip= + +PRIVATERDB = slideshow.rdb +UNOUCRRDB = $(SOLARBINDIR)$/$(PRIVATERDB) +UNOUCRDEP = $(UNOUCRRDB) +UNOUCROUT = $(OUT)$/inc + +CPPUMAKERFLAGS += -C -X$(SOLARBINDIR)$/types.rdb + +# --- Files ------------------------------------- + +SLOFILES= \ + $(SLO)$/PresenterAnimation.obj \ + $(SLO)$/PresenterAnimator.obj \ + $(SLO)$/PresenterBitmapContainer.obj \ + $(SLO)$/PresenterClock.obj \ + $(SLO)$/PresenterConfigurationAccess.obj \ + $(SLO)$/PresenterControlCreator.obj \ + $(SLO)$/PresenterController.obj \ + $(SLO)$/PresenterCurrentSlideObserver.obj \ + $(SLO)$/PresenterFrameworkObserver.obj \ + $(SLO)$/PresenterGeometryHelper.obj \ + $(SLO)$/PresenterHelper.obj \ + $(SLO)$/PresenterHelpView.obj \ + $(SLO)$/PresenterNotesView.obj \ + $(SLO)$/PresenterPane.obj \ + $(SLO)$/PresenterPaneAnimator.obj \ + $(SLO)$/PresenterPaneBase.obj \ + $(SLO)$/PresenterPaneBorderManager.obj \ + $(SLO)$/PresenterPaneBorderPainter.obj \ + $(SLO)$/PresenterPaneContainer.obj \ + $(SLO)$/PresenterPaneFactory.obj \ + $(SLO)$/PresenterProtocolHandler.obj \ + $(SLO)$/PresenterScreen.obj \ + $(SLO)$/PresenterScrollBar.obj \ + $(SLO)$/PresenterSlidePreview.obj \ + $(SLO)$/PresenterSlideShowView.obj \ + $(SLO)$/PresenterSlideSorter.obj \ + $(SLO)$/PresenterSprite.obj \ + $(SLO)$/PresenterSpritePane.obj \ + $(SLO)$/PresenterTheme.obj \ + $(SLO)$/PresenterToolBar.obj \ + $(SLO)$/PresenterViewFactory.obj \ + $(SLO)$/PresenterWindowManager.obj \ + $(SLO)$/PresenterComponent.obj + +#$(SLO)$/PresenterAboutDialog.obj \ + + +DESCRIPTION:=$(MISC)$/$(TARGET)$/description.xml + +.IF "$(GUI)" == "WIN" || "$(GUI)" == "WNT" +PACKLICS:=$(foreach,i,$(alllangiso) $(MISC)$/$(TARGET)$/registry$/license_$i) +.ELSE +PACKLICS:=$(foreach,i,$(alllangiso) $(MISC)$/$(TARGET)$/registry$/LICENSE_$i) +.ENDIF + + +# --- Library ----------------------------------- + +SHL1TARGET= $(TARGET).uno + +SHL1STDLIBS= $(COMPHELPERLIB) \ + $(CPPUHELPERLIB) \ + $(CPPULIB) \ + $(SALLIB) \ + $(VOSLIB) +SHL1DEPN= +SHL1IMPLIB= i$(SHL1TARGET) +SHL1LIBS= $(SLB)$/$(TARGET).lib +SHL1DEF= $(MISC)$/$(SHL1TARGET).def +SHL1VERSIONMAP= exports.map +DEF1NAME= $(SHL1TARGET) + +COMPONENT_FILES= \ + $(MISC)$/$(TARGET)$/configuration$/Jobs.xcu \ + $(MISC)$/$(TARGET)$/configuration$/Addons.xcu \ + $(MISC)$/$(TARGET)$/configuration$/ProtocolHandler.xcu \ + $(MISC)$/$(TARGET)$/configuration$/PresenterScreen.xcs \ + $(MISC)$/$(TARGET)$/configuration$/PresenterScreen.xcu + +COMPONENT_BITMAPS= \ + $(MISC)$/$(TARGET)$/bitmaps$/TitleTopPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/TitleTopLeftPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/TitleTopRightPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/TopPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/TopLeftPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/TopRightPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/LeftPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/RightPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/BottomLeftPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/BottomRightPaneBorder.png \ + $(MISC)$/$(TARGET)$/bitmaps$/BottomPaneBorder.png \ + \ + $(MISC)$/$(TARGET)$/bitmaps$/NextEffectButton.png \ + $(MISC)$/$(TARGET)$/bitmaps$/NextEffectButtonGlow.png \ + $(MISC)$/$(TARGET)$/bitmaps$/NextEffectButtonPressed.png \ + $(MISC)$/$(TARGET)$/bitmaps$/NextSlideButton.png \ + $(MISC)$/$(TARGET)$/bitmaps$/NextSlideButtonGlow.png \ + $(MISC)$/$(TARGET)$/bitmaps$/NextSlideButtonPressed.png \ + $(MISC)$/$(TARGET)$/bitmaps$/PrevSlideButton.png \ + $(MISC)$/$(TARGET)$/bitmaps$/PrevSlideButtonGlow.png \ + $(MISC)$/$(TARGET)$/bitmaps$/PrevSlideButtonPressed.png \ + \ + $(MISC)$/$(TARGET)$/bitmaps$/Left.png \ + $(MISC)$/$(TARGET)$/bitmaps$/Right.png \ + $(MISC)$/$(TARGET)$/bitmaps$/Up.png \ + $(MISC)$/$(TARGET)$/bitmaps$/Down.png \ + \ + $(MISC)$/$(TARGET)$/bitmaps$/PagerHorizontal.png \ + $(MISC)$/$(TARGET)$/bitmaps$/PagerVertical.png \ + \ + $(MISC)$/$(TARGET)$/bitmaps$/ThumbLeft.png \ + $(MISC)$/$(TARGET)$/bitmaps$/ThumbRight.png \ + $(MISC)$/$(TARGET)$/bitmaps$/ThumbTop.png \ + $(MISC)$/$(TARGET)$/bitmaps$/ThumbBottom.png \ + $(MISC)$/$(TARGET)$/bitmaps$/ThumbHorizontal.png \ + $(MISC)$/$(TARGET)$/bitmaps$/ThumbVertical.png + + +#$(MISC)$/$(TARGET)$/bitmaps$/Clock-Face.png +#$(MISC)$/$(TARGET)$/bitmaps$/Clock-Hour-Hand.png +#$(MISC)$/$(TARGET)$/bitmaps$/Clock-Minute-Hand.png +# $(MISC)$/$(TARGET)$/bitmaps$/PagerLeft.png \ +# $(MISC)$/$(TARGET)$/bitmaps$/PagerRight.png \ +# $(MISC)$/$(TARGET)$/bitmaps$/PagerTop.png \ +# $(MISC)$/$(TARGET)$/bitmaps$/PagerBottom.png \ + +COMPONENT_MANIFEST= \ + $(MISC)$/$(TARGET)$/META-INF$/manifest.xml + +COMPONENT_LIBRARY= \ + $(MISC)$/$(TARGET)$/$(TARGET).uno$(DLLPOST) + +ZIP1DEPS= \ + $(PACKLICS) \ + $(DESCRIPTION) \ + $(COMPONENT_MANIFEST) \ + $(COMPONENT_FILES) \ + $(COMPONENT_BITMAPS) \ + $(COMPONENT_LIBRARY) + +ZIP1TARGET= presenter-screen +ZIP1DIR= $(MISC)$/$(TARGET) +ZIP1EXT= .oxt +ZIP1FLAGS=-r +ZIP1LIST= * + +# --- Targets ---------------------------------- + +.INCLUDE : target.mk + +$(COMPONENT_MANIFEST) : $$(@:f) + @-$(MKDIRHIER) $(@:d) + +$(TYPE) $< | $(SED) "s/SHARED_EXTENSION/$(DLLPOST)/" > $@ + +$(COMPONENT_FILES) : $$(@:f) + @-$(MKDIRHIER) $(@:d) + +$(COPY) $< $@ + +$(COMPONENT_BITMAPS) : bitmaps$/$$(@:f) + @-$(MKDIRHIER) $(@:d) + +$(COPY) $< $@ + +#$(COMPONENT_HELP) : help$/$$(@:f) +# @-$(MKDIRHIER) $(@:d) +# +$(COPY) $< $@ + +$(COMPONENT_LIBRARY) : $(DLLDEST)$/$$(@:f) + @-$(MKDIRHIER) $(@:d) + +$(COPY) $< $@ + +.IF "$(GUI)" == "WIN" || "$(GUI)" == "WNT" +$(PACKLICS) : $(SOLARBINDIR)$/osl$/license$$(@:b:s/_/./:e:s/./_/)$$(@:e).txt + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ +.ELSE +$(PACKLICS) : $(SOLARBINDIR)$/osl$/LICENSE$$(@:b:s/_/./:e:s/./_/)$$(@:e) + @@-$(MKDIRHIER) $(@:d) + $(GNUCOPY) $< $@ +.ENDIF + +.INCLUDE .IGNORE : $(MISC)$/$(TARGET)_lang_track.mk +.IF "$(LAST_WITH_LANG)"!="$(WITH_LANG)" +PHONYDESC=.PHONY +.ENDIF # "$(LAST_WITH_LANG)"!="$(WITH_LANG)" +$(DESCRIPTION) $(PHONYDESC) : $$(@:f) + @@-$(MKDIRHIER) $(@:d) + $(PERL) $(SOLARENV)$/bin$/licinserter.pl description.xml registry/LICENSE_xxx $@ + @echo LAST_WITH_LANG=$(WITH_LANG) > $(MISC)$/$(TARGET)_lang_track.mk + +.ENDIF # "$(ENABLE_PRESENTER_SCREEN)" != "NO" -- cgit From 4b8948bb2f380200df2664116d6ad74ab80c0ca8 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:08:25 +0000 Subject: INTEGRATION: CWS presenterview (1.1.2); FILE ADDED 2008/01/25 10:01:34 af 1.1.2.5: #i18486# Impress.xcu 2008/01/09 18:36:42 cl 1.1.2.4: #i18486# trigger extension as a job for onDocumentOpened event 2007/11/19 09:51:14 af 1.1.2.3: #i18486# Added various xcu/xcs files. 2007/10/24 15:51:47 af 1.1.2.2: #i18486# Removed unused Impress.xcs. 2007/10/24 12:31:55 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/manifest.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 sdext/source/presenter/manifest.xml diff --git a/sdext/source/presenter/manifest.xml b/sdext/source/presenter/manifest.xml new file mode 100644 index 000000000000..593f206ae95f --- /dev/null +++ b/sdext/source/presenter/manifest.xml @@ -0,0 +1,16 @@ + + + + + + + + + + -- cgit From a4058a122ad3508f4a172e9294ac9bb87b73f3fd Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:24:42 +0000 Subject: #i84791 applied patch --- sdext/source/presenter/makefile.mk | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sdext/source/presenter/makefile.mk b/sdext/source/presenter/makefile.mk index 024af450247d..bef6609c79b3 100644 --- a/sdext/source/presenter/makefile.mk +++ b/sdext/source/presenter/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # -# last change: $Author: kz $ $Date: 2008-04-03 16:08:10 $ +# last change: $Author: kz $ $Date: 2008-04-03 16:24:42 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -46,11 +46,10 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk .INCLUDE : $(PRJ)$/util$/makefile.pmk -.IF "$(ENABLE_PRESENTER_SCREEN)" == "NO" +.IF "$(ENABLE_PRESENTER_SCREEN)" != "YES" @all: @echo "Presenter Screen build disabled." .ELSE - DLLPRE= common_build_zip= @@ -243,4 +242,4 @@ $(DESCRIPTION) $(PHONYDESC) : $$(@:f) $(PERL) $(SOLARENV)$/bin$/licinserter.pl description.xml registry/LICENSE_xxx $@ @echo LAST_WITH_LANG=$(WITH_LANG) > $(MISC)$/$(TARGET)_lang_track.mk -.ENDIF # "$(ENABLE_PRESENTER_SCREEN)" != "NO" +.ENDIF # "$(ENABLE_PRESENTER_SCREEN)" != "YES" -- cgit From f24ee9a9ceebc5ebc12e10af30aef4b97062e203 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 3 Apr 2008 15:29:04 +0000 Subject: #i84791# applied patch --- sdext/source/minimizer/makefile.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk index 1e3169e9f9aa..3af5f13d103e 100644 --- a/sdext/source/minimizer/makefile.mk +++ b/sdext/source/minimizer/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.8 $ +# $Revision: 1.9 $ # -# last change: $Author: kz $ $Date: 2008-04-03 15:54:03 $ +# last change: $Author: kz $ $Date: 2008-04-03 16:29:04 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -46,7 +46,7 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk .INCLUDE : $(PRJ)$/util$/makefile.pmk -.IF "$(ENABLE_MINIMIZER)" == "NO" +.IF "$(ENABLE_MINIMIZER)" != "YES" @all: @echo "Presentation Minimizer build disabled." .ELSE -- cgit From 581f71d412ecd650887949c5a7f3c48a129f6dc4 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Mon, 7 Apr 2008 14:39:45 +0000 Subject: #i10000# fix typo --- apache-commons/prj/build.lst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apache-commons/prj/build.lst b/apache-commons/prj/build.lst index ffa3a806d40b..0a9f79b5ffd7 100644 --- a/apache-commons/prj/build.lst +++ b/apache-commons/prj/build.lst @@ -1,5 +1,5 @@ -ac apache-common : solenv TOMCAT:tomcat NULL -ac apache-common usr1 - all ac_mkout NULL +ac apache-commons : solenv TOMCAT:tomcat NULL +ac apache-commons usr1 - all ac_mkout NULL ac apache-commons\java\codec nmake - all ac_codec NULL ac apache-commons\java\lang nmake - all ac_lang NULL ac apache-commons\java\logging nmake - all ac_logging NULL -- cgit From ba62de72233fd9241a583ec8968bb6b646503212 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Tue, 8 Apr 2008 14:51:39 +0000 Subject: #i10000# rebuild tarball because solaris can't untar it --- .../download/commons-logging-1.1.1-src.tar.gz | Bin 0 -> 189448 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apache-commons/download/commons-logging-1.1.1-src.tar.gz diff --git a/apache-commons/download/commons-logging-1.1.1-src.tar.gz b/apache-commons/download/commons-logging-1.1.1-src.tar.gz new file mode 100644 index 000000000000..14a9371be57a Binary files /dev/null and b/apache-commons/download/commons-logging-1.1.1-src.tar.gz differ -- cgit From 608b65cec70c4bd38da787b14365fbe7caba41e6 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 08:09:31 +0000 Subject: #i87925# Applied patch for 'workaround ver. 2.0'. --- xpdf/makefile.mk | 6 +++--- xpdf/test/makefile.mk | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/xpdf/makefile.mk b/xpdf/makefile.mk index 07c021923423..bd821453ede3 100644 --- a/xpdf/makefile.mk +++ b/xpdf/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: thb $ $Date: 2007-12-05 14:16:39 $ +# last change: $Author: rt $ $Date: 2008-04-10 09:08:27 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -61,7 +61,7 @@ CONFIGURE_ACTION=./configure --without-x --enable-multithreaded --enable-excepti BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS) .ELSE CONFIGURE_ACTION= -BUILD_ACTION=ms_make +BUILD_ACTION= cmd.exe /c ms_make.bat .ENDIF CONVERTFILES=ms_make.bat diff --git a/xpdf/test/makefile.mk b/xpdf/test/makefile.mk index 6fcd7b8007df..6107010ce548 100644 --- a/xpdf/test/makefile.mk +++ b/xpdf/test/makefile.mk @@ -4,9 +4,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: thb $ $Date: 2007-12-05 14:16:42 $ +# last change: $Author: rt $ $Date: 2008-04-10 09:09:31 $ # # The Contents of this file are made available subject to # the terms of GNU Lesser General Public License Version 2.1. @@ -47,7 +47,7 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : target.mk -ALLTAR : $(MISC)$/test_0_succeeded $(MISC)$/test_1_succeeded +#ALLTAR : $(MISC)$/test_0_succeeded $(MISC)$/test_1_succeeded $(MISC)$/test_0_succeeded: $(BIN)$/xpdfimport$(EXECPOST) binary_0_out.def text_0_out.def testinput.pdf $(BIN)$/xpdfimport -f $(MISC)$/binary_0_out testinput.pdf > $(MISC)$/text_0_out -- cgit From fbdd1a426e1ff8ea2a8a1022ff695595be7232bb Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:11:10 +0000 Subject: INTEGRATION: CWS changefileheader (1.4.26); FILE MERGED 2008/04/01 12:39:50 thb 1.4.26.2: #i85898# Stripping all external header guards 2008/03/31 13:59:43 rt 1.4.26.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/aboutdialog.cxx | 49 +++++++++++++--------------------- 1 file changed, 18 insertions(+), 31 deletions(-) diff --git a/sdext/source/minimizer/aboutdialog.cxx b/sdext/source/minimizer/aboutdialog.cxx index 2f45481bcd99..220df006b77c 100644 --- a/sdext/source/minimizer/aboutdialog.cxx +++ b/sdext/source/minimizer/aboutdialog.cxx @@ -1,50 +1,37 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: aboutdialog.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.4 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: hr $ $Date: 2007-11-01 14:10:07 $ + * $RCSfile: aboutdialog.cxx,v $ + * $Revision: 1.5 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef ABOUTDIALOG_HXX #include "aboutdialog.hxx" -#endif -#ifndef OPTIMIZATIONSTATS_HXX #include "optimizationstats.hxx" -#endif -#ifndef _FILEOPEN_DIALOG_HXX_ #include "fileopendialog.hxx" -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_EXECUTABLEDIALOGRESULTS_HPP_ #include -#endif // --------------- // - ABOUTDIALOG - -- cgit From 7d12d2fe516b081edda09dfe6f78ed04a7d8d03c Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:11:38 +0000 Subject: INTEGRATION: CWS changefileheader (1.5.28); FILE MERGED 2008/04/01 12:39:50 thb 1.5.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:43 rt 1.5.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/configurationaccess.cxx | 54 +++++++++----------------- 1 file changed, 18 insertions(+), 36 deletions(-) diff --git a/sdext/source/minimizer/configurationaccess.cxx b/sdext/source/minimizer/configurationaccess.cxx index 490f2c241178..e5758af5c27f 100644 --- a/sdext/source/minimizer/configurationaccess.cxx +++ b/sdext/source/minimizer/configurationaccess.cxx @@ -1,59 +1,41 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: configurationaccess.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.5 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-08-16 17:12:26 $ + * $RCSfile: configurationaccess.cxx,v $ + * $Revision: 1.6 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef _CONFIGURATION_ACCESS_HXX_ #include "configurationaccess.hxx" -#endif #include -#ifndef _COM_SUN_STAR_FRAME_XCOMPONENTLOADER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XHIERARCHICALNAMEACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UTIL_XCHANGESBATCH_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UTIL_XMACROEXPANDER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_ #include -#endif using namespace ::rtl; using namespace ::com::sun::star; -- cgit From 1a684b296ef6d816146625529f1ee655b15e8cdb Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:11:51 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.28); FILE MERGED 2008/04/01 15:36:52 thb 1.2.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:50 thb 1.2.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:43 rt 1.2.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/configurationaccess.hxx | 61 ++++++++------------------ 1 file changed, 18 insertions(+), 43 deletions(-) diff --git a/sdext/source/minimizer/configurationaccess.hxx b/sdext/source/minimizer/configurationaccess.hxx index 72c8b7be60f6..346b228b803e 100644 --- a/sdext/source/minimizer/configurationaccess.hxx +++ b/sdext/source/minimizer/configurationaccess.hxx @@ -1,35 +1,30 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: configurationaccess.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ + * $RCSfile: configurationaccess.hxx,v $ + * $Revision: 1.3 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ @@ -37,39 +32,19 @@ #ifndef _CONFIGURATION_ACCESS_HXX_ #define _CONFIGURATION_ACCESS_HXX_ #include -#ifndef _PPPOPTIMIZER_TOKEN_HXX #include "pppoptimizertoken.hxx" -#endif -#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_ANY_H_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_XINTERFACE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ #include -#endif #ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT #include #endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMEREPLACE_HPP_ #include -#endif #include struct OptimizerSettings -- cgit From 27e6b03f9883f6d47e9939949742a2628fa21065 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:12:05 +0000 Subject: INTEGRATION: CWS changefileheader (1.1.28); FILE MERGED 2008/04/01 15:36:52 thb 1.1.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:50 thb 1.1.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:43 rt 1.1.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/aboutdialog.hxx | 75 ++++++------------------ sdext/source/minimizer/fileopendialog.cxx | 94 ++++++------------------------- 2 files changed, 36 insertions(+), 133 deletions(-) diff --git a/sdext/source/minimizer/aboutdialog.hxx b/sdext/source/minimizer/aboutdialog.hxx index c02f96eeba3a..17b0deac59fd 100644 --- a/sdext/source/minimizer/aboutdialog.hxx +++ b/sdext/source/minimizer/aboutdialog.hxx @@ -1,92 +1,53 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: aboutdialog.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:49:17 $ + * $RCSfile: aboutdialog.hxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef ABOUTDIALOG_HXX #define ABOUTDIALOG_HXX #include -#ifndef UNODIALOG_HXX #include "unodialog.hxx" -#endif -#ifndef _CONFIGURATION_ACCESS_HXX_ #include "configurationaccess.hxx" -#endif -#ifndef _PPPOPTIMIZER_TOKEN_HXX #include "pppoptimizertoken.hxx" -#endif -#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XITEMLISTENER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ #include -#endif -#ifndef _COM_SUN_STAR_TEXT_XTEXTRANGE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XITEMEVENTBROADCASTER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_PUSHBUTTONTYPE_HPP_ #include -#endif #define DIALOG_WIDTH 310 #define DIALOG_HEIGHT 210 diff --git a/sdext/source/minimizer/fileopendialog.cxx b/sdext/source/minimizer/fileopendialog.cxx index 5a33ceb3ae7f..2034c8725925 100644 --- a/sdext/source/minimizer/fileopendialog.cxx +++ b/sdext/source/minimizer/fileopendialog.cxx @@ -1,120 +1,62 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: fileopendialog.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:50:19 $ + * $RCSfile: fileopendialog.cxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef _FILEOPEN_DIALOG_HXX_ #include "fileopendialog.hxx" -#endif - -#ifndef _SAL_TYPES_H_ #include -#endif -#ifndef _PPPOPTIMIZER_TOKEN_HXX #include "pppoptimizertoken.hxx" -#endif -#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_COMMONFILEPICKERELEMENTIDS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_EXECUTABLEDIALOGRESULTS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_EXTENDEDFILEPICKERELEMENTIDS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_FILEPREVIEWIMAGEFORMATS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_CONTROLACTIONS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_TEMPLATEDESCRIPTION_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKERCONTROLACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKERNOTIFIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPREVIEW_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILTERMANAGER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILTERGROUPMANAGER_HPP_ #include -#endif #ifndef _COM_SUN_STAR_UI_DIALOGS_XFOLDERPICKER_HDL_ #include #endif -#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_NAMEDVALUE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_EMBED_ELEMENTMODES_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XENUMERATION_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XCONTAINERQUERY_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UCB_INTERACTIVEAUGMENTEDIOEXCEPTION_HPP_ #include -#endif -#ifndef _COMPHELPER_TYPES_HXX_ #include -#endif using namespace ::rtl; -- cgit From 8fec6f15f9bea7a281dd668e9e893c2ea91e0235 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:12:20 +0000 Subject: INTEGRATION: CWS changefileheader (1.1.28); FILE MERGED 2008/04/01 15:36:52 thb 1.1.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:50 thb 1.1.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.1.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/fileopendialog.hxx | 50 +++++++++++-------------------- 1 file changed, 18 insertions(+), 32 deletions(-) diff --git a/sdext/source/minimizer/fileopendialog.hxx b/sdext/source/minimizer/fileopendialog.hxx index fc857b3ab451..b51be2ac15b1 100644 --- a/sdext/source/minimizer/fileopendialog.hxx +++ b/sdext/source/minimizer/fileopendialog.hxx @@ -1,35 +1,30 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: fileopendialog.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:50:28 $ + * $RCSfile: fileopendialog.hxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ @@ -38,19 +33,10 @@ #define _FILEOPEN_DIALOG_HXX_ #include - -#ifndef _COMPHELPER_PROCESSFACTORY_HXX_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_STRINGPAIR_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKER_HPP_ #include -#endif class FileOpenDialog { -- cgit From df3bb109a13a6d4e40a7c570422365c2e65d2bc5 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:12:33 +0000 Subject: INTEGRATION: CWS changefileheader (1.3.26); FILE MERGED 2008/04/01 12:39:50 thb 1.3.26.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.3.26.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/graphiccollector.cxx | 58 +++++++++-------------------- 1 file changed, 18 insertions(+), 40 deletions(-) diff --git a/sdext/source/minimizer/graphiccollector.cxx b/sdext/source/minimizer/graphiccollector.cxx index 3f240052e9bf..fada4caf90f3 100644 --- a/sdext/source/minimizer/graphiccollector.cxx +++ b/sdext/source/minimizer/graphiccollector.cxx @@ -1,63 +1,41 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: graphiccollector.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.3 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: vg $ $Date: 2007-10-29 12:29:40 $ + * $RCSfile: graphiccollector.cxx,v $ + * $Revision: 1.4 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef GRAPHICCOLLECTOR_HXX #include "graphiccollector.hxx" -#endif - -#ifndef _COM_SUN_STAR_AWT_XDEVICE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XFRAMESSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_FILLSTYLE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_BITMAPMODE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATIONPAGE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ #include -#endif #include "impoptimizer.hxx" -- cgit From 29212e11a385ea1f3327c4f34ef53f1b75de8c27 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:12:47 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.28); FILE MERGED 2008/04/01 12:39:50 thb 1.2.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.2.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/graphiccollector.hxx | 57 +++++++++-------------------- 1 file changed, 18 insertions(+), 39 deletions(-) diff --git a/sdext/source/minimizer/graphiccollector.hxx b/sdext/source/minimizer/graphiccollector.hxx index a85013b208ca..4e6b736b9872 100644 --- a/sdext/source/minimizer/graphiccollector.hxx +++ b/sdext/source/minimizer/graphiccollector.hxx @@ -1,65 +1,44 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: graphiccollector.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-16 15:07:46 $ + * $RCSfile: graphiccollector.hxx,v $ + * $Revision: 1.3 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef GRAPHICCOLLECTOR_HXX #define GRAPHICCOLLECTOR_HXX -#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_DEVICEINFO_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_TEXT_GRAPHICCROP_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XSHAPE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHIC_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ #include -#endif #include -- cgit From 35add615b83922636020eec06a23beee0d7cba87 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:13:01 +0000 Subject: INTEGRATION: CWS changefileheader (1.11.6); FILE MERGED 2008/04/01 15:36:52 thb 1.11.6.3: #i85898# Stripping all external header guards 2008/04/01 12:39:50 thb 1.11.6.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.11.6.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/impoptimizer.cxx | 109 ++++++-------------------------- 1 file changed, 18 insertions(+), 91 deletions(-) diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx index c018b0367775..1c652e9ced5f 100644 --- a/sdext/source/minimizer/impoptimizer.cxx +++ b/sdext/source/minimizer/impoptimizer.cxx @@ -1,49 +1,37 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: impoptimizer.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.11 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: obo $ $Date: 2008-02-26 15:17:29 $ + * $RCSfile: impoptimizer.cxx,v $ + * $Revision: 1.12 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #include "impoptimizer.hxx" - -#ifndef PPPOPTIMIZER_HXX #include "pppoptimizer.hxx" -#endif -#ifndef GRAPHICCOLLECTOR_HXX #include "graphiccollector.hxx" -#endif -#ifndef PAGECOLLECTOR_HXX #include "pagecollector.hxx" -#endif #include "informationdialog.hxx" #include @@ -51,103 +39,42 @@ #include #include "com/sun/star/util/URL.hpp" #include "com/sun/star/util/XURLTransformer.hpp" - -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_RECTANGLE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UTIL_MEASUREUNIT_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDESKTOP_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XWINDOW_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_ #include -#endif #ifndef _COM_SUN_STAR_FRAME_FrameSearchFlag_HPP_ #include #endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHICPROVIDER_HPP_ #include -#endif -#ifndef _UTL_CONFIGMGR_HXX_ #include -#endif -#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMED_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGETARGET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATIONSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATION_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATIONPAGE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DOCUMENT_XFILTER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DOCUMENT_XEXPORTER_HPP_ #include -#endif #ifndef _COM_SUN_STAR_UNO_RUNTIME_EXCEPTION_HPP_ #include #endif -#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHICPROVIDER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_GRAPHIC_GRAPHICTYPE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_IO_XSTREAM_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_IO_XSEEKABLE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XCOMPONENTLOADER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UTIL_URL_HPP_ #include -#endif using namespace ::std; using namespace ::rtl; -- cgit From 36cac7355273652f682901918eae1f1f8b42e078 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:13:15 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.28); FILE MERGED 2008/04/01 15:36:52 thb 1.2.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:51 thb 1.2.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.2.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/impoptimizer.hxx | 57 +++++++++++---------------------- 1 file changed, 18 insertions(+), 39 deletions(-) diff --git a/sdext/source/minimizer/impoptimizer.hxx b/sdext/source/minimizer/impoptimizer.hxx index 9c2140dd50f9..827ff954a227 100644 --- a/sdext/source/minimizer/impoptimizer.hxx +++ b/sdext/source/minimizer/impoptimizer.hxx @@ -1,68 +1,47 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: impoptimizer.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:35 $ + * $RCSfile: impoptimizer.hxx,v $ + * $Revision: 1.3 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef IMPOPTIMIZER_HXX #define IMPOPTIMIZER_HXX -#ifndef _PPPOPTIMIZER_TOKEN_HXX #include "pppoptimizertoken.hxx" -#endif -#ifndef OPTIMIZATIONSTATS_HXX #include "optimizationstats.hxx" -#endif -#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_TASK_XSTATUSINDICATOR_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_ #include -#endif #ifndef _COM_SUN_STAR_LANG_XMULTI_COMPONENT_FACTORY_HPP_ #include #endif -#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ #include -#endif class Point; class Size; -- cgit From 382b08347ea3e95581c3ed08627aed47a81b52a6 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:13:29 +0000 Subject: INTEGRATION: CWS changefileheader (1.6.26); FILE MERGED 2008/04/01 15:36:52 thb 1.6.26.3: #i85898# Stripping all external header guards 2008/04/01 12:39:51 thb 1.6.26.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.6.26.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/informationdialog.cxx | 53 ++++++++++------------------ 1 file changed, 18 insertions(+), 35 deletions(-) diff --git a/sdext/source/minimizer/informationdialog.cxx b/sdext/source/minimizer/informationdialog.cxx index 125a8ce7a4cc..1d10c502bb56 100644 --- a/sdext/source/minimizer/informationdialog.cxx +++ b/sdext/source/minimizer/informationdialog.cxx @@ -1,56 +1,39 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: informationdialog.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.6 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: vg $ $Date: 2007-10-29 12:29:27 $ + * $RCSfile: informationdialog.cxx,v $ + * $Revision: 1.7 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef INFORMATIONDIALOG_HXX #include "informationdialog.hxx" -#endif -#ifndef OPTIMIZATIONSTATS_HXX #include "optimizationstats.hxx" -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_EXECUTABLEDIALOGRESULTS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHICPROVIDER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_GRAPHIC_XGRAPHIC_HPP_ #include -#endif -#ifndef _RTL_USTRBUF_HXX_ #include -#endif #include "com/sun/star/util/URL.hpp" #include "com/sun/star/util/XURLTransformer.hpp" -- cgit From dcd6e1fc0536b0037ba5cbe44f42c1fcb383f61f Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:13:42 +0000 Subject: INTEGRATION: CWS changefileheader (1.4.28); FILE MERGED 2008/04/01 15:36:53 thb 1.4.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:51 thb 1.4.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.4.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/informationdialog.hxx | 77 +++++++--------------------- 1 file changed, 18 insertions(+), 59 deletions(-) diff --git a/sdext/source/minimizer/informationdialog.hxx b/sdext/source/minimizer/informationdialog.hxx index ff5849f4bbd1..713eed9426a9 100644 --- a/sdext/source/minimizer/informationdialog.hxx +++ b/sdext/source/minimizer/informationdialog.hxx @@ -1,95 +1,54 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: informationdialog.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.4 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-24 10:08:36 $ + * $RCSfile: informationdialog.hxx,v $ + * $Revision: 1.5 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef INFORMATIONDIALOG_HXX #define INFORMATIONDIALOG_HXX #include -#ifndef UNODIALOG_HXX #include "unodialog.hxx" -#endif -#ifndef _CONFIGURATION_ACCESS_HXX_ #include "configurationaccess.hxx" -#endif -#ifndef _PPPOPTIMIZER_TOKEN_HXX #include "pppoptimizertoken.hxx" -#endif -#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XITEMLISTENER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ #include -#endif -#ifndef _COM_SUN_STAR_TEXT_XTEXTRANGE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XITEMEVENTBROADCASTER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_PUSHBUTTONTYPE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_IO_XSTREAM_HPP_ #include -#endif // --------------------- // - InformationDialog - -- cgit From bdac75a6abefcbce3576c16aec8931d86355ec84 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:13:54 +0000 Subject: INTEGRATION: CWS changefileheader (1.7.4); FILE MERGED 2008/03/31 13:59:44 rt 1.7.4.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/makefile.mk | 42 +++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/sdext/source/minimizer/makefile.mk b/sdext/source/minimizer/makefile.mk index 3af5f13d103e..562d00f6453f 100644 --- a/sdext/source/minimizer/makefile.mk +++ b/sdext/source/minimizer/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.9 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: kz $ $Date: 2008-04-03 16:29:04 $ +# $Revision: 1.10 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From bf9130815ff0e3eccdb89f8eed31b9ae62ae98b3 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:14:43 +0000 Subject: INTEGRATION: CWS changefileheader (1.8.26); FILE MERGED 2008/04/01 15:36:53 thb 1.8.26.3: #i85898# Stripping all external header guards 2008/04/01 12:39:51 thb 1.8.26.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.8.26.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/optimizerdialog.cxx | 57 ++++++++++-------------------- 1 file changed, 18 insertions(+), 39 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx index ac23ff1013fb..bb4fcb8dac8d 100644 --- a/sdext/source/minimizer/optimizerdialog.cxx +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -1,65 +1,44 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: optimizerdialog.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.8 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: vg $ $Date: 2007-10-29 12:30:01 $ + * $RCSfile: optimizerdialog.cxx,v $ + * $Revision: 1.9 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef OPTIMIZERDIALOG_HXX #include "optimizerdialog.hxx" -#endif -#ifndef _FILEOPEN_DIALOG_HXX_ #include "fileopendialog.hxx" -#endif -#ifndef _COM_SUN_STAR_UI_DIALOGS_EXECUTABLEDIALOGRESULTS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UCB_XSIMPLEFILEACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_IO_XINPUTSTREAM_HPP_ #include -#endif #ifndef _COM_SUN_STAR_UTIL_XCloseBroadcaster_HPP_ #include #endif -#ifndef _COM_SUN_STAR_FRAME_XCOMPONENTLOADER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XLAYOUTMANAGER_HPP_ #include -#endif -#ifndef _OSL_TIME_H_ #include -#endif // ------------------- // - OPTIMIZERDIALOG - -- cgit From 226ec8fcfbe1c1bfe9f30bb982574ab2bc476497 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:15:15 +0000 Subject: INTEGRATION: CWS changefileheader (1.3.28); FILE MERGED 2008/04/01 15:36:53 thb 1.3.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:51 thb 1.3.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.3.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/optimizerdialog.hxx | 83 +++++++----------------------- 1 file changed, 18 insertions(+), 65 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialog.hxx b/sdext/source/minimizer/optimizerdialog.hxx index 7497ad5bb141..28a425121990 100644 --- a/sdext/source/minimizer/optimizerdialog.hxx +++ b/sdext/source/minimizer/optimizerdialog.hxx @@ -1,35 +1,30 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: optimizerdialog.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.3 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-08-16 14:33:00 $ + * $RCSfile: optimizerdialog.hxx,v $ + * $Revision: 1.4 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ @@ -39,72 +34,30 @@ #include "optimizerdialog.hrc" #endif #include -#ifndef UNODIALOG_HXX #include "unodialog.hxx" -#endif -#ifndef _PPPOPTIMIZER_TOKEN_HXX #include "pppoptimizertoken.hxx" -#endif -#ifndef OPTIMIZATIONSTATS_HXX #include "optimizationstats.hxx" -#endif -#ifndef _CONFIGURATION_ACCESS_HXX_ #include "configurationaccess.hxx" -#endif -#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XITEMLISTENER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XSPINFIELD_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XSPINLISTENER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ #include -#endif -#ifndef _COM_SUN_STAR_TEXT_XTEXTRANGE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XITEMEVENTBROADCASTER_HPP_ #include -#endif #ifndef _COM_SUN_STAR_UTIL_XCloseListener_HPP_ #include #endif -#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDESKTOP_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_PUSHBUTTONTYPE_HPP_ #include -#endif #define MAX_STEP 4 #define OD_DIALOG_WIDTH 330 -- cgit From 2fdd31d39f3bf48ece8c7533fa452780c7e78605 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:15:36 +0000 Subject: INTEGRATION: CWS changefileheader (1.12.28); FILE MERGED 2008/04/01 15:36:53 thb 1.12.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:51 thb 1.12.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.12.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/optimizerdialogcontrols.cxx | 57 +++++++--------------- 1 file changed, 18 insertions(+), 39 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialogcontrols.cxx b/sdext/source/minimizer/optimizerdialogcontrols.cxx index 58d248d936c4..d48c895b989f 100644 --- a/sdext/source/minimizer/optimizerdialogcontrols.cxx +++ b/sdext/source/minimizer/optimizerdialogcontrols.cxx @@ -1,35 +1,30 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: optimizerdialogcontrols.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.12 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-10-08 16:45:35 $ + * $RCSfile: optimizerdialogcontrols.cxx,v $ + * $Revision: 1.13 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ @@ -38,33 +33,17 @@ // ------------------- // - OptimizerDialog - // ------------------- -#ifndef PPPOPTIMIZER_HXX #include "pppoptimizer.hxx" -#endif -#ifndef GRAPHICCOLLECTOR_HXX #include "graphiccollector.hxx" -#endif -#ifndef PAGECOLLECTOR_HXX #include "pagecollector.hxx" -#endif -#ifndef _COM_SUN_STAR_PRESENTATION_XCUSTOMPRESENTATIONSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_FONTDESCRIPTOR_HPP_ #include -#endif #ifndef _COM_SUN_STAR_AWT_XFONTWEIGHT_HPP_ #include #endif -#ifndef _RTL_USTRBUF_HXX_ #include -#endif using namespace ::rtl; using namespace ::com::sun::star::awt; -- cgit From 573da17ff6189cf395af88fb775abfe1924ead89 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:15:52 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.28); FILE MERGED 2008/04/01 12:39:51 thb 1.2.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.2.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/pagecollector.cxx | 58 ++++++++++---------------------- 1 file changed, 18 insertions(+), 40 deletions(-) diff --git a/sdext/source/minimizer/pagecollector.cxx b/sdext/source/minimizer/pagecollector.cxx index 4705aa07ace5..5b41b6a41fb7 100644 --- a/sdext/source/minimizer/pagecollector.cxx +++ b/sdext/source/minimizer/pagecollector.cxx @@ -1,63 +1,41 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: pagecollector.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-09-26 13:00:23 $ + * $RCSfile: pagecollector.cxx,v $ + * $Revision: 1.3 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef PAGECOLLECTOR_HXX #include "pagecollector.hxx" -#endif - -#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATIONPAGE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGETARGET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_PRESENTATION_XCUSTOMPRESENTATIONSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XINDEXCONTAINER_HPP_ #include -#endif using namespace ::rtl; using namespace ::com::sun::star; -- cgit From 226b4cf5e7c389aee4e26bbe7bb2b7c2903aef8e Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:16:23 +0000 Subject: INTEGRATION: CWS changefileheader (1.1.28); FILE MERGED 2008/04/01 12:39:51 thb 1.1.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.1.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/optimizationstats.cxx | 52 ++++++++++------------------ sdext/source/minimizer/pagecollector.hxx | 45 ++++++++++-------------- sdext/source/minimizer/pppoptimizer.cxx | 43 ++++++++++------------- 3 files changed, 54 insertions(+), 86 deletions(-) diff --git a/sdext/source/minimizer/optimizationstats.cxx b/sdext/source/minimizer/optimizationstats.cxx index 6c47e2fef22b..ab8242d893a0 100644 --- a/sdext/source/minimizer/optimizationstats.cxx +++ b/sdext/source/minimizer/optimizationstats.cxx @@ -1,54 +1,38 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: optimizationstats.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:57:05 $ + * $RCSfile: optimizationstats.cxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef OPTIMIZATIONSTATS_HXX #include "optimizationstats.hxx" -#endif - -#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XMASTERPAGESSUPPLIER_HPP_ #include -#endif using namespace ::rtl; diff --git a/sdext/source/minimizer/pagecollector.hxx b/sdext/source/minimizer/pagecollector.hxx index 9e3392555a56..a17111cca9ec 100644 --- a/sdext/source/minimizer/pagecollector.hxx +++ b/sdext/source/minimizer/pagecollector.hxx @@ -1,47 +1,38 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: pagecollector.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:59:19 $ + * $RCSfile: pagecollector.hxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef PAGECOLLECTOR_HXX #define PAGECOLLECTOR_HXX -#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XDRAWPAGESSUPPLIER_HPP_ #include -#endif #include class PageCollector diff --git a/sdext/source/minimizer/pppoptimizer.cxx b/sdext/source/minimizer/pppoptimizer.cxx index 683a835d1764..873efbb97e2a 100644 --- a/sdext/source/minimizer/pppoptimizer.cxx +++ b/sdext/source/minimizer/pppoptimizer.cxx @@ -1,41 +1,34 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: pppoptimizer.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:59:28 $ + * $RCSfile: pppoptimizer.cxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef PPPOPTIMIZER_HXX #include "pppoptimizer.hxx" -#endif #include "impoptimizer.hxx" #include -- cgit From 2c05dcae43f254f9b45f9ff5936b5ecb5bd32dae Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:16:39 +0000 Subject: INTEGRATION: CWS changefileheader (1.1.28); FILE MERGED 2008/04/01 15:36:53 thb 1.1.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:51 thb 1.1.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.1.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/optimizationstats.hxx | 49 +++++++++-------------- sdext/source/minimizer/pppoptimizer.hxx | 59 +++++++++------------------- 2 files changed, 36 insertions(+), 72 deletions(-) diff --git a/sdext/source/minimizer/optimizationstats.hxx b/sdext/source/minimizer/optimizationstats.hxx index 986891c29461..15603449c437 100644 --- a/sdext/source/minimizer/optimizationstats.hxx +++ b/sdext/source/minimizer/optimizationstats.hxx @@ -1,53 +1,40 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: optimizationstats.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:57:14 $ + * $RCSfile: optimizationstats.hxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef OPTIMIZATIONSTATS_HXX #define OPTIMIZATIONSTATS_HXX -#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XMODEL_HPP_ #include -#endif -#ifndef _PPPOPTIMIZER_TOKEN_HXX #include "pppoptimizertoken.hxx" -#endif #include class OptimizationStats diff --git a/sdext/source/minimizer/pppoptimizer.hxx b/sdext/source/minimizer/pppoptimizer.hxx index 25290227bf97..53e2aedb3bfa 100644 --- a/sdext/source/minimizer/pppoptimizer.hxx +++ b/sdext/source/minimizer/pppoptimizer.hxx @@ -1,68 +1,45 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: pppoptimizer.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:59:38 $ + * $RCSfile: pppoptimizer.hxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef PPPOPTIMIZER_HXX #define PPPOPTIMIZER_HXX -#ifndef _CPPUHELPER_IMPLBASE4_HXX_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_LANG_XMULTICOMPONENTFACTORY_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ #include -#endif -#ifndef _COMPHELPER_PROPERTY_HXX_ #include -#endif // ---------------- // - PPPOptimizer - -- cgit From 01bb58b0651164558a5ad80e69774b6168b39d7c Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:16:54 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.28); FILE MERGED 2008/04/01 15:36:54 thb 1.2.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.2.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/pppoptimizerdialog.cxx | 43 +++++++++++---------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/sdext/source/minimizer/pppoptimizerdialog.cxx b/sdext/source/minimizer/pppoptimizerdialog.cxx index 72d9161d3a10..ad90ccfb8afb 100644 --- a/sdext/source/minimizer/pppoptimizerdialog.cxx +++ b/sdext/source/minimizer/pppoptimizerdialog.cxx @@ -1,35 +1,30 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: pppoptimizerdialog.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ + * $RCSfile: pppoptimizerdialog.cxx,v $ + * $Revision: 1.3 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ @@ -45,9 +40,7 @@ using namespace ::com::sun::star::frame; using namespace ::com::sun::star::beans; #define SERVICE_NAME "com.sun.star.comp.SunPresentationMinimizer" -#ifndef _RTL_USTRBUF_HXX_ #include -#endif // ---------------------- // - PPPOptimizerDialog - -- cgit From 9e60125d25b710ef816f946345f41a64249e172a Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:17:10 +0000 Subject: INTEGRATION: CWS changefileheader (1.1.28); FILE MERGED 2008/04/01 15:36:54 thb 1.1.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:51 thb 1.1.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.1.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/pppoptimizerdialog.hxx | 65 ++++++++------------------- 1 file changed, 18 insertions(+), 47 deletions(-) diff --git a/sdext/source/minimizer/pppoptimizerdialog.hxx b/sdext/source/minimizer/pppoptimizerdialog.hxx index 455c07772c15..071b383fe4e8 100644 --- a/sdext/source/minimizer/pppoptimizerdialog.hxx +++ b/sdext/source/minimizer/pppoptimizerdialog.hxx @@ -1,80 +1,51 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: pppoptimizerdialog.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:59:59 $ + * $RCSfile: pppoptimizerdialog.hxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef PPPOPTIMIZERDIALOG_HXX #define PPPOPTIMIZERDIALOGOG_HXX -#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ #include -#endif -#ifndef _COM_SUN_STAR_DOCUMENT_XEXPORTER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSETINFO_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ #include -#endif #ifndef _COM_SUN_STAR_LANG_XMULTI_COMPONENT_FACTORY_HPP_ #include #endif -#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_ #include -#endif -#ifndef _CPPUHELPER_IMPLBASE4_HXX_ #include -#endif // ---------------------- // - PPPOptimizerDialog - -- cgit From 7d8ebfc47db694aa8644c19085884bf1dea12560 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:17:26 +0000 Subject: INTEGRATION: CWS changefileheader (1.8.10); FILE MERGED 2008/04/01 15:36:54 thb 1.8.10.3: #i85898# Stripping all external header guards 2008/04/01 12:39:51 thb 1.8.10.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.8.10.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/pppoptimizertoken.cxx | 45 +++++++++++----------------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx index db854b710ae0..35755813cfd7 100644 --- a/sdext/source/minimizer/pppoptimizertoken.cxx +++ b/sdext/source/minimizer/pppoptimizertoken.cxx @@ -1,44 +1,35 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: pppoptimizertoken.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.8 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: ihi $ $Date: 2008-02-04 13:47:57 $ + * $RCSfile: pppoptimizertoken.cxx,v $ + * $Revision: 1.9 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef _PPPOPTIMIZER_TOKEN_HXX #include "pppoptimizertoken.hxx" -#endif -#ifndef _OSL_MUTEX_HXX_ #include -#endif #include #include -- cgit From 4fb6aff61c9a63a7502124dba1f159d523b64609 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:17:42 +0000 Subject: INTEGRATION: CWS changefileheader (1.7.28); FILE MERGED 2008/03/31 13:59:44 rt 1.7.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/pppoptimizertoken.hxx | 41 ++++++++++++---------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/sdext/source/minimizer/pppoptimizertoken.hxx b/sdext/source/minimizer/pppoptimizertoken.hxx index 6089484a6bcc..219eb656d21d 100644 --- a/sdext/source/minimizer/pppoptimizertoken.hxx +++ b/sdext/source/minimizer/pppoptimizertoken.hxx @@ -1,35 +1,30 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: pppoptimizertoken.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.7 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-08-17 09:38:07 $ + * $RCSfile: pppoptimizertoken.hxx,v $ + * $Revision: 1.8 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 70e3b01ff0c9fc5f2900940dd48683296e0a58c9 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:17:58 +0000 Subject: INTEGRATION: CWS changefileheader (1.1.28); FILE MERGED 2008/03/31 13:59:44 rt 1.1.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/optimizerdialog.hrc | 41 +++++++++++++----------------- sdext/source/minimizer/pppoptimizeruno.cxx | 41 +++++++++++++----------------- 2 files changed, 36 insertions(+), 46 deletions(-) diff --git a/sdext/source/minimizer/optimizerdialog.hrc b/sdext/source/minimizer/optimizerdialog.hrc index cd114cb6de56..b6b4b6d33b5c 100644 --- a/sdext/source/minimizer/optimizerdialog.hrc +++ b/sdext/source/minimizer/optimizerdialog.hrc @@ -1,35 +1,30 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: optimizerdialog.hrc,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 13:57:31 $ + * $RCSfile: optimizerdialog.hrc,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef _OPTIMIZERDIALOG_HRC diff --git a/sdext/source/minimizer/pppoptimizeruno.cxx b/sdext/source/minimizer/pppoptimizeruno.cxx index b594fbd46a3d..4ac42f09d1ac 100644 --- a/sdext/source/minimizer/pppoptimizeruno.cxx +++ b/sdext/source/minimizer/pppoptimizeruno.cxx @@ -1,35 +1,30 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: pppoptimizeruno.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-05-11 14:00:33 $ + * $RCSfile: pppoptimizeruno.cxx,v $ + * $Revision: 1.2 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 7ca015bd8d1c7deafefbb63d48bb25be79f059b5 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:18:14 +0000 Subject: INTEGRATION: CWS changefileheader (1.4.26); FILE MERGED 2008/04/01 12:39:52 thb 1.4.26.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.4.26.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/unodialog.cxx | 57 ++++++++++++------------------------ 1 file changed, 18 insertions(+), 39 deletions(-) diff --git a/sdext/source/minimizer/unodialog.cxx b/sdext/source/minimizer/unodialog.cxx index f7086a0f63f5..cf23132115e7 100644 --- a/sdext/source/minimizer/unodialog.cxx +++ b/sdext/source/minimizer/unodialog.cxx @@ -1,63 +1,42 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: unodialog.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.4 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: vg $ $Date: 2007-10-29 16:05:37 $ + * $RCSfile: unodialog.cxx,v $ + * $Revision: 1.5 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #include "unodialog.hxx" -#ifndef _COM_SUN_STAR_TEXT_XTEXTRANGE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XINDEXACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_VIEW_XSELECTIONSUPPLIER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_VIEW_XCONTROLACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XDISPATCH_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XMESSAGEBOXFACTORY_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_MESSAGEBOXBUTTONS_HPP_ #include -#endif // ------------- // - UnoDialog - -- cgit From 6fe259b224976b773fcf4f8db7e219fb080e37a8 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:18:28 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.28); FILE MERGED 2008/04/01 15:36:54 thb 1.2.28.3: #i85898# Stripping all external header guards 2008/04/01 12:39:52 thb 1.2.28.2: #i85898# Stripping all external header guards 2008/03/31 13:59:44 rt 1.2.28.1: #i87441# Change license header to LPGL v3. --- sdext/source/minimizer/unodialog.hxx | 99 +++++++----------------------------- 1 file changed, 18 insertions(+), 81 deletions(-) diff --git a/sdext/source/minimizer/unodialog.hxx b/sdext/source/minimizer/unodialog.hxx index 9bf0f03e12ef..a1e94a19d615 100644 --- a/sdext/source/minimizer/unodialog.hxx +++ b/sdext/source/minimizer/unodialog.hxx @@ -1,131 +1,68 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: unodialog.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: sj $ $Date: 2007-07-10 16:16:25 $ + * $RCSfile: unodialog.hxx,v $ + * $Revision: 1.3 $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * This file is part of OpenOffice.org. * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library 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. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef UNODIALOG_HXX #define UNODIALOG_HXX -#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ #include -#endif -#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_ #include -#endif #ifndef _COM_SUN_STAR_LANG_XMULTI_COMPONENT_FACTORY_HPP_ #include #endif -#ifndef _COM_SUN_STAR_CONTAINER_XINDEXCONTAINER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XCONTROLLER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_FRAME_XFRAME_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_SCRIPT_XINVOCATION_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_BEANS_XMULTIPROPERTYSET_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XCONTROL_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XCONTROLMODEL_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XACTIONLISTENER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XTEXTLISTENER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XBUTTON_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XCHECKBOX_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XCOMBOBOX_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XTEXTCOMPONENT_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XRADIOBUTTON_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XLISTBOX_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XFIXEDTEXT_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XCONTROLCONTAINER_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XRESCHEDULE_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_XDIALOG_HPP_ #include -#endif -#ifndef _COM_SUN_STAR_AWT_SIZE_HPP_ #include -#endif -#ifndef _CPPUHELPER_IMPLBASE1_HXX_ #include -#endif -#ifndef _CPPUHELPER_IMPLBASE2_HXX_ #include -#endif -#ifndef _CPPUHELPER_IMPLBASE3_HXX_ #include -#endif // ------------- // - UnoDialog - -- cgit From 4b1ed196309bf95f210d784b8373838934ab46e5 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:20:06 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.26); FILE MERGED 2008/03/31 13:59:45 rt 1.2.26.1: #i87441# Change license header to LPGL v3. --- .../data/org/openoffice/Office/UI/makefile.mk | 42 ++++++++++------------ .../org/openoffice/Office/extension/makefile.mk | 42 ++++++++++------------ .../data/org/openoffice/Office/makefile.mk | 42 ++++++++++------------ 3 files changed, 57 insertions(+), 69 deletions(-) diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk index 73d4ef726e5e..b5e7fc33a978 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/UI/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: hr $ $Date: 2007-11-01 14:14:04 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* PRJ=..$/..$/..$/..$/..$/..$/..$/.. diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk index f36cb80e2618..08a42e1fda31 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: hr $ $Date: 2007-11-01 14:14:27 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* PRJ=..$/..$/..$/..$/..$/..$/..$/.. diff --git a/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk b/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk index 08109eb92a4b..81d192e2ee84 100644 --- a/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk +++ b/sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: hr $ $Date: 2007-11-01 14:13:50 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* PRJ=..$/..$/..$/..$/..$/..$/.. -- cgit From 84bdaa6f05e594a7284cb603e3f7f1661f5ac090 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Thu, 10 Apr 2008 23:21:02 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.26); FILE MERGED 2008/03/31 13:59:46 rt 1.2.26.1: #i87441# Change license header to LPGL v3. --- sdext/util/makefile.pmk | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/sdext/util/makefile.pmk b/sdext/util/makefile.pmk index 707370588b73..d83ec77523d9 100644 --- a/sdext/util/makefile.pmk +++ b/sdext/util/makefile.pmk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.pmk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.pmk,v $ # -# last change: $Author: hr $ $Date: 2007-11-01 14:15:00 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From cf43af2e203c7afe93d1043b25a1871751c9037e Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 06:23:15 +0000 Subject: INTEGRATION: CWS changefileheader (1.5.4); FILE MERGED 2008/03/31 13:18:45 rt 1.5.4.1: #i87441# Change license header to LPGL v3. --- jfreereport/java/flute/makefile.mk | 42 +++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/jfreereport/java/flute/makefile.mk b/jfreereport/java/flute/makefile.mk index 55113ee9db58..06fd53e9181a 100644 --- a/jfreereport/java/flute/makefile.mk +++ b/jfreereport/java/flute/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.5 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:28:27 $ +# $Revision: 1.6 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From 8f7d7f9d44c1c853b5f14b9caa6176d4215ff24c Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 06:23:31 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.4); FILE MERGED 2008/03/31 13:18:45 rt 1.2.4.1: #i87441# Change license header to LPGL v3. --- jfreereport/java/jcommon/makefile.mk | 42 ++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/jfreereport/java/jcommon/makefile.mk b/jfreereport/java/jcommon/makefile.mk index 13b4802b803f..22fbb64621e8 100644 --- a/jfreereport/java/jcommon/makefile.mk +++ b/jfreereport/java/jcommon/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:28:37 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From 9ad99c24c42c49f79f472ed3e0d4d28f6689fa5e Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 06:24:54 +0000 Subject: INTEGRATION: CWS changefileheader (1.4.4); FILE MERGED 2008/03/31 13:18:46 rt 1.4.4.1: #i87441# Change license header to LPGL v3. --- jfreereport/java/jcommon-serializer/makefile.mk | 42 +++++++++++-------------- jfreereport/java/jfreereport/makefile.mk | 42 +++++++++++-------------- jfreereport/java/libfonts/makefile.mk | 42 +++++++++++-------------- jfreereport/java/libformula/makefile.mk | 42 +++++++++++-------------- jfreereport/java/liblayout/makefile.mk | 42 +++++++++++-------------- 5 files changed, 95 insertions(+), 115 deletions(-) diff --git a/jfreereport/java/jcommon-serializer/makefile.mk b/jfreereport/java/jcommon-serializer/makefile.mk index 7a38afc8674b..5a2c269e0ec9 100644 --- a/jfreereport/java/jcommon-serializer/makefile.mk +++ b/jfreereport/java/jcommon-serializer/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.4 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:28:50 $ +# $Revision: 1.5 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/jfreereport/java/jfreereport/makefile.mk b/jfreereport/java/jfreereport/makefile.mk index b8bac18f4d14..1cc028a3248f 100644 --- a/jfreereport/java/jfreereport/makefile.mk +++ b/jfreereport/java/jfreereport/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.4 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:29:03 $ +# $Revision: 1.5 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/jfreereport/java/libfonts/makefile.mk b/jfreereport/java/libfonts/makefile.mk index 5b0b3b64c415..855da1bfb281 100644 --- a/jfreereport/java/libfonts/makefile.mk +++ b/jfreereport/java/libfonts/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.4 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:29:19 $ +# $Revision: 1.5 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/jfreereport/java/libformula/makefile.mk b/jfreereport/java/libformula/makefile.mk index 4ccd88354833..19888bae6e04 100644 --- a/jfreereport/java/libformula/makefile.mk +++ b/jfreereport/java/libformula/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.4 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:29:31 $ +# $Revision: 1.5 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/jfreereport/java/liblayout/makefile.mk b/jfreereport/java/liblayout/makefile.mk index cb5a26bf09ba..995b56ddacdc 100644 --- a/jfreereport/java/liblayout/makefile.mk +++ b/jfreereport/java/liblayout/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.4 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:29:42 $ +# $Revision: 1.5 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From f6c99a26dfed756327a55b6caf06c247849c875b Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 06:25:44 +0000 Subject: INTEGRATION: CWS changefileheader (1.4.4); FILE MERGED 2008/03/31 13:18:47 rt 1.4.4.1: #i87441# Change license header to LPGL v3. --- jfreereport/java/libloader/makefile.mk | 42 ++++++++++++++---------------- jfreereport/java/librepository/makefile.mk | 42 ++++++++++++++---------------- jfreereport/java/libxml/makefile.mk | 42 ++++++++++++++---------------- 3 files changed, 57 insertions(+), 69 deletions(-) diff --git a/jfreereport/java/libloader/makefile.mk b/jfreereport/java/libloader/makefile.mk index 64c57ab41035..c17dea57cf2d 100644 --- a/jfreereport/java/libloader/makefile.mk +++ b/jfreereport/java/libloader/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.4 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:29:55 $ +# $Revision: 1.5 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/jfreereport/java/librepository/makefile.mk b/jfreereport/java/librepository/makefile.mk index 30e05204f1fb..ea91963f5430 100644 --- a/jfreereport/java/librepository/makefile.mk +++ b/jfreereport/java/librepository/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.4 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:30:14 $ +# $Revision: 1.5 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/jfreereport/java/libxml/makefile.mk b/jfreereport/java/libxml/makefile.mk index d225b7aee630..962e95d0c71e 100644 --- a/jfreereport/java/libxml/makefile.mk +++ b/jfreereport/java/libxml/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.4 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:30:27 $ +# $Revision: 1.5 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From fa57aa619c20a3f7030f602beacf19086d6c2ba0 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 06:26:01 +0000 Subject: INTEGRATION: CWS changefileheader (1.2.4); FILE MERGED 2008/03/31 13:18:47 rt 1.2.4.1: #i87441# Change license header to LPGL v3. --- jfreereport/java/sac/makefile.mk | 42 ++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/jfreereport/java/sac/makefile.mk b/jfreereport/java/sac/makefile.mk index 914b1481e3a2..8b384dd9e51c 100644 --- a/jfreereport/java/sac/makefile.mk +++ b/jfreereport/java/sac/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: ihi $ $Date: 2008-01-14 15:30:37 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From f0af3491b5ec67c7a3a693c3c581f273cbe932eb Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:04:08 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.2.2); FILE MERGED 2008/04/09 16:09:14 rt 1.2.2.1: #i87884# Change license header to LPGL v3. --- tomcat/makefile.mk | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/tomcat/makefile.mk b/tomcat/makefile.mk index 1c08f7f5ab1a..aad60812f781 100755 --- a/tomcat/makefile.mk +++ b/tomcat/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: mav $ $Date: 2008-02-11 14:37:21 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From d634dfb1bfe04063915c32d86cd3b04ac9792844 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:05:02 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.15.2); FILE MERGED 2008/04/09 16:08:17 rt 1.15.2.1: #i87884# Change license header to LPGL v3. --- swext/mediawiki/build.xml | 58 ++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index f3b18ead409a..829e7da1b939 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -1,37 +1,33 @@ -- cgit From c5345d294b1db8645195071c4d05f06be3ba3083 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:05:18 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.11.2); FILE MERGED 2008/04/09 16:08:17 rt 1.11.2.1: #i87884# Change license header to LPGL v3. --- swext/mediawiki/makefile.mk | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/swext/mediawiki/makefile.mk b/swext/mediawiki/makefile.mk index cd7679045a86..b5b9bed2a68d 100644 --- a/swext/mediawiki/makefile.mk +++ b/swext/mediawiki/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.11 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: mav $ $Date: 2008-03-27 11:11:09 $ +# $Revision: 1.12 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From ad685363d777890ed502c0d36adf4e55a4a47871 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:05:32 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.9.2); FILE MERGED 2008/04/09 16:08:17 rt 1.9.2.1: #i87884# Change license header to LPGL v3. --- swext/mediawiki/dialogs/EditSetting.xdl | 60 +++++++++++++++------------------ 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/swext/mediawiki/dialogs/EditSetting.xdl b/swext/mediawiki/dialogs/EditSetting.xdl index a5eb9e5acdcc..bc6d59c94338 100644 --- a/swext/mediawiki/dialogs/EditSetting.xdl +++ b/swext/mediawiki/dialogs/EditSetting.xdl @@ -1,37 +1,33 @@ -- cgit From 61f09e82b6c5b87937159a2ab8295862912c215a Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:05:48 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.1.2); FILE MERGED 2008/04/09 16:08:17 rt 1.1.2.1: #i87884# Change license header to LPGL v3. --- swext/makefile.pmk | 42 ++++++++++++-------------- swext/mediawiki/dialogs/Module1.xba | 60 +++++++++++++++++-------------------- 2 files changed, 47 insertions(+), 55 deletions(-) diff --git a/swext/makefile.pmk b/swext/makefile.pmk index df9f5119f1fa..54f01d9ea5eb 100644 --- a/swext/makefile.pmk +++ b/swext/makefile.pmk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.pmk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.1 $ +# $RCSfile: makefile.pmk,v $ # -# last change: $Author: mav $ $Date: 2008-02-11 12:45:15 $ +# $Revision: 1.2 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/swext/mediawiki/dialogs/Module1.xba b/swext/mediawiki/dialogs/Module1.xba index 9e6524fa3898..eea82fd5bad3 100644 --- a/swext/mediawiki/dialogs/Module1.xba +++ b/swext/mediawiki/dialogs/Module1.xba @@ -1,37 +1,33 @@ REM ***** BASIC ***** -- cgit From b95dffdb2fd833db2035fed059082d7abd21457e Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:06:07 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.13.2); FILE MERGED 2008/04/09 16:08:17 rt 1.13.2.1: #i87884# Change license header to LPGL v3. --- swext/mediawiki/dialogs/SendToMediaWiki.xdl | 60 ++++++++++++++--------------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/swext/mediawiki/dialogs/SendToMediaWiki.xdl b/swext/mediawiki/dialogs/SendToMediaWiki.xdl index 0e472c4283d0..22bb63cf28f0 100644 --- a/swext/mediawiki/dialogs/SendToMediaWiki.xdl +++ b/swext/mediawiki/dialogs/SendToMediaWiki.xdl @@ -1,37 +1,33 @@ -- cgit From 131ac1a4f7dfbabb700d75b2fa62b474bfc96f5f Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:06:23 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.8.2); FILE MERGED 2008/04/09 16:08:18 rt 1.8.2.1: #i87884# Change license header to LPGL v3. --- swext/mediawiki/dialogs/Settings.xdl | 60 +++++++++++++++++------------------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/swext/mediawiki/dialogs/Settings.xdl b/swext/mediawiki/dialogs/Settings.xdl index b9889affa3ae..daa7e2d386e5 100644 --- a/swext/mediawiki/dialogs/Settings.xdl +++ b/swext/mediawiki/dialogs/Settings.xdl @@ -1,37 +1,33 @@ -- cgit From e6c8391a1ec8d564be4a503dca035247b91f9b0e Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:06:40 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.3.2); FILE MERGED 2008/04/09 16:08:18 rt 1.3.2.1: #i87884# Change license header to LPGL v3. --- swext/mediawiki/dialogs/dialog.xlb | 60 ++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/swext/mediawiki/dialogs/dialog.xlb b/swext/mediawiki/dialogs/dialog.xlb index 614679c3eeb7..7ca128330219 100644 --- a/swext/mediawiki/dialogs/dialog.xlb +++ b/swext/mediawiki/dialogs/dialog.xlb @@ -1,37 +1,33 @@ -- cgit From 669d0f9decdf837ddd7b9181c9360e96167bf44a Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:09:10 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.2.2); FILE MERGED 2008/04/09 16:08:18 rt 1.2.2.1: #i87884# Change license header to LPGL v3. --- swext/mediawiki/src/uno-extension-manifest.xml | 60 ++++++++++++-------------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/swext/mediawiki/src/uno-extension-manifest.xml b/swext/mediawiki/src/uno-extension-manifest.xml index 5e9a5c8bb1cf..4a2b2b7a0ae6 100644 --- a/swext/mediawiki/src/uno-extension-manifest.xml +++ b/swext/mediawiki/src/uno-extension-manifest.xml @@ -1,37 +1,33 @@ Date: Fri, 11 Apr 2008 09:09:27 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.1.2); FILE MERGED 2008/04/09 16:08:18 rt 1.1.2.1: #i87884# Change license header to LPGL v3. --- swext/mediawiki/dialogs/script.xlb | 60 ++++++++++------------ .../src/com/sun/star/wiki/EditPageParser.java | 40 +++++++-------- swext/mediawiki/src/makefile.mk | 42 +++++++-------- 3 files changed, 65 insertions(+), 77 deletions(-) diff --git a/swext/mediawiki/dialogs/script.xlb b/swext/mediawiki/dialogs/script.xlb index 7c9bfa1a0545..6cd129d6e6de 100644 --- a/swext/mediawiki/dialogs/script.xlb +++ b/swext/mediawiki/dialogs/script.xlb @@ -1,37 +1,33 @@ diff --git a/swext/mediawiki/src/com/sun/star/wiki/EditPageParser.java b/swext/mediawiki/src/com/sun/star/wiki/EditPageParser.java index 7e7c2edec80b..685c253dc64d 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/EditPageParser.java +++ b/swext/mediawiki/src/com/sun/star/wiki/EditPageParser.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: EditPageParser.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2007-11-28 11:13:17 $ + * $RCSfile: EditPageParser.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.2 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/swext/mediawiki/src/makefile.mk b/swext/mediawiki/src/makefile.mk index 7fae8d7d5661..3c2425f95a8d 100644 --- a/swext/mediawiki/src/makefile.mk +++ b/swext/mediawiki/src/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.1 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: mav $ $Date: 2008-02-28 11:36:32 $ +# $Revision: 1.2 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From 0c7df170582c18bb41716e256a6f760be097cc4a Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:09:49 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.19.2); FILE MERGED 2008/04/09 16:08:18 rt 1.19.2.1: #i87884# Change license header to LPGL v3. --- swext/mediawiki/src/com/sun/star/wiki/Helper.java | 40 ++++++++++------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index c50a7ab3e1bc..34924f6383f6 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: Helper.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.19 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2008-02-11 12:44:22 $ + * $RCSfile: Helper.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.20 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 11b7573ab66c94b4203ecb55f1e36231b6b6bc3f Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:10:05 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.4.2); FILE MERGED 2008/04/09 16:08:18 rt 1.4.2.1: #i87884# Change license header to LPGL v3. --- .../sun/star/wiki/MainThreadDialogExecutor.java | 40 ++++++++++------------ 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java index 43b4abbdb1c9..68678b5bc413 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java +++ b/swext/mediawiki/src/com/sun/star/wiki/MainThreadDialogExecutor.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: MainThreadDialogExecutor.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.4 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2008-02-07 16:30:39 $ + * $RCSfile: MainThreadDialogExecutor.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.5 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 10b17dd9c8f88efb22d263db460349d90a7ac959 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:10:24 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.5.2); FILE MERGED 2008/04/09 16:08:19 rt 1.5.2.1: #i87884# Change license header to LPGL v3. --- .../mediawiki/src/com/sun/star/wiki/Settings.java | 40 ++++++++++------------ 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/Settings.java b/swext/mediawiki/src/com/sun/star/wiki/Settings.java index 09e52eaf2162..27027618b2a6 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Settings.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Settings.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: Settings.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.5 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2008-02-13 13:44:31 $ + * $RCSfile: Settings.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.6 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From ed424a98cffb38d852d921b8a364d5a02becda30 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:10:41 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.7.2); FILE MERGED 2008/04/09 16:08:19 rt 1.7.2.1: #i87884# Change license header to LPGL v3. --- .../src/com/sun/star/wiki/WikiArticle.java | 40 ++++++++++------------ 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java index a242f4e2c97f..819d37fa1889 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiArticle.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: WikiArticle.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.7 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2008-02-11 10:31:29 $ + * $RCSfile: WikiArticle.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.8 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 6d7cb935bff2fd7c7bfc31998dbb3fce2cd263d7 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:11:33 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.24.2); FILE MERGED 2008/04/09 16:08:19 rt 1.24.2.1: #i87884# Change license header to LPGL v3. --- .../com/sun/star/wiki/WikiEditSettingDialog.java | 40 ++++++++++------------ 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index bfee4c3ee90b..e5216df5fdfc 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: WikiEditSettingDialog.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.24 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2008-02-13 13:44:31 $ + * $RCSfile: WikiEditSettingDialog.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.25 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 8fe4b674b27c5160193dae424ea9c2ee2e942a19 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:11:50 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.10.2); FILE MERGED 2008/04/09 16:08:19 rt 1.10.2.1: #i87884# Change license header to LPGL v3. --- .../src/com/sun/star/wiki/WikiEditorImpl.java | 40 ++++++++++------------ 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java index 36dbc7933e14..aa05aba5c1f2 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditorImpl.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: WikiEditorImpl.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.10 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2008-02-13 13:44:31 $ + * $RCSfile: WikiEditorImpl.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.11 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 08538f7c094033a404a0129ed3e49c207f4ef13d Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:12:09 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.8.2); FILE MERGED 2008/04/09 16:08:19 rt 1.8.2.1: #i87884# Change license header to LPGL v3. --- .../src/com/sun/star/wiki/WikiDialog.java | 40 ++++++++++------------ .../sun/star/wiki/WikiOptionsEventHandlerImpl.java | 40 ++++++++++------------ 2 files changed, 36 insertions(+), 44 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java index 3347d78b7e8a..67c77a6cc21c 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiDialog.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: WikiDialog.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.8 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2008-02-10 15:56:36 $ + * $RCSfile: WikiDialog.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.9 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java index 764fbb97294d..5859e11fd32e 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiOptionsEventHandlerImpl.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: WikiOptionsEventHandlerImpl.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.8 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2008-02-07 12:49:37 $ + * $RCSfile: WikiOptionsEventHandlerImpl.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.9 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 2f354ab5a63ea719cc5493db76e1b8b14727e1a9 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:12:27 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.18.2); FILE MERGED 2008/04/09 16:08:19 rt 1.18.2.1: #i87884# Change license header to LPGL v3. --- .../src/com/sun/star/wiki/WikiPropDialog.java | 40 ++++++++++------------ 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java index f2ea738750f0..c74706bc6816 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiPropDialog.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: WikiPropDialog.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.18 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2008-02-13 13:44:31 $ + * $RCSfile: WikiPropDialog.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.19 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 8e75fb3fa18e80e66236fd3d73d20927bcdd109d Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:13:38 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.1.2); FILE MERGED 2008/04/09 16:08:19 rt 1.1.2.1: #i87884# Change license header to LPGL v3. --- .../src/com/sun/star/wiki/WikiCancelException.java | 40 ++++++++++------------ .../sun/star/wiki/WikiProtocolSocketFactory.java | 40 ++++++++++------------ .../registry/data/org/openoffice/Office/Addons.xcu | 40 ++++++++++------------ .../data/org/openoffice/Office/OptionsDialog.xcu | 40 ++++++++++------------ .../data/org/openoffice/Office/ProtocolHandler.xcu | 40 ++++++++++------------ 5 files changed, 90 insertions(+), 110 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiCancelException.java b/swext/mediawiki/src/com/sun/star/wiki/WikiCancelException.java index 6be90384e71c..249619e59ff4 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiCancelException.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiCancelException.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: WikiCancelException.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2007-11-28 11:14:34 $ + * $RCSfile: WikiCancelException.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.2 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java b/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java index fd4d19225acd..218dbfb7f0c7 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiProtocolSocketFactory.java @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: WikiProtocolSocketFactory.java,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.1 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: mav $ $Date: 2007-11-28 11:15:42 $ + * $RCSfile: WikiProtocolSocketFactory.java,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.2 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Addons.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/Addons.xcu index f8ab0fe3e29c..012b46987eb5 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/Addons.xcu +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Addons.xcu @@ -1,36 +1,32 @@ diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu index 941d75a213cf..85e7f85afa72 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu @@ -1,36 +1,32 @@ diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/ProtocolHandler.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/ProtocolHandler.xcu index 1e85627525f6..66cf4af577e3 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/ProtocolHandler.xcu +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/ProtocolHandler.xcu @@ -1,36 +1,32 @@ -- cgit From f8cf82412faa2c1ea771197b6a6c9b5310dcd92a Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:14:29 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.3.2); FILE MERGED 2008/04/09 16:08:19 rt 1.3.2.1: #i87884# Change license header to LPGL v3. --- .../org/openoffice/Office/Custom/WikiExtension.xcu | 40 ++++++++++----------- .../data/org/openoffice/Office/Custom/makefile.mk | 42 ++++++++++------------ .../data/org/openoffice/Office/makefile.mk | 42 ++++++++++------------ 3 files changed, 56 insertions(+), 68 deletions(-) diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu index bb70a1e341ab..d8271598f492 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/WikiExtension.xcu @@ -1,36 +1,32 @@ diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk index 11a1fa9057a6..ee1144a47ba7 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.3 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: mav $ $Date: 2008-02-11 06:45:27 $ +# $Revision: 1.4 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk b/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk index a478e39557e0..c5085ed2c40e 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.3 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: mav $ $Date: 2008-02-11 06:45:26 $ +# $Revision: 1.4 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From f7c5a9cf1413e724423105af8357913864d39d5e Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:15:04 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.3.2); FILE MERGED 2008/04/09 16:08:20 rt 1.3.2.1: #i87884# Change license header to LPGL v3. --- .../org/openoffice/Office/Custom/WikiExtension.xcs | 42 ++++++++++------------ .../org/openoffice/Office/Custom/makefile.mk | 42 ++++++++++------------ 2 files changed, 38 insertions(+), 46 deletions(-) diff --git a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs index 1c237eaa1f2b..81684f91d53a 100644 --- a/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs +++ b/swext/mediawiki/src/registry/schema/org/openoffice/Office/Custom/WikiExtension.xcs @@ -1,36 +1,32 @@ +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From dd826255b43b3cf2d442aa91ec19e7f3fa108da2 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 09:41:04 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.1.2); FILE MERGED 2008/04/09 16:09:20 rt 1.1.2.1: #i87884# Change license header to LPGL v3. --- xpdf/makefile.mk | 42 +++++++++++++++++++----------------------- xpdf/test/makefile.mk | 42 +++++++++++++++++++----------------------- xpdf/wrapper/makefile.mk | 42 +++++++++++++++++++----------------------- 3 files changed, 57 insertions(+), 69 deletions(-) diff --git a/xpdf/makefile.mk b/xpdf/makefile.mk index bd821453ede3..8d244318766e 100644 --- a/xpdf/makefile.mk +++ b/xpdf/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: rt $ $Date: 2008-04-10 09:08:27 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/xpdf/test/makefile.mk b/xpdf/test/makefile.mk index 6107010ce548..c4ffa7572154 100644 --- a/xpdf/test/makefile.mk +++ b/xpdf/test/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: rt $ $Date: 2008-04-10 09:09:31 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/xpdf/wrapper/makefile.mk b/xpdf/wrapper/makefile.mk index 1d487a1adf8e..921ea9a4aa48 100644 --- a/xpdf/wrapper/makefile.mk +++ b/xpdf/wrapper/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.1 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: thb $ $Date: 2007-12-05 14:16:44 $ +# $Revision: 1.2 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From 3b6c766280442a055e474721cfc6ffb85eb1d203 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 10:14:05 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.1.2); FILE MERGED 2008/04/09 16:09:07 rt 1.1.2.1: #i87884# Change license header to LPGL v3. --- apache-commons/java/codec/makefile.mk | 42 ++++++++++++++---------------- apache-commons/java/httpclient/makefile.mk | 42 ++++++++++++++---------------- 2 files changed, 38 insertions(+), 46 deletions(-) diff --git a/apache-commons/java/codec/makefile.mk b/apache-commons/java/codec/makefile.mk index 4f45192831b4..d58e0465bd07 100644 --- a/apache-commons/java/codec/makefile.mk +++ b/apache-commons/java/codec/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.1 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: rene $ $Date: 2008-02-04 09:02:06 $ +# $Revision: 1.2 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* diff --git a/apache-commons/java/httpclient/makefile.mk b/apache-commons/java/httpclient/makefile.mk index b8ba0ba4309d..3450afd84e53 100644 --- a/apache-commons/java/httpclient/makefile.mk +++ b/apache-commons/java/httpclient/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.1 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: rene $ $Date: 2008-02-04 09:02:06 $ +# $Revision: 1.2 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From c9f45fcf9e0ed9b8a6d9bda4b543f5df9bc8a3ec Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 10:14:23 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.1.2); FILE MERGED 2008/04/09 16:09:08 rt 1.1.2.1: #i87884# Change license header to LPGL v3. --- apache-commons/java/lang/makefile.mk | 42 ++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/apache-commons/java/lang/makefile.mk b/apache-commons/java/lang/makefile.mk index 5a6c1f89f803..1aa2a879d75c 100644 --- a/apache-commons/java/lang/makefile.mk +++ b/apache-commons/java/lang/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.1 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: rene $ $Date: 2008-02-04 09:02:06 $ +# $Revision: 1.2 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From b977afd1f722bfae762776c5c5ec714a284c5eb9 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 10:14:41 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.2.2); FILE MERGED 2008/04/09 16:09:08 rt 1.2.2.1: #i87884# Change license header to LPGL v3. --- apache-commons/java/logging/makefile.mk | 42 +++++++++++++++------------------ 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/apache-commons/java/logging/makefile.mk b/apache-commons/java/logging/makefile.mk index ded03910535c..8cd0e52c769a 100644 --- a/apache-commons/java/logging/makefile.mk +++ b/apache-commons/java/logging/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.2 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: mav $ $Date: 2008-02-12 15:09:12 $ +# $Revision: 1.3 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From 2d237c4741d4d98d87566a74bc892de7620a1a1f Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 10:22:31 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.2.2); FILE MERGED 2008/04/09 16:07:34 rt 1.2.2.1: #i87884# Change license header to LPGL v3. --- sdext/source/presenter/PresenterAnimation.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterAnimation.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterAnimator.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterAnimator.hxx | 40 ++++++++++------------ .../source/presenter/PresenterBitmapContainer.cxx | 40 ++++++++++------------ .../source/presenter/PresenterBitmapContainer.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterClock.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterClock.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterComponent.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterComponent.hxx | 40 ++++++++++------------ .../presenter/PresenterConfigurationAccess.cxx | 40 ++++++++++------------ .../presenter/PresenterConfigurationAccess.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterControlCreator.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterControlCreator.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterController.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterController.hxx | 40 ++++++++++------------ 16 files changed, 288 insertions(+), 352 deletions(-) diff --git a/sdext/source/presenter/PresenterAnimation.cxx b/sdext/source/presenter/PresenterAnimation.cxx index 94a74f098a55..dd405cb7cd9d 100644 --- a/sdext/source/presenter/PresenterAnimation.cxx +++ b/sdext/source/presenter/PresenterAnimation.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterAnimation.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:54:40 $ + * $RCSfile: PresenterAnimation.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterAnimation.hxx b/sdext/source/presenter/PresenterAnimation.hxx index 3d4acc712fe6..fdd30a171d4d 100644 --- a/sdext/source/presenter/PresenterAnimation.hxx +++ b/sdext/source/presenter/PresenterAnimation.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterAnimation.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:54:53 $ + * $RCSfile: PresenterAnimation.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterAnimator.cxx b/sdext/source/presenter/PresenterAnimator.cxx index 80843c718d36..3e2cf2f8dc48 100644 --- a/sdext/source/presenter/PresenterAnimator.cxx +++ b/sdext/source/presenter/PresenterAnimator.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterAnimator.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:55:05 $ + * $RCSfile: PresenterAnimator.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterAnimator.hxx b/sdext/source/presenter/PresenterAnimator.hxx index 5f1674debd88..307644ecc1ec 100644 --- a/sdext/source/presenter/PresenterAnimator.hxx +++ b/sdext/source/presenter/PresenterAnimator.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterAnimator.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:55:18 $ + * $RCSfile: PresenterAnimator.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterBitmapContainer.cxx b/sdext/source/presenter/PresenterBitmapContainer.cxx index 0d6720878e5f..e52f397e6141 100644 --- a/sdext/source/presenter/PresenterBitmapContainer.cxx +++ b/sdext/source/presenter/PresenterBitmapContainer.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterBitmapContainer.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:55:29 $ + * $RCSfile: PresenterBitmapContainer.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterBitmapContainer.hxx b/sdext/source/presenter/PresenterBitmapContainer.hxx index c066a07fdb64..cb2228ccfbdc 100644 --- a/sdext/source/presenter/PresenterBitmapContainer.hxx +++ b/sdext/source/presenter/PresenterBitmapContainer.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterBitmapContainer.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:55:39 $ + * $RCSfile: PresenterBitmapContainer.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterClock.cxx b/sdext/source/presenter/PresenterClock.cxx index b150015efb44..d53ae31f33ba 100644 --- a/sdext/source/presenter/PresenterClock.cxx +++ b/sdext/source/presenter/PresenterClock.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterClock.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:55:55 $ + * $RCSfile: PresenterClock.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterClock.hxx b/sdext/source/presenter/PresenterClock.hxx index 4f5c68356006..b0a55fae7ff9 100644 --- a/sdext/source/presenter/PresenterClock.hxx +++ b/sdext/source/presenter/PresenterClock.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterClock.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:56:06 $ + * $RCSfile: PresenterClock.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterComponent.cxx b/sdext/source/presenter/PresenterComponent.cxx index a9b977e831b8..8b0ef96aaa2e 100644 --- a/sdext/source/presenter/PresenterComponent.cxx +++ b/sdext/source/presenter/PresenterComponent.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterComponent.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:56:19 $ + * $RCSfile: PresenterComponent.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterComponent.hxx b/sdext/source/presenter/PresenterComponent.hxx index 08c1923b3fb7..200811aaf18f 100644 --- a/sdext/source/presenter/PresenterComponent.hxx +++ b/sdext/source/presenter/PresenterComponent.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterComponent.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:56:30 $ + * $RCSfile: PresenterComponent.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterConfigurationAccess.cxx b/sdext/source/presenter/PresenterConfigurationAccess.cxx index e5cf48103c43..43659b541fbc 100644 --- a/sdext/source/presenter/PresenterConfigurationAccess.cxx +++ b/sdext/source/presenter/PresenterConfigurationAccess.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterConfigurationAccess.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:56:40 $ + * $RCSfile: PresenterConfigurationAccess.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterConfigurationAccess.hxx b/sdext/source/presenter/PresenterConfigurationAccess.hxx index a46528512b16..c21afb79b531 100644 --- a/sdext/source/presenter/PresenterConfigurationAccess.hxx +++ b/sdext/source/presenter/PresenterConfigurationAccess.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterConfigurationAccess.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:56:52 $ + * $RCSfile: PresenterConfigurationAccess.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterControlCreator.cxx b/sdext/source/presenter/PresenterControlCreator.cxx index a01e6f48906f..a91453e8ced3 100644 --- a/sdext/source/presenter/PresenterControlCreator.cxx +++ b/sdext/source/presenter/PresenterControlCreator.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterControlCreator.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:57:02 $ + * $RCSfile: PresenterControlCreator.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterControlCreator.hxx b/sdext/source/presenter/PresenterControlCreator.hxx index 8080d107ff48..8602c1623f49 100644 --- a/sdext/source/presenter/PresenterControlCreator.hxx +++ b/sdext/source/presenter/PresenterControlCreator.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterControlCreator.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:57:14 $ + * $RCSfile: PresenterControlCreator.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterController.cxx b/sdext/source/presenter/PresenterController.cxx index 3b077da35e7e..f49b95e5463d 100644 --- a/sdext/source/presenter/PresenterController.cxx +++ b/sdext/source/presenter/PresenterController.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterController.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:57:27 $ + * $RCSfile: PresenterController.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterController.hxx b/sdext/source/presenter/PresenterController.hxx index 8b0b1eb629ea..bb0b2be62b11 100644 --- a/sdext/source/presenter/PresenterController.hxx +++ b/sdext/source/presenter/PresenterController.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterController.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:57:38 $ + * $RCSfile: PresenterController.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 52587f097a3815d2875da194d365b2ef2d95cbb0 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 10:27:53 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.2.2); FILE MERGED 2008/04/09 16:07:35 rt 1.2.2.1: #i87884# Change license header to LPGL v3. --- .../presenter/PresenterCurrentSlideObserver.cxx | 40 ++++++++++------------ .../presenter/PresenterCurrentSlideObserver.hxx | 40 ++++++++++------------ .../presenter/PresenterFrameworkObserver.cxx | 40 ++++++++++------------ .../presenter/PresenterFrameworkObserver.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterGeometryHelper.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterGeometryHelper.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterHelpView.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterHelpView.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterHelper.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterHelper.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterNotesView.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterNotesView.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterPane.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterPane.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterPaneAnimator.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterPaneAnimator.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterPaneBase.cxx | 40 ++++++++++------------ 17 files changed, 306 insertions(+), 374 deletions(-) diff --git a/sdext/source/presenter/PresenterCurrentSlideObserver.cxx b/sdext/source/presenter/PresenterCurrentSlideObserver.cxx index 0d7d53a12e18..072167b9a013 100644 --- a/sdext/source/presenter/PresenterCurrentSlideObserver.cxx +++ b/sdext/source/presenter/PresenterCurrentSlideObserver.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterCurrentSlideObserver.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:57:50 $ + * $RCSfile: PresenterCurrentSlideObserver.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterCurrentSlideObserver.hxx b/sdext/source/presenter/PresenterCurrentSlideObserver.hxx index ed7102ef0ddd..e4cbd6fbf19d 100644 --- a/sdext/source/presenter/PresenterCurrentSlideObserver.hxx +++ b/sdext/source/presenter/PresenterCurrentSlideObserver.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterCurrentSlideObserver.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:58:00 $ + * $RCSfile: PresenterCurrentSlideObserver.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterFrameworkObserver.cxx b/sdext/source/presenter/PresenterFrameworkObserver.cxx index 6779988d5990..8874138ffb96 100644 --- a/sdext/source/presenter/PresenterFrameworkObserver.cxx +++ b/sdext/source/presenter/PresenterFrameworkObserver.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterFrameworkObserver.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:58:11 $ + * $RCSfile: PresenterFrameworkObserver.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterFrameworkObserver.hxx b/sdext/source/presenter/PresenterFrameworkObserver.hxx index 5cd246c14ad3..6a79dbcd1c7c 100644 --- a/sdext/source/presenter/PresenterFrameworkObserver.hxx +++ b/sdext/source/presenter/PresenterFrameworkObserver.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterFrameworkObserver.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:58:23 $ + * $RCSfile: PresenterFrameworkObserver.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterGeometryHelper.cxx b/sdext/source/presenter/PresenterGeometryHelper.cxx index 11936ef0e5af..4ca6d8b57608 100644 --- a/sdext/source/presenter/PresenterGeometryHelper.cxx +++ b/sdext/source/presenter/PresenterGeometryHelper.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterGeometryHelper.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:58:34 $ + * $RCSfile: PresenterGeometryHelper.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterGeometryHelper.hxx b/sdext/source/presenter/PresenterGeometryHelper.hxx index 4daba4164060..83257602fb62 100644 --- a/sdext/source/presenter/PresenterGeometryHelper.hxx +++ b/sdext/source/presenter/PresenterGeometryHelper.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterGeometryHelper.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:58:45 $ + * $RCSfile: PresenterGeometryHelper.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterHelpView.cxx b/sdext/source/presenter/PresenterHelpView.cxx index 9d734ec8f4d3..4044b0f67950 100644 --- a/sdext/source/presenter/PresenterHelpView.cxx +++ b/sdext/source/presenter/PresenterHelpView.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterHelpView.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:58:56 $ + * $RCSfile: PresenterHelpView.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterHelpView.hxx b/sdext/source/presenter/PresenterHelpView.hxx index 2ce3729181a1..6645ab7ed645 100644 --- a/sdext/source/presenter/PresenterHelpView.hxx +++ b/sdext/source/presenter/PresenterHelpView.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterHelpView.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:59:06 $ + * $RCSfile: PresenterHelpView.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterHelper.cxx b/sdext/source/presenter/PresenterHelper.cxx index 0b92dfabf358..b87a4f86f3c7 100644 --- a/sdext/source/presenter/PresenterHelper.cxx +++ b/sdext/source/presenter/PresenterHelper.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterHelper.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:59:17 $ + * $RCSfile: PresenterHelper.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterHelper.hxx b/sdext/source/presenter/PresenterHelper.hxx index baecd03bc2ad..84dac0019b27 100644 --- a/sdext/source/presenter/PresenterHelper.hxx +++ b/sdext/source/presenter/PresenterHelper.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterHelper.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:59:27 $ + * $RCSfile: PresenterHelper.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterNotesView.cxx b/sdext/source/presenter/PresenterNotesView.cxx index fe960686de52..b44607bddcdb 100644 --- a/sdext/source/presenter/PresenterNotesView.cxx +++ b/sdext/source/presenter/PresenterNotesView.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterNotesView.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:59:39 $ + * $RCSfile: PresenterNotesView.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterNotesView.hxx b/sdext/source/presenter/PresenterNotesView.hxx index 5a5913beb165..5c987ee7f4a5 100644 --- a/sdext/source/presenter/PresenterNotesView.hxx +++ b/sdext/source/presenter/PresenterNotesView.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterNotesView.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 15:59:50 $ + * $RCSfile: PresenterNotesView.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPane.cxx b/sdext/source/presenter/PresenterPane.cxx index 820fd6c17b7e..ffc863264b7a 100644 --- a/sdext/source/presenter/PresenterPane.cxx +++ b/sdext/source/presenter/PresenterPane.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPane.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:00:01 $ + * $RCSfile: PresenterPane.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPane.hxx b/sdext/source/presenter/PresenterPane.hxx index 990988b6cf84..cf84718a8b0e 100644 --- a/sdext/source/presenter/PresenterPane.hxx +++ b/sdext/source/presenter/PresenterPane.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPane.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:00:18 $ + * $RCSfile: PresenterPane.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneAnimator.cxx b/sdext/source/presenter/PresenterPaneAnimator.cxx index d11a2b03cc37..09836e0af945 100644 --- a/sdext/source/presenter/PresenterPaneAnimator.cxx +++ b/sdext/source/presenter/PresenterPaneAnimator.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneAnimator.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:00:33 $ + * $RCSfile: PresenterPaneAnimator.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneAnimator.hxx b/sdext/source/presenter/PresenterPaneAnimator.hxx index af2f1c36f4b2..13eaa07338bc 100644 --- a/sdext/source/presenter/PresenterPaneAnimator.hxx +++ b/sdext/source/presenter/PresenterPaneAnimator.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneAnimator.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:00:44 $ + * $RCSfile: PresenterPaneAnimator.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneBase.cxx b/sdext/source/presenter/PresenterPaneBase.cxx index 4dc4c111c9d8..ac26b238d06a 100644 --- a/sdext/source/presenter/PresenterPaneBase.cxx +++ b/sdext/source/presenter/PresenterPaneBase.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneBase.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:00:56 $ + * $RCSfile: PresenterPaneBase.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 103e97edd0b7a8d985728b85c0c589044bca0c4f Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 10:34:44 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.2.2); FILE MERGED 2008/04/09 16:07:36 rt 1.2.2.1: #i87884# Change license header to LPGL v3. --- sdext/source/presenter/PresenterPaneBase.hxx | 40 ++++++++++------------ .../presenter/PresenterPaneBorderManager.cxx | 40 ++++++++++------------ .../presenter/PresenterPaneBorderManager.hxx | 40 ++++++++++------------ .../presenter/PresenterPaneBorderPainter.cxx | 40 ++++++++++------------ .../presenter/PresenterPaneBorderPainter.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterPaneContainer.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterPaneContainer.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterPaneFactory.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterPaneFactory.hxx | 40 ++++++++++------------ .../source/presenter/PresenterProtocolHandler.cxx | 40 ++++++++++------------ .../source/presenter/PresenterProtocolHandler.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterScreen.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterScreen.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterScrollBar.cxx | 40 ++++++++++------------ sdext/source/presenter/PresenterScrollBar.hxx | 40 ++++++++++------------ sdext/source/presenter/PresenterSlidePreview.cxx | 40 ++++++++++------------ 16 files changed, 288 insertions(+), 352 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneBase.hxx b/sdext/source/presenter/PresenterPaneBase.hxx index 597e7f31b598..b368419ca41a 100644 --- a/sdext/source/presenter/PresenterPaneBase.hxx +++ b/sdext/source/presenter/PresenterPaneBase.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneBase.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:01:07 $ + * $RCSfile: PresenterPaneBase.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneBorderManager.cxx b/sdext/source/presenter/PresenterPaneBorderManager.cxx index 689492defea5..65f36f30bf89 100644 --- a/sdext/source/presenter/PresenterPaneBorderManager.cxx +++ b/sdext/source/presenter/PresenterPaneBorderManager.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneBorderManager.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:01:20 $ + * $RCSfile: PresenterPaneBorderManager.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneBorderManager.hxx b/sdext/source/presenter/PresenterPaneBorderManager.hxx index 8faf1bc14263..7d8fe07184c9 100644 --- a/sdext/source/presenter/PresenterPaneBorderManager.hxx +++ b/sdext/source/presenter/PresenterPaneBorderManager.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneBorderManager.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:01:31 $ + * $RCSfile: PresenterPaneBorderManager.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneBorderPainter.cxx b/sdext/source/presenter/PresenterPaneBorderPainter.cxx index 6957fa078e0a..64845c2c9138 100644 --- a/sdext/source/presenter/PresenterPaneBorderPainter.cxx +++ b/sdext/source/presenter/PresenterPaneBorderPainter.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneBorderPainter.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:01:46 $ + * $RCSfile: PresenterPaneBorderPainter.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneBorderPainter.hxx b/sdext/source/presenter/PresenterPaneBorderPainter.hxx index 325a6859c6a4..598b8c008dd1 100644 --- a/sdext/source/presenter/PresenterPaneBorderPainter.hxx +++ b/sdext/source/presenter/PresenterPaneBorderPainter.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneBorderPainter.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:01:58 $ + * $RCSfile: PresenterPaneBorderPainter.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneContainer.cxx b/sdext/source/presenter/PresenterPaneContainer.cxx index bdd917852fa8..5c75b06654bd 100644 --- a/sdext/source/presenter/PresenterPaneContainer.cxx +++ b/sdext/source/presenter/PresenterPaneContainer.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneContainer.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:02:09 $ + * $RCSfile: PresenterPaneContainer.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneContainer.hxx b/sdext/source/presenter/PresenterPaneContainer.hxx index c5debd17cb9c..18382277e784 100644 --- a/sdext/source/presenter/PresenterPaneContainer.hxx +++ b/sdext/source/presenter/PresenterPaneContainer.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneContainer.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:02:23 $ + * $RCSfile: PresenterPaneContainer.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneFactory.cxx b/sdext/source/presenter/PresenterPaneFactory.cxx index 758301ffb653..82e3735d52d3 100644 --- a/sdext/source/presenter/PresenterPaneFactory.cxx +++ b/sdext/source/presenter/PresenterPaneFactory.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneFactory.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:02:33 $ + * $RCSfile: PresenterPaneFactory.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterPaneFactory.hxx b/sdext/source/presenter/PresenterPaneFactory.hxx index 1f809770b468..2317b2550858 100644 --- a/sdext/source/presenter/PresenterPaneFactory.hxx +++ b/sdext/source/presenter/PresenterPaneFactory.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterPaneFactory.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:02:44 $ + * $RCSfile: PresenterPaneFactory.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterProtocolHandler.cxx b/sdext/source/presenter/PresenterProtocolHandler.cxx index 3fa29c49cc46..e4f346375564 100644 --- a/sdext/source/presenter/PresenterProtocolHandler.cxx +++ b/sdext/source/presenter/PresenterProtocolHandler.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterProtocolHandler.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:02:55 $ + * $RCSfile: PresenterProtocolHandler.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterProtocolHandler.hxx b/sdext/source/presenter/PresenterProtocolHandler.hxx index 95171f71b24d..a2b4aaf03498 100644 --- a/sdext/source/presenter/PresenterProtocolHandler.hxx +++ b/sdext/source/presenter/PresenterProtocolHandler.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterProtocolHandler.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:03:05 $ + * $RCSfile: PresenterProtocolHandler.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterScreen.cxx b/sdext/source/presenter/PresenterScreen.cxx index d3b7eadcb338..dc9a8d8307bb 100644 --- a/sdext/source/presenter/PresenterScreen.cxx +++ b/sdext/source/presenter/PresenterScreen.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterScreen.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:03:16 $ + * $RCSfile: PresenterScreen.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterScreen.hxx b/sdext/source/presenter/PresenterScreen.hxx index 57f90b3ae0ec..17f2d45089ea 100644 --- a/sdext/source/presenter/PresenterScreen.hxx +++ b/sdext/source/presenter/PresenterScreen.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterScreen.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:03:26 $ + * $RCSfile: PresenterScreen.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterScrollBar.cxx b/sdext/source/presenter/PresenterScrollBar.cxx index a54aa0ffe5a6..19687a213d55 100644 --- a/sdext/source/presenter/PresenterScrollBar.cxx +++ b/sdext/source/presenter/PresenterScrollBar.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterScrollBar.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:03:57 $ + * $RCSfile: PresenterScrollBar.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterScrollBar.hxx b/sdext/source/presenter/PresenterScrollBar.hxx index 1aafa657b9f5..43d042084d36 100644 --- a/sdext/source/presenter/PresenterScrollBar.hxx +++ b/sdext/source/presenter/PresenterScrollBar.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterScrollBar.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:04:09 $ + * $RCSfile: PresenterScrollBar.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterSlidePreview.cxx b/sdext/source/presenter/PresenterSlidePreview.cxx index e578a2c1b92e..02157fad85a8 100644 --- a/sdext/source/presenter/PresenterSlidePreview.cxx +++ b/sdext/source/presenter/PresenterSlidePreview.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSlidePreview.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:04:19 $ + * $RCSfile: PresenterSlidePreview.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 5a53c0aba91789b858ccd2cd1547f4a7e53d7f6b Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 10:40:04 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.2.2); FILE MERGED 2008/04/09 16:07:37 rt 1.2.2.1: #i87884# Change license header to LPGL v3. --- sdext/source/presenter/PresenterSlidePreview.hxx | 40 ++++++++++------------- sdext/source/presenter/PresenterSlideShowView.cxx | 40 ++++++++++------------- sdext/source/presenter/PresenterSlideShowView.hxx | 40 ++++++++++------------- sdext/source/presenter/PresenterSlideSorter.cxx | 40 ++++++++++------------- sdext/source/presenter/PresenterSlideSorter.hxx | 40 ++++++++++------------- sdext/source/presenter/PresenterSprite.cxx | 40 ++++++++++------------- sdext/source/presenter/PresenterSprite.hxx | 40 ++++++++++------------- sdext/source/presenter/PresenterSpritePane.cxx | 40 ++++++++++------------- sdext/source/presenter/PresenterSpritePane.hxx | 40 ++++++++++------------- sdext/source/presenter/PresenterTheme.cxx | 40 ++++++++++------------- sdext/source/presenter/PresenterTheme.hxx | 40 ++++++++++------------- sdext/source/presenter/PresenterToolBar.cxx | 40 ++++++++++------------- sdext/source/presenter/PresenterToolBar.hxx | 40 ++++++++++------------- sdext/source/presenter/PresenterViewFactory.cxx | 40 ++++++++++------------- sdext/source/presenter/PresenterViewFactory.hxx | 40 ++++++++++------------- sdext/source/presenter/PresenterWindowManager.cxx | 40 ++++++++++------------- sdext/source/presenter/PresenterWindowManager.hxx | 40 ++++++++++------------- 17 files changed, 306 insertions(+), 374 deletions(-) diff --git a/sdext/source/presenter/PresenterSlidePreview.hxx b/sdext/source/presenter/PresenterSlidePreview.hxx index 74cbc74e4bc4..4806ad4b2626 100644 --- a/sdext/source/presenter/PresenterSlidePreview.hxx +++ b/sdext/source/presenter/PresenterSlidePreview.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSlidePreview.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:04:29 $ + * $RCSfile: PresenterSlidePreview.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterSlideShowView.cxx b/sdext/source/presenter/PresenterSlideShowView.cxx index ec300a6ce696..8c9c43502d60 100644 --- a/sdext/source/presenter/PresenterSlideShowView.cxx +++ b/sdext/source/presenter/PresenterSlideShowView.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSlideShowView.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:04:41 $ + * $RCSfile: PresenterSlideShowView.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterSlideShowView.hxx b/sdext/source/presenter/PresenterSlideShowView.hxx index 5ec29f40816e..34ee7bd4d496 100644 --- a/sdext/source/presenter/PresenterSlideShowView.hxx +++ b/sdext/source/presenter/PresenterSlideShowView.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSlideShowView.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:04:51 $ + * $RCSfile: PresenterSlideShowView.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterSlideSorter.cxx b/sdext/source/presenter/PresenterSlideSorter.cxx index 93e4469a79f1..c71c6fa89b6e 100644 --- a/sdext/source/presenter/PresenterSlideSorter.cxx +++ b/sdext/source/presenter/PresenterSlideSorter.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSlideSorter.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:05:02 $ + * $RCSfile: PresenterSlideSorter.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterSlideSorter.hxx b/sdext/source/presenter/PresenterSlideSorter.hxx index 2e08b2c3098a..3e65936e9088 100644 --- a/sdext/source/presenter/PresenterSlideSorter.hxx +++ b/sdext/source/presenter/PresenterSlideSorter.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSlideSorter.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:05:13 $ + * $RCSfile: PresenterSlideSorter.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterSprite.cxx b/sdext/source/presenter/PresenterSprite.cxx index 70a513d15d4d..2215fa9c1fe7 100644 --- a/sdext/source/presenter/PresenterSprite.cxx +++ b/sdext/source/presenter/PresenterSprite.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSprite.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:05:24 $ + * $RCSfile: PresenterSprite.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterSprite.hxx b/sdext/source/presenter/PresenterSprite.hxx index 5e903ae6b480..bfeddd0ed5a8 100644 --- a/sdext/source/presenter/PresenterSprite.hxx +++ b/sdext/source/presenter/PresenterSprite.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSprite.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:05:34 $ + * $RCSfile: PresenterSprite.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterSpritePane.cxx b/sdext/source/presenter/PresenterSpritePane.cxx index 58d1212d458a..36fa599cb3c1 100644 --- a/sdext/source/presenter/PresenterSpritePane.cxx +++ b/sdext/source/presenter/PresenterSpritePane.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSpritePane.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:05:44 $ + * $RCSfile: PresenterSpritePane.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterSpritePane.hxx b/sdext/source/presenter/PresenterSpritePane.hxx index c6c7b5974cbb..a131255a953f 100644 --- a/sdext/source/presenter/PresenterSpritePane.hxx +++ b/sdext/source/presenter/PresenterSpritePane.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterSpritePane.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:05:55 $ + * $RCSfile: PresenterSpritePane.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterTheme.cxx b/sdext/source/presenter/PresenterTheme.cxx index 36bdc1c36f70..e72a321c678f 100644 --- a/sdext/source/presenter/PresenterTheme.cxx +++ b/sdext/source/presenter/PresenterTheme.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterTheme.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:06:06 $ + * $RCSfile: PresenterTheme.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterTheme.hxx b/sdext/source/presenter/PresenterTheme.hxx index 95d7f4823bd3..3cc4754e5efd 100644 --- a/sdext/source/presenter/PresenterTheme.hxx +++ b/sdext/source/presenter/PresenterTheme.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterTheme.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:06:18 $ + * $RCSfile: PresenterTheme.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterToolBar.cxx b/sdext/source/presenter/PresenterToolBar.cxx index 724263b57504..a580fa590124 100644 --- a/sdext/source/presenter/PresenterToolBar.cxx +++ b/sdext/source/presenter/PresenterToolBar.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterToolBar.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:06:28 $ + * $RCSfile: PresenterToolBar.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterToolBar.hxx b/sdext/source/presenter/PresenterToolBar.hxx index 9c0cd3ba4b86..61ec9a8c19c0 100644 --- a/sdext/source/presenter/PresenterToolBar.hxx +++ b/sdext/source/presenter/PresenterToolBar.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterToolBar.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:06:39 $ + * $RCSfile: PresenterToolBar.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterViewFactory.cxx b/sdext/source/presenter/PresenterViewFactory.cxx index bcf73cfc878c..72fae5ca6e09 100644 --- a/sdext/source/presenter/PresenterViewFactory.cxx +++ b/sdext/source/presenter/PresenterViewFactory.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterViewFactory.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:06:49 $ + * $RCSfile: PresenterViewFactory.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterViewFactory.hxx b/sdext/source/presenter/PresenterViewFactory.hxx index b9f955d68353..78077b2a7074 100644 --- a/sdext/source/presenter/PresenterViewFactory.hxx +++ b/sdext/source/presenter/PresenterViewFactory.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterViewFactory.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:07:00 $ + * $RCSfile: PresenterViewFactory.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterWindowManager.cxx b/sdext/source/presenter/PresenterWindowManager.cxx index a34068cb1f6f..ed345f2a48e1 100644 --- a/sdext/source/presenter/PresenterWindowManager.cxx +++ b/sdext/source/presenter/PresenterWindowManager.cxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterWindowManager.cxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:07:10 $ + * $RCSfile: PresenterWindowManager.cxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ diff --git a/sdext/source/presenter/PresenterWindowManager.hxx b/sdext/source/presenter/PresenterWindowManager.hxx index f7a413f484c4..eb795ccc1bb8 100644 --- a/sdext/source/presenter/PresenterWindowManager.hxx +++ b/sdext/source/presenter/PresenterWindowManager.hxx @@ -1,35 +1,31 @@ /************************************************************************* * - * OpenOffice.org - a multi-platform office productivity suite + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * $RCSfile: PresenterWindowManager.hxx,v $ + * Copyright 2008 by Sun Microsystems, Inc. * - * $Revision: 1.2 $ + * OpenOffice.org - a multi-platform office productivity suite * - * last change: $Author: kz $ $Date: 2008-04-03 16:07:19 $ + * $RCSfile: PresenterWindowManager.hxx,v $ * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 2.1. + * $Revision: 1.3 $ * + * This file is part of OpenOffice.org. * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. * - * This library 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. + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. * ************************************************************************/ -- cgit From 190ae96204562b4e8cee492743ee44e2faaa05e7 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Fri, 11 Apr 2008 10:40:23 +0000 Subject: INTEGRATION: CWS changefileheaderm6 (1.3.2); FILE MERGED 2008/04/09 16:07:37 rt 1.3.2.1: #i87884# Change license header to LPGL v3. --- sdext/source/presenter/makefile.mk | 42 +++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/sdext/source/presenter/makefile.mk b/sdext/source/presenter/makefile.mk index bef6609c79b3..81a5f91ef376 100644 --- a/sdext/source/presenter/makefile.mk +++ b/sdext/source/presenter/makefile.mk @@ -1,35 +1,31 @@ #************************************************************************* # -# OpenOffice.org - a multi-platform office productivity suite +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. # -# $RCSfile: makefile.mk,v $ +# OpenOffice.org - a multi-platform office productivity suite # -# $Revision: 1.3 $ +# $RCSfile: makefile.mk,v $ # -# last change: $Author: kz $ $Date: 2008-04-03 16:24:42 $ +# $Revision: 1.4 $ # -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 2.1. +# This file is part of OpenOffice.org. # +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. # -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). # -# This library 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. # #************************************************************************* -- cgit From 9c3536e9a7f858a6004446b01fd8e1ab822431ad Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Mon, 14 Apr 2008 06:43:01 +0000 Subject: #i10000# Needs makedepend. --- xpdf/prj/build.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xpdf/prj/build.lst b/xpdf/prj/build.lst index 259101481ff2..b98242a1ed22 100644 --- a/xpdf/prj/build.lst +++ b/xpdf/prj/build.lst @@ -1,4 +1,4 @@ -xp xpdf : solenv NULL +xp xpdf : solenv soltools NULL xp xpdf nmake - all xp_xpdf NULL xp xpdf\wrapper nmake - all xp_xpdfwrap xp_xpdf NULL xp xpdf\test nmake - all xp_parsetest xp_xpdfwrap NULL -- cgit From 61d7ca66ec5b7ffbbd5cc7c1581a0cef12074c36 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Mon, 14 Apr 2008 10:58:13 +0000 Subject: #i10000# Repacked; no content change. --- tomcat/download/jakarta-tomcat-5.0.30-src.tar.gz | Bin 0 -> 3568559 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tomcat/download/jakarta-tomcat-5.0.30-src.tar.gz diff --git a/tomcat/download/jakarta-tomcat-5.0.30-src.tar.gz b/tomcat/download/jakarta-tomcat-5.0.30-src.tar.gz new file mode 100644 index 000000000000..5882f95b0c24 Binary files /dev/null and b/tomcat/download/jakarta-tomcat-5.0.30-src.tar.gz differ -- cgit From fc6bed2ea2a0d16fc54a4f88a21e2ccb901cef6a Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Mon, 14 Apr 2008 12:00:29 +0000 Subject: #i10000# Repacked; no content change. --- .../download/commons-httpclient-3.1-src.tar.gz | Bin 0 -> 2403054 bytes apache-commons/download/commons-lang-2.3-src.tar.gz | Bin 0 -> 481275 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apache-commons/download/commons-httpclient-3.1-src.tar.gz create mode 100644 apache-commons/download/commons-lang-2.3-src.tar.gz diff --git a/apache-commons/download/commons-httpclient-3.1-src.tar.gz b/apache-commons/download/commons-httpclient-3.1-src.tar.gz new file mode 100644 index 000000000000..9fe4c44a52f3 Binary files /dev/null and b/apache-commons/download/commons-httpclient-3.1-src.tar.gz differ diff --git a/apache-commons/download/commons-lang-2.3-src.tar.gz b/apache-commons/download/commons-lang-2.3-src.tar.gz new file mode 100644 index 000000000000..7bd5a8ffe87b Binary files /dev/null and b/apache-commons/download/commons-lang-2.3-src.tar.gz differ -- cgit From 08d7cf92dbba8403abf325f1d5a7dd0bf4865467 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 15 Apr 2008 13:19:15 +0000 Subject: INTEGRATION: CWS wikiext02 (1.1.2); FILE ADDED 2008/04/15 14:10:01 mav 1.1.2.2: #i10000# change the license 2008/04/14 10:10:22 mav 1.1.2.1: ¨#i88208# MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swext/mediawiki/help/makefile.mk | 75 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 swext/mediawiki/help/makefile.mk diff --git a/swext/mediawiki/help/makefile.mk b/swext/mediawiki/help/makefile.mk new file mode 100644 index 000000000000..a5d0ad7c1ec2 --- /dev/null +++ b/swext/mediawiki/help/makefile.mk @@ -0,0 +1,75 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.2 $ +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org 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 version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/.. +PRJNAME=mediawiki +TARGET=$(PRJNAME)_help + +.INCLUDE : settings.mk +.INCLUDE : target.mk + +.IF "$(ENABLE_MEDIAWIKI)" == "YES" +PACKAGE=com.sun.sun-mediawiki + +# workaround for the problem in help, the help uses en instead of en-US +MEDIAWIKI_LANG= en $(alllangiso) + +OUT_MEDIAWIKI=$(MISC)$/$(PRJNAME) +OUT_HELP=$(OUT_MEDIAWIKI)$/help + +XHPFILES= \ + wiki.xhp\ + wikiaccount.xhp\ + wikiformats.xhp\ + wikisend.xhp\ + wikisettings.xhp + +HLANGXHPFILES:=$(foreach,i,$(XHPFILES) $(foreach,j,$(MEDIAWIKI_LANG) $(OUT_HELP)$/$j$/$(PACKAGE)$/$(i:f))) + +ALLTAR : $(OUT_MEDIAWIKI)$/$(TARGET).done + +#$(OUT_MEDIAWIKI)$/xhp_changed.flag optix + + +$(HLANGXHPFILES) : #$$(@:d)thisdir.created + -$(MKDIRHIER) $(@:d) + $(TOUCH) $(@:d)thisdir.created + +$(OUT_HELP)$/{$(MEDIAWIKI_LANG)}$/$(PACKAGE)$/%.xhp :| %.xhp + @$(TOUCH) $@ +# internal dependencies not sufficient to trigger merge? +# @$(NULL) + + +$(OUT_MEDIAWIKI)$/$(TARGET).done : localize.sdf $(XHPFILES) $(HLANGXHPFILES) + @$(WRAPCMD) helpex -QQ -p $(PRJNAME) -r $(PRJ) -i @$(mktmp $(uniq $(foreach,i,$? $(!eq,$(i:f),$(i:f:s/.xhp//) $(i:f) $(XHPFILES))))) -x $(OUT_HELP) -y $(PACKAGE) -l all -lf $(MEDIAWIKI_LANG:t",") -m localize.sdf && $(TOUCH) $@ +.ENDIF + -- cgit From 4268aad479934c4a099e347c2c8824b598690a78 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 15 Apr 2008 13:19:27 +0000 Subject: INTEGRATION: CWS wikiext02 (1.1.2); FILE ADDED 2008/04/15 14:10:01 mav 1.1.2.2: #i10000# change the license 2008/04/14 10:11:18 mav 1.1.2.1: ¨#i88208# MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swext/mediawiki/help/wiki.xhp | 159 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 swext/mediawiki/help/wiki.xhp diff --git a/swext/mediawiki/help/wiki.xhp b/swext/mediawiki/help/wiki.xhp new file mode 100644 index 000000000000..015ced62b675 --- /dev/null +++ b/swext/mediawiki/help/wiki.xhp @@ -0,0 +1,159 @@ + + + + + + +@WIKIEXTENSIONPRODUCTNAME@ +/@WIKIEXTENSIONID@/wiki.xhp + + + + + + + + +Wiki;@WIKIEXTENSIONPRODUCTNAME@ +@WIKIEXTENSIONPRODUCTNAME@ +extensions;MediaWiki + +@WIKIEXTENSIONPRODUCTNAME@ +By using the @WIKIEXTENSIONPRODUCTNAME@ you can upload your current Writer text document to a MediaWiki server. After uploading, all Wiki users can read your document on the Wiki. + +Choose File - Send - To MediaWiki to upload the current Writer document to a MediaWiki server. +System Requirements + + +StarOffice/StarSuite 8 Update 10 + + +OpenOffice.org 2.4 + + +Java Runtime Environment 1.4 + + +A Wiki account on a supported MediaWiki server + + +Installing @WIKIEXTENSIONPRODUCTNAME@ +Before you install the @WIKIEXTENSIONPRODUCTNAME@, ensure that StarOffice or OpenOffice.org uses a Java Runtime Environment (JRE). To check the status of the JRE, choose Tools - Options - StarOffice/OpenOffice.org - Java. Ensure that "Use a Java runtime environment" is marked and that a Java runtime folder is selected in the big listbox. If no JRE was activated, then activate a JRE 1.4 or later and restart StarOffice/OpenOffice.org. +To Install the @WIKIEXTENSIONPRODUCTNAME@ + + +In a Writer window, choose Tools - Extension Manager. + + +In the Extension Manager dialog, click Add. + + +Locate the @WIKIEXTENSIONFILENAME@.oxt file, click Open, and then click Close. + + +Close StarOffice/StarSuite/OpenOffice.org, and close also the Quickstarter if enabled. + + +Restart the software, open a text document, then choose Tools - Options - Internet - MediaWiki to enter your Wiki settings. See "To Connect To a Wiki" below. + + +To Remove the @WIKIEXTENSIONPRODUCTNAME@ + + +In a Writer window, choose Tools - Extension Manager. + + +Click the plus sign (+) in front of My Extensions. + + +Select the extension, click Remove, and then click Close. + + +To Connect to a Wiki +Note: You can store your user name and password for all respective dialogs inside StarOffice/OpenOffice.org. The password will be stored in a secure way, where access is maintained by a master password. To enable the master password, choose Tools - Options - StarOffice/OpenOffice.org - Security. +Note: If you connect to the web using a proxy server, enter the proxy information to Tools - Options - Internet - Proxy, and restart the software. + + +Open a Writer document, and choose Tools - Options - Internet - MediaWiki. + + +In the Options dialog, click Add. + + +In the MediaWiki dialog, enter the account information for the Wiki. + + + + +In the URL textbox, enter the address of a Wiki that you want to connect to. +You can copy the URL from a web browser and paste it into the textbox. + + +In the Username box, enter your user ID for your Wiki account. +If the Wiki allows anonymous write access, you can leave the Username and Password boxes empty. + + +In the Password box, enter the password for your Wiki account, then click OK. + + +Optionally enable "Save password" to save the password between sessions. A master password is used to maintain access to all saved passwords. Choose Tools - Options - StarOffice/OpenOffice.org - Security to enable the master password. "Save password" is unavailable when the master password is not enabled. +To Create a New Wiki Page + + +Open a Writer document. + + +Write the content of the Wiki page. You can use formatting like text formats, headings, footnotes, and more. See the list of supported formats. + + +Choose File - Send - To MediaWiki. + + +In the Send to MediaWiki dialog, specify the settings for your entry. + + + +MediaWiki server: Select the Wiki. + +Title: Type the title of your page. Type the title of an existing page to overwrite the page with your current text document. Type a new title to create a new page on the Wiki. + +Summary: Enter an optional short summary of your page. + +This is a minor edit: Check this box to mark the uploaded page as a minor edit of the already existing page with the same title. + +Show in web browser: Check this box to open your system web browser and show the uploaded Wiki page. + + +Click Send. + + + + -- cgit From 38948868d8f122644d08bfa8b90b8478cb269ebb Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 15 Apr 2008 13:19:38 +0000 Subject: INTEGRATION: CWS wikiext02 (1.1.2); FILE ADDED 2008/04/15 14:10:01 mav 1.1.2.2: #i10000# change the license 2008/04/14 10:10:33 mav 1.1.2.1: ¨#i88208# MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swext/mediawiki/help/wikiaccount.xhp | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 swext/mediawiki/help/wikiaccount.xhp diff --git a/swext/mediawiki/help/wikiaccount.xhp b/swext/mediawiki/help/wikiaccount.xhp new file mode 100644 index 000000000000..7e92dcbcc0de --- /dev/null +++ b/swext/mediawiki/help/wikiaccount.xhp @@ -0,0 +1,59 @@ + + + + + + +MediaWiki +/@WIKIEXTENSIONID@/wikiaccount.xhp + + + + + + + + +MediaWiki +Use the MediaWiki dialog to add or edit your MediaWiki account settings.URL + +Enter the URL of a MediaWiki server, starting with http://Username + +Enter your user name on the MediaWiki server. Leave empty for anonymous access.Password + +Enter your password on the MediaWiki server. Leave empty for anonymous access.Save password + +Enable to store your password between sessions. The master password must be enabled, see Tools - Options - StarOffice/OpenOffice.org - Security. +Enter the Internet address of a Wiki server in a format like http://wiki.services.openoffice.org/wiki or copy the URL from a web browser. +If the Wiki allows anonymous access, you can leave the account text boxes empty. Else enter your user name and password. +If you have enabled the master password feature on the Security tab page of the Tools - Options - StarOffice/OpenOffice.org dialog, then the software can store your password and automatically insert the data where necessary. Enable the "Save password" checkbox to store your password. + + -- cgit From 2331399b3d921fba496baa8d3908cd770d71a051 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 15 Apr 2008 13:19:48 +0000 Subject: INTEGRATION: CWS wikiext02 (1.1.2); FILE ADDED 2008/04/15 14:10:01 mav 1.1.2.2: #i10000# change the license 2008/04/14 10:10:45 mav 1.1.2.1: ¨#i88208# MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swext/mediawiki/help/wikiformats.xhp | 75 ++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 swext/mediawiki/help/wikiformats.xhp diff --git a/swext/mediawiki/help/wikiformats.xhp b/swext/mediawiki/help/wikiformats.xhp new file mode 100644 index 000000000000..124b1e4fea88 --- /dev/null +++ b/swext/mediawiki/help/wikiformats.xhp @@ -0,0 +1,75 @@ + + + + + + +MediaWiki Formats +/@WIKIEXTENSIONID@/wikiformats.xhp + + + + + + + + +MediaWiki Formats +The following list gives an overview of the text formats that the @WIKIEXTENSIONPRODUCTNAME@ can upload to the Wiki server. +The OpenDocument format used by Writer and the WikiMedia format are quite different. Only a subset of all features can be transformed from one format to the other. +Headings +Apply a heading paragraph style to the headings in your Writer document. The Wiki will show the heading styles of the same outline level, formatted as defined by the Wiki engine. +Hyperlinks +Native OpenDocument hyperlinks are transformed into "external" Wiki links. Therefore, the built-in linking facility of OpenDocument should only be used to create links that point to other sites outside the Wiki web. For creating Wiki links that point to other subjects of the same Wiki domain, use Wiki links. +Lists +Lists can reliably be exported when the whole list uses a consistent list style. Use the Numbering or Bullets icon to generate a list in Writer. If you need a list without numbering or bullets, use Format - Bullets and Numbering to define and apply the respective list style. +Paragraphs +Alignment +Explicit text alignment should not be used in Wiki articles. Nevertheless, text alignment is supported for left, centered, and right alignment of text. +Pre-formatted text +A paragraph style with a fixed-width font is transformed as pre-formatted text. Pre-formatted text is shown on the Wiki with a border around the text. +Character styles +Character styles modify the appearance of parts of a paragraph. The transformation supports bold, italics, bold/italics, subscript and superscript. All fixed width fonts are transformed into the Wiki typewriter style. +Footnotes +Note: The transformation uses the new style of footnotes with <ref> and <references> tags that requires the Cite.php extension to be installed into MediaWiki. If those tags occur as plain text in the transformation result, ask the Wiki administrator to install this extension. +Images +Images cannot be exported by a transformation producing a single file of Wiki text. However, if the image is already uploaded to the target Wiki domain (e. g. WikiMedia Commons), then the transformation produces a valid image tag that includes the image. Image captions are also supported. +Tables +Simple tables are supported well. Table headers are translated into corresponding Wiki style table headers. However, custom formatting of table borders, column sizes and background colors is ignored. +Joined Cells +OpenDocument and especially OpenOffice.org represent tables that have joined cells that span rows as tables with nested tables. In contrast, the wiki model of table is to declare column and row spans for such joined cells. +If only columns of the same row are joined, the result of the transformation resembles the source document very well. +Borders +Irrespective of custom table styles for border and background, a table is always exported as "prettytable", which renders in the Wiki engine with simple borders and bold header. +Charset and special characters +The charset of the transformation result is fixed to UTF-8. Depending on your system, this might not be the default charset. This might cause "special characters" to look broken when viewed with default settings. However, you can switch your editor to UTF-8 encoding to fix this. If your editor does not support switching the encoding, you can display the result of the transformation in the Firefox browser and switch the encoding to UTF-8 there. Now, you can cut and paste the transformation result to your program of choice. + + -- cgit From 41bf7e86dc8284129fab5974cb8df5d58b87cedc Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 15 Apr 2008 13:19:59 +0000 Subject: INTEGRATION: CWS wikiext02 (1.1.2); FILE ADDED 2008/04/15 14:10:01 mav 1.1.2.2: #i10000# change the license 2008/04/14 10:10:56 mav 1.1.2.1: ¨#i88208# MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swext/mediawiki/help/wikisend.xhp | 63 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 swext/mediawiki/help/wikisend.xhp diff --git a/swext/mediawiki/help/wikisend.xhp b/swext/mediawiki/help/wikisend.xhp new file mode 100644 index 000000000000..a8bc560e7ed2 --- /dev/null +++ b/swext/mediawiki/help/wikisend.xhp @@ -0,0 +1,63 @@ + + + + + + +Send to MediaWiki +/@WIKIEXTENSIONID@/wikisend.xhp + + + + + + + + +Send to MediaWiki +In the Send to MediaWiki dialog, specify the settings for your current Wiki upload.MediaWiki server + +Select the MediaWiki server where you want to publish your document. Click Add to add a new server to the list.title + +Enter the title of your Wiki entry. This is the top heading of your Wiki entry. For a new entry, the title must be unique on this Wiki. If you enter an existing title, your upload will overwrite the existing Wiki entry.summary + +Enter an optional short summary or comment. See http://meta.wikimedia.org/wiki/Help:Edit_summary. + + +This is a minor edit: Check this box to mark the uploaded page as a minor edit of the already existing page with the same title. + + +Show in web browser: Check this box to open your system web browser and show the uploaded Wiki page. + + + + + -- cgit From b46619d1c76181f2fa82fbaaf6770cba35a3b1a2 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 15 Apr 2008 13:20:09 +0000 Subject: INTEGRATION: CWS wikiext02 (1.1.2); FILE ADDED 2008/04/15 14:10:01 mav 1.1.2.2: #i10000# change the license 2008/04/14 10:11:08 mav 1.1.2.1: ¨#i88208# MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- swext/mediawiki/help/wikisettings.xhp | 57 +++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 swext/mediawiki/help/wikisettings.xhp diff --git a/swext/mediawiki/help/wikisettings.xhp b/swext/mediawiki/help/wikisettings.xhp new file mode 100644 index 000000000000..72b2e46dbc2a --- /dev/null +++ b/swext/mediawiki/help/wikisettings.xhp @@ -0,0 +1,57 @@ + + + + + + +MediaWiki Options +/@WIKIEXTENSIONID@/wikisettings.xhp + + + + + + + + +MediaWiki Options +You can add, edit and remove MediaWiki servers. Open the dialog by Tools - Options - Internet - MediaWiki. Alternatively, choose Tools - Extension Manager, select the @WIKIEXTENSIONPRODUCTNAME@, and click the Options button.Listbox + +Click Add to add a new Wiki server.
Select an entry and click Edit to edit the account settings.
Select an entry and click Remove to remove the entry from the list.
Add button + +Opens the MediaWiki dialog to add a new entry to the list.Edit button + +Opens the MediaWiki dialog to edit the selected entry.Remove button + +Removes the selected entry from the list. +When you click Add or Edit, the MediaWiki dialog opens. + +
-- cgit From fb1d91ae438af1730f540eaef3bda73ead4c0ebd Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 15 Apr 2008 13:22:17 +0000 Subject: INTEGRATION: CWS wikiext02 (1.1.4); FILE MERGED 2008/04/10 14:29:19 mav 1.1.4.1: #i88140# fix the id --- .../src/registry/data/org/openoffice/Office/OptionsDialog.xcu | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu b/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu index 85e7f85afa72..ec52a7f16b6b 100644 --- a/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu +++ b/swext/mediawiki/src/registry/data/org/openoffice/Office/OptionsDialog.xcu @@ -9,7 +9,7 @@ * * $RCSfile: OptionsDialog.xcu,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * * This file is part of OpenOffice.org. * @@ -35,7 +35,7 @@ - com.sun.sun-mediawiki + @WIKIEXTENSIONID@ MediaWiki -- cgit From 077ab1167c8ff89de792d8bf7000c4544bebdb5e Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 15 Apr 2008 13:22:30 +0000 Subject: INTEGRATION: CWS wikiext02 (1.6.4); FILE MERGED 2008/04/14 10:14:22 mav 1.6.4.1: #i88208# do not use en-US in the path --- swext/prj/build.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swext/prj/build.lst b/swext/prj/build.lst index e63f1d0e6a51..82fface800f3 100644 --- a/swext/prj/build.lst +++ b/swext/prj/build.lst @@ -1,6 +1,6 @@ swext swext : XALAN:xalan jut javaunohelper ridljar unoil jurt APACHE_COMMONS:apache-commons officecfg readlicense_oo NULL swext swext usr1 - all swext_mkout NULL -swext swext\mediawiki\help\en-US\com.sun.sun-mediawiki nmake - all swext_mwhelp NULL +swext swext\mediawiki\help nmake - all swext_mwhelp NULL swext swext\mediawiki\src\registry\schema\org\openoffice\Office\Custom nmake - all swext_mwschema NULL swext swext\mediawiki\src\registry\data\org\openoffice\Office\Custom nmake - all swext_mwcustomdata swext_mwschema NULL swext swext\mediawiki\src\registry\data\org\openoffice\Office nmake - all swext_mwofficedata NULL -- cgit From a389cfa39cd426aaa0619a362cdf03b48a2d8e51 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Mon, 21 Apr 2008 05:30:55 +0000 Subject: #i10000# Fix windows build. --- swext/mediawiki/build.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swext/mediawiki/build.xml b/swext/mediawiki/build.xml index 829e7da1b939..ca5a2bf15ded 100644 --- a/swext/mediawiki/build.xml +++ b/swext/mediawiki/build.xml @@ -9,7 +9,7 @@ $RCSfile: build.xml,v $ - $Revision: 1.16 $ + $Revision: 1.17 $ This file is part of OpenOffice.org. @@ -130,7 +130,7 @@ - +
-- cgit From 8b8d061a9200d29605f6e24eaee105eb3d1da1b1 Mon Sep 17 00:00:00 2001 From: Rüdiger Timm Date: Mon, 21 Apr 2008 05:55:29 +0000 Subject: #i88490# Avoid 'uninitialized' warning. --- sdext/source/presenter/PresenterNotesView.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdext/source/presenter/PresenterNotesView.cxx b/sdext/source/presenter/PresenterNotesView.cxx index b44607bddcdb..2f099b808a27 100644 --- a/sdext/source/presenter/PresenterNotesView.cxx +++ b/sdext/source/presenter/PresenterNotesView.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterNotesView.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -519,7 +519,7 @@ void PresenterNotesView::UpdateScrollBar (void) { try { - double nHeight; + double nHeight = 0; if (mxTextView->getPropertyValue(OUString::createFromAscii("TotalHeight")) >>= nHeight) mpScrollBar->SetTotalSize(nHeight); } @@ -531,7 +531,7 @@ void PresenterNotesView::UpdateScrollBar (void) try { - double nTop; + double nTop = 0; if (mxTextView->getPropertyValue(OUString::createFromAscii("Top")) >>= nTop) mpScrollBar->SetThumbPosition(nTop); } -- cgit From 18a7951162aa6327469627fbd8c71dab725486c4 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Thu, 24 Apr 2008 17:35:53 +0000 Subject: INTEGRATION: CWS pdfimportfix (1.1.4); FILE MERGED 2008/04/21 13:53:30 akhva 1.1.4.1: #i87890# fix xpdf security bug --- xpdf/xpdf-3.02.patch | 1003 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 766 insertions(+), 237 deletions(-) diff --git a/xpdf/xpdf-3.02.patch b/xpdf/xpdf-3.02.patch index d7118f752318..890b33a5c108 100644 --- a/xpdf/xpdf-3.02.patch +++ b/xpdf/xpdf-3.02.patch @@ -1,245 +1,774 @@ ---- misc/patch/xpdf-3.02/aconf.h 1970-01-01 01:00:00.000000000 +0100 -+++ misc/build/xpdf-3.02/aconf.h 2007-08-07 15:44:36.000000000 +0200 -@@ -0,0 +1,104 @@ -+/* aconf.h. Generated by configure. */ -+/* -+ * aconf.h -+ * -+ * Copyright 2002-2003 Glyph & Cog, LLC -+ */ +--- misc/xpdf-3.02/goo/GString.cc Tue Feb 27 23:05:51 2007 ++++ misc/build/xpdf-3.02/goo/GString.cc Mon Apr 7 13:16:54 2008 +@@ -528,7 +528,7 @@ + if ((neg = x < 0)) { + x = -x; + } +- x = floor(x * pow(10, prec) + 0.5); ++ x = floor(x * pow(10.0, prec) + 0.5); + i = bufSize; + started = !trim; + for (j = 0; j < prec && i > 1; ++j) { +--- misc/xpdf-3.02/ms_make.bat Tue Feb 27 23:05:51 2007 ++++ misc/build/xpdf-3.02/ms_make.bat Mon Apr 7 13:16:54 2008 +@@ -1,5 +1,5 @@ + set CC=cl +-set CFLAGS=/DWIN32 /I.. /I..\goo /I..\fofi /O2 /nologo ++set CFLAGS=/DWIN32 /D_MT /I.. /I..\goo /I..\fofi /O2 /nologo + set CXX=cl + set CXXFLAGS=%CFLAGS% /TP + set LIBPROG=lib +@@ -70,6 +70,8 @@ + %CXX% %CXXFLAGS% /c pdffonts.cc + %CXX% %CXXFLAGS% /c pdfimages.cc + ++%LIBPROG% /nologo /out:xpdf.lib Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSTokenizer.obj SecurityHandler.obj Stream.obj UnicodeMap.obj XRef.obj + -+#ifndef ACONF_H -+#define ACONF_H + %CXX% %LINKFLAGS% /Fepdftops.exe Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSOutputDev.obj PSTokenizer.obj SecurityHandler.obj Stream.obj UnicodeMap.obj XRef.obj pdftops.obj ..\fofi\fofi.lib ..\goo\Goo.lib shell32.lib user32.lib gdi32.lib advapi32.lib + + %CXX% %LINKFLAGS% /Fepdftotext.exe Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSTokenizer.obj SecurityHandler.obj Stream.obj TextOutputDev.obj UnicodeMap.obj UnicodeTypeTable.obj XRef.obj pdftotext.obj ..\fofi\fofi.lib ..\goo\Goo.lib shell32.lib user32.lib gdi32.lib advapi32.lib +@@ -82,37 +84,3 @@ + + cd .. + +-rem --- This part will only work if you have FreeType installed --- +- +-set FT2DIR=..\freetype-2.3.1 +-set CXXFLAGS=%CXXFLAGS% /I..\splash /I%FT2DIR%\include +- +-cd splash +-%CXX% %CXXFLAGS% /c Splash.cc +-%CXX% %CXXFLAGS% /c SplashBitmap.cc +-%CXX% %CXXFLAGS% /c SplashClip.cc +-%CXX% %CXXFLAGS% /c SplashFTFont.cc +-%CXX% %CXXFLAGS% /c SplashFTFontEngine.cc +-%CXX% %CXXFLAGS% /c SplashFTFontFile.cc +-%CXX% %CXXFLAGS% /c SplashFont.cc +-%CXX% %CXXFLAGS% /c SplashFontEngine.cc +-%CXX% %CXXFLAGS% /c SplashFontFile.cc +-%CXX% %CXXFLAGS% /c SplashFontFileID.cc +-%CXX% %CXXFLAGS% /c SplashPath.cc +-%CXX% %CXXFLAGS% /c SplashPattern.cc +-%CXX% %CXXFLAGS% /c SplashScreen.cc +-%CXX% %CXXFLAGS% /c SplashState.cc +-%CXX% %CXXFLAGS% /c SplashT1Font.cc +-%CXX% %CXXFLAGS% /c SplashT1FontEngine.cc +-%CXX% %CXXFLAGS% /c SplashT1FontFile.cc +-%CXX% %CXXFLAGS% /c SplashXPath.cc +-%CXX% %CXXFLAGS% /c SplashXPathScanner.cc +-%LIBPROG% /nologo /out:splash.lib Splash.obj SplashBitmap.obj SplashClip.obj SplashFTFont.obj SplashFTFontEngine.obj SplashFTFontFile.obj SplashFont.obj SplashFontEngine.obj SplashFontFile.obj SplashFontFileID.obj SplashPath.obj SplashPattern.obj SplashScreen.obj SplashState.obj SplashT1Font.obj SplashT1FontEngine.obj SplashT1FontFile.obj SplashXPath.obj SplashXPathScanner.obj +- +-cd ..\xpdf +-%CXX% %CXXFLAGS% /c SplashOutputDev.cc +-%CXX% %CXXFLAGS% /c pdftoppm.cc +- +-%CXX% %LINKFLAGS% /Fepdftoppm.exe Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSTokenizer.obj SecurityHandler.obj SplashOutputDev.obj Stream.obj UnicodeMap.obj UnicodeTypeTable.obj XRef.obj pdftoppm.obj ..\splash\splash.lib ..\fofi\fofi.lib ..\goo\Goo.lib %FT2DIR%\freetype2.lib shell32.lib user32.lib gdi32.lib advapi32.lib +- +-cd .. +--- misc/xpdf-3.02/xpdf/Makefile.in Tue Feb 27 23:05:52 2007 ++++ misc/build/xpdf-3.02/xpdf/Makefile.in Mon Apr 7 13:16:54 2008 +@@ -20,6 +20,8 @@ + SPLASHLIBDIR = ../splash + + CXXFLAGS = @CXXFLAGS@ @DEFS@ -I.. -I$(GOOSRCDIR) -I$(FOFISRCDIR) -I$(SPLASHSRCDIR) -I$(srcdir) @freetype2_CFLAGS@ @Sgm_CFLAGS@ @Xm_CFLAGS@ @Xt_CFLAGS@ @Xp_CFLAGS@ @Xext_CFLAGS@ @Xpm_CFLAGS@ @t1_CFLAGS@ @libpaper_CFLAGS@ @X_CFLAGS@ ++AR = ar rc ++RANLIB = ranlib + + LDFLAGS = @LDFLAGS@ + +@@ -107,12 +109,29 @@ + #------------------------------------------------------------------------ + + all: xpdf$(EXE) pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) \ +- pdffonts$(EXE) pdftoppm$(EXE) pdfimages$(EXE) ++ pdffonts$(EXE) pdftoppm$(EXE) pdfimages$(EXE) $(LIBPREFIX)xpdf.a + + all-no-x: pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) pdffonts$(EXE) \ +- pdfimages$(EXE) ++ pdfimages$(EXE) $(LIBPREFIX)xpdf.a + + #------------------------------------------------------------------------ + -+#include ++XPDFLIB_OBJS = Annot.o Array.o BuiltinFont.o BuiltinFontTables.o Catalog.o \ ++ CharCodeToUnicode.o CMap.o Decrypt.o Dict.o \ ++ Error.o FontEncodingTables.o Function.o Gfx.o GfxFont.o \ ++ GfxState.o GlobalParams.o JArithmeticDecoder.o JBIG2Stream.o \ ++ JPXStream.o Lexer.o Link.o NameToCharCode.o Object.o Outline.o \ ++ OutputDev.o Page.o Parser.o PDFCore.o PDFDoc.o PDFDocEncoding.o \ ++ PSTokenizer.o SecurityHandler.o \ ++ Stream.o UnicodeMap.o \ ++ UnicodeTypeTable.o XRef.o + -+/* -+ * Use A4 paper size instead of Letter for PostScript output. -+ */ -+/* #undef A4_PAPER */ ++$(LIBPREFIX)xpdf.a: $(XPDFLIB_OBJS) ++ rm -f $(LIBPREFIX)xpdf.a ++ $(AR) $(LIBPREFIX)xpdf.a $(XPDFLIB_OBJS) ++ $(RANLIB) $(LIBPREFIX)xpdf.a + -+/* -+ * Do not allow text selection. -+ */ -+/* #undef NO_TEXT_SELECT */ ++#------------------------------------------------------------------------ + + XPDF_OBJS = Annot.o Array.o BuiltinFont.o BuiltinFontTables.o Catalog.o \ + CharCodeToUnicode.o CMap.o CoreOutputDev.o Decrypt.o Dict.o \ +--- misc/xpdf-3.02/xpdf/Stream.cc Tue Feb 27 23:05:52 2007 ++++ misc/build/xpdf-3.02/xpdf/Stream.cc Mon Apr 21 15:42:49 2008 +@@ -410,15 +410,13 @@ + ok = gFalse; + + nVals = width * nComps; +- if (width <= 0 || nComps <= 0 || nBits <= 0 || +- nComps >= INT_MAX / nBits || +- width >= INT_MAX / nComps / nBits || +- nVals * nBits + 7 < 0) { +- return; +- } + pixBytes = (nComps * nBits + 7) >> 3; + rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes; +- if (rowBytes <= 0) { ++ if (width <= 0 || nComps <= 0 || nBits <= 0 || ++ nComps > gfxColorMaxComps || ++ nBits > 16 || ++ width >= INT_MAX / nComps || // check for overflow in nVals ++ nVals >= (INT_MAX - 7) / nBits) { // check for overflow in rowBytes + return; + } + predLine = (Guchar *)gmalloc(rowBytes); +@@ -1245,23 +1243,26 @@ + columns = columnsA; + if (columns < 1) { + columns = 1; ++ } else if (columns > INT_MAX - 2) { ++ columns = INT_MAX - 2; + } +- if (columns + 4 <= 0) { +- columns = INT_MAX - 4; +- } + rows = rowsA; + endOfBlock = endOfBlockA; + black = blackA; +- refLine = (short *)gmallocn(columns + 3, sizeof(short)); +- codingLine = (short *)gmallocn(columns + 2, sizeof(short)); ++ // 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = columns ++ // ---> max codingLine size = columns + 1 ++ // refLine has one extra guard entry at the end ++ // ---> max refLine size = columns + 2 ++ codingLine = (int *)gmallocn(columns + 1, sizeof(int)); ++ refLine = (int *)gmallocn(columns + 2, sizeof(int)); + + eof = gFalse; + row = 0; + nextLine2D = encoding < 0; + inputBits = 0; +- codingLine[0] = 0; +- codingLine[1] = refLine[2] = columns; +- a0 = 1; ++ codingLine[0] = columns; ++ a0i = 0; ++ outputBits = 0; + + buf = EOF; + } +@@ -1280,9 +1281,9 @@ + row = 0; + nextLine2D = encoding < 0; + inputBits = 0; +- codingLine[0] = 0; +- codingLine[1] = columns; +- a0 = 1; ++ codingLine[0] = columns; ++ a0i = 0; ++ outputBits = 0; + buf = EOF; + + // skip any initial zero bits and end-of-line marker, and get the 2D +@@ -1299,211 +1300,230 @@ + } + } + ++inline void CCITTFaxStream::addPixels(int a1, int blackPixels) { ++ if (a1 > codingLine[a0i]) { ++ if (a1 > columns) { ++ error(getPos(), "CCITTFax row is wrong length (%d)", a1); ++ err = gTrue; ++ a1 = columns; ++ } ++ if ((a0i & 1) ^ blackPixels) { ++ ++a0i; ++ } ++ codingLine[a0i] = a1; ++ } ++} + -+/* -+ * Include support for OPI comments. -+ */ -+/* #undef OPI_SUPPORT */ ++inline void CCITTFaxStream::addPixelsNeg(int a1, int blackPixels) { ++ if (a1 > codingLine[a0i]) { ++ if (a1 > columns) { ++ error(getPos(), "CCITTFax row is wrong length (%d)", a1); ++ err = gTrue; ++ a1 = columns; ++ } ++ if ((a0i & 1) ^ blackPixels) { ++ ++a0i; ++ } ++ codingLine[a0i] = a1; ++ } else if (a1 < codingLine[a0i]) { ++ if (a1 < 0) { ++ error(getPos(), "Invalid CCITTFax code"); ++ err = gTrue; ++ a1 = 0; ++ } ++ while (a0i > 0 && a1 <= codingLine[a0i - 1]) { ++ --a0i; ++ } ++ codingLine[a0i] = a1; ++ } ++} + -+/* -+ * Enable multithreading support. -+ */ -+/* #undef MULTITHREADED */ + int CCITTFaxStream::lookChar() { + short code1, code2, code3; +- int a0New; +- GBool err, gotEOL; +- int ret; +- int bits, i; ++ int b1i, blackPixels, i, bits; ++ GBool gotEOL; + +- // if at eof just return EOF +- if (eof && codingLine[a0] >= columns) { +- return EOF; ++ if (buf != EOF) { ++ return buf; + } + + // read the next row +- err = gFalse; +- if (codingLine[a0] >= columns) { ++ if (outputBits == 0) { + ++ // if at eof just return EOF ++ if (eof) { ++ return EOF; ++ } + -+/* -+ * Enable word list support. -+ */ -+/* #undef TEXTOUT_WORD_LIST */ ++ err = gFalse; + -+/* -+ * Directory with the Xpdf app-defaults file. -+ */ -+/* #undef APPDEFDIR */ -+ -+/* -+ * Full path for the system-wide xpdfrc file. -+ */ -+#define SYSTEM_XPDFRC "/usr/local/etc/xpdfrc" -+ -+/* -+ * Various include files and functions. -+ */ -+#define HAVE_DIRENT_H 1 -+/* #undef HAVE_SYS_NDIR_H */ -+/* #undef HAVE_SYS_DIR_H */ -+/* #undef HAVE_NDIR_H */ -+/* #undef HAVE_SYS_SELECT_H */ -+/* #undef HAVE_SYS_BSDTYPES_H */ -+#define HAVE_STRINGS_H 1 -+/* #undef HAVE_BSTRING_H */ -+#define HAVE_POPEN 1 -+#define HAVE_MKSTEMP 1 -+/* #undef HAVE_MKSTEMPS */ -+/* #undef SELECT_TAKES_INT */ -+#if ! defined WNT -+#define HAVE_FSEEKO 1 -+#endif -+/* #undef HAVE_FSEEK64 */ -+#define _FILE_OFFSET_BITS 64 -+/* #undef _LARGE_FILES */ -+#define _LARGEFILE_SOURCE 1 -+/* #undef HAVE_XTAPPSETEXITFLAG 1 */ -+ -+/* -+ * This is defined if using libXpm. -+ */ -+/* #undef HAVE_X11_XPM_H 1 */ -+ -+/* -+ * This is defined if using t1lib. -+ */ -+/* #undef HAVE_T1LIB_H 1 */ -+ -+/* -+ * One of these is defined if using FreeType 2. -+ */ -+/* #undef HAVE_FREETYPE_H */ -+/* #undef HAVE_FREETYPE_FREETYPE_H 1 */ -+ -+/* -+ * This is defined if using libpaper. -+ */ -+/* #undef HAVE_PAPER_H */ -+ -+/* -+ * Enable support for loading plugins. -+ */ -+/* #undef ENABLE_PLUGINS */ -+ -+/* -+ * Enable support for CMYK output. -+ */ -+/* #undef SPLASH_CMYK */ -+ -+ -+#endif -*** misc/xpdf-3.02/ms_make.bat Tue Feb 27 23:05:51 2007 ---- misc/build/xpdf-3.02/ms_make.bat Fri Sep 14 20:08:02 2007 -*************** -*** 1,5 **** - set CC=cl -! set CFLAGS=/DWIN32 /I.. /I..\goo /I..\fofi /O2 /nologo - set CXX=cl - set CXXFLAGS=%CFLAGS% /TP - set LIBPROG=lib ---- 1,5 ---- - set CC=cl -! set CFLAGS=/DWIN32 /D_MT /I.. /I..\goo /I..\fofi /O2 /nologo - set CXX=cl - set CXXFLAGS=%CFLAGS% /TP - set LIBPROG=lib -*************** -*** 70,75 **** ---- 70,77 ---- - %CXX% %CXXFLAGS% /c pdffonts.cc - %CXX% %CXXFLAGS% /c pdfimages.cc - -+ %LIBPROG% /nologo /out:xpdf.lib Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSTokenizer.obj SecurityHandler.obj Stream.obj UnicodeMap.obj XRef.obj -+ - %CXX% %LINKFLAGS% /Fepdftops.exe Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSOutputDev.obj PSTokenizer.obj SecurityHandler.obj Stream.obj UnicodeMap.obj XRef.obj pdftops.obj ..\fofi\fofi.lib ..\goo\Goo.lib shell32.lib user32.lib gdi32.lib advapi32.lib - - %CXX% %LINKFLAGS% /Fepdftotext.exe Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSTokenizer.obj SecurityHandler.obj Stream.obj TextOutputDev.obj UnicodeMap.obj UnicodeTypeTable.obj XRef.obj pdftotext.obj ..\fofi\fofi.lib ..\goo\Goo.lib shell32.lib user32.lib gdi32.lib advapi32.lib -*************** -*** 82,118 **** - - cd .. - -- rem --- This part will only work if you have FreeType installed --- -- -- set FT2DIR=..\freetype-2.3.1 -- set CXXFLAGS=%CXXFLAGS% /I..\splash /I%FT2DIR%\include -- -- cd splash -- %CXX% %CXXFLAGS% /c Splash.cc -- %CXX% %CXXFLAGS% /c SplashBitmap.cc -- %CXX% %CXXFLAGS% /c SplashClip.cc -- %CXX% %CXXFLAGS% /c SplashFTFont.cc -- %CXX% %CXXFLAGS% /c SplashFTFontEngine.cc -- %CXX% %CXXFLAGS% /c SplashFTFontFile.cc -- %CXX% %CXXFLAGS% /c SplashFont.cc -- %CXX% %CXXFLAGS% /c SplashFontEngine.cc -- %CXX% %CXXFLAGS% /c SplashFontFile.cc -- %CXX% %CXXFLAGS% /c SplashFontFileID.cc -- %CXX% %CXXFLAGS% /c SplashPath.cc -- %CXX% %CXXFLAGS% /c SplashPattern.cc -- %CXX% %CXXFLAGS% /c SplashScreen.cc -- %CXX% %CXXFLAGS% /c SplashState.cc -- %CXX% %CXXFLAGS% /c SplashT1Font.cc -- %CXX% %CXXFLAGS% /c SplashT1FontEngine.cc -- %CXX% %CXXFLAGS% /c SplashT1FontFile.cc -- %CXX% %CXXFLAGS% /c SplashXPath.cc -- %CXX% %CXXFLAGS% /c SplashXPathScanner.cc -- %LIBPROG% /nologo /out:splash.lib Splash.obj SplashBitmap.obj SplashClip.obj SplashFTFont.obj SplashFTFontEngine.obj SplashFTFontFile.obj SplashFont.obj SplashFontEngine.obj SplashFontFile.obj SplashFontFileID.obj SplashPath.obj SplashPattern.obj SplashScreen.obj SplashState.obj SplashT1Font.obj SplashT1FontEngine.obj SplashT1FontFile.obj SplashXPath.obj SplashXPathScanner.obj -- -- cd ..\xpdf -- %CXX% %CXXFLAGS% /c SplashOutputDev.cc -- %CXX% %CXXFLAGS% /c pdftoppm.cc -- -- %CXX% %LINKFLAGS% /Fepdftoppm.exe Annot.obj Array.obj BuiltinFont.obj BuiltinFontTables.obj Catalog.obj CharCodeToUnicode.obj CMap.obj Decrypt.obj Dict.obj Error.obj FontEncodingTables.obj Function.obj Gfx.obj GfxFont.obj GfxState.obj GlobalParams.obj JArithmeticDecoder.obj JBIG2Stream.obj JPXStream.obj Lexer.obj Link.obj NameToCharCode.obj Object.obj Outline.obj OutputDev.obj Page.obj Parser.obj PDFDoc.obj PDFDocEncoding.obj PSTokenizer.obj SecurityHandler.obj SplashOutputDev.obj Stream.obj UnicodeMap.obj UnicodeTypeTable.obj XRef.obj pdftoppm.obj ..\splash\splash.lib ..\fofi\fofi.lib ..\goo\Goo.lib %FT2DIR%\freetype2.lib shell32.lib user32.lib gdi32.lib advapi32.lib -- -- cd .. ---- 84,86 ---- -*** misc/xpdf-3.02/xpdf/Makefile.in Tue Feb 27 23:05:52 2007 ---- misc/build/xpdf-3.02/xpdf/Makefile.in Fri Sep 14 20:17:25 2007 -*************** -*** 20,25 **** ---- 20,27 ---- - SPLASHLIBDIR = ../splash - - CXXFLAGS = @CXXFLAGS@ @DEFS@ -I.. -I$(GOOSRCDIR) -I$(FOFISRCDIR) -I$(SPLASHSRCDIR) -I$(srcdir) @freetype2_CFLAGS@ @Sgm_CFLAGS@ @Xm_CFLAGS@ @Xt_CFLAGS@ @Xp_CFLAGS@ @Xext_CFLAGS@ @Xpm_CFLAGS@ @t1_CFLAGS@ @libpaper_CFLAGS@ @X_CFLAGS@ -+ AR = ar rc -+ RANLIB = ranlib - - LDFLAGS = @LDFLAGS@ - -*************** -*** 107,116 **** - #------------------------------------------------------------------------ - - all: xpdf$(EXE) pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) \ -! pdffonts$(EXE) pdftoppm$(EXE) pdfimages$(EXE) - - all-no-x: pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) pdffonts$(EXE) \ -! pdfimages$(EXE) - - #------------------------------------------------------------------------ - ---- 109,135 ---- - #------------------------------------------------------------------------ - - all: xpdf$(EXE) pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) \ -! pdffonts$(EXE) pdftoppm$(EXE) pdfimages$(EXE) $(LIBPREFIX)xpdf.a - - all-no-x: pdftops$(EXE) pdftotext$(EXE) pdfinfo$(EXE) pdffonts$(EXE) \ -! pdfimages$(EXE) $(LIBPREFIX)xpdf.a -! -! #------------------------------------------------------------------------ -! -! XPDFLIB_OBJS = Annot.o Array.o BuiltinFont.o BuiltinFontTables.o Catalog.o \ -! CharCodeToUnicode.o CMap.o Decrypt.o Dict.o \ -! Error.o FontEncodingTables.o Function.o Gfx.o GfxFont.o \ -! GfxState.o GlobalParams.o JArithmeticDecoder.o JBIG2Stream.o \ -! JPXStream.o Lexer.o Link.o NameToCharCode.o Object.o Outline.o \ -! OutputDev.o Page.o Parser.o PDFCore.o PDFDoc.o PDFDocEncoding.o \ -! PSTokenizer.o SecurityHandler.o \ -! Stream.o UnicodeMap.o \ -! UnicodeTypeTable.o XRef.o -! -! $(LIBPREFIX)xpdf.a: $(XPDFLIB_OBJS) -! rm -f $(LIBPREFIX)xpdf.a -! $(AR) $(LIBPREFIX)xpdf.a $(XPDFLIB_OBJS) -! $(RANLIB) $(LIBPREFIX)xpdf.a - - #------------------------------------------------------------------------ - -*** misc/xpdf-3.02/goo/GString.cc Tue Feb 27 23:05:51 2007 ---- misc/build/xpdf-3.02/goo/GString.cc Wed Sep 26 09:43:50 2007 -*************** -*** 528,534 **** - if ((neg = x < 0)) { - x = -x; - } -! x = floor(x * pow(10, prec) + 0.5); - i = bufSize; - started = !trim; - for (j = 0; j < prec && i > 1; ++j) { ---- 528,534 ---- - if ((neg = x < 0)) { - x = -x; - } -! x = floor(x * pow(10.0, prec) + 0.5); - i = bufSize; - started = !trim; - for (j = 0; j < prec && i > 1; ++j) { + // 2-D encoding + if (nextLine2D) { +- // state: +- // a0New = current position in coding line (0 <= a0New <= columns) +- // codingLine[a0] = last change in coding line +- // (black-to-white if a0 is even, +- // white-to-black if a0 is odd) +- // refLine[b1] = next change in reference line of opposite color +- // to a0 +- // invariants: +- // 0 <= codingLine[a0] <= a0New +- // <= refLine[b1] <= refLine[b1+1] <= columns +- // 0 <= a0 <= columns+1 +- // refLine[0] = 0 +- // refLine[n] = refLine[n+1] = columns +- // -- for some 1 <= n <= columns+1 +- // end condition: +- // 0 = codingLine[0] <= codingLine[1] < codingLine[2] < ... +- // < codingLine[n-1] < codingLine[n] = columns +- // -- where 1 <= n <= columns+1 + for (i = 0; codingLine[i] < columns; ++i) { + refLine[i] = codingLine[i]; + } +- refLine[i] = refLine[i + 1] = columns; +- b1 = 1; +- a0New = codingLine[a0 = 0] = 0; +- do { ++ refLine[i++] = columns; ++ refLine[i] = columns; ++ codingLine[0] = 0; ++ a0i = 0; ++ b1i = 0; ++ blackPixels = 0; ++ // invariant: ++ // refLine[b1i-1] <= codingLine[a0i] < refLine[b1i] < refLine[b1i+1] ++ // <= columns ++ // exception at left edge: ++ // codingLine[a0i = 0] = refLine[b1i = 0] = 0 is possible ++ // exception at right edge: ++ // refLine[b1i] = refLine[b1i+1] = columns is possible ++ while (codingLine[a0i] < columns) { + code1 = getTwoDimCode(); + switch (code1) { + case twoDimPass: +- if (refLine[b1] < columns) { +- a0New = refLine[b1 + 1]; +- b1 += 2; ++ addPixels(refLine[b1i + 1], blackPixels); ++ if (refLine[b1i + 1] < columns) { ++ b1i += 2; + } + break; + case twoDimHoriz: +- if ((a0 & 1) == 0) { +- code1 = code2 = 0; ++ code1 = code2 = 0; ++ if (blackPixels) { + do { +- code1 += code3 = getWhiteCode(); ++ code1 += code3 = getBlackCode(); + } while (code3 >= 64); + do { +- code2 += code3 = getBlackCode(); ++ code2 += code3 = getWhiteCode(); + } while (code3 >= 64); + } else { +- code1 = code2 = 0; + do { +- code1 += code3 = getBlackCode(); ++ code1 += code3 = getWhiteCode(); + } while (code3 >= 64); + do { +- code2 += code3 = getWhiteCode(); ++ code2 += code3 = getBlackCode(); + } while (code3 >= 64); + } +- if (code1 > 0 || code2 > 0) { +- if (a0New + code1 <= columns) { +- codingLine[a0 + 1] = a0New + code1; +- } else { +- codingLine[a0 + 1] = columns; ++ addPixels(codingLine[a0i] + code1, blackPixels); ++ if (codingLine[a0i] < columns) { ++ addPixels(codingLine[a0i] + code2, blackPixels ^ 1); ++ } ++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { ++ b1i += 2; ++ } ++ break; ++ case twoDimVertR3: ++ addPixels(refLine[b1i] + 3, blackPixels); ++ blackPixels ^= 1; ++ if (codingLine[a0i] < columns) { ++ ++b1i; ++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { ++ b1i += 2; + } +- ++a0; +- if (codingLine[a0] + code2 <= columns) { +- codingLine[a0 + 1] = codingLine[a0] + code2; +- } else { +- codingLine[a0 + 1] = columns; +- } +- ++a0; +- a0New = codingLine[a0]; +- while (refLine[b1] <= a0New && refLine[b1] < columns) { +- b1 += 2; +- } + } + break; +- case twoDimVert0: +- if (refLine[b1] < columns) { +- a0New = codingLine[++a0] = refLine[b1]; +- ++b1; +- while (refLine[b1] <= a0New && refLine[b1] < columns) { +- b1 += 2; ++ case twoDimVertR2: ++ addPixels(refLine[b1i] + 2, blackPixels); ++ blackPixels ^= 1; ++ if (codingLine[a0i] < columns) { ++ ++b1i; ++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { ++ b1i += 2; + } +- } else { +- a0New = codingLine[++a0] = columns; + } + break; + case twoDimVertR1: +- if (refLine[b1] + 1 < columns) { +- a0New = codingLine[++a0] = refLine[b1] + 1; +- ++b1; +- while (refLine[b1] <= a0New && refLine[b1] < columns) { +- b1 += 2; ++ addPixels(refLine[b1i] + 1, blackPixels); ++ blackPixels ^= 1; ++ if (codingLine[a0i] < columns) { ++ ++b1i; ++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { ++ b1i += 2; + } +- } else { +- a0New = codingLine[++a0] = columns; + } + break; +- case twoDimVertL1: +- if (refLine[b1] - 1 > a0New || (a0 == 0 && refLine[b1] == 1)) { +- a0New = codingLine[++a0] = refLine[b1] - 1; +- --b1; +- while (refLine[b1] <= a0New && refLine[b1] < columns) { +- b1 += 2; ++ case twoDimVert0: ++ addPixels(refLine[b1i], blackPixels); ++ blackPixels ^= 1; ++ if (codingLine[a0i] < columns) { ++ ++b1i; ++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { ++ b1i += 2; + } + } + break; +- case twoDimVertR2: +- if (refLine[b1] + 2 < columns) { +- a0New = codingLine[++a0] = refLine[b1] + 2; +- ++b1; +- while (refLine[b1] <= a0New && refLine[b1] < columns) { +- b1 += 2; ++ case twoDimVertL3: ++ addPixelsNeg(refLine[b1i] - 3, blackPixels); ++ blackPixels ^= 1; ++ if (codingLine[a0i] < columns) { ++ if (b1i > 0) { ++ --b1i; ++ } else { ++ ++b1i; + } +- } else { +- a0New = codingLine[++a0] = columns; ++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { ++ b1i += 2; ++ } + } + break; + case twoDimVertL2: +- if (refLine[b1] - 2 > a0New || (a0 == 0 && refLine[b1] == 2)) { +- a0New = codingLine[++a0] = refLine[b1] - 2; +- --b1; +- while (refLine[b1] <= a0New && refLine[b1] < columns) { +- b1 += 2; ++ addPixelsNeg(refLine[b1i] - 2, blackPixels); ++ blackPixels ^= 1; ++ if (codingLine[a0i] < columns) { ++ if (b1i > 0) { ++ --b1i; ++ } else { ++ ++b1i; + } +- } +- break; +- case twoDimVertR3: +- if (refLine[b1] + 3 < columns) { +- a0New = codingLine[++a0] = refLine[b1] + 3; +- ++b1; +- while (refLine[b1] <= a0New && refLine[b1] < columns) { +- b1 += 2; ++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { ++ b1i += 2; + } +- } else { +- a0New = codingLine[++a0] = columns; + } + break; +- case twoDimVertL3: +- if (refLine[b1] - 3 > a0New || (a0 == 0 && refLine[b1] == 3)) { +- a0New = codingLine[++a0] = refLine[b1] - 3; +- --b1; +- while (refLine[b1] <= a0New && refLine[b1] < columns) { +- b1 += 2; ++ case twoDimVertL1: ++ addPixelsNeg(refLine[b1i] - 1, blackPixels); ++ blackPixels ^= 1; ++ if (codingLine[a0i] < columns) { ++ if (b1i > 0) { ++ --b1i; ++ } else { ++ ++b1i; + } ++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { ++ b1i += 2; ++ } + } + break; + case EOF: ++ addPixels(columns, 0); + eof = gTrue; +- codingLine[a0 = 0] = columns; +- return EOF; ++ break; + default: + error(getPos(), "Bad 2D code %04x in CCITTFax stream", code1); ++ addPixels(columns, 0); + err = gTrue; + break; + } +- } while (codingLine[a0] < columns); ++ } + + // 1-D encoding + } else { +- codingLine[a0 = 0] = 0; +- while (1) { ++ codingLine[0] = 0; ++ a0i = 0; ++ blackPixels = 0; ++ while (codingLine[a0i] < columns) { + code1 = 0; +- do { +- code1 += code3 = getWhiteCode(); +- } while (code3 >= 64); +- codingLine[a0+1] = codingLine[a0] + code1; +- ++a0; +- if (codingLine[a0] >= columns) { +- break; ++ if (blackPixels) { ++ do { ++ code1 += code3 = getBlackCode(); ++ } while (code3 >= 64); ++ } else { ++ do { ++ code1 += code3 = getWhiteCode(); ++ } while (code3 >= 64); + } +- code2 = 0; +- do { +- code2 += code3 = getBlackCode(); +- } while (code3 >= 64); +- codingLine[a0+1] = codingLine[a0] + code2; +- ++a0; +- if (codingLine[a0] >= columns) { +- break; +- } ++ addPixels(codingLine[a0i] + code1, blackPixels); ++ blackPixels ^= 1; + } + } + +- if (codingLine[a0] != columns) { +- error(getPos(), "CCITTFax row is wrong length (%d)", codingLine[a0]); +- // force the row to be the correct length +- while (codingLine[a0] > columns) { +- --a0; +- } +- codingLine[++a0] = columns; +- err = gTrue; +- } +- + // byte-align the row + if (byteAlign) { + inputBits &= ~7; +@@ -1562,14 +1582,17 @@ + // this if we know the stream contains end-of-line markers because + // the "just plow on" technique tends to work better otherwise + } else if (err && endOfLine) { +- do { ++ while (1) { ++ code1 = lookBits(13); + if (code1 == EOF) { + eof = gTrue; + return EOF; + } ++ if ((code1 >> 1) == 0x001) { ++ break; ++ } + eatBits(1); +- code1 = lookBits(13); +- } while ((code1 >> 1) != 0x001); ++ } + eatBits(12); + if (encoding > 0) { + eatBits(1); +@@ -1577,11 +1600,11 @@ + } + } + +- a0 = 0; +- outputBits = codingLine[1] - codingLine[0]; +- if (outputBits == 0) { +- a0 = 1; +- outputBits = codingLine[2] - codingLine[1]; ++ // set up for output ++ if (codingLine[0] > 0) { ++ outputBits = codingLine[a0i = 0]; ++ } else { ++ outputBits = codingLine[a0i = 1]; + } + + ++row; +@@ -1589,39 +1612,43 @@ + + // get a byte + if (outputBits >= 8) { +- ret = ((a0 & 1) == 0) ? 0xff : 0x00; +- if ((outputBits -= 8) == 0) { +- ++a0; +- if (codingLine[a0] < columns) { +- outputBits = codingLine[a0 + 1] - codingLine[a0]; +- } ++ buf = (a0i & 1) ? 0x00 : 0xff; ++ outputBits -= 8; ++ if (outputBits == 0 && codingLine[a0i] < columns) { ++ ++a0i; ++ outputBits = codingLine[a0i] - codingLine[a0i - 1]; + } + } else { + bits = 8; +- ret = 0; ++ buf = 0; + do { + if (outputBits > bits) { +- i = bits; +- bits = 0; +- if ((a0 & 1) == 0) { +- ret |= 0xff >> (8 - i); ++ buf <<= bits; ++ if (!(a0i & 1)) { ++ buf |= 0xff >> (8 - bits); + } +- outputBits -= i; ++ outputBits -= bits; ++ bits = 0; + } else { +- i = outputBits; +- bits -= outputBits; +- if ((a0 & 1) == 0) { +- ret |= (0xff >> (8 - i)) << bits; ++ buf <<= outputBits; ++ if (!(a0i & 1)) { ++ buf |= 0xff >> (8 - outputBits); + } ++ bits -= outputBits; + outputBits = 0; +- ++a0; +- if (codingLine[a0] < columns) { +- outputBits = codingLine[a0 + 1] - codingLine[a0]; ++ if (codingLine[a0i] < columns) { ++ ++a0i; ++ outputBits = codingLine[a0i] - codingLine[a0i - 1]; ++ } else if (bits > 0) { ++ buf <<= bits; ++ bits = 0; + } + } +- } while (bits > 0 && codingLine[a0] < columns); ++ } while (bits); + } +- buf = black ? (ret ^ 0xff) : ret; ++ if (black) { ++ buf ^= 0xff; ++ } + return buf; + } + +@@ -1663,6 +1690,9 @@ + code = 0; // make gcc happy + if (endOfBlock) { + code = lookBits(12); ++ if (code == EOF) { ++ return 1; ++ } + if ((code >> 5) == 0) { + p = &whiteTab1[code]; + } else { +@@ -1675,6 +1705,9 @@ + } else { + for (n = 1; n <= 9; ++n) { + code = lookBits(n); ++ if (code == EOF) { ++ return 1; ++ } + if (n < 9) { + code <<= 9 - n; + } +@@ -1686,6 +1719,9 @@ + } + for (n = 11; n <= 12; ++n) { + code = lookBits(n); ++ if (code == EOF) { ++ return 1; ++ } + if (n < 12) { + code <<= 12 - n; + } +@@ -1711,9 +1747,12 @@ + code = 0; // make gcc happy + if (endOfBlock) { + code = lookBits(13); ++ if (code == EOF) { ++ return 1; ++ } + if ((code >> 7) == 0) { + p = &blackTab1[code]; +- } else if ((code >> 9) == 0) { ++ } else if ((code >> 9) == 0 && (code >> 7) != 0) { + p = &blackTab2[(code >> 1) - 64]; + } else { + p = &blackTab3[code >> 7]; +@@ -1725,6 +1764,9 @@ + } else { + for (n = 2; n <= 6; ++n) { + code = lookBits(n); ++ if (code == EOF) { ++ return 1; ++ } + if (n < 6) { + code <<= 6 - n; + } +@@ -1736,6 +1778,9 @@ + } + for (n = 7; n <= 12; ++n) { + code = lookBits(n); ++ if (code == EOF) { ++ return 1; ++ } + if (n < 12) { + code <<= 12 - n; + } +@@ -1749,6 +1794,9 @@ + } + for (n = 10; n <= 13; ++n) { + code = lookBits(n); ++ if (code == EOF) { ++ return 1; ++ } + if (n < 13) { + code <<= 13 - n; + } +@@ -1963,6 +2011,12 @@ + // allocate a buffer for the whole image + bufWidth = ((width + mcuWidth - 1) / mcuWidth) * mcuWidth; + bufHeight = ((height + mcuHeight - 1) / mcuHeight) * mcuHeight; ++ if (bufWidth <= 0 || bufHeight <= 0 || ++ bufWidth > INT_MAX / bufWidth / (int)sizeof(int)) { ++ error(getPos(), "Invalid image size in DCT stream"); ++ y = height; ++ return; ++ } + for (i = 0; i < numComps; ++i) { + frameBuf[i] = (int *)gmallocn(bufWidth * bufHeight, sizeof(int)); + memset(frameBuf[i], 0, bufWidth * bufHeight * sizeof(int)); +@@ -3038,6 +3092,11 @@ + } + scanInfo.firstCoeff = str->getChar(); + scanInfo.lastCoeff = str->getChar(); ++ if (scanInfo.firstCoeff < 0 || scanInfo.lastCoeff > 63 || ++ scanInfo.firstCoeff > scanInfo.lastCoeff) { ++ error(getPos(), "Bad DCT coefficient numbers in scan info block"); ++ return gFalse; ++ } + c = str->getChar(); + scanInfo.ah = (c >> 4) & 0x0f; + scanInfo.al = c & 0x0f; +--- misc/xpdf-3.02/xpdf/Stream.h Tue Feb 27 23:05:52 2007 ++++ misc/build/xpdf-3.02/xpdf/Stream.h Mon Apr 21 15:42:50 2008 +@@ -528,13 +528,15 @@ + int row; // current row + int inputBuf; // input buffer + int inputBits; // number of bits in input buffer +- short *refLine; // reference line changing elements +- int b1; // index into refLine +- short *codingLine; // coding line changing elements +- int a0; // index into codingLine ++ int *codingLine; // coding line changing elements ++ int *refLine; // reference line changing elements ++ int a0i; // index into codingLine ++ GBool err; // error on current line + int outputBits; // remaining ouput bits + int buf; // character buffer + ++ void addPixels(int a1, int black); ++ void addPixelsNeg(int a1, int black); + short getTwoDimCode(); + short getWhiteCode(); + short getBlackCode(); -- cgit From a40c5862f8bf0c0bc496b6018a1e8579b1287076 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Thu, 24 Apr 2008 17:36:07 +0000 Subject: INTEGRATION: CWS pdfimportfix (1.1.4); FILE MERGED 2008/04/22 12:19:52 akhva 1.1.4.1: set off UWINAPILIB --- xpdf/wrapper/makefile.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xpdf/wrapper/makefile.mk b/xpdf/wrapper/makefile.mk index 921ea9a4aa48..c3a4a4d71c42 100644 --- a/xpdf/wrapper/makefile.mk +++ b/xpdf/wrapper/makefile.mk @@ -8,7 +8,7 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.2 $ +# $Revision: 1.3 $ # # This file is part of OpenOffice.org. # @@ -42,7 +42,7 @@ EXTERNAL_WARNINGS_NOT_ERRORS := TRUE .INCLUDE: settings.mk # --- Files -------------------------------------------------------- - +UWINAPILIB:= APP1TARGET=$(TARGET) APP1LIBSALCPPRT= APP1OBJS= \ -- cgit From f9fef426a220079258a8d81f5debebe21318f3f3 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Thu, 24 Apr 2008 17:36:20 +0000 Subject: INTEGRATION: CWS pdfimportfix (1.1.4); FILE MERGED 2008/04/22 09:04:45 akhva 1.1.4.1: PDF perpitions handling --- xpdf/wrapper/wrapper_gpl.cxx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/xpdf/wrapper/wrapper_gpl.cxx b/xpdf/wrapper/wrapper_gpl.cxx index c3b1c5c4dbe2..c7b379614af1 100644 --- a/xpdf/wrapper/wrapper_gpl.cxx +++ b/xpdf/wrapper/wrapper_gpl.cxx @@ -4,9 +4,9 @@ * * $RCSfile: wrapper_gpl.cxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: thb $ $Date: 2007-12-05 14:16:44 $ + * last change: $Author: ihi $ $Date: 2008-04-24 18:36:20 $ * * The Contents of this file are made available subject to * the terms of GNU General Public License Version 2. @@ -35,6 +35,7 @@ ************************************************************************/ #include "pdfioutdev_gpl.hxx" +#include "SecurityHandler.h" #ifdef WNT # include # include /*_O_BINARY*/ @@ -93,9 +94,21 @@ int main(int argc, char **argv) PDFDoc aDoc( pFileName, pOwnerPasswordStr, pUserPasswordStr ); + // Check various permissions. + if ( !aDoc.okToPrint() || + !aDoc.okToChange()|| + !aDoc.okToCopy()|| + !aDoc.okToAddNotes() ) + { + return 1; + } + + if( !aDoc.isOk() ) return 1; + if ((userPassword[0] != '\001')||(ownerPassword[0] != '\001')) + return 1; pdfi::PDFOutDev* pOutDev( new pdfi::PDFOutDev(&aDoc) ); -- cgit From 7a456c003812534bbec937bce192cd94355f47ba Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Tue, 6 May 2008 14:50:16 +0000 Subject: INTEGRATION: CWS wikiext03 (1.25.4); FILE MERGED 2008/05/02 11:58:16 mav 1.25.4.1: #i88649# not all servers allow access the ShortURL directly --- .../com/sun/star/wiki/WikiEditSettingDialog.java | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java index e5216df5fdfc..d192b9e8c07c 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java +++ b/swext/mediawiki/src/com/sun/star/wiki/WikiEditSettingDialog.java @@ -8,7 +8,7 @@ * * $RCSfile: WikiEditSettingDialog.java,v $ * - * $Revision: 1.25 $ + * $Revision: 1.26 $ * * This file is part of OpenOffice.org. * @@ -213,6 +213,7 @@ public class WikiEditSettingDialog extends WikiDialog HostConfiguration aHostConfig = new HostConfiguration(); boolean bInitHost = true; + boolean bAllowIndex = true; do { @@ -293,14 +294,24 @@ public class WikiEditSettingDialog extends WikiDialog } else if ( sRedirectURL == null || sRedirectURL.length() == 0 ) { - // URL invalid - // show error - Helper.ShowError( m_xContext, - m_xDialog, - Helper.DLG_MEDIAWIKI_TITLE, - Helper.INVALIDURL_ERROR, - null, - false ); + if ( sURL.length() > 0 && !sURL.endsWith( "index.php" ) && bAllowIndex ) + { + // the used MainURL is not alwais directly accessible + // add the suffix as workaround, but only once + sRedirectURL = sURL + "/index.php"; + bAllowIndex = false; + } + else + { + // URL invalid + // show error + Helper.ShowError( m_xContext, + m_xDialog, + Helper.DLG_MEDIAWIKI_TITLE, + Helper.INVALIDURL_ERROR, + null, + false ); + } } } else -- cgit From be46996fa10461a9a07c7ec0686fdb8f27a4ca19 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:26:58 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:51 af 1.2.4.3: RESYNC: (1.2-1.3); FILE MERGED 2008/04/18 14:51:11 af 1.2.4.2: #i18486# Changed implementation of PresenterTimer. 2008/04/16 15:23:30 af 1.2.4.1: #i18486# Code cleanup. --- sdext/source/presenter/PresenterAnimator.cxx | 35 +++++++--------------------- 1 file changed, 9 insertions(+), 26 deletions(-) diff --git a/sdext/source/presenter/PresenterAnimator.cxx b/sdext/source/presenter/PresenterAnimator.cxx index 3e2cf2f8dc48..b4fc64bc416c 100644 --- a/sdext/source/presenter/PresenterAnimator.cxx +++ b/sdext/source/presenter/PresenterAnimator.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterAnimator.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -31,6 +31,7 @@ #include "PresenterAnimator.hxx" +#include "PresenterTimer.hxx" #include #include #include @@ -41,30 +42,12 @@ namespace sdext { namespace presenter { -//===== PresenterAnimator::Timer ============================================== - -class PresenterAnimator::Timer : public ::vos::OTimer -{ -public: - typedef ::boost::function0 Callback; - Timer (const Callback& rCallback) : maCallback(rCallback){ acquire(); }; - virtual ~Timer (void) { }; - void Dispose (void) { stop(); release(); }; -protected: - virtual void SAL_CALL onShot (void) { maCallback(); }; -private: - Callback maCallback; -}; - - - - //===== PresenterAnimator ===================================================== PresenterAnimator::PresenterAnimator (void) : maFutureAnimations(), maActiveAnimations(), - mpTimer(new Timer(::boost::bind(&PresenterAnimator::Process, this))), + mnCurrentTaskId(0), mnNextTime(0) { } @@ -74,7 +57,7 @@ PresenterAnimator::PresenterAnimator (void) PresenterAnimator::~PresenterAnimator (void) { - mpTimer->Dispose(); + PresenterTimer::CancelTask(mnCurrentTaskId); } @@ -97,7 +80,6 @@ void PresenterAnimator::Process (void) ::osl::MutexGuard aGuard (m_aMutex); mnNextTime = 0; - mpTimer->stop(); const sal_uInt64 nCurrentTime (GetCurrentTime()); @@ -120,7 +102,8 @@ void PresenterAnimator::Process (void) else if (nProgress >= 1) nProgress = 1; - OSL_TRACE("running animation step at %d (requested was %d)\n", nCurrentTime, nRequestedTime); + OSL_TRACE("running animation step at %f (requested was %f) %f\n", + nCurrentTime/1e6, nRequestedTime/1e6, nProgress); pAnimation->Run(nProgress, nCurrentTime); if (nCurrentTime < pAnimation->GetEndTime()) @@ -179,10 +162,10 @@ void PresenterAnimator::ScheduleNextRun (const sal_uInt64 nStartTime) if (mnNextTime==0 || nStartTimestop(); ::vos::TTimeValue aTimeValue (GetSeconds(mnNextTime), GetNanoSeconds(mnNextTime)); - mpTimer->setAbsoluteTime(aTimeValue); - mpTimer->start(); + PresenterTimer::ScheduleSingleTaskAbsolute ( + ::boost::bind(&PresenterAnimator::Process, this), + aTimeValue); } } -- cgit From 961c9f77cce91fc1aec6021e308d7f1097e718bf Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:27:11 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:25:57 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/18 14:51:11 af 1.2.4.1: #i18486# Changed implementation of PresenterTimer. --- sdext/source/presenter/PresenterAnimator.hxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sdext/source/presenter/PresenterAnimator.hxx b/sdext/source/presenter/PresenterAnimator.hxx index 307644ecc1ec..71656f707de3 100644 --- a/sdext/source/presenter/PresenterAnimator.hxx +++ b/sdext/source/presenter/PresenterAnimator.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterAnimator.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -61,8 +61,7 @@ private: typedef ::std::multimap AnimationList; AnimationList maFutureAnimations; AnimationList maActiveAnimations; - class Timer; - ::boost::scoped_ptr mpTimer; + sal_Int32 mnCurrentTaskId; sal_uInt64 mnNextTime; void Process (void); -- cgit From a0fe5db9655fb9f462520631b99e81734e88a51d Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:27:23 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:29 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:25:39 af 1.2.4.1: #i18486# Merged bitmap description of this container and PresenterTheme. --- .../source/presenter/PresenterBitmapContainer.cxx | 481 ++++++++++++++++----- 1 file changed, 384 insertions(+), 97 deletions(-) diff --git a/sdext/source/presenter/PresenterBitmapContainer.cxx b/sdext/source/presenter/PresenterBitmapContainer.cxx index e52f397e6141..d42e93a713cf 100644 --- a/sdext/source/presenter/PresenterBitmapContainer.cxx +++ b/sdext/source/presenter/PresenterBitmapContainer.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterBitmapContainer.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -51,15 +51,93 @@ using ::rtl::OUString; namespace sdext { namespace presenter { +namespace { +static OUString gsNameProperty (A2S("Name")); +static OUString gsNormalFileNameProperty (A2S("NormalFileName")); +static OUString gsMouseOverFileNameProperty (A2S("MouseOverFileName")); +static OUString gsButtonDownFileNameProperty (A2S("ButtonDownFileName")); +static OUString gsDisabledFileNameProperty (A2S("DisabledFileName")); +static OUString gsMaskFileNameProperty (A2S("MaskFileName")); +static OUString gsXOffsetProperty (A2S("XOffset")); +static OUString gsYOffsetProperty (A2S("YOffset")); +static OUString gsXHotSpotProperty (A2S("XHotSpot")); +static OUString gsYHotSpotProperty (A2S("YHotSpot")); +static OUString gsReplacementColorProperty (A2S("ReplacementColor")); +static OUString gsHorizontalTexturingModeProperty (A2S("HorizontalTexturingMode")); +static OUString gsVerticalTexturingModeProperty (A2S("VerticalTexturingMode")); +} + //===== PresenterBitmapContainer ============================================== PresenterBitmapContainer::PresenterBitmapContainer ( + const ::rtl::OUString& rsConfigurationBase, + const ::boost::shared_ptr& rpParentContainer, + const css::uno::Reference& rxComponentContext, + const css::uno::Reference& rxCanvas, + const OUString& rsBasePath, + const css::uno::Reference& rxPresenterHelper) + : mpParentContainer(rpParentContainer), + maIconContainer(), + msBasePath(rsBasePath), + mxCanvas(rxCanvas), + mxPresenterHelper(rxPresenterHelper) +{ + Initialize(rxComponentContext); + + // Get access to the configuration. + PresenterConfigurationAccess aConfiguration ( + rxComponentContext, + A2S("org.openoffice.Office.extension.PresenterScreen"), + PresenterConfigurationAccess::READ_ONLY); + Reference xBitmapList ( + aConfiguration.GetConfigurationNode(rsConfigurationBase), + UNO_QUERY_THROW); + + LoadBitmaps(xBitmapList); +} + + + + + +PresenterBitmapContainer::PresenterBitmapContainer ( + const css::uno::Reference& rxRootNode, + const ::boost::shared_ptr& rpParentContainer, const css::uno::Reference& rxComponentContext, const css::uno::Reference& rxCanvas, - const ::rtl::OUString& rsConfigurationBase) - : maIconContainer() + const OUString& rsBasePath, + const css::uno::Reference& rxPresenterHelper) + : mpParentContainer(rpParentContainer), + maIconContainer(), + msBasePath(rsBasePath), + mxCanvas(rxCanvas), + mxPresenterHelper(rxPresenterHelper) +{ + Initialize(rxComponentContext); + + LoadBitmaps(rxRootNode); +} + + + + +void PresenterBitmapContainer::Initialize ( + const css::uno::Reference& rxComponentContext) { - LoadButtons(rxComponentContext, rxCanvas, rsConfigurationBase); + if ( ! mxPresenterHelper.is()) + { + // Create an object that is able to load the bitmaps in a format that is + // supported by the canvas. + Reference xFactory ( + rxComponentContext->getServiceManager(), UNO_QUERY); + if ( ! xFactory.is()) + return; + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + A2S("com.sun.star.drawing.PresenterHelper"), + rxComponentContext), + UNO_QUERY_THROW); + } } @@ -73,77 +151,38 @@ PresenterBitmapContainer::~PresenterBitmapContainer (void) -PresenterBitmapContainer::BitmapSet PresenterBitmapContainer::GetButtons ( +SharedBitmapDescriptor PresenterBitmapContainer::GetBitmap ( const OUString& rsName) const { BitmapContainer::const_iterator iSet (maIconContainer.find(rsName)); if (iSet != maIconContainer.end()) return iSet->second; + else if (mpParentContainer.get() != NULL) + return mpParentContainer->GetBitmap(rsName); else - return BitmapSet(); + return SharedBitmapDescriptor(); } -void PresenterBitmapContainer::LoadButtons ( - const css::uno::Reference& rxComponentContext, - const css::uno::Reference& rxCanvas, - const ::rtl::OUString& rsConfigurationBase) +void PresenterBitmapContainer::LoadBitmaps ( + const css::uno::Reference& rxBitmapList) { - if ( ! rxCanvas.is()) + if ( ! mxCanvas.is()) + return; + + if ( ! rxBitmapList.is()) return; try { - // Get access to the configuration. - PresenterConfigurationAccess aConfiguration ( - rxComponentContext, - A2S("org.openoffice.Office.extension.PresenterScreen"), - PresenterConfigurationAccess::READ_ONLY); - Reference xBitmapList ( - aConfiguration.GetConfigurationNode(rsConfigurationBase), - UNO_QUERY_THROW); - - // Determine the base path of the bitmaps. - Reference xInformationProvider ( - rxComponentContext->getValueByName(OUString::createFromAscii( - "/singletons/com.sun.star.deployment.PackageInformationProvider")), - UNO_QUERY_THROW); - OUString sLocation; - if (xInformationProvider.is()) - sLocation = xInformationProvider->getPackageLocation(gsExtensionIdentifier); - sLocation += A2S("/"); - - // Create an object that is able to load the bitmaps in a format that is - // supported by the canvas. - Reference xFactory ( - rxComponentContext->getServiceManager(), UNO_QUERY); - if ( ! xFactory.is()) - return; - Reference xBitmapLoader( - xFactory->createInstanceWithContext( - A2S("com.sun.star.drawing.PresenterHelper"), - rxComponentContext), - UNO_QUERY_THROW); - // Load all button bitmaps. - if (xBitmapList.is()) + if (rxBitmapList.is()) { - vector aProperties (4); - aProperties[0] = A2S("Name"); - aProperties[1] = A2S("NormalFileName"); - aProperties[2] = A2S("MouseOverFileName"); - aProperties[3] = A2S("ButtonDownFileName"); PresenterConfigurationAccess::ForAll( - xBitmapList, - aProperties, - ::boost::bind(&PresenterBitmapContainer::ProcessBitmap, this, - _1, - _2, - sLocation, - rxCanvas, - xBitmapLoader)); + rxBitmapList, + ::boost::bind(&PresenterBitmapContainer::ProcessBitmap, this, _1, _2)); } } catch (Exception&) @@ -155,68 +194,314 @@ void PresenterBitmapContainer::LoadButtons ( +SharedBitmapDescriptor PresenterBitmapContainer::LoadBitmap ( + const css::uno::Reference& rxNode, + const ::rtl::OUString& rsPath, + const css::uno::Reference& rxPresenterHelper, + const OUString& rsBasePath, + const css::uno::Reference& rxCanvas, + const SharedBitmapDescriptor& rpDefault) +{ + SharedBitmapDescriptor pBitmap; + + if (rxNode.is()) + { + try + { + Reference xBitmapProperties ( + PresenterConfigurationAccess::GetConfigurationNode(rxNode, rsPath), + UNO_QUERY); + if (xBitmapProperties.is()) + pBitmap = LoadBitmap( + xBitmapProperties, + rxPresenterHelper, + rsBasePath, + rxCanvas, + rpDefault); + } + catch (Exception&) + { + OSL_ASSERT(false); + } + } + + return pBitmap; +} + + + + void PresenterBitmapContainer::ProcessBitmap ( const OUString& rsKey, - const vector& rValues, - const OUString& rsLocation, + const Reference& rxProperties) +{ + OUString sName; + if ( ! (PresenterConfigurationAccess::GetProperty(rxProperties, gsNameProperty) >>= sName)) + sName = rsKey; + + maIconContainer[sName] = LoadBitmap( + rxProperties, + mxPresenterHelper, + msBasePath, + mxCanvas, + SharedBitmapDescriptor()); +} + + + + +SharedBitmapDescriptor PresenterBitmapContainer::LoadBitmap ( + const Reference& rxProperties, + const css::uno::Reference& rxPresenterHelper, + const OUString& rsBasePath, const css::uno::Reference& rxCanvas, - const Reference& rxBitmapLoader) + const SharedBitmapDescriptor& rpDefault) { - (void)rsKey; OSL_ASSERT(rxCanvas.is()); - OSL_ASSERT(rxBitmapLoader.is()); + OSL_ASSERT(rxPresenterHelper.is()); - if (rValues.size() != 4) - return; + SharedBitmapDescriptor pBitmap (new BitmapDescriptor(rpDefault)); - OUString sName; - rValues[0] >>= sName; + if ( ! rxProperties.is()) + return pBitmap; - BitmapSet aIconSet; - try + OUString sFileName; + + // Load bitmaps. + if (PresenterConfigurationAccess::GetProperty(rxProperties, gsNormalFileNameProperty) >>= sFileName) + try + { + pBitmap->SetBitmap( + BitmapDescriptor::Normal, + rxPresenterHelper->loadBitmap(rsBasePath + sFileName, rxCanvas)); + } + catch (Exception&) + {} + if (PresenterConfigurationAccess::GetProperty(rxProperties, gsMouseOverFileNameProperty) >>= sFileName) + try + { + pBitmap->SetBitmap( + BitmapDescriptor::MouseOver, + rxPresenterHelper->loadBitmap(rsBasePath + sFileName, rxCanvas)); + } + catch (Exception&) + {} + if (PresenterConfigurationAccess::GetProperty(rxProperties, gsButtonDownFileNameProperty) >>= sFileName) + try + { + pBitmap->SetBitmap( + BitmapDescriptor::ButtonDown, + rxPresenterHelper->loadBitmap(rsBasePath + sFileName, rxCanvas)); + } + catch (Exception&) + {} + if (PresenterConfigurationAccess::GetProperty(rxProperties, gsDisabledFileNameProperty) >>= sFileName) + try + { + pBitmap->SetBitmap( + BitmapDescriptor::Disabled, + rxPresenterHelper->loadBitmap(rsBasePath + sFileName, rxCanvas)); + } + catch (Exception&) + {} + if (PresenterConfigurationAccess::GetProperty(rxProperties, gsMaskFileNameProperty) >>= sFileName) + try + { + pBitmap->SetBitmap( + BitmapDescriptor::Mask, + rxPresenterHelper->loadBitmap(rsBasePath + sFileName, rxCanvas)); + } + catch (Exception&) + {} + + + PresenterConfigurationAccess::GetProperty(rxProperties, gsXOffsetProperty) >>= pBitmap->mnXOffset; + PresenterConfigurationAccess::GetProperty(rxProperties, gsYOffsetProperty) >>= pBitmap->mnYOffset; + + PresenterConfigurationAccess::GetProperty(rxProperties, gsXHotSpotProperty) >>= pBitmap->mnXHotSpot; + PresenterConfigurationAccess::GetProperty(rxProperties, gsYHotSpotProperty) >>= pBitmap->mnYHotSpot; + + PresenterConfigurationAccess::GetProperty(rxProperties, gsReplacementColorProperty) >>= pBitmap->maReplacementColor; + + OUString sTexturingMode; + if (PresenterConfigurationAccess::GetProperty(rxProperties, gsHorizontalTexturingModeProperty) >>= sTexturingMode) + pBitmap->meHorizontalTexturingMode = StringToTexturingMode(sTexturingMode); + if (PresenterConfigurationAccess::GetProperty(rxProperties, gsVerticalTexturingModeProperty) >>= sTexturingMode) + pBitmap->meVerticalTexturingMode = StringToTexturingMode(sTexturingMode); + + return pBitmap; +} + + + + +PresenterBitmapContainer::BitmapDescriptor::TexturingMode + PresenterBitmapContainer::StringToTexturingMode (const OUString& rsTexturingMode) +{ + if (rsTexturingMode == A2S("Once")) + return PresenterBitmapContainer::BitmapDescriptor::Once; + else if (rsTexturingMode == A2S("Repeat")) + return PresenterBitmapContainer::BitmapDescriptor::Repeat; + else if (rsTexturingMode == A2S("Stretch")) + return PresenterBitmapContainer::BitmapDescriptor::Stretch; + else + return PresenterBitmapContainer::BitmapDescriptor::Once; +} + + + + +//===== PresenterBitmapContainer::BitmapSet =================================== + +PresenterBitmapContainer::BitmapDescriptor::BitmapDescriptor (void) + : mnWidth(0), + mnHeight(0), + mnXOffset(0), + mnYOffset(0), + mnXHotSpot(0), + mnYHotSpot(0), + maReplacementColor(0x00000000), + meHorizontalTexturingMode(Once), + meVerticalTexturingMode(Once), + mxNormalBitmap(), + mxMouseOverBitmap(), + mxButtonDownBitmap(), + mxDisabledBitmap(), + mxMaskBitmap() +{ +} + + + + +PresenterBitmapContainer::BitmapDescriptor::BitmapDescriptor ( + const ::boost::shared_ptr& rpDefault) + : mnWidth(0), + mnHeight(0), + mnXOffset(0), + mnYOffset(0), + mnXHotSpot(0), + mnYHotSpot(0), + maReplacementColor(0x00000000), + meHorizontalTexturingMode(Once), + meVerticalTexturingMode(Once), + mxNormalBitmap(), + mxMouseOverBitmap(), + mxButtonDownBitmap(), + mxDisabledBitmap(), + mxMaskBitmap() +{ + if (rpDefault.get() != NULL) { - OUString sNormalIconName; - if (rValues[1] >>= sNormalIconName) - aIconSet.mxNormalIcon = rxBitmapLoader->loadBitmap( - rsLocation + sNormalIconName, - rxCanvas); + mnWidth = rpDefault->mnWidth; + mnHeight = rpDefault->mnHeight; + mnXOffset = rpDefault->mnXOffset; + mnYOffset = rpDefault->mnYOffset; + mnXHotSpot = rpDefault->mnXHotSpot; + mnYHotSpot = rpDefault->mnYHotSpot; + maReplacementColor = rpDefault->maReplacementColor; + meHorizontalTexturingMode = rpDefault->meHorizontalTexturingMode; + meVerticalTexturingMode = rpDefault->meVerticalTexturingMode; + mxNormalBitmap = rpDefault->mxNormalBitmap; + mxMouseOverBitmap = rpDefault->mxMouseOverBitmap; + mxButtonDownBitmap = rpDefault->mxButtonDownBitmap; + mxDisabledBitmap = rpDefault->mxDisabledBitmap; + mxMaskBitmap = rpDefault->mxMaskBitmap; } - catch (Exception&) {} - try +} + + +css::uno::Reference + PresenterBitmapContainer::BitmapDescriptor::GetNormalBitmap (void) const +{ + return mxNormalBitmap; +} + + + + +css::uno::Reference + PresenterBitmapContainer::BitmapDescriptor::GetBitmap ( + const Mode eMode, + const bool bMissingDefaultsToNormal) const +{ + switch (eMode) { - OUString sMouseOverIconName; - if (rValues[2] >>= sMouseOverIconName) - aIconSet.mxMouseOverIcon = rxBitmapLoader->loadBitmap( - rsLocation + sMouseOverIconName, - rxCanvas); + case Normal: + default: + return mxNormalBitmap; + + case MouseOver: + if (mxMouseOverBitmap.is()) + return mxMouseOverBitmap; + else if (bMissingDefaultsToNormal) + return mxNormalBitmap; + + case ButtonDown: + if (mxButtonDownBitmap.is()) + return mxButtonDownBitmap; + else if (bMissingDefaultsToNormal) + return mxNormalBitmap; + + case Disabled: + if (mxDisabledBitmap.is()) + return mxDisabledBitmap; + else if (bMissingDefaultsToNormal) + return mxNormalBitmap; + + case Mask: + return mxMaskBitmap; } - catch (Exception&) {} - try + return NULL; +} + + + + +void PresenterBitmapContainer::BitmapDescriptor::SetBitmap ( + const Mode eMode, + const css::uno::Reference& rxBitmap) +{ + switch (eMode) { - OUString sButtonDownIconName; - if (rValues[3] >>= sButtonDownIconName) - aIconSet.mxButtonDownIcon = rxBitmapLoader->loadBitmap( - rsLocation + sButtonDownIconName, - rxCanvas); - } - catch (Exception&) {} + case Normal: + default: + mxNormalBitmap = rxBitmap; + if (mxNormalBitmap.is()) + { + const geometry::IntegerSize2D aSize (mxNormalBitmap->getSize()); + mnWidth = aSize.Width; + mnHeight = aSize.Height; + } + break; - aIconSet.Update(rxCanvas->getDevice()); + case MouseOver: + mxMouseOverBitmap = rxBitmap; + break; - maIconContainer.insert(BitmapContainer::value_type(sName,aIconSet)); -} + case ButtonDown: + mxButtonDownBitmap = rxBitmap; + break; + case Disabled: + mxDisabledBitmap = rxBitmap; + break; + + case Mask: + mxMaskBitmap = rxBitmap; + break; + } +} -//===== PresenterBitmapContainer::BitmapSet =================================== -void PresenterBitmapContainer::BitmapSet::Update ( +void PresenterBitmapContainer::BitmapDescriptor::Update ( const Reference& rxDevice) { - if (mxNormalIcon.is() && ! mxMouseOverIcon.is()) + if (mxNormalBitmap.is() && ! mxMouseOverBitmap.is()) { - const geometry::IntegerSize2D aSize (mxNormalIcon->getSize()); + const geometry::IntegerSize2D aSize (mxNormalBitmap->getSize()); Reference xHighlight(rxDevice->createCompatibleBitmap(aSize)); if (xHighlight.is()) { @@ -225,15 +510,17 @@ void PresenterBitmapContainer::BitmapSet::Update ( { double aColor[] = {0,0,0,128}; xHighlightCanvas->drawBitmapModulated( - mxNormalIcon, + mxNormalBitmap, rendering::ViewState(geometry::AffineMatrix2D(1,0,0,0,1,0), NULL), rendering::RenderState(geometry::AffineMatrix2D(1,0,0,0,1,0), NULL, Sequence(aColor,4),rendering::CompositeOperation::SOURCE)); - mxMouseOverIcon = xHighlight; + mxMouseOverBitmap = xHighlight; } } } } + + } } // end of namespace ::sdext::presenter -- cgit From 690b0e1f33d4426cd7afdf6b35404090e56344b3 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:27:37 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:25:23 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:25:28 af 1.2.4.1: #i18486# Merged bitmap description of this container and PresenterTheme. --- .../source/presenter/PresenterBitmapContainer.hxx | 95 ++++++++++++++++++---- 1 file changed, 79 insertions(+), 16 deletions(-) diff --git a/sdext/source/presenter/PresenterBitmapContainer.hxx b/sdext/source/presenter/PresenterBitmapContainer.hxx index cb2228ccfbdc..d3d7297bc052 100644 --- a/sdext/source/presenter/PresenterBitmapContainer.hxx +++ b/sdext/source/presenter/PresenterBitmapContainer.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterBitmapContainer.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -32,14 +32,19 @@ #ifndef SDEXT_PRESENTER_BITMAP_CONTAINER_HXX #define SDEXT_PRESENTER_BITMAP_CONTAINER_HXX +#include +#include +#include #include -#include #include #include +#include +#include #include #include #include #include +#include namespace css = ::com::sun::star; @@ -58,18 +63,44 @@ public: /** There is one bitmap for the normal state, one for a mouse over effect and one to show that a button has been pressed. */ - class BitmapSet + class BitmapDescriptor { public: - css::uno::Reference mxNormalIcon; - css::uno::Reference mxMouseOverIcon; - css::uno::Reference mxButtonDownIcon; + BitmapDescriptor (void); + BitmapDescriptor (const ::boost::shared_ptr& rpDefault); + + enum Mode {Normal, MouseOver, ButtonDown, Disabled, Mask}; + css::uno::Reference GetNormalBitmap (void) const; + css::uno::Reference GetBitmap ( + const Mode eMode, + const bool bMissingDefaultsToNormal = true) const; + void SetBitmap ( + const Mode eMode, + const css::uno::Reference& rxBitmap); + + sal_Int32 mnWidth; + sal_Int32 mnHeight; + sal_Int32 mnXOffset; + sal_Int32 mnYOffset; + sal_Int32 mnXHotSpot; + sal_Int32 mnYHotSpot; + css::util::Color maReplacementColor; + enum TexturingMode { Once, Repeat, Stretch }; + TexturingMode meHorizontalTexturingMode; + TexturingMode meVerticalTexturingMode; /** Fill in missing bitmaps by making mxNormalIcon lighter or darker. */ void Update ( const css::uno::Reference& rxDevice); + + private: + css::uno::Reference mxNormalBitmap; + css::uno::Reference mxMouseOverBitmap; + css::uno::Reference mxButtonDownBitmap; + css::uno::Reference mxDisabledBitmap; + css::uno::Reference mxMaskBitmap; }; /** Create a new bitmap container from a section of the configuration. @@ -82,31 +113,63 @@ public: bitmap sets. */ PresenterBitmapContainer ( + const ::rtl::OUString& rsConfigurationBase, + const ::boost::shared_ptr& rpParentContainer, + const css::uno::Reference& rxComponentContext, + const css::uno::Reference& rxCanvas, + const ::rtl::OUString& rsBasePath, + const css::uno::Reference& rxPresenterHelper = NULL); + PresenterBitmapContainer ( + const css::uno::Reference& rsRootNode, + const ::boost::shared_ptr& rpParentContainer, const css::uno::Reference& rxComponentContext, const css::uno::Reference& rxCanvas, - const ::rtl::OUString& rsConfigurationBase); + const ::rtl::OUString& rsBasePath, + const css::uno::Reference& rxPresenterHelper = NULL); ~PresenterBitmapContainer (void); + void Initialize ( + const css::uno::Reference& rxComponentContext); + /** Return the bitmap set that is associated with the given name. */ - BitmapSet GetButtons (const ::rtl::OUString& rsName) const; + ::boost::shared_ptr GetBitmap (const ::rtl::OUString& rsName) const; + + static ::boost::shared_ptr LoadBitmap ( + const css::uno::Reference& rxNode, + const ::rtl::OUString& rsPathToBitmapNode, + const css::uno::Reference& rxPresenterHelper, + const ::rtl::OUString& rsBitmapBasePath, + const css::uno::Reference& rxCanvas, + const ::boost::shared_ptr& rpDefaultBitmap); private: - typedef ::std::map BitmapContainer; + ::boost::shared_ptr mpParentContainer; + typedef ::std::map > BitmapContainer; BitmapContainer maIconContainer; + ::rtl::OUString msBasePath; + css::uno::Reference mxCanvas; + css::uno::Reference mxPresenterHelper; - void LoadButtons ( - const css::uno::Reference& rxComponentContext, - const css::uno::Reference& rxCanvas, - const ::rtl::OUString& rsConfigurationBase); + void LoadBitmaps ( + const css::uno::Reference& rsRootNode); void ProcessBitmap ( const ::rtl::OUString& rsKey, - const ::std::vector& rValues, - const ::rtl::OUString& rsLocation, + const css::uno::Reference& rProperties); + static ::boost::shared_ptr LoadBitmap ( + const css::uno::Reference& rxProperties, + const css::uno::Reference& rxPresenterHelper, + const ::rtl::OUString& rsBasePath, const css::uno::Reference& rxCanvas, - const css::uno::Reference& rxBitmapLoader); + const ::boost::shared_ptr& rpDefault); + static BitmapDescriptor::TexturingMode + StringToTexturingMode (const ::rtl::OUString& rsTexturingMode); }; + +typedef PresenterBitmapContainer::BitmapDescriptor PresenterBitmapDescriptor; +typedef ::boost::shared_ptr SharedBitmapDescriptor; + } } // end of namespace ::sdext::presenter #endif -- cgit From 5810dc1b4ac82e513a151930670d112281dd49a9 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:27:48 +0000 Subject: INTEGRATION: CWS presenterscreen (1.1.2); FILE ADDED 2008/05/13 13:51:00 af 1.1.2.3: #i18486# Updated license header. 2008/04/16 16:59:12 af 1.1.2.2: #i18486# Fixed some Linux build problems. 2008/04/16 14:23:53 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterButton.cxx | 610 +++++++++++++++++++++++++++++ 1 file changed, 610 insertions(+) create mode 100644 sdext/source/presenter/PresenterButton.cxx diff --git a/sdext/source/presenter/PresenterButton.cxx b/sdext/source/presenter/PresenterButton.cxx new file mode 100644 index 000000000000..a0e4827a7309 --- /dev/null +++ b/sdext/source/presenter/PresenterButton.cxx @@ -0,0 +1,610 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterButton.cxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#include "PresenterButton.hxx" +#include "PresenterCanvasHelper.hxx" +#include "PresenterController.hxx" +#include "PresenterGeometryHelper.hxx" +#include "PresenterPaintManager.hxx" +#include "PresenterUIPainter.hxx" +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + +namespace sdext { namespace presenter { + +const static double gnHorizontalBorder (15); +const static double gnVerticalBorder (5); + + + +::rtl::Reference PresenterButton::Create ( + const css::uno::Reference& rxComponentContext, + const ::rtl::Reference& rpPresenterController, + const ::boost::shared_ptr& rpTheme, + const css::uno::Reference& rxParentWindow, + const css::uno::Reference& rxParentCanvas, + const OUString& rsConfigurationName) +{ + Reference xProperties (GetConfigurationProperties( + rxComponentContext, + rsConfigurationName)); + if (xProperties.is()) + { + OUString sText; + OUString sAction; + PresenterConfigurationAccess::GetProperty(xProperties, A2S("Text")) >>= sText; + PresenterConfigurationAccess::GetProperty(xProperties, A2S("Action")) >>= sAction; + + PresenterTheme::SharedFontDescriptor pFont; + if (rpTheme.get() != NULL) + pFont = rpTheme->GetFont(A2S("ButtonFont")); + + PresenterTheme::SharedFontDescriptor pMouseOverFont; + if (rpTheme.get() != NULL) + pMouseOverFont = rpTheme->GetFont(A2S("ButtonMouseOverFont")); + + rtl::Reference pButton ( + new PresenterButton( + rxComponentContext, + rpPresenterController, + rpTheme, + rxParentWindow, + pFont, + pMouseOverFont, + sText, + sAction)); + pButton->SetCanvas(rxParentCanvas, rxParentWindow); + return pButton; + } + else + return NULL; +} + + + + +PresenterButton::PresenterButton ( + const css::uno::Reference& rxComponentContext, + const ::rtl::Reference& rpPresenterController, + const ::boost::shared_ptr& rpTheme, + const css::uno::Reference& rxParentWindow, + const PresenterTheme::SharedFontDescriptor& rpFont, + const PresenterTheme::SharedFontDescriptor& rpMouseOverFont, + const OUString& rsText, + const OUString& rsAction) + : PresenterButtonInterfaceBase(m_aMutex), + mpPresenterController(rpPresenterController), + mpTheme(rpTheme), + mxWindow(), + mxCanvas(), + mxPresenterHelper(), + msText(rsText), + mpFont(rpFont), + mpMouseOverFont(rpMouseOverFont), + msAction(rsAction), + maCenter(), + maButtonSize(-1,-1), + meState(PresenterBitmapDescriptor::Normal), + mxNormalBitmap(), + mxMouseOverBitmap() +{ + try + { + Reference xFactory (rxComponentContext->getServiceManager()); + if ( ! xFactory.is()) + throw RuntimeException(); + + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + rxComponentContext), + UNO_QUERY_THROW); + + if (mxPresenterHelper.is()) + mxWindow = mxPresenterHelper->createWindow(rxParentWindow, + sal_False, + sal_False, + sal_False, + sal_False); + + // Make the background transparent. + Reference xPeer (mxWindow, UNO_QUERY_THROW); + if (xPeer.is()) + { + xPeer->setBackground(0xff000000); + } + + mxWindow->setVisible(sal_True); + mxWindow->addWindowListener(this); + mxWindow->addPaintListener(this); + mxWindow->addMouseListener(this); + mxWindow->addMouseMotionListener(this); + } + catch (RuntimeException&) + { + } +} + + + + +PresenterButton::~PresenterButton (void) +{ +} + + + + +void SAL_CALL PresenterButton::disposing (void) +{ + if (mxCanvas.is()) + { + Reference xComponent (mxCanvas, UNO_QUERY); + mxCanvas = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + if (mxWindow.is()) + { + mxWindow->removeWindowListener(this); + mxWindow->removePaintListener(this); + mxWindow->removeMouseListener(this); + mxWindow->removeMouseMotionListener(this); + Reference xComponent (mxWindow, UNO_QUERY); + mxWindow = NULL; + if (xComponent.is()) + xComponent->dispose(); + } +} + + + + +void PresenterButton::SetCenter (const css::geometry::RealPoint2D& rLocation) +{ + if (mxCanvas.is()) + { + Invalidate(); + + maCenter = rLocation; + mxWindow->setPosSize( + sal_Int32(0.5 + maCenter.X - maButtonSize.Width/2), + sal_Int32(0.5 + maCenter.Y - maButtonSize.Height/2), + maButtonSize.Width, + maButtonSize.Height, + awt::PosSize::POSSIZE); + + Invalidate(); + } + else + { + // The button can not be painted but we can at least store the new center. + maCenter = rLocation; + } +} + + + + +void PresenterButton::SetCanvas ( + const css::uno::Reference& rxParentCanvas, + const css::uno::Reference& rxParentWindow) +{ + if (mxCanvas.is()) + { + Reference xComponent (mxCanvas, UNO_QUERY); + mxCanvas = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + if (mxPresenterHelper.is() && rxParentCanvas.is() && rxParentWindow.is()) + { + mxCanvas = mxPresenterHelper->createSharedCanvas ( + Reference(rxParentCanvas, UNO_QUERY), + rxParentWindow, + rxParentCanvas, + rxParentWindow, + mxWindow); + if (mxCanvas.is()) + { + SetupButtonBitmaps(); + SetCenter(maCenter); + } + } +} + + + + +css::geometry::IntegerSize2D PresenterButton::GetSize (void) +{ + if (maButtonSize.Width < 0) + CalculateButtonSize(); + return maButtonSize; +} + + + + +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterButton::windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + + +void SAL_CALL PresenterButton::windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +void SAL_CALL PresenterButton::windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +void SAL_CALL PresenterButton::windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterButton::windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + if (mxWindow.is() && mxCanvas.is()) + { + Reference xBitmap; + if (meState == PresenterBitmapDescriptor::MouseOver) + xBitmap = mxMouseOverBitmap; + else + xBitmap = mxNormalBitmap; + if ( ! xBitmap.is()) + return; + + rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + PresenterGeometryHelper::CreatePolygon(rEvent.UpdateRect, mxCanvas->getDevice()), + Sequence(3), + rendering::CompositeOperation::SOURCE); + + mxCanvas->drawBitmap(xBitmap, aViewState, aRenderState); + + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); + } +} + + + + +//----- XMouseListener -------------------------------------------------------- + +void SAL_CALL PresenterButton::mousePressed (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + + meState = PresenterBitmapDescriptor::ButtonDown; +} + + + + +void SAL_CALL PresenterButton::mouseReleased (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + + if (meState == PresenterBitmapDescriptor::ButtonDown) + { + OSL_ASSERT(mpPresenterController.get()!=NULL); + mpPresenterController->DispatchUnoCommand(msAction); + + meState = PresenterBitmapDescriptor::Normal; + Invalidate(); + } +} + + + + +void SAL_CALL PresenterButton::mouseEntered (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + meState = PresenterBitmapDescriptor::MouseOver; + Invalidate(); +} + + + + +void SAL_CALL PresenterButton::mouseExited (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); + meState = PresenterBitmapDescriptor::Normal; + Invalidate(); +} + + + + + +//----- XMouseMotionListener -------------------------------------------------- + +void SAL_CALL PresenterButton::mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +void SAL_CALL PresenterButton::mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL PresenterButton::disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException) +{ + if (rEvent.Source == mxWindow) + mxWindow = NULL; +} + + + + +//----------------------------------------------------------------------------- + +css::geometry::IntegerSize2D PresenterButton::CalculateButtonSize (void) +{ + if (mpFont.get()!=NULL && !mpFont->mxFont.is() && mxCanvas.is()) + mpFont->PrepareFont(mxCanvas); + if (mpFont.get()==NULL || !mpFont->mxFont.is()) + return geometry::IntegerSize2D(-1,-1); + + geometry::RealSize2D aTextSize (PresenterCanvasHelper::GetTextSize(mpFont->mxFont,msText)); + + return geometry::IntegerSize2D ( + sal_Int32(0.5 + aTextSize.Width + 2*gnHorizontalBorder), + sal_Int32(0.5 + aTextSize.Height + 2*gnVerticalBorder)); +} + + + + +void PresenterButton::RenderButton ( + const Reference& rxCanvas, + const geometry::IntegerSize2D& rSize, + const PresenterTheme::SharedFontDescriptor& rpFont, + const css::uno::Reference& rxLeft, + const css::uno::Reference& rxCenter, + const css::uno::Reference& rxRight) +{ + if ( ! rxCanvas.is()) + return; + + const awt::Rectangle aBox(0,0, rSize.Width, rSize.Height); + + PresenterUIPainter::PaintHorizontalBitmapComposite ( + rxCanvas, + aBox, + aBox, + rxLeft, + rxCenter, + rxRight); + + if (rpFont.get()==NULL || ! rpFont->mxFont.is()) + return; + + const rendering::StringContext aContext (msText, 0, msText.getLength()); + const Reference xLayout ( + rpFont->mxFont->createTextLayout(aContext,rendering::TextDirection::WEAK_LEFT_TO_RIGHT,0)); + const geometry::RealRectangle2D aTextBBox (xLayout->queryTextBounds()); + + rendering::RenderState aRenderState (geometry::AffineMatrix2D(1,0,0, 0,1,0), NULL, + Sequence(3), rendering::CompositeOperation::SOURCE); + PresenterCanvasHelper::SetDeviceColor(aRenderState, rpFont->mnColor); + aRenderState.AffineTransform.m02 = (rSize.Width - aTextBBox.X2 + aTextBBox.X1)/2; + aRenderState.AffineTransform.m12 = rSize.Height - aTextBBox.Y2 - gnVerticalBorder; + + rxCanvas->drawText( + aContext, + rpFont->mxFont, + rendering::ViewState(geometry::AffineMatrix2D(1,0,0, 0,1,0), NULL), + aRenderState, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT); +} + + + + +void PresenterButton::Invalidate (void) +{ + mpPresenterController->GetPaintManager()->Invalidate(mxWindow); +} + + + + +Reference PresenterButton::GetBitmap ( + const SharedBitmapDescriptor& mpIcon, + const PresenterBitmapDescriptor::Mode eMode) +{ + if (mpIcon.get() != NULL) + return mpIcon->GetBitmap(eMode); + else + { + OSL_ASSERT(mpIcon.get()!=NULL); + return NULL; + } +} + + + + +void PresenterButton::SetupButtonBitmaps (void) +{ + if ( ! mxCanvas.is()) + return; + if ( ! mxCanvas->getDevice().is()) + return; + + // Get the bitmaps for the button border. + SharedBitmapDescriptor pLeftBitmap (mpTheme->GetBitmap(A2S("ButtonFrameLeft"))); + SharedBitmapDescriptor pCenterBitmap(mpTheme->GetBitmap(A2S("ButtonFrameCenter"))); + SharedBitmapDescriptor pRightBitmap(mpTheme->GetBitmap(A2S("ButtonFrameRight"))); + + maButtonSize = CalculateButtonSize(); + + if (maButtonSize.Height<=0 && maButtonSize.Width<= 0) + return; + + mxNormalBitmap = mxCanvas->getDevice()->createCompatibleAlphaBitmap(maButtonSize); + Reference xCanvas (mxNormalBitmap->queryBitmapCanvas(), UNO_QUERY); + if (xCanvas.is()) + RenderButton( + xCanvas, + maButtonSize, + mpFont, + GetBitmap(pLeftBitmap, PresenterBitmapDescriptor::Normal), + GetBitmap(pCenterBitmap, PresenterBitmapDescriptor::Normal), + GetBitmap(pRightBitmap, PresenterBitmapDescriptor::Normal)); + + mxMouseOverBitmap = mxCanvas->getDevice()->createCompatibleAlphaBitmap(maButtonSize); + xCanvas = Reference(mxMouseOverBitmap->queryBitmapCanvas(), UNO_QUERY); + if (mpMouseOverFont.get()!=NULL && !mpMouseOverFont->mxFont.is() && mxCanvas.is()) + mpMouseOverFont->PrepareFont(mxCanvas); + if (xCanvas.is()) + RenderButton( + xCanvas, + maButtonSize, + mpMouseOverFont, + GetBitmap(pLeftBitmap, PresenterBitmapDescriptor::MouseOver), + GetBitmap(pCenterBitmap, PresenterBitmapDescriptor::MouseOver), + GetBitmap(pRightBitmap, PresenterBitmapDescriptor::MouseOver)); +} + + + + +Reference PresenterButton::GetConfigurationProperties ( + const css::uno::Reference& rxComponentContext, + const OUString& rsConfgurationName) +{ + PresenterConfigurationAccess aConfiguration ( + rxComponentContext, + PresenterConfigurationAccess::msPresenterScreenRootName, + PresenterConfigurationAccess::READ_ONLY); + return Reference( + PresenterConfigurationAccess::Find ( + Reference( + aConfiguration.GetConfigurationNode(A2S("PresenterScreenSettings/Buttons")), + UNO_QUERY), + ::boost::bind(&PresenterConfigurationAccess::IsStringPropertyEqual, + rsConfgurationName, + A2S("Name"), + _2)), + UNO_QUERY); +} + + + + +void PresenterButton::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterButton object has already been disposed")), + const_cast(static_cast(this))); + } +} + + +} } // end of namespace sdext::presenter -- cgit From 97f08245e0b956e570cb3a75334dc4b375eb93cb Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:27:59 +0000 Subject: INTEGRATION: CWS presenterscreen (1.1.2); FILE ADDED 2008/05/13 13:51:00 af 1.1.2.3: #i18486# Updated license header. 2008/04/16 16:59:12 af 1.1.2.2: #i18486# Fixed some Linux build problems. 2008/04/16 14:21:27 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterButton.hxx | 188 +++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 sdext/source/presenter/PresenterButton.hxx diff --git a/sdext/source/presenter/PresenterButton.hxx b/sdext/source/presenter/PresenterButton.hxx new file mode 100644 index 000000000000..cb2178c8a2bf --- /dev/null +++ b/sdext/source/presenter/PresenterButton.hxx @@ -0,0 +1,188 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterButton.hxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_BUTTON_HXX +#define SDEXT_PRESENTER_PRESENTER_BUTTON_HXX + +#include "PresenterBitmapContainer.hxx" +#include "PresenterTheme.hxx" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterController; + +namespace { + typedef ::cppu::WeakComponentImplHelper4 < + css::awt::XWindowListener, + css::awt::XPaintListener, + css::awt::XMouseListener, + css::awt::XMouseMotionListener + > PresenterButtonInterfaceBase; +} + +/** Button for the presenter screen. It displays a text surrounded by a + frame. +*/ +class PresenterButton + : private ::boost::noncopyable, + private ::cppu::BaseMutex, + public PresenterButtonInterfaceBase +{ +public: + static ::rtl::Reference Create ( + const css::uno::Reference& rxComponentContext, + const ::rtl::Reference& rpPresenterController, + const ::boost::shared_ptr& rpTheme, + const css::uno::Reference& rxParentWindow, + const css::uno::Reference& rxParentCanvas, + const ::rtl::OUString& rsConfigurationName); + ~PresenterButton (void); + + virtual void SAL_CALL disposing (void); + + void SetCenter (const css::geometry::RealPoint2D& rLocation); + void SetCanvas ( + const css::uno::Reference& rxParentCanvas, + const css::uno::Reference& rxParentWindow); + css::geometry::IntegerSize2D GetSize (void); + + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + + // XMouseListener + + virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseReleased (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseEntered (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) + throw(css::uno::RuntimeException); + + + // XMouseMotionListener + + virtual void SAL_CALL mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + + // lang::XEventListener + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + +private: + ::rtl::Reference mpPresenterController; + ::boost::shared_ptr mpTheme; + css::uno::Reference mxWindow; + css::uno::Reference mxCanvas; + css::uno::Reference mxPresenterHelper; + const ::rtl::OUString msText; + const PresenterTheme::SharedFontDescriptor mpFont; + const PresenterTheme::SharedFontDescriptor mpMouseOverFont; + const ::rtl::OUString msAction; + css::geometry::RealPoint2D maCenter; + css::geometry::IntegerSize2D maButtonSize; + PresenterBitmapDescriptor::Mode meState; + css::uno::Reference mxNormalBitmap; + css::uno::Reference mxMouseOverBitmap; + + PresenterButton ( + const css::uno::Reference& rxComponentContext, + const ::rtl::Reference& rpPresenterController, + const ::boost::shared_ptr& rpTheme, + const css::uno::Reference& rxParentWindow, + const PresenterTheme::SharedFontDescriptor& rFont, + const PresenterTheme::SharedFontDescriptor& rMouseOverFont, + const ::rtl::OUString& rxText, + const ::rtl::OUString& rxAction); + void RenderButton ( + const css::uno::Reference& rxCanvas, + const css::geometry::IntegerSize2D& rSize, + const PresenterTheme::SharedFontDescriptor& rFont, + const css::uno::Reference& rxLeft, + const css::uno::Reference& rxCenter, + const css::uno::Reference& rxRight); + css::geometry::IntegerSize2D CalculateButtonSize (void); + void Invalidate (void); + css::uno::Reference GetBitmap ( + const SharedBitmapDescriptor& mpIcon, + const PresenterBitmapDescriptor::Mode eMode); + void SetupButtonBitmaps (void); + static css::uno::Reference GetConfigurationProperties ( + const css::uno::Reference& rxComponentContext, + const ::rtl::OUString& rsConfgurationName); + + void ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException); +}; + +} } + +#endif -- cgit From 05e2eb5f8f540f90e4a3886c35fdbe03df01d165 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:28:09 +0000 Subject: INTEGRATION: CWS presenterscreen (1.1.2); FILE ADDED 2008/05/13 13:51:00 af 1.1.2.2: #i18486# Updated license header. 2008/04/16 14:34:05 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterCanvasHelper.cxx | 338 +++++++++++++++++++++++ 1 file changed, 338 insertions(+) create mode 100644 sdext/source/presenter/PresenterCanvasHelper.cxx diff --git a/sdext/source/presenter/PresenterCanvasHelper.cxx b/sdext/source/presenter/PresenterCanvasHelper.cxx new file mode 100644 index 000000000000..2423f0f01d1a --- /dev/null +++ b/sdext/source/presenter/PresenterCanvasHelper.cxx @@ -0,0 +1,338 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterCanvasHelper.cxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#include "PresenterCanvasHelper.hxx" + +#include "PresenterController.hxx" +#include "PresenterGeometryHelper.hxx" +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; + +namespace sdext { namespace presenter { + +PresenterCanvasHelper::PresenterCanvasHelper (void) + : maDefaultViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL), + maDefaultRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(4), + rendering::CompositeOperation::SOURCE) +{ +} + + + + +PresenterCanvasHelper::~PresenterCanvasHelper (void) +{ +} + + + + +void PresenterCanvasHelper::Paint ( + const SharedBitmapDescriptor& rpBitmap, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::awt::Rectangle& rOuterBoundingBox, + const css::awt::Rectangle& rContentBoundingBox) const +{ + if (rpBitmap.get() == NULL) + return; + + if ( ! rxCanvas.is() || ! rxCanvas->getDevice().is()) + return; + + // Create a clip polypolygon that has the content box as hole. + ::std::vector aRectangles; + aRectangles.reserve(2); + aRectangles.push_back( + PresenterGeometryHelper::Intersection(rRepaintBox, rOuterBoundingBox)); + if (rContentBoundingBox.Width > 0 && rContentBoundingBox.Height > 0) + aRectangles.push_back( + PresenterGeometryHelper::Intersection(rRepaintBox, rContentBoundingBox)); + Reference xPolyPolygon ( + PresenterGeometryHelper::CreatePolygon( + aRectangles, + rxCanvas->getDevice())); + if ( ! xPolyPolygon.is()) + return; + xPolyPolygon->setFillRule(rendering::FillRule_EVEN_ODD); + + if (rpBitmap->GetNormalBitmap().is()) + { + if (rpBitmap->meHorizontalTexturingMode == PresenterBitmapDescriptor::Repeat + || rpBitmap->meVerticalTexturingMode == PresenterBitmapDescriptor::Repeat) + { + // PaintTexture( + PaintTiledBitmap( + Reference(rpBitmap->GetNormalBitmap(), UNO_QUERY), + rxCanvas, + rRepaintBox, + xPolyPolygon, + rContentBoundingBox); + } + else + { + PaintBitmap( + Reference(rpBitmap->GetNormalBitmap(), UNO_QUERY), + awt::Point(rOuterBoundingBox.X, rOuterBoundingBox.Y), + rxCanvas, + rRepaintBox, + xPolyPolygon); + } + } + else + { + PaintColor( + rpBitmap->maReplacementColor, + rxCanvas, + rRepaintBox, + xPolyPolygon); + } +} + + + + +void PresenterCanvasHelper::PaintTiledBitmap ( + const css::uno::Reference& rxTexture, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::uno::Reference& rxPolygon, + const css::awt::Rectangle& rHole) const +{ + if ( ! rxCanvas.is() || ! rxCanvas->getDevice().is()) + return; + + if ( ! rxTexture.is()) + return; + + if ( ! rxPolygon.is()) + return; + + rendering::ViewState aViewState (maDefaultViewState); + aViewState.Clip = rxPolygon; + + // Create a local render state at which the location of the bitmap is + // set. + rendering::RenderState aRenderState (maDefaultRenderState); + + + // Tile the bitmap over the repaint box. + const geometry::IntegerSize2D aBitmapSize (rxTexture->getSize()); + const sal_Int32 nLeft = (rRepaintBox.X / aBitmapSize.Width) * aBitmapSize.Width; + const sal_Int32 nTop = (rRepaintBox.Y / aBitmapSize.Height) * aBitmapSize.Height; + const sal_Int32 nRight = ((rRepaintBox.X + rRepaintBox.Width - 1 + aBitmapSize.Width - 1) + / aBitmapSize.Width) * aBitmapSize.Width; + const sal_Int32 nBottom = ((rRepaintBox.Y + rRepaintBox.Height - 1 + aBitmapSize.Height - 1) + / aBitmapSize.Height) * aBitmapSize.Height; + + for (sal_Int32 nY=nTop; nY<=nBottom; nY+=aBitmapSize.Height) + for (sal_Int32 nX=nLeft; nX<=nRight; nX+=aBitmapSize.Width) + { + if (PresenterGeometryHelper::IsInside( + awt::Rectangle(nX,nY,aBitmapSize.Width,aBitmapSize.Height), + rHole)) + { + continue; + } + aRenderState.AffineTransform.m02 = nX; + aRenderState.AffineTransform.m12 = nY; + rxCanvas->drawBitmap( + rxTexture, + aViewState, + aRenderState); + } +} + + + + +void PresenterCanvasHelper::PaintTexture ( + const css::uno::Reference& rxTexture, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::uno::Reference& rxPolygon) const +{ + if ( ! rxCanvas.is() || ! rxCanvas->getDevice().is()) + return; + + if ( ! rxTexture.is()) + return; + + if ( ! rxPolygon.is()) + return; + + // Set the repaint box as clip rectangle at the view state. + rendering::ViewState aViewState (maDefaultViewState); + aViewState.Clip = PresenterGeometryHelper::CreatePolygon(rRepaintBox, rxCanvas->getDevice()); + + + // Setup the texture. + Sequence aTextures (1); + const geometry::IntegerSize2D aBitmapSize(rxTexture->getSize()); + aTextures[0] = rendering::Texture ( + geometry::AffineMatrix2D( + aBitmapSize.Width,0,0, + 0,aBitmapSize.Height,0), + 1, + 0, + rxTexture, + NULL, + NULL, + rendering::StrokeAttributes(), + rendering::TexturingMode::REPEAT, + rendering::TexturingMode::REPEAT); + + rxCanvas->fillTexturedPolyPolygon( + rxPolygon, + aViewState, + maDefaultRenderState, + aTextures); +} + + + + +void PresenterCanvasHelper::PaintBitmap ( + const css::uno::Reference& rxBitmap, + const awt::Point& rLocation, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::uno::Reference& rxPolygon) const +{ + if ( ! rxCanvas.is() || ! rxCanvas->getDevice().is()) + return; + + if ( ! rxBitmap.is()) + return; + + if ( ! rxPolygon.is()) + return; + + // Set the repaint box as clip rectangle at the view state. + rendering::ViewState aViewState (maDefaultViewState); + aViewState.Clip = PresenterGeometryHelper::CreatePolygon(rRepaintBox, rxCanvas->getDevice()); + + + // Setup the rendering state so that the bitmap is painted top left in + // the polygon bounding box. + rendering::RenderState aRenderState (maDefaultRenderState); + aRenderState.AffineTransform = geometry::AffineMatrix2D(1,0, rLocation.X, 0,1,rLocation.Y); + aRenderState.Clip = rxPolygon; + + rxCanvas->drawBitmap( + rxBitmap, + aViewState, + aRenderState); +} + + + + +void PresenterCanvasHelper::PaintColor ( + const css::util::Color nColor, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::uno::Reference& rxPolygon) const +{ + if ( ! rxCanvas.is() || ! rxCanvas->getDevice().is()) + return; + + if ( ! rxPolygon.is()) + return; + + // Set the repaint box as clip rectangle at the view state. + rendering::ViewState aViewState (maDefaultViewState); + aViewState.Clip = PresenterGeometryHelper::CreatePolygon(rRepaintBox, rxCanvas->getDevice()); + + + // Setup the rendering state to use the given color. + rendering::RenderState aRenderState (maDefaultRenderState); + aRenderState.DeviceColor[0] = ((nColor >> 16) & 0x0ff) / 255.0; + aRenderState.DeviceColor[1] = ((nColor >> 8) & 0x0ff) / 255.0; + aRenderState.DeviceColor[2] = ((nColor >> 0) & 0x0ff) / 255.0; + aRenderState.DeviceColor[3] = ((nColor >> 24) & 0x0ff) / 255.0; + + rxCanvas->fillPolyPolygon( + rxPolygon, + aViewState, + aRenderState); +} + + + + +void PresenterCanvasHelper::SetDeviceColor( + rendering::RenderState& rRenderState, + const util::Color aColor) +{ + if (rRenderState.DeviceColor.getLength() >= 3) + { + rRenderState.DeviceColor[0] = ((aColor >> 16) & 0x0ff) / 255.0; + rRenderState.DeviceColor[1] = ((aColor >> 8) & 0x0ff) / 255.0; + rRenderState.DeviceColor[2] = ((aColor >> 0) & 0x0ff) / 255.0; + + if (rRenderState.DeviceColor.getLength() >= 4) + rRenderState.DeviceColor[3] = ((aColor >> 24) & 0x0ff) / 255.0; + } +} + + + + +css::geometry::RealSize2D PresenterCanvasHelper::GetTextSize ( + const css::uno::Reference& rxFont, + const ::rtl::OUString& rsText) +{ + if (rxFont.is() && rsText.getLength() > 0) + { + rendering::StringContext aContext (rsText, 0, rsText.getLength()); + Reference xLayout ( + rxFont->createTextLayout(aContext, rendering::TextDirection::WEAK_LEFT_TO_RIGHT, 0)); + const geometry::RealRectangle2D aTextBBox (xLayout->queryTextBounds()); + return css::geometry::RealSize2D(aTextBBox.X2 - aTextBBox.X1, aTextBBox.Y2 - aTextBBox.Y1); + } + else + { + return geometry::RealSize2D(0,0); + } +} + + +} } // end of namespace sdext::presenter -- cgit From 980a5b5049907ebb6fbc15fc2051bdbe37236aaa Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:28:21 +0000 Subject: INTEGRATION: CWS presenterscreen (1.1.2); FILE ADDED 2008/05/13 13:51:00 af 1.1.2.3: #i18486# Updated license header. 2008/04/22 11:46:54 rene 1.1.2.2: one more double qualification 2008/04/16 14:26:57 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterCanvasHelper.hxx | 107 +++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 sdext/source/presenter/PresenterCanvasHelper.hxx diff --git a/sdext/source/presenter/PresenterCanvasHelper.hxx b/sdext/source/presenter/PresenterCanvasHelper.hxx new file mode 100644 index 000000000000..ea82e51ea915 --- /dev/null +++ b/sdext/source/presenter/PresenterCanvasHelper.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterCanvasHelper.hxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_CANVAS_HELPER_HXX +#define SDEXT_PRESENTER_PRESENTER_CANVAS_HELPER_HXX + +#include "PresenterTheme.hxx" +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterController; + +/** Collection of functions to ease the life of a canvas user. +*/ +class PresenterCanvasHelper + : ::boost::noncopyable +{ +public: + PresenterCanvasHelper (void); + ~PresenterCanvasHelper (void); + + void Paint ( + const SharedBitmapDescriptor& rpBitmap, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::awt::Rectangle& rBackgroundBoundingBox, + const css::awt::Rectangle& rContentBoundingBox) const; + + void PaintTexture ( + const css::uno::Reference& rxTexture, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::uno::Reference& rxPolygon) const; + + void PaintTiledBitmap ( + const css::uno::Reference& rxTexture, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::uno::Reference& rxPolygon, + const css::awt::Rectangle& rHole) const; + + void PaintBitmap ( + const css::uno::Reference& rxBitmap, + const css::awt::Point& rLocation, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::uno::Reference& rxPolygon) const; + + void PaintColor ( + const css::util::Color nColor, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rRepaintBox, + const css::uno::Reference& rxPolygon) const; + + static void SetDeviceColor( + css::rendering::RenderState& rRenderState, + const css::util::Color aColor); + + static css::geometry::RealSize2D GetTextSize ( + const css::uno::Reference& rxFont, + const ::rtl::OUString& rsText); + +private: + const css::rendering::ViewState maDefaultViewState; + const css::rendering::RenderState maDefaultRenderState; +}; + +} } + +#endif -- cgit From 1a860b8d876b9c51c3f58c92f909dbdee3e00d8a Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:28:34 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 07:51:56 af 1.2.4.6: #i88853# PresenterSlideShowView is no longer a service. 2008/04/22 13:01:48 af 1.2.4.5: #i18486# Made extension identifier platform specific. 2008/04/22 08:30:39 af 1.2.4.4: #i18486# Changed startup details. Remembering the extension path. 2008/04/22 08:27:17 af 1.2.4.3: RESYNC: (1.2-1.3); FILE MERGED 2008/04/18 09:01:28 af 1.2.4.2: #i18486# Added missing PresenterSlideShowView service. 2008/04/16 16:30:21 af 1.2.4.1: #i18486# Dropped dependence on non-URE libraries. --- sdext/source/presenter/PresenterComponent.cxx | 121 ++++++++++++++++++++++---- 1 file changed, 104 insertions(+), 17 deletions(-) diff --git a/sdext/source/presenter/PresenterComponent.cxx b/sdext/source/presenter/PresenterComponent.cxx index 8b0ef96aaa2e..06320f7dc7ac 100644 --- a/sdext/source/presenter/PresenterComponent.cxx +++ b/sdext/source/presenter/PresenterComponent.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterComponent.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,35 +30,122 @@ ************************************************************************/ #include "PresenterComponent.hxx" -#include +#include "cppuhelper/factory.hxx" +#include "cppuhelper/implementationentry.hxx" +#include +#include -#include "PresenterPane.hxx" -#include "PresenterPaneBorderManager.hxx" +#include "PresenterExtensionIdentifier.hxx" #include "PresenterProtocolHandler.hxx" #include "PresenterScreen.hxx" -#include "PresenterSlideShowView.hxx" -#include "PresenterSpritePane.hxx" +using namespace ::com::sun::star; using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::lang; +using namespace cppu; +using namespace osl; using ::rtl::OUString; + namespace sdext { namespace presenter { -namespace { - void RegisterServices (void) +static OUString gsBasePath; + +::rtl::OUString PresenterComponent::GetBasePath ( + const Reference& rxComponentContext) +{ + return GetBasePath(rxComponentContext, gsExtensionIdentifier); +} + + + + +::rtl::OUString PresenterComponent::GetBasePath ( + const Reference& rxComponentContext, + const OUString& rsExtensionIdentifier) +{ + if (gsBasePath.getLength() == 0) { - OAutoRegistration(); - OAutoRegistration(); - OAutoRegistration(); - OAutoRegistration(); - OAutoRegistration(); - OAutoRegistration(); + // Determine the base path of the bitmaps. + Reference xInformationProvider ( + rxComponentContext->getValueByName( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "/singletons/com.sun.star.deployment.PackageInformationProvider"))), + UNO_QUERY); + if (xInformationProvider.is()) + { + try + { + gsBasePath = xInformationProvider->getPackageLocation(rsExtensionIdentifier) + + OUString(RTL_CONSTASCII_USTRINGPARAM("/")); + } + catch(deployment::DeploymentException&) + { + } + } } + + return gsBasePath; } -IMPLEMENT_COMPONENT_LIBRARY_API(PresenterComponent, RegisterServices); -IMPLEMENT_COMPONENT_MODULE(PresenterComponent); + + +rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; + +static struct ImplementationEntry gServiceEntries[] = +{ + { + PresenterProtocolHandler::Create, + PresenterProtocolHandler::getImplementationName_static, + PresenterProtocolHandler::getSupportedServiceNames_static, + createSingleComponentFactory, &g_moduleCount.modCnt, 0 + }, + { + PresenterScreenJob::Create, + PresenterScreenJob::getImplementationName_static, + PresenterScreenJob::getSupportedServiceNames_static, + createSingleComponentFactory, 0, 0 + }, + { 0, 0, 0, 0, 0, 0 } +}; + + + + +extern "C" +{ + sal_Bool SAL_CALL component_canUnload( TimeValue *pTime ) + { + return g_moduleCount.canUnload( &g_moduleCount , pTime ); + } + + + + + void SAL_CALL component_getImplementationEnvironment( + const sal_Char ** ppEnvTypeName, uno_Environment ** ) + { + *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; + } + + + + + sal_Bool SAL_CALL component_writeInfo( + void * pServiceManager, void * pRegistryKey ) + { + return component_writeInfoHelper(pServiceManager, pRegistryKey, gServiceEntries); + } + + + + + void * SAL_CALL component_getFactory( + const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey ) + { + return component_getFactoryHelper( pImplName, pServiceManager, pRegistryKey , gServiceEntries); + } + +} } } // end of namespace sdext::presenter -- cgit From 6613c8e45deeff65483838684164642d0a47128c Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:28:48 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 13:01:55 af 1.2.4.3: #i18486# Made extension identifier platform specific. 2008/04/22 08:24:50 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:30:29 af 1.2.4.1: #i18486# Dropped dependence on non-URE libraries. --- sdext/source/presenter/PresenterComponent.hxx | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/sdext/source/presenter/PresenterComponent.hxx b/sdext/source/presenter/PresenterComponent.hxx index 200811aaf18f..5b2a17760152 100644 --- a/sdext/source/presenter/PresenterComponent.hxx +++ b/sdext/source/presenter/PresenterComponent.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterComponent.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -34,12 +34,25 @@ #include +namespace css = ::com::sun::star; + namespace sdext { namespace presenter { -const static ::rtl::OUString gsExtensionIdentifier( - ::rtl::OUString::createFromAscii("org.openoffice.PresenterScreen")); +/** This string is replaced automatically by the makefile during the + building of this extension. +*/ +class PresenterComponent +{ +public: + const static ::rtl::OUString gsExtensionIdentifier; + + static ::rtl::OUString GetBasePath ( + const css::uno::Reference& rxComponentContext); + static ::rtl::OUString GetBasePath ( + const css::uno::Reference& rxComponentContext, + const ::rtl::OUString& rsExtensionIdentifier); +}; -DECLARE_COMPONENT_MODULE(PresenterComponent, ClientClass) } } -- cgit From 857d34a9091cd6861784aef87db6c4dbc17e9c7e Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:29:03 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 08:07:07 af 1.2.4.6: #i88853# Extended functionality to allow easier modification of properties. 2008/04/23 11:51:49 af 1.2.4.5: #i18486# Added desctructor. 2008/04/22 08:25:27 af 1.2.4.4: RESYNC: (1.2-1.3); FILE MERGED 2008/04/18 09:02:23 af 1.2.4.3: #i18486# Avoid crash because of missing configuration entries. 2008/04/16 16:59:13 af 1.2.4.2: #i18486# Fixed some Linux build problems. 2008/04/16 15:29:08 af 1.2.4.1: #i18486# Added support for accessing configuration nodes as property sets. --- .../presenter/PresenterConfigurationAccess.cxx | 193 +++++++++++++++++++-- 1 file changed, 175 insertions(+), 18 deletions(-) diff --git a/sdext/source/presenter/PresenterConfigurationAccess.cxx b/sdext/source/presenter/PresenterConfigurationAccess.cxx index 43659b541fbc..7909d39e14e7 100644 --- a/sdext/source/presenter/PresenterConfigurationAccess.cxx +++ b/sdext/source/presenter/PresenterConfigurationAccess.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterConfigurationAccess.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -40,13 +40,19 @@ using namespace ::com::sun::star; using namespace ::com::sun::star::uno; using ::rtl::OUString; +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + namespace sdext { namespace presenter { +const ::rtl::OUString PresenterConfigurationAccess::msPresenterScreenRootName = + A2S("/org.openoffice.Office.extension.PresenterScreen/"); + PresenterConfigurationAccess::PresenterConfigurationAccess ( const Reference& rxContext, const OUString& rsRootName, WriteMode eMode) - : mxRoot() + : mxRoot(), + maNode() { try { @@ -55,37 +61,35 @@ PresenterConfigurationAccess::PresenterConfigurationAccess ( { Sequence aCreationArguments(3); aCreationArguments[0] = makeAny(beans::PropertyValue( - OUString( - RTL_CONSTASCII_USTRINGPARAM("nodepath")), + A2S("nodepath"), 0, makeAny(rsRootName), beans::PropertyState_DIRECT_VALUE)); aCreationArguments[1] = makeAny(beans::PropertyValue( - OUString(RTL_CONSTASCII_USTRINGPARAM("depth")), + A2S("depth"), 0, makeAny((sal_Int32)-1), beans::PropertyState_DIRECT_VALUE)); aCreationArguments[2] = makeAny(beans::PropertyValue( - OUString(RTL_CONSTASCII_USTRINGPARAM("lazywrite")), + A2S("lazywrite"), 0, makeAny(true), beans::PropertyState_DIRECT_VALUE)); OUString sAccessService; if (eMode == READ_ONLY) - sAccessService = OUString(RTL_CONSTASCII_USTRINGPARAM( - "com.sun.star.configuration.ConfigurationAccess")); + sAccessService = A2S("com.sun.star.configuration.ConfigurationAccess"); else - sAccessService = OUString(RTL_CONSTASCII_USTRINGPARAM( - "com.sun.star.configuration.ConfigurationUpdateAccess")); + sAccessService = A2S("com.sun.star.configuration.ConfigurationUpdateAccess"); Reference xProvider ( xFactory->createInstanceWithContext( - OUString::createFromAscii("com.sun.star.configuration.ConfigurationProvider"), + A2S("com.sun.star.configuration.ConfigurationProvider"), rxContext), UNO_QUERY_THROW); mxRoot = xProvider->createInstanceWithArguments( sAccessService, aCreationArguments); + maNode <<= mxRoot; } } catch (Exception& rException) @@ -99,6 +103,21 @@ PresenterConfigurationAccess::PresenterConfigurationAccess ( +PresenterConfigurationAccess::~PresenterConfigurationAccess (void) +{ +} + + + + +bool PresenterConfigurationAccess::IsValid (void) const +{ + return mxRoot.is(); +} + + + + Any PresenterConfigurationAccess::GetConfigurationNode (const OUString& sPathToNode) { return GetConfigurationNode( @@ -109,6 +128,72 @@ Any PresenterConfigurationAccess::GetConfigurationNode (const OUString& sPathToN +Reference PresenterConfigurationAccess::GetNodeProperties ( + const OUString& sPathToNode) +{ + return GetNodeProperties( + Reference(mxRoot, UNO_QUERY), + sPathToNode); +} + + + + +bool PresenterConfigurationAccess::GoToChild (const ::rtl::OUString& rsPathToNode) +{ + if ( ! IsValid()) + return false; + + Reference xNode (maNode, UNO_QUERY); + if (xNode.is()) + { + maNode = GetConfigurationNode( + Reference(maNode, UNO_QUERY), + rsPathToNode); + if (Reference(maNode, UNO_QUERY).is()) + return true; + } + + mxRoot = NULL; + return false; +} + + + + +bool PresenterConfigurationAccess::GoToChild (const Predicate& rPredicate) +{ + if ( ! IsValid()) + return false; + + maNode = Find(Reference(maNode,UNO_QUERY), rPredicate); + if (Reference(maNode, UNO_QUERY).is()) + return true; + + mxRoot = NULL; + return false; +} + + + + +bool PresenterConfigurationAccess::SetProperty ( + const ::rtl::OUString& rsPropertyName, + const Any& rValue) +{ + Reference xProperties (maNode, UNO_QUERY); + if (xProperties.is()) + { + xProperties->setPropertyValue(rsPropertyName, rValue); + return true; + } + else + return false; +} + + + + Any PresenterConfigurationAccess::GetConfigurationNode ( const css::uno::Reference& rxNode, const OUString& sPathToNode) @@ -136,6 +221,16 @@ Any PresenterConfigurationAccess::GetConfigurationNode ( +Reference PresenterConfigurationAccess::GetNodeProperties ( + const css::uno::Reference& rxNode, + const ::rtl::OUString& rsPathToNode) +{ + return Reference(GetConfigurationNode(rxNode, rsPathToNode), UNO_QUERY); +} + + + + void PresenterConfigurationAccess::CommitChanges (void) { Reference xConfiguration (mxRoot, UNO_QUERY); @@ -176,6 +271,8 @@ void PresenterConfigurationAccess::ForAll ( bool bHasAllValues (true); const OUString& rsKey (aKeys[nItemIndex]); Reference xSetItem (rxContainer->getByName(rsKey), UNO_QUERY); + Reference xSet (xSetItem, UNO_QUERY); + OSL_ASSERT(xSet.is()); if (xSetItem.is()) { // Get from the current item of the container the children @@ -199,6 +296,26 @@ void PresenterConfigurationAccess::ForAll ( +void PresenterConfigurationAccess::ForAll ( + const Reference& rxContainer, + const PropertySetProcessor& rProcessor) +{ + if (rxContainer.is()) + { + Sequence aKeys (rxContainer->getElementNames()); + for (sal_Int32 nItemIndex=0; nItemIndex xSet (rxContainer->getByName(rsKey), UNO_QUERY); + if (xSet.is()) + rProcessor(rsKey, xSet); + } + } +} + + + + void PresenterConfigurationAccess::FillList( const Reference& rxContainer, const ::rtl::OUString& rsArgument, @@ -228,7 +345,7 @@ void PresenterConfigurationAccess::FillList( -Reference PresenterConfigurationAccess::Find ( +Any PresenterConfigurationAccess::Find ( const Reference& rxContainer, const Predicate& rPredicate) { @@ -237,14 +354,54 @@ Reference PresenterConfigurationAccess::Find ( Sequence aKeys (rxContainer->getElementNames()); for (sal_Int32 nItemIndex=0; nItemIndex xSetItem ( - rxContainer->getByName(aKeys[nItemIndex]), UNO_QUERY); - if (xSetItem.is()) - if (rPredicate(aKeys[nItemIndex], xSetItem)) - return xSetItem; + Reference xProperties ( + rxContainer->getByName(aKeys[nItemIndex]), + UNO_QUERY); + if (xProperties.is()) + if (rPredicate(aKeys[nItemIndex], xProperties)) + return Any(xProperties); } } - return NULL; + return Any(); +} + + + + +bool PresenterConfigurationAccess::IsStringPropertyEqual ( + const ::rtl::OUString& rsValue, + const ::rtl::OUString& rsPropertyName, + const css::uno::Reference& rxNode) +{ + OUString sValue; + if (GetProperty(rxNode, rsPropertyName) >>= sValue) + return sValue == rsValue; + else + return false; +} + + + + +Any PresenterConfigurationAccess::GetProperty ( + const Reference& rxProperties, + const OUString& rsKey) +{ + OSL_ASSERT(rxProperties.is()); + if ( ! rxProperties.is()) + return Any(); + try + { + Reference xInfo (rxProperties->getPropertySetInfo()); + if (xInfo.is()) + if ( ! xInfo->hasPropertyByName(rsKey)) + return Any(); + return rxProperties->getPropertyValue(rsKey); + } + catch (beans::UnknownPropertyException&) + { + } + return Any(); } -- cgit From 6a5424fa92f878b6cd3db6fa2d2d24f55b2b1e8f Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:29:17 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 08:05:43 af 1.2.4.5: #i88853# Extended functionality to allow easier modification of properties. 2008/04/23 11:51:22 af 1.2.4.4: #i18486# Added desctructor. 2008/04/22 11:41:50 rene 1.2.4.3: #i88584# fix double qualification 2008/04/22 08:26:25 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:29:16 af 1.2.4.1: #i18486# Added support for accessing configuration nodes as property sets. --- .../presenter/PresenterConfigurationAccess.hxx | 79 +++++++++++++++++++--- 1 file changed, 70 insertions(+), 9 deletions(-) diff --git a/sdext/source/presenter/PresenterConfigurationAccess.hxx b/sdext/source/presenter/PresenterConfigurationAccess.hxx index c21afb79b531..ffeb7a224c65 100644 --- a/sdext/source/presenter/PresenterConfigurationAccess.hxx +++ b/sdext/source/presenter/PresenterConfigurationAccess.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterConfigurationAccess.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -33,6 +33,7 @@ #define SDEXT_PRESENTER_CONFIGURATION_ACCESS_HXX #include +#include #include #include #include @@ -45,17 +46,32 @@ namespace sdext { namespace presenter { /** This class gives access to the configuration. Create an object of this class for one node of the configuration. This will be the root node. - Its children (on all levels) are then accessible through this new object. + From this one you can use this class in two ways. + +

In a stateless mode (with exception of the root node) you can use static + methods for obtaining child nodes, get values from properties at leaf + nodes and iterate over children of inner nodes.

+ +

In a stateful mode use non-static methods like GoToChild() to + navigate to children.

+ +

Note to call CommitChanges() after making changes to + PresenterConfigurationAccess object that was opened in READ_WRITE mode.

*/ class PresenterConfigurationAccess { public: enum WriteMode { READ_WRITE, READ_ONLY }; + typedef ::boost::function&)> Predicate; + static const ::rtl::OUString msPresenterScreenRootName; /** Create a new object to access the configuration entries below the given root. @param rsRootName - Name of the root. + Name of the root. You can use msPresenterScreenRootName to + access the configuration of the presenter screen. @param eMode This flag specifies whether to give read-write or read-only access. @@ -65,12 +81,37 @@ public: const ::rtl::OUString& rsRootName, WriteMode eMode); + ~PresenterConfigurationAccess (void); + /** Return a configuration node below the root of the called object. @param rsPathToNode The relative path from the root (as given the constructor) to the node. */ css::uno::Any GetConfigurationNode ( const ::rtl::OUString& rsPathToNode); + css::uno::Reference GetNodeProperties ( + const ::rtl::OUString& rsPathToNode); + + /** Return when opening the configuration (via creating a new + PresenterConfigurationAccess object) or previous calls to + GoToChild() left the called PresenterConfigurationAccess object in a + valid state. + */ + bool IsValid (void) const; + + /** Move the focused node to the (possibly indirect) child specified by the given path. + */ + bool GoToChild (const ::rtl::OUString& rsPathToNode); + + /** Move the focused node to the first direct child that fulfills the the given predicate. + */ + bool GoToChild (const Predicate& rPredicate); + + /** Modify the property child of the currently focused node. Keep in + mind to call CommitChanges() to write the change back to the + configuration. + */ + bool SetProperty (const ::rtl::OUString& rsPropertyName, const css::uno::Any& rValue); /** Return a configuration node below the given node. @param rxNode @@ -86,6 +127,10 @@ public: const css::uno::Reference& rxNode, const ::rtl::OUString& rsPathToNode); + static css::uno::Reference GetNodeProperties ( + const css::uno::Reference& rxNode, + const ::rtl::OUString& rsPathToNode); + /** Write any changes that have been made back to the configuration. This call is ignored when the called ConfigurationAccess object was not create with read-write mode. @@ -97,6 +142,9 @@ public: typedef ::boost::function&) > ItemProcessor; + typedef ::boost::function&) > PropertySetProcessor; /** Execute a functor for all elements of the given container. @param rxContainer @@ -114,6 +162,9 @@ public: const css::uno::Reference& rxContainer, const ::std::vector& rArguments, const ItemProcessor& rProcessor); + static void ForAll ( + const css::uno::Reference& rxContainer, + const PropertySetProcessor& rProcessor); /** Fill a list with the string contents of all sub-elements in the given container. @param rxContainer @@ -126,21 +177,31 @@ public: @param rList The list to be filled. */ - static void PresenterConfigurationAccess::FillList( + static void FillList( const css::uno::Reference& rxContainer, const ::rtl::OUString& rsArgument, ::std::vector& rList); - typedef ::boost::function&)> Predicate; - - static css::uno::Reference Find ( + static css::uno::Any Find ( const css::uno::Reference& rxContainer, const Predicate& rPredicate); + static bool IsStringPropertyEqual ( + const ::rtl::OUString& rsValue, + const ::rtl::OUString& rsPropertyName, + const css::uno::Reference& rxNode); + + /** This method wraps a call to getPropertyValue() and returns an empty + Any instead of throwing an exception when the property does not + exist. + */ + static css::uno::Any GetProperty ( + const css::uno::Reference& rxProperties, + const ::rtl::OUString& rsKey); + private: css::uno::Reference mxRoot; + css::uno::Any maNode; }; } } // end of namespace sdext::tools -- cgit From 3c9ee55bdef29357ed9085408e1661672e17a11d Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:29:31 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 08:09:43 af 1.2.4.6: #i88853# Added GetCurrentSlide() method. Made UpdatePaneTitles() public. 2008/04/23 13:21:21 af 1.2.4.5: #i18486# Fixed merge conflict. 2008/04/23 13:12:50 af 1.2.4.4: #i18486# Added HandleMouseClick() method, added support for F1 key. 2008/04/23 11:53:09 af 1.2.4.3: #i18486# Code cleanup. 2008/04/22 08:25:31 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:31:28 af 1.2.4.1: #i18486# Improved access to theme, added support for UNO commands. --- sdext/source/presenter/PresenterController.cxx | 874 +++++++++++++++++-------- 1 file changed, 599 insertions(+), 275 deletions(-) diff --git a/sdext/source/presenter/PresenterController.cxx b/sdext/source/presenter/PresenterController.cxx index f49b95e5463d..cd57bb33851e 100644 --- a/sdext/source/presenter/PresenterController.cxx +++ b/sdext/source/presenter/PresenterController.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterController.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -32,9 +32,11 @@ #include "PresenterController.hxx" #include "PresenterAnimator.hxx" +#include "PresenterCanvasHelper.hxx" #include "PresenterCurrentSlideObserver.hxx" #include "PresenterFrameworkObserver.hxx" #include "PresenterHelper.hxx" +#include "PresenterPaintManager.hxx" #include "PresenterPaneAnimator.hxx" #include "PresenterPaneBase.hxx" #include "PresenterPaneContainer.hxx" @@ -44,14 +46,23 @@ #include "PresenterViewFactory.hxx" #include "PresenterWindowManager.hxx" -#include #include +#include +#include +#include #include +#include #include #include #include +#include +#include #include #include +#include +#include + +#include #include using namespace ::com::sun::star; @@ -59,6 +70,7 @@ using namespace ::com::sun::star::uno; using namespace ::com::sun::star::presentation; using namespace ::com::sun::star::drawing::framework; using ::rtl::OUString; +using ::rtl::OUStringBuffer; namespace { const sal_Int32 ResourceActivationEventType = 0; @@ -66,8 +78,25 @@ namespace { } +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + + namespace sdext { namespace presenter { +PresenterController::InstanceContainer PresenterController::maInstances; + +::rtl::Reference PresenterController::Instance ( + const css::uno::Reference& rxFrame) +{ + InstanceContainer::const_iterator iInstance (maInstances.find(rxFrame)); + if (iInstance != maInstances.end()) + return iInstance->second; + else + return ::rtl::Reference(); +} + + + PresenterController::PresenterController ( const Reference& rxContext, @@ -76,26 +105,33 @@ PresenterController::PresenterController ( const rtl::Reference& rpPaneContainer, const Reference& rxMainPaneId) : PresenterControllerInterfaceBase(m_aMutex), - mxContext(rxContext), + mxComponentContext(rxContext), mxController(rxController), mxConfigurationController(), mxSlideShowController(rxSlideShowController), mxMainPaneId(rxMainPaneId), mpPaneContainer(rpPaneContainer), + mnCurrentSlideIndex(-1), mxCurrentSlide(), mxNextSlide(), mpWindowManager(new PresenterWindowManager(rxContext,mpPaneContainer,this)), mpCurrentPaneAnimation(), - mnBackgroundColor(0x00ffffff), mnWindowBackgroundColor(0x00ffffff), mpTheme(), mxMainWindow(), mpPaneBorderPainter(), - mpAnimator(new PresenterAnimator()) + mpAnimator(new PresenterAnimator()), + mpCanvasHelper(new PresenterCanvasHelper()), + mxPresenterHelper(), + mpPaintManager(), + mnPendingSlideNumber(-1), + mxUrlTransformer() { + OSL_ASSERT(mxController.is()); + if ( ! mxSlideShowController.is()) throw new lang::IllegalArgumentException( - OUString::createFromAscii("missing slide show controller"), + A2S("missing slide show controller"), static_cast(this), 2); @@ -108,11 +144,11 @@ PresenterController::PresenterController ( { mxConfigurationController->addConfigurationChangeListener( this, - OUString::createFromAscii("ResourceActivation"), + A2S("ResourceActivation"), Any(ResourceActivationEventType)); mxConfigurationController->addConfigurationChangeListener( this, - OUString::createFromAscii("ResourceDeactivation"), + A2S("ResourceDeactivation"), Any(ResourceDeactivationEventType)); } @@ -125,10 +161,44 @@ PresenterController::PresenterController ( mpPaneBorderPainter = new PresenterPaneBorderPainter(rxContext); mpWindowManager->SetPaneBorderPainter(mpPaneBorderPainter); + // Create an object that is able to load the bitmaps in a format that is + // supported by the canvas. + Reference xFactory ( + rxContext->getServiceManager(), UNO_QUERY); + if ( ! xFactory.is()) + return; + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + A2S("com.sun.star.drawing.PresenterHelper"), + rxContext), + UNO_QUERY_THROW); + if (mxSlideShowController.is()) + { mxSlideShowController->activate(); + Reference xProperties (mxSlideShowController, UNO_QUERY); + if (xProperties.is()) + { + Reference xWindow ( + xProperties->getPropertyValue(A2S("ParentWindow")), UNO_QUERY); + if (xWindow.is()) + xWindow->addKeyListener(this); + } + } UpdateCurrentSlide(0); + + maInstances[mxController->getFrame()] = this; + + // Create a URLTransformer. + if (xFactory.is()) + { + mxUrlTransformer = Reference( + xFactory->createInstanceWithContext( + A2S("com.sun.star.util.URLTransformer"), + mxComponentContext), + UNO_QUERY); + } } @@ -143,10 +213,14 @@ PresenterController::~PresenterController (void) void PresenterController::disposing (void) { + maInstances.erase(mxController->getFrame()); + if (mxMainWindow.is()) { mxMainWindow->removeKeyListener(this); mxMainWindow->removeFocusListener(this); + mxMainWindow->removeMouseListener(this); + mxMainWindow->removeMouseMotionListener(this); mxMainWindow = NULL; } if (mxConfigurationController.is()) @@ -154,6 +228,7 @@ void PresenterController::disposing (void) Reference xWindowManagerComponent ( static_cast(mpWindowManager.get()), UNO_QUERY); + mpWindowManager = NULL; if (xWindowManagerComponent.is()) xWindowManagerComponent->dispose(); @@ -164,6 +239,40 @@ void PresenterController::disposing (void) xFrame->removeFrameActionListener(this); mxController = NULL; } + + mxComponentContext = NULL; + mxConfigurationController = NULL; + mxSlideShowController = NULL; + mxMainPaneId = NULL; + mpPaneContainer = NULL; + mnCurrentSlideIndex = -1; + mxCurrentSlide = NULL; + mxNextSlide = NULL; + mpCurrentPaneAnimation.reset(); + mpTheme.reset(); + { + Reference xComponent ( + static_cast(mpPaneBorderPainter.get()), UNO_QUERY); + mpPaneBorderPainter = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + mpAnimator.reset(); + mpCanvasHelper.reset(); + { + Reference xComponent (mxPresenterHelper, UNO_QUERY); + mxPresenterHelper = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + mpPaintManager.reset(); + mnPendingSlideNumber = -1; + { + Reference xComponent (mxUrlTransformer, UNO_QUERY); + mxUrlTransformer = NULL; + if (xComponent.is()) + xComponent->dispose(); + } } @@ -171,8 +280,8 @@ void PresenterController::disposing (void) void PresenterController::UpdateCurrentSlide (const sal_Int32 nOffset) { - ToggleSlideSorter(Hide, 0); GetSlides(nOffset); + UpdatePaneTitles(); UpdateViews(); } @@ -197,8 +306,11 @@ void PresenterController::GetSlides (const sal_Int32 nOffset) if (xIndexAccess.is() && nSlideIndex>=0) { if (nSlideIndex < xIndexAccess->getCount()) + { + mnCurrentSlideIndex = nSlideIndex; mxCurrentSlide = Reference( xIndexAccess->getByIndex(nSlideIndex), UNO_QUERY); + } } } catch (RuntimeException&) @@ -228,136 +340,114 @@ void PresenterController::GetSlides (const sal_Int32 nOffset) -void PresenterController::UpdateViews (void) +void PresenterController::UpdatePaneTitles (void) { - // Tell all views about the slides they should display. - PresenterPaneContainer::PaneList::const_iterator iPane; - for (iPane=mpPaneContainer->maPanes.begin(); iPane!=mpPaneContainer->maPanes.end(); ++iPane) - { - Reference xDrawView ((*iPane)->mxView, UNO_QUERY); - if (xDrawView.is()) - xDrawView->setCurrentPage(mxCurrentSlide); - } -} - + if ( ! mxSlideShowController.is()) + return; + // Get placeholders and their values. + const OUString sCurrentSlidePlaceholder (A2S("CURRENT_SLIDE_NUMBER")); + const OUString sSlideCountPlaceholder (A2S("SLIDE_COUNT")); + // Get string for slide count. + OUString sSlideCount (A2S("---")); + Reference xIndexAccess(mxSlideShowController, UNO_QUERY); + if (xIndexAccess.is()) + sSlideCount = OUString::valueOf(xIndexAccess->getCount()); -sal_Int32 PresenterController::GetViewBackgroundColor (const OUString& rsViewURL) const -{ - sal_Int32 nColor (0x00ffffff); + // Get string for current slide index. + OUString sCurrentSlide (OUString::valueOf(mnCurrentSlideIndex + 1)); - if (mpTheme.get() != NULL) + // Replace the placeholders with their current values. + PresenterPaneContainer::PaneList::const_iterator iPane; + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=mpPaneContainer->maPanes.end(); ++iPane) { - try - { - OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); - mpTheme->getPropertyValue( - sStyleName+OUString::createFromAscii("_Background_Color")) >>= nColor; - } - catch(Exception&) - {} - } - - return nColor; -} - - + OSL_ASSERT((*iPane).get() != NULL); + OUString sTemplate ((*iPane)->msTitleTemplate); + if (sTemplate.getLength() <= 0) + continue; -Reference PresenterController::GetViewBackgroundBitmap (const OUString& rsViewURL) const -{ - Reference xBitmap; + OUStringBuffer sResult; + sResult.ensureCapacity(sTemplate.getLength()); - if (mpTheme.get() != NULL) - { - try + sal_Int32 nIndex (0); + while (true) { - OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); - mpTheme->getPropertyValue( - sStyleName+OUString::createFromAscii("_Background_Bitmap")) >>= xBitmap; + sal_Int32 nStartIndex = sTemplate.indexOf('%', nIndex); + if (nStartIndex < 0) + { + // Add the remaining part of the string. + sResult.append(sTemplate.copy(nIndex, sTemplate.getLength()-nIndex)); + break; + } + else + { + // Add the part preceding the next %. + sResult.append(sTemplate.copy(nIndex, nStartIndex-nIndex)); + + // Get the placeholder + ++nIndex; + ++nStartIndex; + const sal_Int32 nEndIndex (sTemplate.indexOf('%', nStartIndex+1)); + const OUString sPlaceholder (sTemplate.copy(nStartIndex, nEndIndex-nStartIndex)); + nIndex = nEndIndex+1; + + // Replace the placeholder with its current value. + if (sPlaceholder == sCurrentSlidePlaceholder) + sResult.append(sCurrentSlide); + else if (sPlaceholder == sSlideCountPlaceholder) + sResult.append(sSlideCount); + } } - catch(Exception&) - {} - } - return xBitmap; + (*iPane)->msTitle = sResult.makeStringAndClear(); + if ((*iPane)->mxPane.is()) + (*iPane)->mxPane->SetTitle((*iPane)->msTitle); + } } -awt::FontDescriptor PresenterController::GetViewFontDescriptor (const OUString& rsViewURL) const +void PresenterController::UpdateViews (void) { - awt::FontDescriptor aDescriptor; - - if (mpTheme.get() != NULL) + // Tell all views about the slides they should display. + PresenterPaneContainer::PaneList::const_iterator iPane; + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=mpPaneContainer->maPanes.end(); ++iPane) { - try - { - OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); - mpTheme->getPropertyValue( - sStyleName+OUString::createFromAscii("_Font_Name")) >>= aDescriptor.Name; - sal_Int32 nHeight = 0; - mpTheme->getPropertyValue( - sStyleName+OUString::createFromAscii("_Font_Size")) >>= nHeight; - aDescriptor.Height = sal::static_int_cast(nHeight); - } - catch(Exception&) - { - } + Reference xDrawView ((*iPane)->mxView, UNO_QUERY); + if (xDrawView.is()) + xDrawView->setCurrentPage(mxCurrentSlide); } - return aDescriptor; } -rendering::FontRequest PresenterController::GetViewFontRequest (const OUString& rsViewURL) const +SharedBitmapDescriptor + PresenterController::GetViewBackground (const ::rtl::OUString& rsViewURL) const { - rendering::FontRequest aRequest; - if (mpTheme.get() != NULL) { - try - { - OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); - mpTheme->getPropertyValue( - sStyleName+OUString::createFromAscii("_Font_Name")) - >>= aRequest.FontDescription.FamilyName; - sal_Int32 nHeight = 0; - mpTheme->getPropertyValue( - sStyleName+OUString::createFromAscii("_Font_Size")) >>= nHeight; - aRequest.CellSize = sal::static_int_cast(nHeight); - } - catch(Exception&) - { - } + const OUString sStyleName (mpTheme->GetStyleName(rsViewURL)); + return mpTheme->GetBitmap(sStyleName, A2S("Background")); } - return aRequest; + return SharedBitmapDescriptor(); } -util::Color PresenterController::GetViewFontColor (const OUString& rsViewURL) const +PresenterTheme::SharedFontDescriptor + PresenterController::GetViewFont (const ::rtl::OUString& rsViewURL) const { - sal_Int32 nColor (0); - if (mpTheme.get() != NULL) { - try - { - OUString sStyleName (mpTheme->GetViewStyle(rsViewURL)); - mpTheme->getPropertyValue( - sStyleName+OUString::createFromAscii("_Font_Color")) >>= nColor; - } - catch(Exception&) - { - } + const OUString sStyleName (mpTheme->GetStyleName(rsViewURL)); + return mpTheme->GetFont(sStyleName); } - - return nColor; + return PresenterTheme::SharedFontDescriptor(); } @@ -420,6 +510,30 @@ rtl::Reference PresenterController::GetPaneContainer (vo +::boost::shared_ptr PresenterController::GetCanvasHelper (void) const +{ + return mpCanvasHelper; +} + + + + +Reference PresenterController::GetPresenterHelper (void) const +{ + return mxPresenterHelper; +} + + + + +::boost::shared_ptr PresenterController::GetPaintManager (void) const +{ + return mpPaintManager; +} + + + + void PresenterController::HideSlideSorter (void) { if (mpCurrentPaneAnimation.get() != NULL) @@ -432,6 +546,203 @@ void PresenterController::HideSlideSorter (void) +void PresenterController::ShowView (const OUString& rsViewURL) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindViewURL(rsViewURL)); + if (pDescriptor.get() != NULL) + { + pDescriptor->mbIsActive = true; + mxConfigurationController->requestResourceActivation( + pDescriptor->mxPaneId, + ResourceActivationMode_ADD); + mxConfigurationController->requestResourceActivation( + ResourceId::createWithAnchor( + mxComponentContext, + rsViewURL, + pDescriptor->mxPaneId), + ResourceActivationMode_REPLACE); + } +} + + + + +void PresenterController::HideView (const OUString& rsViewURL) +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindViewURL(rsViewURL)); + if (pDescriptor.get() != NULL) + { + mxConfigurationController->requestResourceDeactivation( + ResourceId::createWithAnchor( + mxComponentContext, + rsViewURL, + pDescriptor->mxPaneId)); + } +} + + + + +bool PresenterController::IsViewVisible (const OUString& rsViewURL) const +{ + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPaneContainer->FindViewURL(rsViewURL)); + if (pDescriptor.get() != NULL) + { + return mxConfigurationController->getResource( + ResourceId::createWithAnchor( + mxComponentContext, + rsViewURL, + pDescriptor->mxPaneId)).is(); + } + return false; +} + + + + +void PresenterController::DispatchUnoCommand (const OUString& rsCommand) const +{ + if ( ! mxUrlTransformer.is()) + return; + + util::URL aURL; + aURL.Complete = rsCommand; + mxUrlTransformer->parseStrict(aURL); + + Reference xDispatch (GetDispatch(aURL)); + if ( ! xDispatch.is()) + return; + + xDispatch->dispatch(aURL, Sequence()); +} + + + + +Reference PresenterController::GetDispatch (const util::URL& rURL) const +{ + if ( ! mxController.is()) + return NULL; + + Reference xDispatchProvider (mxController->getFrame(), UNO_QUERY); + if ( ! xDispatchProvider.is()) + return NULL; + + return xDispatchProvider->queryDispatch( + rURL, + OUString(), + frame::FrameSearchFlag::SELF); +} + + + + +util::URL PresenterController::CreateURLFromString (const ::rtl::OUString& rsURL) const +{ + util::URL aURL; + + if (mxUrlTransformer.is()) + { + aURL.Complete = rsURL; + mxUrlTransformer->parseStrict(aURL); + } + + return aURL; +} + + + + +Reference + PresenterController::GetConfigurationController (void) const +{ + return mxConfigurationController; +} + + + + +css::uno::Reference PresenterController::GetCurrentSlide (void) const +{ + return mxCurrentSlide; +} + + + + +void PresenterController::HandleMouseClick (const awt::MouseEvent& rEvent) +{ + if (mxSlideShowController.is()) + { + switch (rEvent.Buttons) + { + case awt::MouseButton::LEFT: + if (rEvent.Modifiers == awt::KeyModifier::MOD2) + mxSlideShowController->gotoNextSlide(); + else + mxSlideShowController->gotoNextEffect(); + break; + + case awt::MouseButton::RIGHT: + mxSlideShowController->gotoPreviousSlide(); + break; + + default: + // Other or multiple buttons. + break; + } + } +} + + + + +void PresenterController::RequestViews ( + const bool bIsSlideSorterActive, + const bool bIsNotesViewActive, + const bool bIsHelpViewActive) +{ + PresenterPaneContainer::PaneList::const_iterator iPane; + PresenterPaneContainer::PaneList::const_iterator iEnd (mpPaneContainer->maPanes.end()); + for (iPane=mpPaneContainer->maPanes.begin(); iPane!=iEnd; ++iPane) + { + bool bActivate (true); + const OUString sViewURL ((*iPane)->msViewURL); + if (sViewURL == PresenterViewFactory::msNotesViewURL) + { + bActivate = bIsNotesViewActive && !bIsSlideSorterActive && !bIsHelpViewActive; + } + else if (sViewURL == PresenterViewFactory::msSlideSorterURL) + { + bActivate = bIsSlideSorterActive; + } + else if (sViewURL == PresenterViewFactory::msCurrentSlidePreviewViewURL + || sViewURL == PresenterViewFactory::msNextSlidePreviewViewURL) + { + bActivate = !bIsSlideSorterActive && ! bIsHelpViewActive; + } + else if (sViewURL == PresenterViewFactory::msToolBarViewURL) + { + bActivate = true; + } + else if (sViewURL == PresenterViewFactory::msHelpViewURL) + { + bActivate = bIsHelpViewActive; + } + + if (bActivate) + ShowView(sViewURL); + else + HideView(sViewURL); + } +} + + + + //----- XConfigurationChangeListener ------------------------------------------ void SAL_CALL PresenterController::notifyConfigurationChange ( @@ -461,6 +772,12 @@ void SAL_CALL PresenterController::notifyConfigurationChange ( PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( mpPaneContainer->FindPaneId(xPane->getResourceId())); mpWindowManager->NotifyPaneCreation(pDescriptor); + + // When there is a call out anchor location set then tell the + // window about it. + if (pDescriptor->mbHasCalloutAnchor) + pDescriptor->mxPane->SetCalloutAnchor( + pDescriptor->maCalloutAnchorLocation); } } else if (rEvent.ResourceId->isBoundTo(mxMainPaneId,AnchorBindingMode_INDIRECT)) @@ -470,16 +787,9 @@ void SAL_CALL PresenterController::notifyConfigurationChange ( Reference xView (rEvent.ResourceObject,UNO_QUERY); if (xView.is()) { - PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( - mpPaneContainer->StoreView( - xView, - GetViewBackgroundColor(xView->getResourceId()->getResourceURL()), - GetViewBackgroundBitmap(xView->getResourceId()->getResourceURL()))); - OSL_ASSERT(pDescriptor.get() != NULL); - pDescriptor->mxPane->SetBackground( - GetViewBackgroundColor(xView->getResourceId()->getResourceURL()), - GetViewBackgroundBitmap(xView->getResourceId()->getResourceURL())); - + SharedBitmapDescriptor pViewBackground( + GetViewBackground(xView->getResourceId()->getResourceURL())); + mpPaneContainer->StoreView(xView, pViewBackground); UpdateViews(); mpWindowManager->NotifyViewCreation(xView); } @@ -487,6 +797,24 @@ void SAL_CALL PresenterController::notifyConfigurationChange ( break; case ResourceDeactivationEventType: + if (rEvent.ResourceId->isBoundTo(mxMainPaneId,AnchorBindingMode_INDIRECT)) + { + // If this is a view then remove it from the pane container. + Reference xView (rEvent.ResourceObject,UNO_QUERY); + if (xView.is()) + { + PresenterPaneContainer::SharedPaneDescriptor pDescriptor( + mpPaneContainer->RemoveView(xView)); + + // A possibly opaque view has been removed. Update() + // updates the clip polygon. + mpWindowManager->Update(); + // Request the repainting of the area previously + // occupied by the view. + if (pDescriptor.get() != NULL) + GetPaintManager()->Invalidate(pDescriptor->mxBorderWindow); + } + } break; } } @@ -553,9 +881,13 @@ void SAL_CALL PresenterController::keyPressed (const awt::KeyEvent& rEvent) void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent) throw (RuntimeException) { + if (rEvent.Source != mxMainWindow) + return; + switch (rEvent.KeyCode) { case awt::Key::ESCAPE: + case awt::Key::SUBTRACT: { if( mxController.is() ) { @@ -570,37 +902,107 @@ void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent) } break; - case awt::Key::SPACE: case awt::Key::PAGEDOWN: - case awt::Key::RETURN: if (mxSlideShowController.is()) { - mxSlideShowController->gotoNextSlide(); + if (rEvent.Modifiers == awt::KeyModifier::MOD2) + mxSlideShowController->gotoNextSlide(); + else + mxSlideShowController->gotoNextEffect(); + } + break; + + case awt::Key::SPACE: + case awt::Key::RIGHT: + case awt::Key::DOWN: + case awt::Key::N: + if (mxSlideShowController.is()) + { + mxSlideShowController->gotoNextEffect(); } break; - case awt::Key::BACKSPACE: case awt::Key::PAGEUP: + case awt::Key::LEFT: + case awt::Key::UP: + case awt::Key::P: + case awt::Key::BACKSPACE: if (mxSlideShowController.is()) { mxSlideShowController->gotoPreviousSlide(); } break; - case awt::Key::F1: - ToggleHelpWindow(true); + case awt::Key::HOME: + if (mxSlideShowController.is()) + { + mxSlideShowController->gotoFirstSlide(); + } + break; + + case awt::Key::END: + if (mxSlideShowController.is()) + { + mxSlideShowController->gotoLastSlide(); + } + break; + + case awt::Key::W: + case awt::Key::COMMA: + if (mxSlideShowController.is()) + { + if (mxSlideShowController->isPaused()) + mxSlideShowController->resume(); + else + mxSlideShowController->blankScreen(0x00ffffff); + } + break; + + case awt::Key::B: + case awt::Key::POINT: + if (mxSlideShowController.is()) + { + if (mxSlideShowController->isPaused()) + mxSlideShowController->resume(); + else + mxSlideShowController->blankScreen(0x00000000); + } break; - case awt::Key::F2: - ToggleSlideSorter(Toggle, 2); + case awt::Key::NUM0: + case awt::Key::NUM1: + case awt::Key::NUM2: + case awt::Key::NUM3: + case awt::Key::NUM4: + case awt::Key::NUM5: + case awt::Key::NUM6: + case awt::Key::NUM7: + case awt::Key::NUM8: + case awt::Key::NUM9: + if (mnPendingSlideNumber == -1) + mnPendingSlideNumber = 0; + UpdatePendingSlideNumber(mnPendingSlideNumber * 10 + rEvent.KeyCode-awt::Key::NUM0); break; - case awt::Key::F3: - ToggleSlideSorter(Toggle, 0); + case awt::Key::RETURN: + if (mnPendingSlideNumber > 0) + { + if (mxSlideShowController.is()) + mxSlideShowController->gotoSlideIndex(mnPendingSlideNumber - 1); + mnPendingSlideNumber = -1; + } + else + { + if (mxSlideShowController.is()) + mxSlideShowController->gotoNextEffect(); + } + break; - case awt::Key::F4: - ToggleSlideSorter(Toggle, 1); + case awt::Key::F1: + // Toggle the help view. + if (mpWindowManager.get() != NULL) + mpWindowManager->SetHelpViewState( ! mpWindowManager->IsHelpViewActive()); break; default: @@ -682,6 +1084,26 @@ void SAL_CALL PresenterController::mouseExited (const css::awt::MouseEvent& rEve +//----- XMouseMotionListener -------------------------------------------------- + +void SAL_CALL PresenterController::mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + +void SAL_CALL PresenterController::mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; +} + + + + //----------------------------------------------------------------------------- void PresenterController::InitializeMainPane (const Reference& rxPane) @@ -692,7 +1114,7 @@ void PresenterController::InitializeMainPane (const Reference& rxPane) LoadTheme(rxPane); // Main pane has been created and is now observed by the window - // manage.r + // manager. mpWindowManager->SetParentPane(rxPane); mpWindowManager->SetTheme(mpTheme); @@ -705,18 +1127,16 @@ void PresenterController::InitializeMainPane (const Reference& rxPane) { mxMainWindow->addKeyListener(this); mxMainWindow->addFocusListener(this); + mxMainWindow->addMouseListener(this); + mxMainWindow->addMouseMotionListener(this); } - if (mxSlideShowController.is()) - mxSlideShowController->activate(); -} - - + mpPaintManager.reset(new PresenterPaintManager(mxMainWindow, mxPresenterHelper, mpPaneContainer)); + mxCanvas = Reference(rxPane->getCanvas(), UNO_QUERY); -sal_Int32 PresenterController::GetBackgroundColor (void) const -{ - return mnBackgroundColor; + if (mxSlideShowController.is()) + mxSlideShowController->activate(); } @@ -726,170 +1146,74 @@ void PresenterController::LoadTheme (const Reference& rxPane) { // Create (load) the current theme. if (rxPane.is()) - mpTheme.reset(new PresenterTheme(mxContext, OUString(), rxPane->getCanvas())); - - // Store locally some values from the current theme. - if (mpTheme.get() != NULL) - { - try - { - mpTheme->getPropertyValue( - OUString::createFromAscii("Background_Color")) >>= mnBackgroundColor; - } - catch(Exception&) - {} - } + mpTheme.reset(new PresenterTheme(mxComponentContext, OUString(), rxPane->getCanvas())); } -void PresenterController::ToggleHelpWindow (const bool bUseAnimation) +double PresenterController::GetSlideAspectRatio (void) const { - if (mxConfigurationController.is()) - { - - Reference xPaneId (ResourceId::createWithAnchorURL( - mxContext, - PresenterPaneFactory::msOverlayPaneURL + OUString::createFromAscii("?Sprite=1"), - PresenterHelper::msFullScreenPaneURL)); - Reference xViewId (ResourceId::createWithAnchor( - mxContext, - PresenterViewFactory::msHelpViewURL, - xPaneId)); + double nSlideAspectRatio (28.0/21.0); - if ( ! mxConfigurationController->getResource(xViewId).is()) - { - mpPaneContainer->PreparePane( - xPaneId, - OUString::createFromAscii(""), - PresenterPaneContainer::ViewInitializationFunction(), - 0.0, - 0.0, - 1.0, - 1.0); - - mxConfigurationController->requestResourceActivation( - xPaneId, - ResourceActivationMode_ADD); - mxConfigurationController->requestResourceActivation( - xViewId, - ResourceActivationMode_REPLACE); - - // Show a pending hide animation. - if (mpCurrentPaneAnimation.get() != NULL) - mpCurrentPaneAnimation->HidePane(); - - // Create a new pane animator object. - EndActions aHideActions; - aHideActions.push_back(::boost::bind( - &drawing::framework::XConfigurationController::requestResourceDeactivation, - mxConfigurationController, - xViewId)); - mpCurrentPaneAnimation = CreateUnfoldInCenterAnimator( - xPaneId, this, bUseAnimation, EndActions(), aHideActions); - - // Schedule the ShowPane execution. - PresenterFrameworkObserver::RunOnResourceActivation( - mxConfigurationController, - xViewId, - ::boost::bind(&PresenterPaneAnimator::ShowPane, mpCurrentPaneAnimation)); - } - else + try + { + if (mxController.is()) { - if (mpCurrentPaneAnimation.get() != NULL) + Reference xSlideSupplier ( + mxController->getModel(), UNO_QUERY_THROW); + Reference xSlides (xSlideSupplier->getDrawPages()); + if (xSlides.is() && xSlides->getCount()>0) { - mpCurrentPaneAnimation->HidePane(); - mpCurrentPaneAnimation.reset(); + Reference xProperties(xSlides->getByIndex(0),UNO_QUERY_THROW); + sal_Int32 nWidth (28000); + sal_Int32 nHeight (21000); + if ((xProperties->getPropertyValue(OUString::createFromAscii("Width")) >>= nWidth) + && (xProperties->getPropertyValue(OUString::createFromAscii("Height")) >>= nHeight) + && nHeight > 0) + { + nSlideAspectRatio = double(nWidth) / double(nHeight); + } } } } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } + + return nSlideAspectRatio; } -void PresenterController::ToggleSlideSorter ( - const ToggleState eState, - const sal_Int32 nAppearMode) +void PresenterController::UpdatePendingSlideNumber (const sal_Int32 nPendingSlideNumber) { - if (mxConfigurationController.is()) - { + mnPendingSlideNumber = nPendingSlideNumber; - Reference xPaneId (ResourceId::createWithAnchorURL( - mxContext, - PresenterPaneFactory::msOverlayPaneURL + OUString::createFromAscii("?Sprite=1"), - //PresenterPaneFactory::msOverlayPaneURL, - PresenterHelper::msFullScreenPaneURL)); - Reference xSlideSorterViewId (ResourceId::createWithAnchor( - mxContext, - PresenterViewFactory::msSlideSorterURL, - xPaneId)); - - const bool bIsVisible (mxConfigurationController->getResource(xSlideSorterViewId).is()); - if ( ! bIsVisible && (eState==Toggle || eState==Show)) - { - // Show a pending hide animation. - if (mpCurrentPaneAnimation.get() != NULL) - { - mpCurrentPaneAnimation->HidePane(); - mpCurrentPaneAnimation.reset(); - } + if (mpTheme.get() == NULL) + return; - // Request slide sorter pane and view. - mpPaneContainer->PreparePane( - xPaneId, - OUString::createFromAscii(""), - PresenterPaneContainer::ViewInitializationFunction(), - 0.2, - 0.3, - 0.8, - 0.7); - mxConfigurationController->requestResourceActivation( - xPaneId, - ResourceActivationMode_ADD); - mxConfigurationController->requestResourceActivation( - xSlideSorterViewId, - ResourceActivationMode_REPLACE); - - EndActions aHideActions; - aHideActions.push_back(::boost::bind( - &drawing::framework::XConfigurationController::requestResourceDeactivation, - mxConfigurationController, - xSlideSorterViewId)); - - switch (nAppearMode) - { - case 0: - mpCurrentPaneAnimation = CreateUnfoldInCenterAnimator( - xPaneId, this, true, EndActions(), aHideActions); - break; - - case 1: - mpCurrentPaneAnimation = CreateMoveInFromBottomAnimator( - xPaneId, this, true, EndActions(), aHideActions); - break; - - case 2: - mpCurrentPaneAnimation = CreateTransparentOverlay( - xPaneId, this, true, EndActions(), aHideActions); - break; - } + if ( ! mxMainWindow.is()) + return; - PresenterFrameworkObserver::RunOnResourceActivation( - mxConfigurationController, - xSlideSorterViewId, - ::boost::bind(&PresenterPaneAnimator::ShowPane, mpCurrentPaneAnimation)); - } - else if (bIsVisible && (eState==Toggle || eState==Hide)) - { - if (mpCurrentPaneAnimation.get() != NULL) - { - mpCurrentPaneAnimation->HidePane(); - mpCurrentPaneAnimation.reset(); - } - } - } + PresenterTheme::SharedFontDescriptor pFont ( + mpTheme->GetFont(A2S("PendingSlideNumberFont"))); + if (pFont.get() == NULL) + return; + + pFont->PrepareFont(Reference(mxCanvas, UNO_QUERY)); + if ( ! pFont->mxFont.is()) + return; + + const OUString sText (OUString::valueOf(mnPendingSlideNumber)); + rendering::StringContext aContext (sText, 0, sText.getLength()); + Reference xLayout ( + pFont->mxFont->createTextLayout( + aContext, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT, + 0)); } -- cgit From c4b3110a0a604ed6fe478752ea0f6224f7837107 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:29:45 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 08:09:09 af 1.2.4.4: #i88853# Added GetCurrentSlide() method. Made UpdatePaneTitles() public. 2008/04/23 13:13:12 af 1.2.4.3: #i18486# Added HandleMouseClick() method, added support for F1 key. 2008/04/22 08:26:22 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:31:35 af 1.2.4.1: #i18486# Improved access to theme, added support for UNO commands. --- sdext/source/presenter/PresenterController.hxx | 83 ++++++++++++++++++++------ 1 file changed, 66 insertions(+), 17 deletions(-) diff --git a/sdext/source/presenter/PresenterController.hxx b/sdext/source/presenter/PresenterController.hxx index bb0b2be62b11..2d8478eca179 100644 --- a/sdext/source/presenter/PresenterController.hxx +++ b/sdext/source/presenter/PresenterController.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterController.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -32,13 +32,17 @@ #ifndef SDEXT_PRESENTER_CONTROLLER_HXX #define SDEXT_PRESENTER_CONTROLLER_HXX -#include +#include "PresenterTheme.hxx" +#include "PresenterSprite.hxx" +#include #include #include #include #include #include +#include #include +#include #include #include #include @@ -48,7 +52,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -59,6 +65,8 @@ namespace css = ::com::sun::star; namespace sdext { namespace presenter { class PresenterAnimator; +class PresenterCanvasHelper; +class PresenterPaintManager; class PresenterPaneAnimator; class PresenterPaneContainer; class PresenterPaneBorderPainter; @@ -66,12 +74,13 @@ class PresenterTheme; class PresenterWindowManager; namespace { - typedef ::cppu::WeakComponentImplHelper5 < + typedef ::cppu::WeakComponentImplHelper6 < css::drawing::framework::XConfigurationChangeListener, css::frame::XFrameActionListener, css::awt::XKeyListener, css::awt::XFocusListener, - css::awt::XMouseListener + css::awt::XMouseListener, + css::awt::XMouseMotionListener > PresenterControllerInterfaceBase; } @@ -85,6 +94,9 @@ class PresenterController public PresenterControllerInterfaceBase { public: + static ::rtl::Reference Instance ( + const css::uno::Reference& rxFrame); + PresenterController ( const css::uno::Reference& rxContext, const css::uno::Reference& rxController, @@ -97,12 +109,10 @@ public: void UpdateCurrentSlide (const sal_Int32 nOffset); - sal_Int32 GetBackgroundColor (void) const; - sal_Int32 GetViewBackgroundColor (const ::rtl::OUString& rsViewURL) const; - css::uno::Reference GetViewBackgroundBitmap (const ::rtl::OUString& rsViewURL) const; - css::awt::FontDescriptor GetViewFontDescriptor (const ::rtl::OUString& rsViewURL) const; - css::rendering::FontRequest GetViewFontRequest (const ::rtl::OUString& rsViewURL) const; - css::util::Color GetViewFontColor (const ::rtl::OUString& rsViewURL) const; + SharedBitmapDescriptor + GetViewBackground (const ::rtl::OUString& rsViewURL) const; + PresenterTheme::SharedFontDescriptor + GetViewFont (const ::rtl::OUString& rsViewURL) const; ::boost::shared_ptr GetTheme (void) const; ::rtl::Reference GetWindowManager (void) const; css::uno::Reference @@ -111,7 +121,32 @@ public: rtl::Reference GetPaneContainer (void) const; ::rtl::Reference GetPaneBorderPainter (void) const; ::boost::shared_ptr GetAnimator (void) const; + ::boost::shared_ptr GetCanvasHelper (void) const; + css::uno::Reference GetPresenterHelper (void) const; + ::boost::shared_ptr GetPaintManager (void) const; void HideSlideSorter (void); + double GetSlideAspectRatio (void) const; + void ShowView (const ::rtl::OUString& rsViewURL); + void HideView (const ::rtl::OUString& rsViewURL); + bool IsViewVisible (const ::rtl::OUString& rsViewURL) const; + void DispatchUnoCommand (const ::rtl::OUString& rsCommand) const; + css::uno::Reference GetDispatch ( + const css::util::URL& rURL) const; + css::util::URL CreateURLFromString (const ::rtl::OUString& rsURL) const; + css::uno::Reference + GetConfigurationController (void) const; + css::uno::Reference GetCurrentSlide (void) const; + + void HandleMouseClick (const css::awt::MouseEvent& rEvent); + void UpdatePaneTitles (void); + + /** Request activation or deactivation of (some of) the views according + to the given parameters. + */ + void RequestViews ( + const bool bIsSlideSorterActive, + const bool bIsNotesViewActive, + const bool bIsHelpViewActive); // XConfigurationChangeListener @@ -164,24 +199,42 @@ public: virtual void SAL_CALL mouseExited (const css::awt::MouseEvent& rEvent) throw (css::uno::RuntimeException); + + // XMouseMotionListener + + virtual void SAL_CALL mouseMoved (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL mouseDragged (const css::awt::MouseEvent& rEvent) + throw (css::uno::RuntimeException); + private: - css::uno::Reference mxContext; + typedef ::std::map,rtl::Reference > InstanceContainer; + static InstanceContainer maInstances; + + css::uno::Reference mxComponentContext; + css::uno::Reference mxCanvas; css::uno::Reference mxController; css::uno::Reference mxConfigurationController; css::uno::Reference mxSlideShowController; css::uno::Reference mxMainPaneId; rtl::Reference mpPaneContainer; + sal_Int32 mnCurrentSlideIndex; css::uno::Reference mxCurrentSlide; css::uno::Reference mxNextSlide; ::rtl::Reference mpWindowManager; ::boost::shared_ptr mpCurrentPaneAnimation; - sal_Int32 mnBackgroundColor; sal_Int32 mnWindowBackgroundColor; ::boost::shared_ptr mpTheme; css::uno::Reference mxMainWindow; ::rtl::Reference mpPaneBorderPainter; ::boost::shared_ptr mpAnimator; + ::boost::shared_ptr mpCanvasHelper; + css::uno::Reference mxPresenterHelper; + ::boost::shared_ptr mpPaintManager; + sal_Int32 mnPendingSlideNumber; + css::uno::Reference mxUrlTransformer; void InitializePresenterScreen (void); void InitializeSlideShowView (const css::uno::Reference& rxView); @@ -189,11 +242,7 @@ private: void UpdateViews (void); void InitializeMainPane (const css::uno::Reference& rxPane); void LoadTheme (const css::uno::Reference& rxPane); - void ToggleHelpWindow (const bool bUseAnimation); - enum ToggleState { Toggle, Show, Hide }; - void ToggleSlideSorter ( - const ToggleState eState, - const sal_Int32 nAppearMode); + void UpdatePendingSlideNumber (const sal_Int32 nPendingSlideNumber); void ThrowIfDisposed (void) const throw (::com::sun::star::lang::DisposedException); }; -- cgit From ec5bd52146ea4fa8c4c36b473d04a130c29c9611 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:29:57 +0000 Subject: INTEGRATION: CWS presenterscreen (1.3.10); FILE MERGED 2008/04/30 08:12:00 af 1.3.10.1: #i88853# Added detection for current slide being the slide past the last one. --- sdext/source/presenter/PresenterCurrentSlideObserver.cxx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sdext/source/presenter/PresenterCurrentSlideObserver.cxx b/sdext/source/presenter/PresenterCurrentSlideObserver.cxx index 072167b9a013..01455f4b60ae 100644 --- a/sdext/source/presenter/PresenterCurrentSlideObserver.cxx +++ b/sdext/source/presenter/PresenterCurrentSlideObserver.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterCurrentSlideObserver.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -109,6 +109,13 @@ void SAL_CALL PresenterCurrentSlideObserver::resumed (void) void SAL_CALL PresenterCurrentSlideObserver::slideEnded (void) throw (css::uno::RuntimeException) { + // Determine whether the new current slide (the one after the one that + // just ended) is the slide past the last slide in the presentation, + // i.e. the one that says something like "click to end presentation...". + if (mxSlideShowController.is()) + if (mxSlideShowController->getNextSlideIndex() < 0) + if( mpPresenterController.is() ) + mpPresenterController->UpdateCurrentSlide(+1); } void SAL_CALL PresenterCurrentSlideObserver::hyperLinkClicked (const rtl::OUString &) -- cgit From 4042eed1adde3550fa89ea49afdeecaae47780da Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:30:08 +0000 Subject: INTEGRATION: CWS presenterscreen (1.1.2); FILE ADDED 2008/05/05 08:44:21 af 1.1.2.4: #i18486# Changed identifier. 2008/04/30 12:28:08 af 1.1.2.3: #i18486# Fixed replacement of placeholders. 2008/04/23 13:39:10 af 1.1.2.2: #i18486# Fixed Linux compilation problems. 2008/04/22 13:00:11 af 1.1.2.1: #i18486# Initial revision. --- .../presenter/PresenterExtensionIdentifier.txx | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 sdext/source/presenter/PresenterExtensionIdentifier.txx diff --git a/sdext/source/presenter/PresenterExtensionIdentifier.txx b/sdext/source/presenter/PresenterExtensionIdentifier.txx new file mode 100644 index 000000000000..9d8590da57dc --- /dev/null +++ b/sdext/source/presenter/PresenterExtensionIdentifier.txx @@ -0,0 +1,45 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterExtensionIdentifier.txx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_EXTENSION_IDENTIFIER_HXX +#define SDEXT_PRESENTER_EXTENSION_IDENTIFIER_HXX + +namespace sdext { namespace presenter { + +/** The UPDATE_IDENTIFIER part of the string below is replaced by the + makefile.mk with the actual, platform specific, extension identifier. +*/ +const ::rtl::OUString PresenterComponent::gsExtensionIdentifier( + ::rtl::OUString::createFromAscii("com.sun.PresenterScreen-UPDATED_PLATFORM")); + +} } + +#endif -- cgit From 8e9ee47dfe1de9c68f46c6bc16f2d6b8336a5e5a Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:30:21 +0000 Subject: INTEGRATION: CWS presenterscreen (1.3.10); FILE MERGED 2008/04/23 11:54:34 af 1.3.10.2: #i18486# Added Shutdown() method. 2008/04/22 08:32:24 af 1.3.10.1: #i18486# Added RunOnUpdateEnd() method. --- .../presenter/PresenterFrameworkObserver.cxx | 61 +++++++++++++++++++--- 1 file changed, 53 insertions(+), 8 deletions(-) diff --git a/sdext/source/presenter/PresenterFrameworkObserver.cxx b/sdext/source/presenter/PresenterFrameworkObserver.cxx index 8874138ffb96..d773316da53a 100644 --- a/sdext/source/presenter/PresenterFrameworkObserver.cxx +++ b/sdext/source/presenter/PresenterFrameworkObserver.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterFrameworkObserver.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -58,10 +58,13 @@ PresenterFrameworkObserver::PresenterFrameworkObserver ( if (mxConfigurationController->hasPendingRequests()) { - mxConfigurationController->addConfigurationChangeListener( - this, - rsEventName, - Any()); + if (rsEventName.getLength() > 0) + { + mxConfigurationController->addConfigurationChangeListener( + this, + rsEventName, + Any()); + } mxConfigurationController->addConfigurationChangeListener( this, A2S("ConfigurationUpdateEnd"), @@ -98,6 +101,20 @@ void PresenterFrameworkObserver::RunOnResourceActivation ( +void PresenterFrameworkObserver::RunOnUpdateEnd ( + const css::uno::Reference&rxController, + const Action& rAction) +{ + new PresenterFrameworkObserver( + rxController, + OUString(), + &PresenterFrameworkObserver::True, + rAction); +} + + + + bool PresenterFrameworkObserver::HasResource ( const css::uno::Reference&rxController, const css::uno::Reference& rxResourceId) @@ -108,10 +125,34 @@ bool PresenterFrameworkObserver::HasResource ( +bool PresenterFrameworkObserver::True (void) +{ + return true; +} + + + + +bool PresenterFrameworkObserver::False (void) +{ + return false; +} + + + + void SAL_CALL PresenterFrameworkObserver::disposing (void) { if ( ! maAction.empty()) maAction(false); + Shutdown(); +} + + + + +void PresenterFrameworkObserver::Shutdown (void) +{ maAction = Action(); maPredicate = Predicate(); @@ -148,14 +189,18 @@ void SAL_CALL PresenterFrameworkObserver::notifyConfigurationChange ( { bool bDispose(false); + Action aAction (maAction); + Predicate aPredicate (maPredicate); if (rEvent.Type.equals(A2S("ConfigurationUpdateEnd"))) { - maAction(maPredicate); + Shutdown(); + aAction(aPredicate); bDispose = true; } - else if (maPredicate()) + else if (aPredicate()) { - maAction(true); + Shutdown(); + aAction(true); bDispose = true; } -- cgit From fcb81e54529d64f19f36bc456e872aae47001c3d Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:30:33 +0000 Subject: INTEGRATION: CWS presenterscreen (1.3.10); FILE MERGED 2008/04/23 11:54:11 af 1.3.10.2: #i18486# Added Shutdown() method. 2008/04/22 08:32:17 af 1.3.10.1: #i18486# Added RunOnUpdateEnd() method. --- .../presenter/PresenterFrameworkObserver.hxx | 29 +++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/sdext/source/presenter/PresenterFrameworkObserver.hxx b/sdext/source/presenter/PresenterFrameworkObserver.hxx index 6a79dbcd1c7c..a9aff60d9070 100644 --- a/sdext/source/presenter/PresenterFrameworkObserver.hxx +++ b/sdext/source/presenter/PresenterFrameworkObserver.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterFrameworkObserver.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -75,6 +75,9 @@ public: const css::uno::Reference&rxController, const css::uno::Reference& rxResourceId, const Action& rAction); + static void RunOnUpdateEnd ( + const css::uno::Reference&rxController, + const Action& rAction); virtual void SAL_CALL disposing (void); virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) @@ -89,6 +92,17 @@ private: Predicate maPredicate; Action maAction; + /** Create a new PresenterFrameworkObserver object. + @param rsEventName + An event name other than ConfigurationUpdateEnd. When the + observer shall only listen for ConfigurationUpdateEnd then pass + an empty name. + @param rPredicate + This functor tests whether the action is to be executed or not. + @param rAction + The functor to execute when the predicate returns true, + e.g. when some resource has been created. + */ PresenterFrameworkObserver ( const css::uno::Reference&rxController, const ::rtl::OUString& rsEventName, @@ -96,9 +110,22 @@ private: const Action& rAction); virtual ~PresenterFrameworkObserver (void); + void Shutdown (void); + + /** Predicate that returns true when the specified resource is active + with respect to the given configuration controller. + */ static bool HasResource ( const css::uno::Reference&rxController, const css::uno::Reference& rxResourceId); + + /** Predicate that always returns true. + */ + static bool True (void); + + /** Predicate that always returns false. + */ + static bool False (void); }; -- cgit From cc0ff86d47b02e7e0a468aaa9948bcd15d57d7c0 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:30:44 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:36 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:34:05 af 1.2.4.1: #i18486# Added support for rounded rectangles, rounding. --- sdext/source/presenter/PresenterGeometryHelper.cxx | 215 ++++++++++++++++++++- 1 file changed, 205 insertions(+), 10 deletions(-) diff --git a/sdext/source/presenter/PresenterGeometryHelper.cxx b/sdext/source/presenter/PresenterGeometryHelper.cxx index 4ca6d8b57608..62fe32029f26 100644 --- a/sdext/source/presenter/PresenterGeometryHelper.cxx +++ b/sdext/source/presenter/PresenterGeometryHelper.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterGeometryHelper.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -31,6 +31,7 @@ #include "PresenterGeometryHelper.hxx" +#include #include using namespace ::com::sun::star; @@ -58,12 +59,120 @@ sal_Int32 Height (const sal_Int32 nTop, const sal_Int32 nBottom) return nBottom - nTop + 1; } + +void SetBezierCurve ( + geometry::RealBezierSegment2D& rBezierSegment, + const double nX, + const double nY, + const double nDX1, + const double nDY1, + const double nDX2, + const double nDY2) +{ + rBezierSegment.Px = nX; + rBezierSegment.Py = nY; + rBezierSegment.C1x = nX + nDX1; + rBezierSegment.C1y = nY + nDY1; + rBezierSegment.C2x = nX + nDX1 + nDX2; + rBezierSegment.C2y = nY + nDY1 + nDY2; +} + + + +void SetBezierLine ( + geometry::RealBezierSegment2D& rBezierSegment, + const double nX1, + const double nY1, + const double nX2, + const double nY2) +{ + rBezierSegment.Px = nX1; + rBezierSegment.Py = nY1; + rBezierSegment.C1x = 0.666 * nX1 + 0.334 * nX2; + rBezierSegment.C1y = 0.666 * nY1 + 0.334 * nY2; + rBezierSegment.C2x = 0.333 * nX1 + 0.667 * nX2; + rBezierSegment.C2y = 0.333 * nY1 + 0.667 * nY2; +} + + } // end of anonymous namespace namespace sdext { namespace presenter { +sal_Int32 PresenterGeometryHelper::Floor (const double nValue) +{ + return sal::static_int_cast(floor(nValue)); +} + + + + +sal_Int32 PresenterGeometryHelper::Ceil (const double nValue) +{ + return sal::static_int_cast(ceil(nValue)); +} + + + + +sal_Int32 PresenterGeometryHelper::Round (const double nValue) +{ + return sal::static_int_cast(floor(0.5 + nValue)); +} + + + + +awt::Rectangle PresenterGeometryHelper::ConvertRectangle ( + const geometry::RealRectangle2D& rBox) +{ + const sal_Int32 nLeft (Floor(rBox.X1)); + const sal_Int32 nTop (Floor(rBox.Y1)); + const sal_Int32 nRight (Ceil(rBox.X2)); + const sal_Int32 nBottom (Ceil(rBox.Y2)); + return awt::Rectangle (nLeft,nTop,nRight-nLeft,nBottom-nTop); +} + + + + +awt::Rectangle PresenterGeometryHelper::ConvertRectangleWithConstantSize ( + const geometry::RealRectangle2D& rBox) +{ + return awt::Rectangle ( + Round(rBox.X1), + Round(rBox.Y1), + Round(rBox.X2 - rBox.X1), + Round(rBox.Y2 - rBox.Y1)); +} + + + + +geometry::RealRectangle2D PresenterGeometryHelper::ConvertRectangle ( + const css::awt::Rectangle& rBox) +{ + return geometry::RealRectangle2D( + rBox.X, + rBox.Y, + rBox.X + rBox.Width, + rBox.Y + rBox.Height); +} + + + + +css::awt::Size PresenterGeometryHelper::ConvertSize ( + const css::geometry::RealSize2D& rSize) +{ + return awt::Size(Round(rSize.Width), Round(rSize.Height)); +} + + + + awt::Rectangle PresenterGeometryHelper::TranslateRectangle ( const css::awt::Rectangle& rBox, const sal_Int32 nXOffset, @@ -92,6 +201,23 @@ awt::Rectangle PresenterGeometryHelper::Intersection ( +geometry::RealRectangle2D PresenterGeometryHelper::Intersection ( + const geometry::RealRectangle2D& rBox1, + const geometry::RealRectangle2D& rBox2) +{ + const double nLeft (::std::max(rBox1.X1, rBox2.X1)); + const double nTop (::std::max(rBox1.Y1, rBox2.Y1)); + const double nRight (::std::min(rBox1.X2, rBox2.X2)); + const double nBottom (::std::min(rBox1.Y2, rBox2.Y2)); + if (nLeft >= nRight || nTop >= nBottom) + return geometry::RealRectangle2D(0,0,0,0); + else + return geometry::RealRectangle2D(nLeft,nTop, nRight, nBottom); +} + + + + bool PresenterGeometryHelper::IsInside ( const css::awt::Rectangle& rBox, const css::awt::Point& rPoint) @@ -118,6 +244,19 @@ bool PresenterGeometryHelper::IsInside ( +bool PresenterGeometryHelper::IsInside ( + const css::awt::Rectangle& rBox1, + const css::awt::Rectangle& rBox2) +{ + return rBox1.X >= rBox2.X + && rBox1.Y >= rBox2.Y + && rBox1.X+rBox1.Width <= rBox2.X+rBox2.Width + && rBox1.Y+rBox1.Height <= rBox2.Y+rBox2.Height; +} + + + + awt::Rectangle PresenterGeometryHelper::Union ( const css::awt::Rectangle& rBox1, const css::awt::Rectangle& rBox2) @@ -140,6 +279,23 @@ awt::Rectangle PresenterGeometryHelper::Union ( +geometry::RealRectangle2D PresenterGeometryHelper::Union ( + const geometry::RealRectangle2D& rBox1, + const geometry::RealRectangle2D& rBox2) +{ + const double nLeft (::std::min(rBox1.X1, rBox2.X1)); + const double nTop (::std::min(rBox1.Y1, rBox2.Y1)); + const double nRight (::std::max(rBox1.X2, rBox2.X2)); + const double nBottom (::std::max(rBox1.Y2, rBox2.Y2)); + if (nLeft >= nRight || nTop >= nBottom) + return geometry::RealRectangle2D(0,0,0,0); + else + return geometry::RealRectangle2D(nLeft,nTop, nRight, nBottom); +} + + + + bool PresenterGeometryHelper::AreRectanglesDisjoint ( const css::awt::Rectangle& rBox1, const css::awt::Rectangle& rBox2) @@ -166,9 +322,9 @@ Reference PresenterGeometryHelper::CreatePolygon( aPoints[0][1] = geometry::RealPoint2D(rBox.X, rBox.Y+rBox.Height); aPoints[0][2] = geometry::RealPoint2D(rBox.X+rBox.Width, rBox.Y+rBox.Height); aPoints[0][3] = geometry::RealPoint2D(rBox.X+rBox.Width, rBox.Y); - Reference xRectangle ( - rxDevice->createCompatibleLinePolyPolygon(aPoints), - UNO_QUERY); + Reference xPolygon ( + rxDevice->createCompatibleLinePolyPolygon(aPoints)); + Reference xRectangle (xPolygon, UNO_QUERY); if (xRectangle.is()) xRectangle->setClosed(0, sal_True); @@ -191,9 +347,9 @@ Reference PresenterGeometryHelper::CreatePolygon( aPoints[0][1] = geometry::RealPoint2D(rBox.X1, rBox.Y2); aPoints[0][2] = geometry::RealPoint2D(rBox.X2, rBox.Y2); aPoints[0][3] = geometry::RealPoint2D(rBox.X2, rBox.Y1); - Reference xRectangle ( - rxDevice->createCompatibleLinePolyPolygon(aPoints), - UNO_QUERY); + Reference xPolygon ( + rxDevice->createCompatibleLinePolyPolygon(aPoints)); + Reference xRectangle (xPolygon, UNO_QUERY); if (xRectangle.is()) xRectangle->setClosed(0, sal_True); @@ -222,9 +378,9 @@ Reference PresenterGeometryHelper::CreatePolygon( aPoints[nIndex][3] = geometry::RealPoint2D(rBox.X+rBox.Width, rBox.Y); } - Reference xRectangle ( - rxDevice->createCompatibleLinePolyPolygon(aPoints), - UNO_QUERY); + Reference xPolygon ( + rxDevice->createCompatibleLinePolyPolygon(aPoints)); + Reference xRectangle (xPolygon, UNO_QUERY); if (xRectangle.is()) for (sal_Int32 nIndex=0; nIndexsetClosed(nIndex, sal_True); @@ -233,4 +389,43 @@ Reference PresenterGeometryHelper::CreatePolygon( } + + +Reference PresenterGeometryHelper::CreatePolygon( + const css::awt::Rectangle& rBox, + const double nRadius, + const Reference& rxDevice) +{ + if ( ! rxDevice.is()) + return NULL; + + Sequence > aPolygon(1); + aPolygon[0] = Sequence(8); + const double nLeft = rBox.X; + const double nTop = rBox.Y; + const double nRight = rBox.X + rBox.Width - 1; + const double nBottom = rBox.Y + rBox.Height - 1; + + + SetBezierCurve(aPolygon[0][0], nLeft + nRadius, nTop, -nRadius, 0, 0,0); + SetBezierLine(aPolygon[0][1], nLeft, nTop+nRadius, nLeft, nBottom-nRadius); + + SetBezierCurve(aPolygon[0][2], nLeft, nBottom-nRadius, 0,nRadius, 0,0); + SetBezierLine(aPolygon[0][3], nLeft+nRadius, nBottom, nRight-nRadius, nBottom); + + SetBezierCurve(aPolygon[0][4], nRight-nRadius, nBottom, nRadius,0, 0,0); + SetBezierLine(aPolygon[0][5], nRight, nBottom-nRadius, nRight, nTop+nRadius); + + SetBezierCurve(aPolygon[0][6], nRight, nTop+nRadius, 0,-nRadius, 0,0); + SetBezierLine(aPolygon[0][7], nRight-nRadius, nTop, nLeft+nRadius, nTop); + + Reference xPolygon ( + rxDevice->createCompatibleBezierPolyPolygon(aPolygon), + UNO_QUERY_THROW); + if (xPolygon.is()) + xPolygon->setClosed(0, sal_True); + + return xPolygon; +} + } } -- cgit From f6bf1062196b7d6493bcc372f3eca1571c6aa94e Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:30:58 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:07 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:34:13 af 1.2.4.1: #i18486# Added support for rounded rectangles, rounding. --- sdext/source/presenter/PresenterGeometryHelper.hxx | 47 +++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/sdext/source/presenter/PresenterGeometryHelper.hxx b/sdext/source/presenter/PresenterGeometryHelper.hxx index 83257602fb62..bfe9fb357b05 100644 --- a/sdext/source/presenter/PresenterGeometryHelper.hxx +++ b/sdext/source/presenter/PresenterGeometryHelper.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterGeometryHelper.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -48,6 +48,30 @@ namespace sdext { namespace presenter { class PresenterGeometryHelper { public: + static sal_Int32 Round (const double nValue); + static sal_Int32 Floor (const double nValue); + static sal_Int32 Ceil (const double nValue); + + /** Return the bounding box with integer coordinates of the given + rectangle. Note that due to different rounding of the left/top and + the right/bottom border the width of the resulting rectangle may + differ for different positions but constant width and height. + */ + static css::awt::Rectangle ConvertRectangle ( + const css::geometry::RealRectangle2D& rBox); + + /** Convert the given rectangle to integer coordinates so that width and + height remain constant when only the position changes. + */ + static css::awt::Rectangle ConvertRectangleWithConstantSize ( + const css::geometry::RealRectangle2D& rBox); + + static css::geometry::RealRectangle2D ConvertRectangle ( + const css::awt::Rectangle& rBox); + + static css::awt::Size ConvertSize ( + const css::geometry::RealSize2D& rSize); + static css::awt::Rectangle TranslateRectangle ( const css::awt::Rectangle& rBox, const sal_Int32 nXOffset, @@ -57,6 +81,10 @@ public: const css::awt::Rectangle& rBox1, const css::awt::Rectangle& rBox2); + static css::geometry::RealRectangle2D Intersection ( + const css::geometry::RealRectangle2D& rBox1, + const css::geometry::RealRectangle2D& rBox2); + static bool IsInside ( const css::awt::Rectangle& rBox, const css::awt::Point& rPoint); @@ -65,10 +93,20 @@ public: const css::geometry::RealRectangle2D& rBox, const css::geometry::RealPoint2D& rPoint); + /** Return whether rBox1 is completly inside rBox2. + */ + static bool IsInside ( + const css::awt::Rectangle& rBox1, + const css::awt::Rectangle& rBox2); + static css::awt::Rectangle Union ( const css::awt::Rectangle& rBox1, const css::awt::Rectangle& rBox2); + static css::geometry::RealRectangle2D Union ( + const css::geometry::RealRectangle2D& rBox1, + const css::geometry::RealRectangle2D& rBox2); + static bool AreRectanglesDisjoint ( const css::awt::Rectangle& rBox1, const css::awt::Rectangle& rBox2); @@ -84,6 +122,13 @@ public: static css::uno::Reference CreatePolygon( const ::std::vector& rBoxes, const css::uno::Reference& rxDevice); + + /** Create a polygon for a rounded rectangle. + */ + static css::uno::Reference CreatePolygon( + const css::awt::Rectangle& rBox, + const double nRadius, + const css::uno::Reference& rxDevice); }; } } -- cgit From 44db83d4af80da1dc96b25b5d9b0b79bbc68bc32 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:31:10 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 09:22:41 af 1.2.4.5: #i18486# Made TextContainer use shared_ptrs of Block. 2008/04/30 08:17:36 af 1.2.4.4: #i88850# Make sure that all help text can be displayed. 2008/04/22 08:27:14 af 1.2.4.3: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:59:13 af 1.2.4.2: #i18486# Fixed some Linux build problems. 2008/04/16 15:35:25 af 1.2.4.1: #i18486# Help view now displays supported keyboard keys. --- sdext/source/presenter/PresenterHelpView.cxx | 617 ++++++++++++++++++++++----- 1 file changed, 510 insertions(+), 107 deletions(-) diff --git a/sdext/source/presenter/PresenterHelpView.cxx b/sdext/source/presenter/PresenterHelpView.cxx index 4044b0f67950..f6078f706202 100644 --- a/sdext/source/presenter/PresenterHelpView.cxx +++ b/sdext/source/presenter/PresenterHelpView.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterHelpView.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,10 +30,11 @@ ************************************************************************/ #include "PresenterHelpView.hxx" +#include "PresenterButton.hxx" +#include "PresenterCanvasHelper.hxx" #include "PresenterGeometryHelper.hxx" #include "PresenterHelper.hxx" #include "PresenterWindowManager.hxx" -#include #include #include #include @@ -42,14 +43,96 @@ #include #include #include +#include +#include using namespace ::com::sun::star; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::drawing::framework; using ::rtl::OUString; +using ::std::vector; + +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + namespace sdext { namespace presenter { +namespace { + const static sal_Int32 gnHorizontalGap (20); + const static sal_Int32 gnVerticalBorder (30); + const static sal_Int32 gnVerticalButtonPadding (12); + + class LineDescriptor + { + public: + LineDescriptor(void); + void AddPart ( + const OUString& rsLine, + const css::uno::Reference& rxFont); + bool IsEmpty (void) const; + + OUString msLine; + geometry::RealSize2D maSize; + double mnVerticalOffset; + + void CalculateSize (const css::uno::Reference& rxFont); + }; + + class LineDescriptorList + { + public: + LineDescriptorList ( + const OUString& rsText, + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth); + + void Update ( + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth); + + double Paint( + const Reference& rxCanvas, + const geometry::RealRectangle2D& rBBox, + const bool bFlushLeft, + const rendering::ViewState& rViewState, + rendering::RenderState& rRenderState, + const css::uno::Reference& rxFont) const; + double GetHeight (void) const; + + private: + const OUString msText; + ::boost::shared_ptr > mpLineDescriptors; + + void SplitText (const ::rtl::OUString& rsText, vector& rTextParts); + void FormatText ( + const vector& rTextParts, + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth); + }; + + class Block + { + public: + Block (const Block& rBlock); + Block ( + const OUString& rsLeftText, + const OUString& rsRightText, + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth); + void Update ( + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth); + + LineDescriptorList maLeft; + LineDescriptorList maRight; + }; +} // end of anonymous namespace + +class PresenterHelpView::TextContainer : public vector > +{ +}; + + PresenterHelpView::PresenterHelpView ( const Reference& rxContext, const Reference& rxViewId, @@ -60,9 +143,13 @@ PresenterHelpView::PresenterHelpView ( mxViewId(rxViewId), mxPane(), mxWindow(), - mpPresenterController(rpPresenterController), mxCanvas(), - mxFont() + mpPresenterController(rpPresenterController), + mpFont(), + mpTextContainer(), + mpCloseButton(), + mnSeparatorY(0), + mnMaximalWidth(0) { try { @@ -73,6 +160,7 @@ PresenterHelpView::PresenterHelpView ( mxPane = Reference(xCC->getResource(rxViewId->getAnchor()), UNO_QUERY_THROW); mxWindow = mxPane->getWindow(); + ProvideCanvas(); mxWindow->addWindowListener(this); mxWindow->addPaintListener(this); @@ -83,13 +171,25 @@ PresenterHelpView::PresenterHelpView ( if (mpPresenterController.is()) { - ::rtl::Reference pWindowManager( - mpPresenterController->GetWindowManager()); - if (pWindowManager.is()) - pWindowManager->SetPanePosSizeRelative(rxViewId->getAnchor(), - 0.1,0.2, 0.8,0.6); + mpFont = mpPresenterController->GetViewFont(mxViewId->getResourceURL()); + if (mpFont.get() != NULL) + { + mpFont->PrepareFont(mxCanvas); + } } + // Create the close button. + mpCloseButton = PresenterButton::Create( + mxComponentContext, + mpPresenterController, + mpPresenterController->GetTheme(), + mxWindow, + mxCanvas, + A2S("HelpViewCloser")); + + mnMaximalWidth = (mxWindow->getPosSize().Width - 4*gnHorizontalGap) / 2; + ReadHelpStrings(); + CheckFontSize(); Resize(); } catch (RuntimeException&) @@ -114,6 +214,15 @@ void SAL_CALL PresenterHelpView::disposing (void) { mxViewId = NULL; + if (mpCloseButton.is()) + { + Reference xComponent ( + static_cast(mpCloseButton.get()), UNO_QUERY); + mpCloseButton = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + if (mxWindow.is()) { mxWindow->removeWindowListener(this); @@ -201,12 +310,19 @@ void SAL_CALL PresenterHelpView::windowPaint (const css::awt::PaintEvent& rEvent void PresenterHelpView::Paint (const awt::Rectangle& rUpdateBox) { ProvideCanvas(); + if ( ! mxCanvas.is()) + return; + + // Clear background. + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + mpPresenterController->GetCanvasHelper()->Paint( + mpPresenterController->GetViewBackground(mxViewId->getResourceURL()), + Reference(mxCanvas, UNO_QUERY), + rUpdateBox, + awt::Rectangle(0,0,aWindowBox.Width,aWindowBox.Height), + awt::Rectangle()); - Sequence aBackgroundColor(4); - aBackgroundColor[0] = 0.9; - aBackgroundColor[1] = 0.6; - aBackgroundColor[2] = 0.4; - aBackgroundColor[3] = 0; + // Paint vertical divider. rendering::ViewState aViewState( geometry::AffineMatrix2D(1,0,0, 0,1,0), @@ -215,105 +331,134 @@ void PresenterHelpView::Paint (const awt::Rectangle& rUpdateBox) rendering::RenderState aRenderState ( geometry::AffineMatrix2D(1,0,0, 0,1,0), NULL, - aBackgroundColor, - rendering::CompositeOperation::ADD); + Sequence(3), + rendering::CompositeOperation::SOURCE); + PresenterCanvasHelper::SetDeviceColor(aRenderState, mpFont->mnColor); - const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + mxCanvas->drawLine( + geometry::RealPoint2D(aWindowBox.Width/2, gnVerticalBorder), + geometry::RealPoint2D(aWindowBox.Width/2, mnSeparatorY - gnVerticalBorder), + aViewState, + aRenderState); - mxCanvas->fillPolyPolygon( - PresenterGeometryHelper::CreatePolygon( - awt::Rectangle(0,0,aWindowBox.Width,aWindowBox.Height), - mxCanvas->getDevice()), + // Paint the horizontal separator. + mxCanvas->drawLine( + geometry::RealPoint2D(0, mnSeparatorY), + geometry::RealPoint2D(aWindowBox.Width, mnSeparatorY), aViewState, aRenderState); - aRenderState.DeviceColor[0] = 0.4; - aRenderState.DeviceColor[1] = 0.4; - aRenderState.DeviceColor[2] = 0.4; - aRenderState.DeviceColor[3] = 0.8; - - // Create a polygon for a rectangle with rounded corners. - Sequence > aPolygon(1); - aPolygon[0] = Sequence(8); - const double nLeft = 0.2 * aWindowBox.Width; - const double nTop = 0.2 * aWindowBox.Height; - const double nRight = 0.8 * aWindowBox.Width; - const double nBottom = 0.8 * aWindowBox.Height; - const double nRadius = ::std::min(30.0,::std::min(aWindowBox.Width/2.0,aWindowBox.Height/2.0)); - -#define SetCurve(aPolygon, x,y, dx1,dy1, dx2,dy2) \ - aPolygon.Px=(x); aPolygon.Py=(y); \ - aPolygon.C1x=(x)+(dx1); aPolygon.C1y=(y)+(dy1); \ - aPolygon.C2x=(x)+(dx1)+(dx2); aPolygon.C2y=(y)+(dy1)+(dy2); -#define SetLine(aPolygon, x1,y1, x2,y2) \ - aPolygon.Px=(x1); aPolygon.Py=(y1); \ - aPolygon.C1x=0.666*(x1)+0.334*(x2); aPolygon.C1y=0.666*(y1)+0.334*(y2); \ - aPolygon.C2x=0.333*(x1)+0.667*(x2); aPolygon.C2y=0.333*(y1)+0.667*(y2); - - SetCurve(aPolygon[0][0], nLeft + nRadius, nTop, -nRadius, 0, 0,0); - SetLine(aPolygon[0][1], nLeft, nTop+nRadius, nLeft, nBottom-nRadius); - - SetCurve(aPolygon[0][2], nLeft, nBottom-nRadius, 0,nRadius, 0,0); - SetLine(aPolygon[0][3], nLeft+nRadius, nBottom, nRight-nRadius, nBottom); - - SetCurve(aPolygon[0][4], nRight-nRadius, nBottom, nRadius,0, 0,0); - SetLine(aPolygon[0][5], nRight, nBottom-nRadius, nRight, nTop+nRadius); - - SetCurve(aPolygon[0][6], nRight, nTop+nRadius, 0,-nRadius, 0,0); - SetLine(aPolygon[0][7], nRight-nRadius, nTop, nLeft+nRadius, nTop); - - Reference xPolygon ( - mxCanvas->getDevice()->createCompatibleBezierPolyPolygon(aPolygon), - UNO_QUERY_THROW); - if (xPolygon.is()) + // Paint text. + double nY (gnVerticalBorder); + TextContainer::const_iterator iBlock (mpTextContainer->begin()); + TextContainer::const_iterator iBlockEnd (mpTextContainer->end()); + for ( ; iBlock!=iBlockEnd; ++iBlock) { - xPolygon->setClosed(0, sal_True); - mxCanvas->fillPolyPolygon( - xPolygon, - aViewState, - aRenderState); + const double nLeftHeight ( + (*iBlock)->maLeft.Paint(mxCanvas, + geometry::RealRectangle2D( + gnHorizontalGap, + nY, + aWindowBox.Width/2 - gnHorizontalGap, + aWindowBox.Height - gnVerticalBorder), + false, + aViewState, + aRenderState, + mpFont->mxFont)); + const double nRightHeight ( + (*iBlock)->maRight.Paint(mxCanvas, + geometry::RealRectangle2D( + aWindowBox.Width/2 + gnHorizontalGap, + nY, + aWindowBox.Width - gnHorizontalGap, + aWindowBox.Height - gnVerticalBorder), + true, + aViewState, + aRenderState, + mpFont->mxFont)); + nY += ::std::max(nLeftHeight,nRightHeight); } - if ( ! mxFont.is()) - mxFont = mxCanvas->createFont( - mpPresenterController->GetViewFontRequest(mxViewId->getResourceURL()), - Sequence(), - geometry::Matrix2D(1,0,0,1)); + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); +} + + + + +void PresenterHelpView::ReadHelpStrings (void) +{ + mpTextContainer.reset(new TextContainer()); + PresenterConfigurationAccess aConfiguration ( + mxComponentContext, + OUString::createFromAscii("/org.openoffice.Office.extension.PresenterScreen/"), + PresenterConfigurationAccess::READ_ONLY); + Reference xStrings ( + aConfiguration.GetConfigurationNode(A2S("PresenterScreenSettings/HelpView/HelpStrings")), + UNO_QUERY); + PresenterConfigurationAccess::ForAll( + xStrings, + ::boost::bind(&PresenterHelpView::ProcessString, this, _2)); +} + + + + +void PresenterHelpView::ProcessString ( + const Reference& rsProperties) +{ + if ( ! rsProperties.is()) + return; + + OUString sLeftText; + PresenterConfigurationAccess::GetProperty(rsProperties, A2S("Left")) >>= sLeftText; + OUString sRightText; + PresenterConfigurationAccess::GetProperty(rsProperties, A2S("Right")) >>= sRightText; + + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + mpTextContainer->push_back( + ::boost::shared_ptr( + new Block(sLeftText, sRightText, mpFont->mxFont, mnMaximalWidth))); +} + + + + +void PresenterHelpView::CheckFontSize (void) +{ + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + + double nY (gnVerticalBorder); + TextContainer::iterator iBlock (mpTextContainer->begin()); + TextContainer::const_iterator iBlockEnd (mpTextContainer->end()); + for ( ; iBlock!=iBlockEnd; ++iBlock) + nY += ::std::max( + (*iBlock)->maLeft.GetHeight(), + (*iBlock)->maRight.GetHeight()); - if (mxFont.is()) + if (nY > aWindowBox.Height-gnVerticalBorder) { - OUString sText (OUString::createFromAscii("Help View\nSecond Line of Text")); - rendering::StringContext aContext (sText, 0, sText.getLength()); - - Reference xLayout ( - mxFont->createTextLayout(aContext, rendering::TextDirection::WEAK_LEFT_TO_RIGHT, 0)); - - geometry::RealRectangle2D aBox (xLayout->queryTextBounds()); - // const double nTextWidth = aBox.X2 - aBox.X1; - // const double nTextHeight = aBox.Y2 - aBox.Y1; - const double nX = nTop + 2*nRadius; - const double nY = nLeft + 2*nRadius; - - rendering::RenderState aFontRenderState( - geometry::AffineMatrix2D(1,0,nX, 0,1,nY), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE); - const util::Color aFontColor ( - mpPresenterController->GetViewFontColor(mxViewId->getResourceURL())); - aRenderState.DeviceColor[0] = ((aFontColor & 0x00ff0000)>>16) / 255.0; - aRenderState.DeviceColor[1] = ((aFontColor & 0x0000ff00)>>8) / 255.0; - aRenderState.DeviceColor[2] = (aFontColor & 0x000000ff) / 255.0; - - mxCanvas->drawText( - aContext, - mxFont, - aViewState, - aFontRenderState, - rendering::TextDirection::WEAK_LEFT_TO_RIGHT); - } + // Font is too large. Make it smaller. - mxCanvas->updateScreen(sal_False); + if (mpFont.get() == NULL) + { + // No font to work with. + return; + } + + // Use a simple linear transformation to calculate initial guess of + // a size that lets all help text be shown inside the window. + sal_Int32 nFontSizeGuess ( + sal_Int32(mpFont->mnSize * (aWindowBox.Height-gnVerticalBorder) / nY)); + mpFont->mnSize = nFontSizeGuess; + mpFont->mxFont = NULL; + mpFont->PrepareFont(mxCanvas); + + // Reformat blocks. + for (iBlock=mpTextContainer->begin(); iBlock!=iBlockEnd; ++iBlock) + (*iBlock)->Update(mpFont->mxFont, mnMaximalWidth); + } } @@ -346,12 +491,15 @@ void PresenterHelpView::ProvideCanvas (void) { if ( ! mxCanvas.is() && mxPane.is()) { - mxCanvas = Reference(mxPane->getCanvas(), UNO_QUERY); + mxCanvas = mxPane->getCanvas(); if ( ! mxCanvas.is()) return; Reference xComponent (mxCanvas, UNO_QUERY); if (xComponent.is()) xComponent->addEventListener(static_cast(this)); + + if (mpCloseButton.is()) + mpCloseButton->SetCanvas(mxCanvas, mxWindow); } } @@ -360,10 +508,18 @@ void PresenterHelpView::ProvideCanvas (void) void PresenterHelpView::Resize (void) { - // The whole window has to be repainted. - Reference xPeer (mxWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->invalidate(awt::InvalidateStyle::CHILDREN); + if (mpCloseButton.get() != NULL && mxWindow.is()) + { + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + + // Place vertical separator. + mnSeparatorY = aWindowBox.Height + - mpCloseButton->GetSize().Height - gnVerticalButtonPadding; + + mpCloseButton->SetCenter(geometry::RealPoint2D( + aWindowBox.Width/2, + aWindowBox.Height - mpCloseButton->GetSize().Height/2)); + } } @@ -381,4 +537,251 @@ void PresenterHelpView::ThrowIfDisposed (void) } } + + + +//===== LineDescritor ========================================================= + +namespace { + +LineDescriptor::LineDescriptor (void) + : msLine(), + maSize(0,0), + mnVerticalOffset(0) +{ +} + + + + +void LineDescriptor::AddPart ( + const OUString& rsLine, + const css::uno::Reference& rxFont) +{ + msLine += rsLine; + + CalculateSize(rxFont); +} + + + + +bool LineDescriptor::IsEmpty (void) const +{ + return msLine.getLength()==0; +} + + + + +void LineDescriptor::CalculateSize ( + const css::uno::Reference& rxFont) +{ + OSL_ASSERT(rxFont.is()); + + rendering::StringContext aContext (msLine, 0, msLine.getLength()); + Reference xLayout ( + rxFont->createTextLayout(aContext, rendering::TextDirection::WEAK_LEFT_TO_RIGHT, 0)); + const geometry::RealRectangle2D aTextBBox (xLayout->queryTextBounds()); + maSize = css::geometry::RealSize2D(aTextBBox.X2 - aTextBBox.X1, aTextBBox.Y2 - aTextBBox.Y1); + mnVerticalOffset = aTextBBox.Y2; +} + +} // end of anonymous namespace + + + + +//===== LineDescriptorList ==================================================== + +namespace { + +LineDescriptorList::LineDescriptorList ( + const OUString& rsText, + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth) + : msText(rsText) +{ + Update(rxFont, nMaximalWidth); +} + + + + +double LineDescriptorList::Paint( + const Reference& rxCanvas, + const geometry::RealRectangle2D& rBBox, + const bool bFlushLeft, + const rendering::ViewState& rViewState, + rendering::RenderState& rRenderState, + const css::uno::Reference& rxFont) const +{ + if ( ! rxCanvas.is()) + return 0; + + double nY (rBBox.Y1); + vector::const_iterator iLine (mpLineDescriptors->begin()); + vector::const_iterator iEnd (mpLineDescriptors->end()); + for ( ; iLine!=iEnd; ++iLine) + { + double nX (rBBox.X1); + if ( ! bFlushLeft) + nX = rBBox.X2 - iLine->maSize.Width; + rRenderState.AffineTransform.m02 = nX; + rRenderState.AffineTransform.m12 = nY + iLine->maSize.Height - iLine->mnVerticalOffset; + + const rendering::StringContext aContext (iLine->msLine, 0, iLine->msLine.getLength()); + + rxCanvas->drawText ( + aContext, + rxFont, + rViewState, + rRenderState, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT); + + nY += iLine->maSize.Height * 1.2; + } + + return nY - rBBox.Y1; +} + + + + +double LineDescriptorList::GetHeight (void) const +{ + double nHeight (0); + vector::const_iterator iLine (mpLineDescriptors->begin()); + vector::const_iterator iEnd (mpLineDescriptors->end()); + for ( ; iLine!=iEnd; ++iLine) + nHeight += iLine->maSize.Height * 1.2; + + return nHeight; +} + + + + +void LineDescriptorList::Update ( + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth) +{ + vector aTextParts; + SplitText(msText, aTextParts); + FormatText(aTextParts, rxFont, nMaximalWidth); +} + + + + +void LineDescriptorList::SplitText ( + const OUString& rsText, + vector& rTextParts) +{ + const sal_Char cQuote ('\''); + const sal_Char cSeparator (','); + + sal_Int32 nIndex (0); + sal_Int32 nStart (0); + sal_Int32 nLength (rsText.getLength()); + bool bIsQuoted (false); + while (nIndex < nLength) + { + const sal_Int32 nQuoteIndex (rsText.indexOf(cQuote, nIndex)); + const sal_Int32 nSeparatorIndex (rsText.indexOf(cSeparator, nIndex)); + if (nQuoteIndex>=0 && (nSeparatorIndex==-1 || nQuoteIndex& rTextParts, + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth) +{ + LineDescriptor aLineDescriptor; + + mpLineDescriptors.reset(new vector()); + + vector::const_iterator iPart (rTextParts.begin()); + vector::const_iterator iEnd (rTextParts.end()); + for ( ; iPart!=iEnd; ++iPart) + { + if (aLineDescriptor.IsEmpty()) + { + // Avoid empty lines. + aLineDescriptor.AddPart(*iPart, rxFont); + } + else if (PresenterCanvasHelper::GetTextSize( + rxFont, aLineDescriptor.msLine+A2S(", ")+*iPart).Width > nMaximalWidth) + { + aLineDescriptor.AddPart(A2S(","), rxFont); + mpLineDescriptors->push_back(aLineDescriptor); + aLineDescriptor = LineDescriptor(); + aLineDescriptor.AddPart(*iPart, rxFont); + } + else + { + aLineDescriptor.AddPart(A2S(", ")+*iPart, rxFont); + } + } + if ( ! aLineDescriptor.IsEmpty()) + mpLineDescriptors->push_back(aLineDescriptor); +} + + +} // end of anonymous namespace + + + + +//===== Block ================================================================= + +namespace { + +Block::Block ( + const OUString& rsLeftText, + const OUString& rsRightText, + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth) + : maLeft(rsLeftText, rxFont, nMaximalWidth), + maRight(rsRightText, rxFont, nMaximalWidth) +{ +} + + + +void Block::Update ( + const css::uno::Reference& rxFont, + const sal_Int32 nMaximalWidth) +{ + maLeft.Update(rxFont, nMaximalWidth); + maRight.Update(rxFont, nMaximalWidth); +} + +} // end of anonymous namespace + } } // end of namespace ::sdext::presenter + + -- cgit From 7e2fc8498bf745e51f50cfe756ef6dd026212201 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:31:22 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 08:17:43 af 1.2.4.3: #i88850# Make sure that all help text can be displayed. 2008/04/22 08:24:47 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:35:32 af 1.2.4.1: #i18486# Help view now displays supported keyboard keys. --- sdext/source/presenter/PresenterHelpView.hxx | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/sdext/source/presenter/PresenterHelpView.hxx b/sdext/source/presenter/PresenterHelpView.hxx index 6645ab7ed645..03bcf31f06d4 100644 --- a/sdext/source/presenter/PresenterHelpView.hxx +++ b/sdext/source/presenter/PresenterHelpView.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterHelpView.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -54,7 +54,9 @@ namespace { namespace sdext { namespace presenter { -/** Experimental. Do not use (yet). +class PresenterButton; + +/** Show help text that describes the defined keys. */ class PresenterHelpView : private ::cppu::BaseMutex, @@ -107,17 +109,31 @@ public: throw (com::sun::star::uno::RuntimeException); private: + class TextContainer; + css::uno::Reference mxComponentContext; css::uno::Reference mxViewId; css::uno::Reference mxPane; css::uno::Reference mxWindow; + css::uno::Reference mxCanvas; ::rtl::Reference mpPresenterController; - css::uno::Reference mxCanvas; - css::uno::Reference mxFont; + PresenterTheme::SharedFontDescriptor mpFont; + ::boost::scoped_ptr mpTextContainer; + ::rtl::Reference mpCloseButton; + sal_Int32 mnSeparatorY; + sal_Int32 mnMaximalWidth; void ProvideCanvas (void); void Resize (void); void Paint (const css::awt::Rectangle& rRedrawArea); + void ReadHelpStrings (void); + void ProcessString ( + const css::uno::Reference& rsProperties); + + /** Find a font size, so that all text can be displayed at the same + time. + */ + void CheckFontSize (void); /** This method throws a DisposedException when the object has already been disposed. -- cgit From 49922324527ad0fb51a3e20615643995489e9f6a Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:31:35 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:58 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:36:38 af 1.2.4.1: #i18486# Removed reference to non-URE libraries. --- sdext/source/presenter/PresenterHelper.cxx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sdext/source/presenter/PresenterHelper.cxx b/sdext/source/presenter/PresenterHelper.cxx index b87a4f86f3c7..dbeb7bf6c1d3 100644 --- a/sdext/source/presenter/PresenterHelper.cxx +++ b/sdext/source/presenter/PresenterHelper.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterHelper.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -35,8 +35,6 @@ #include #include #include -#include - using namespace ::com::sun::star; using namespace ::com::sun::star::uno; -- cgit From 031a0f4dfeff9df59970cba7b142cffc218124d0 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:31:59 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/05/13 13:43:25 af 1.2.4.9: RESYNC: (1.3-1.4); FILE MERGED 2008/04/30 13:39:06 af 1.2.4.8: #i18486# Fixed some warnings. 2008/04/30 13:33:48 af 1.2.4.7: #i88838# Made font size changes persistent during one session. Changed keys for grow/shrink. 2008/04/30 08:31:58 af 1.2.4.6: #i88850# Changed keys for growing and shrinking notes font. 2008/04/30 08:29:18 af 1.2.4.5: #i88853# Store modified font size in configuration. 2008/04/23 13:13:52 af 1.2.4.4: #i18486# Changed keys for scrolling and chaning the font size. 2008/04/22 08:33:47 af 1.2.4.3: #i18486# Split initialization off the PresenterToolBar constructor. 2008/04/22 08:25:35 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:37:40 af 1.2.4.1: #i18486# Added tool bar, close button. --- sdext/source/presenter/PresenterNotesView.cxx | 446 +++++++++++++++++++------- 1 file changed, 338 insertions(+), 108 deletions(-) diff --git a/sdext/source/presenter/PresenterNotesView.cxx b/sdext/source/presenter/PresenterNotesView.cxx index 2f099b808a27..3e02a5206c27 100644 --- a/sdext/source/presenter/PresenterNotesView.cxx +++ b/sdext/source/presenter/PresenterNotesView.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterNotesView.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * * This file is part of OpenOffice.org. * @@ -30,8 +30,11 @@ ************************************************************************/ #include "PresenterNotesView.hxx" +#include "PresenterButton.hxx" +#include "PresenterCanvasHelper.hxx" +#include "PresenterGeometryHelper.hxx" +#include "PresenterPaintManager.hxx" #include "PresenterScrollBar.hxx" -#include #include #include #include @@ -43,6 +46,8 @@ #include #include #include +#include +#include #include using namespace ::com::sun::star; @@ -50,6 +55,11 @@ using namespace ::com::sun::star::uno; using namespace ::com::sun::star::drawing::framework; using ::rtl::OUString; +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + +static const sal_Int32 gnSpaceBelowSeparator (10); +static const sal_Int32 gnSpaceAboveSeparator (10); + namespace sdext { namespace presenter { PresenterNotesView::PresenterNotesView ( @@ -59,15 +69,24 @@ PresenterNotesView::PresenterNotesView ( const ::rtl::Reference& rpPresenterController) : PresenterNotesViewInterfaceBase(m_aMutex), mxViewId(rxViewId), + mpPresenterController(rpPresenterController), mxTextView(), mxCanvas(), mxBitmap(), mxCurrentNotesPage(), + mpFont(), maFontDescriptor(), - mpScrollBar() + mpScrollBar(), + mxToolBarWindow(), + mxToolBarCanvas(), + mpToolBar(), + mpCloseButton(), + mnSeparatorYLocation(0), + maTextBoundingBox(), + mpBackground() { const OUString sResourceURL (mxViewId->getResourceURL()); - maFontDescriptor = rpPresenterController->GetViewFontDescriptor(sResourceURL); + mpFont = rpPresenterController->GetViewFont(sResourceURL); try { @@ -84,19 +103,29 @@ PresenterNotesView::PresenterNotesView ( aArguments[0] <<= mxCanvas; mxTextView = Reference( xFactory->createInstanceWithArgumentsAndContext( - OUString::createFromAscii("com.sun.star.drawing.PresenterTextView"), + A2S("com.sun.star.drawing.PresenterTextView"), aArguments, rxComponentContext), UNO_QUERY_THROW); - mxTextView->setPropertyValue( - OUString::createFromAscii("BackgroundColor"), - Any(rpPresenterController->GetViewBackgroundColor(sResourceURL))); - mxTextView->setPropertyValue( - OUString::createFromAscii("FontDescriptor"), - Any(maFontDescriptor)); - mxTextView->setPropertyValue( - OUString::createFromAscii("TextColor"), - Any(rpPresenterController->GetViewFontColor(sResourceURL))); + mxTextView->setPropertyValue(A2S("BackgroundColor"), Any(sal_uInt32(0x00ff0000))); + if (mpFont.get() != NULL) + { + maFontDescriptor.Name = mpFont->msFamilyName; + maFontDescriptor.Height = sal::static_int_cast(mpFont->mnSize); + maFontDescriptor.StyleName = mpFont->msStyleName; + mxTextView->setPropertyValue(A2S("FontDescriptor"), Any(maFontDescriptor)); + mxTextView->setPropertyValue(A2S("TextColor"), Any(mpFont->mnColor)); + } + + CreateToolBar(rxComponentContext, rpPresenterController); + + mpCloseButton = PresenterButton::Create( + rxComponentContext, + mpPresenterController, + mpPresenterController->GetTheme(), + mxParentWindow, + mxCanvas, + A2S("NotesViewCloser")); if (mxParentWindow.is()) { @@ -109,10 +138,11 @@ PresenterNotesView::PresenterNotesView ( mpScrollBar = new PresenterVerticalScrollBar( rxComponentContext, mxParentWindow, + mpPresenterController->GetPaintManager(), ::boost::bind(&PresenterNotesView::SetTop, this, _1)); mpScrollBar->SetCanvas(mxCanvas); - Resize(); + Layout(); } catch (RuntimeException&) { @@ -148,6 +178,36 @@ void SAL_CALL PresenterNotesView::disposing (void) xComponent->dispose(); } + // Dispose tool bar. + { + Reference xComponent (static_cast(mpToolBar.get()), UNO_QUERY); + mpToolBar = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + { + Reference xComponent (mxToolBarCanvas, UNO_QUERY); + mxToolBarCanvas = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + { + Reference xComponent (mxToolBarWindow, UNO_QUERY); + mxToolBarWindow = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + // Dispose close button + { + Reference xComponent (static_cast(mpCloseButton.get()), UNO_QUERY); + mpCloseButton = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + + // Create the tool bar. + mpScrollBar = NULL; mxViewId = NULL; @@ -156,12 +216,52 @@ void SAL_CALL PresenterNotesView::disposing (void) +void PresenterNotesView::CreateToolBar ( + const css::uno::Reference& rxContext, + const ::rtl::Reference& rpPresenterController) +{ + if (rpPresenterController.get() == NULL) + return; + + Reference xPresenterHelper ( + rpPresenterController->GetPresenterHelper()); + if ( ! xPresenterHelper.is()) + return; + + // Create a new window as container of the tool bar. + mxToolBarWindow = xPresenterHelper->createWindow( + mxParentWindow, + sal_False, + sal_True, + sal_False, + sal_False); + mxToolBarCanvas = xPresenterHelper->createSharedCanvas ( + Reference(mxCanvas, UNO_QUERY), + mxParentWindow, + mxCanvas, + mxParentWindow, + mxToolBarWindow); + + // Create the tool bar. + mpToolBar = new PresenterToolBar( + rxContext, + mxToolBarWindow, + mxToolBarCanvas, + rpPresenterController, + PresenterToolBar::Left); + mpToolBar->Initialize( + A2S("PresenterScreenSettings/ToolBars/NotesToolBar")); +} + + + + void PresenterNotesView::SetSlide (const Reference& rxNotesPage) { static const ::rtl::OUString sNotesShapeName ( - OUString::createFromAscii("com.sun.star.presentation.NotesShape")); + A2S("com.sun.star.presentation.NotesShape")); static const ::rtl::OUString sTextShapeName ( - OUString::createFromAscii("com.sun.star.drawing.TextShape")); + A2S("com.sun.star.drawing.TextShape")); Reference xIndexAccess (rxNotesPage, UNO_QUERY); if (xIndexAccess.is() @@ -206,11 +306,13 @@ void PresenterNotesView::SetSlide (const Reference& rxNotesP } mxBitmap = NULL; - mxTextView->setPropertyValue(OUString::createFromAscii("Text"), Any(sText)); + mxTextView->setPropertyValue(A2S("Text"), Any(sText)); + + Layout(); if (mpScrollBar.get() != NULL) { - mpScrollBar->SetThumbPosition(0); + mpScrollBar->SetThumbPosition(0, false); UpdateScrollBar(); } @@ -247,7 +349,7 @@ void SAL_CALL PresenterNotesView::windowResized (const awt::WindowEvent& rEvent) throw (RuntimeException) { (void)rEvent; - Resize(); + Layout(); } @@ -285,10 +387,13 @@ void SAL_CALL PresenterNotesView::windowHidden (const lang::EventObject& rEvent) void SAL_CALL PresenterNotesView::windowPaint (const awt::PaintEvent& rEvent) throw (RuntimeException) { - (void)rEvent; ThrowIfDisposed(); + + if ( ! mbIsPresenterViewActive) + return; + ::osl::MutexGuard aSolarGuard (::osl::Mutex::getGlobalMutex()); - Paint(); + Paint(rEvent.UpdateRect); } @@ -332,7 +437,6 @@ void SAL_CALL PresenterNotesView::setCurrentPage (const ReferencesetPropertyValue( - OUString::createFromAscii("FontDescriptor"), - Any(maFontDescriptor)); - UpdateScrollBar(); - Invalidate(); - } - break; - - case awt::Key::SUBTRACT: - { - if (maFontDescriptor.Height > 1) - maFontDescriptor.Height -= 1; - mxTextView->setPropertyValue( - OUString::createFromAscii("FontDescriptor"), - Any(maFontDescriptor)); - UpdateScrollBar(); - Invalidate(); - } - break; - } + (void)rEvent; } @@ -402,64 +491,171 @@ void SAL_CALL PresenterNotesView::keyReleased (const awt::KeyEvent& rEvent) //----------------------------------------------------------------------------- -void PresenterNotesView::Resize (void) +void PresenterNotesView::Layout (void) { - if (mxParentWindow.is() && mpScrollBar.get()!=NULL) + if ( ! mxParentWindow.is()) + return; + if ( ! mxTextView.is()) + return; + + awt::Rectangle aWindowBox (mxParentWindow->getPosSize()); + geometry::RealRectangle2D aNewTextBoundingBox (0,0,aWindowBox.Width, aWindowBox.Height); + + // Size the tool bar and the horizontal separator above it. + if (mxToolBarWindow.is()) + { + const geometry::RealSize2D aToolBarSize (mpToolBar->GetMinimalSize()); + const sal_Int32 nToolBarHeight = sal_Int32(aToolBarSize.Height + 0.5); + mxToolBarWindow->setPosSize(0, aWindowBox.Height - nToolBarHeight, + sal_Int32(aToolBarSize.Width + 0.5), nToolBarHeight, + awt::PosSize::POSSIZE); + aNewTextBoundingBox.Y2 -= nToolBarHeight; + + mnSeparatorYLocation = aWindowBox.Height - nToolBarHeight - gnSpaceBelowSeparator; + aNewTextBoundingBox.Y2 = mnSeparatorYLocation - gnSpaceAboveSeparator; + + // Place the close button. + if (mpCloseButton.get() != NULL) + mpCloseButton->SetCenter(geometry::RealPoint2D( + (aWindowBox.Width + aToolBarSize.Width) / 2, + aWindowBox.Height - aToolBarSize.Height/2)); + } + + // Check whether the vertical scroll bar is necessary. + if (mpScrollBar.get() != NULL) { - const awt::Rectangle aWindowBox (mxParentWindow->getPosSize()); + bool bShowVerticalScrollbar (false); + try + { + const double nTextBoxHeight (aNewTextBoundingBox.Y2 - aNewTextBoundingBox.Y1); + mxTextView->setPropertyValue( + A2S("Size"), + Any(awt::Size( + sal_Int32(aNewTextBoundingBox.X2 - aNewTextBoundingBox.X1), + sal_Int32(nTextBoxHeight)))); + double nHeight (0); + if (mxTextView->getPropertyValue(A2S("TotalHeight")) >>= nHeight) + { + if (nHeight > nTextBoxHeight) + { + bShowVerticalScrollbar = true; + aNewTextBoundingBox.X2 -= mpScrollBar->GetSize(); + } + mpScrollBar->SetTotalSize(nHeight); + } + } + catch(beans::UnknownPropertyException&) + { + OSL_ASSERT(false); + } + + mpScrollBar->SetVisible(bShowVerticalScrollbar); mxTextView->setPropertyValue( - OUString::createFromAscii("Size"), - Any(awt::Size(aWindowBox.Width - mpScrollBar->GetSize(),aWindowBox.Height))); + A2S("Size"), + Any(awt::Size( + sal_Int32(aNewTextBoundingBox.X2 - aNewTextBoundingBox.X1), + sal_Int32(aNewTextBoundingBox.Y2 - aNewTextBoundingBox.Y1)))); mpScrollBar->SetPosSize( geometry::RealRectangle2D( - aWindowBox.Width - mpScrollBar->GetSize(), - 0, - aWindowBox.Width, - aWindowBox.Height)); + aNewTextBoundingBox.X2, + aNewTextBoundingBox.X1, + aNewTextBoundingBox.X2 + mpScrollBar->GetSize(), + aNewTextBoundingBox.Y2)); + if ( ! bShowVerticalScrollbar) + mpScrollBar->SetThumbPosition(0, false); + UpdateScrollBar(); } - mxBitmap = NULL; + + // Has the text area has changed it position or size? + if (aNewTextBoundingBox.X1 != maTextBoundingBox.X1 + || aNewTextBoundingBox.Y1 != maTextBoundingBox.Y1 + || aNewTextBoundingBox.X2 != maTextBoundingBox.X2 + || aNewTextBoundingBox.Y2 != maTextBoundingBox.Y2) + { + maTextBoundingBox = aNewTextBoundingBox; + + // When the size has changed then we need a new text bitmap. + if (aNewTextBoundingBox.X2-aNewTextBoundingBox.X1 + != maTextBoundingBox.X2-maTextBoundingBox.X1 + || aNewTextBoundingBox.Y2-aNewTextBoundingBox.Y1 + != maTextBoundingBox.Y2-maTextBoundingBox.Y1) + { + mxBitmap = NULL; + } + } } -void PresenterNotesView::Paint (void) +void PresenterNotesView::Paint (const awt::Rectangle& rUpdateBox) { - if (mxParentWindow.is() && mpScrollBar.get() != NULL) - mpScrollBar->Paint(mxParentWindow->getPosSize()); - - if ( ! mxBitmap.is()) + if ( ! mxParentWindow.is()) + return; + if ( ! mxCanvas.is()) + return; + + awt::Rectangle aWindowBox (mxParentWindow->getPosSize()); + + const rendering::ViewState aViewState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + rendering::RenderState aRenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + if (mpBackground.get() == NULL) + mpBackground = mpPresenterController->GetViewBackground(mxViewId->getResourceURL()); + // Paint the background. + mpPresenterController->GetCanvasHelper()->Paint( + mpBackground, + mxCanvas, + rUpdateBox, + awt::Rectangle(0,0,aWindowBox.Width,aWindowBox.Height), + awt::Rectangle()); + + // Paint the horizontal separator. + OSL_ASSERT(mxViewId.is()); + if (mpFont.get() != NULL) + PresenterCanvasHelper::SetDeviceColor( + aRenderState, + mpFont->mnColor); + mxCanvas->drawLine( + geometry::RealPoint2D(0,mnSeparatorYLocation), + geometry::RealPoint2D(aWindowBox.Width,mnSeparatorYLocation), + aViewState, + aRenderState); + + if ( ! PresenterGeometryHelper::AreRectanglesDisjoint( + rUpdateBox, + PresenterGeometryHelper::ConvertRectangle(maTextBoundingBox))) { - if (mxParentWindow.is()) + // Create a new text bitmap if necessary. + if ( ! mxBitmap.is()) { - awt::Rectangle aWindowBox (mxParentWindow->getPosSize()); - if (mpScrollBar.get() != NULL) - aWindowBox.Width -= mpScrollBar->GetSize(); mxBitmap = Reference( - mxTextView->getPropertyValue(OUString::createFromAscii("Bitmap")), + mxTextView->getPropertyValue(A2S("Bitmap")), UNO_QUERY); } - } - if (mxBitmap.is() && mxCanvas.is()) - { - const rendering::ViewState aViewState ( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL); - rendering::RenderState aRenderState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE); - mxCanvas->drawBitmap( - mxBitmap, - aViewState, - aRenderState); - - Reference xSpriteCanvas (mxCanvas, UNO_QUERY); - if (xSpriteCanvas.is()) - xSpriteCanvas->updateScreen(sal_False); + aRenderState.AffineTransform.m02 = maTextBoundingBox.X1; + aRenderState.AffineTransform.m12 = maTextBoundingBox.Y1; + + // Paint the text bitmap. + if (mxBitmap.is()) + { + mxCanvas->drawBitmap( + mxBitmap, + aViewState, + aRenderState); + + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); + } } } @@ -469,9 +665,7 @@ void PresenterNotesView::Paint (void) void PresenterNotesView::Invalidate (void) { mxBitmap = NULL; - Reference xPeer (mxParentWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->invalidate(awt::InvalidateStyle::NOERASE); + mpPresenterController->GetPaintManager()->Invalidate(mxParentWindow); } @@ -481,9 +675,7 @@ void PresenterNotesView::Scroll (const OUString& rsDistance) { try { - mxTextView->setPropertyValue( - OUString::createFromAscii("RelativeTop"), - Any(rsDistance)); + mxTextView->setPropertyValue(A2S("RelativeTop"), Any(rsDistance)); UpdateScrollBar(); Invalidate(); @@ -499,9 +691,7 @@ void PresenterNotesView::SetTop (const double nTop) { try { - mxTextView->setPropertyValue( - OUString::createFromAscii("Top"), - Any(sal_Int32(nTop))); + mxTextView->setPropertyValue(A2S("Top"), Any(sal_Int32(nTop))); UpdateScrollBar(); Invalidate(); @@ -513,6 +703,48 @@ void PresenterNotesView::SetTop (const double nTop) +void PresenterNotesView::ChangeFontSize (const double nSizeChange) +{ + const double nNewSize (maFontDescriptor.Height + nSizeChange); + if (nNewSize > 5) + { + maFontDescriptor.Height = sal::static_int_cast(0.5 + nNewSize); + mxTextView->setPropertyValue(A2S("FontDescriptor"), Any(maFontDescriptor)); + + Layout(); + UpdateScrollBar(); + Invalidate(); + + // Make the new font height persistent. + if (mpFont.get() != NULL) + mpFont->mnSize = maFontDescriptor.Height; + + // Write the new font size to the configuration to make it persistent. + try + { + const OUString sStyleName (mpPresenterController->GetTheme()->GetStyleName( + mxViewId->getResourceURL())); + ::boost::shared_ptr pConfiguration ( + mpPresenterController->GetTheme()->GetNodeForViewStyle( + sStyleName, + PresenterConfigurationAccess::READ_WRITE)); + if (pConfiguration.get()==NULL || ! pConfiguration->IsValid()) + return; + + pConfiguration->GoToChild(A2S("Font")); + pConfiguration->SetProperty(A2S("Size"), Any((sal_Int32)(nNewSize+0.5))); + pConfiguration->CommitChanges(); + } + catch (Exception&) + { + OSL_ASSERT(false); + } + } +} + + + + void PresenterNotesView::UpdateScrollBar (void) { if (mpScrollBar.get() != NULL) @@ -520,7 +752,7 @@ void PresenterNotesView::UpdateScrollBar (void) try { double nHeight = 0; - if (mxTextView->getPropertyValue(OUString::createFromAscii("TotalHeight")) >>= nHeight) + if (mxTextView->getPropertyValue(A2S("TotalHeight")) >>= nHeight) mpScrollBar->SetTotalSize(nHeight); } catch(beans::UnknownPropertyException&) @@ -530,18 +762,17 @@ void PresenterNotesView::UpdateScrollBar (void) try { - double nTop = 0; - if (mxTextView->getPropertyValue(OUString::createFromAscii("Top")) >>= nTop) - mpScrollBar->SetThumbPosition(nTop); + if (mxTextView->getPropertyValue(A2S("Top")) >>= nTop) + mpScrollBar->SetThumbPosition(nTop, false); } catch(beans::UnknownPropertyException&) { OSL_ASSERT(false); } - if (mxParentWindow.is()) - mpScrollBar->SetThumbSize(mxParentWindow->getPosSize().Height); + mpScrollBar->SetThumbSize(maTextBoundingBox.Y2 - maTextBoundingBox.Y1); + mpScrollBar->CheckValues(); } } @@ -554,8 +785,7 @@ void PresenterNotesView::ThrowIfDisposed (void) if (rBHelper.bDisposed || rBHelper.bInDispose) { throw lang::DisposedException ( - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "PresenterNotesView object has already been disposed")), + A2S("PresenterNotesView object has already been disposed"), static_cast(this)); } } -- cgit From 4a1c78712fc5b538ba805393296584a786bbc214 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:32:13 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:18 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:37:49 af 1.2.4.1: #i18486# Added tool bar, close button. --- sdext/source/presenter/PresenterNotesView.hxx | 29 +++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/sdext/source/presenter/PresenterNotesView.hxx b/sdext/source/presenter/PresenterNotesView.hxx index 5c987ee7f4a5..009ce4949d9d 100644 --- a/sdext/source/presenter/PresenterNotesView.hxx +++ b/sdext/source/presenter/PresenterNotesView.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterNotesView.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -33,7 +33,8 @@ #define SDEXT_PRESENTER_NOTES_VIEW2_HXX #include "PresenterController.hxx" - +#include "PresenterToolBar.hxx" +#include "PresenterViewFactory.hxx" #include #include #include @@ -64,6 +65,7 @@ namespace { namespace sdext { namespace presenter { +class PresenterButton; class PresenterScrollBar; /** A drawing framework view of the notes of a slide. At the moment this is @@ -72,7 +74,8 @@ class PresenterScrollBar; */ class PresenterNotesView : private ::cppu::BaseMutex, - public PresenterNotesViewInterfaceBase + public PresenterNotesViewInterfaceBase, + public CachablePresenterView { public: explicit PresenterNotesView ( @@ -95,6 +98,8 @@ public: css::uno::Reference GetWindow (void) const; + void ChangeFontSize (const double nSizeChange); + // lang::XEventListener virtual void SAL_CALL @@ -151,16 +156,28 @@ public: private: css::uno::Reference mxViewId; + ::rtl::Reference mpPresenterController; css::uno::Reference mxTextView; css::uno::Reference mxParentWindow; css::uno::Reference mxCanvas; css::uno::Reference mxBitmap; css::uno::Reference mxCurrentNotesPage; + PresenterTheme::SharedFontDescriptor mpFont; css::awt::FontDescriptor maFontDescriptor; ::rtl::Reference mpScrollBar; - - void Resize (void); - void Paint (void); + css::uno::Reference mxToolBarWindow; + css::uno::Reference mxToolBarCanvas; + ::rtl::Reference mpToolBar; + ::rtl::Reference mpCloseButton; + sal_Int32 mnSeparatorYLocation; + css::geometry::RealRectangle2D maTextBoundingBox; + SharedBitmapDescriptor mpBackground; + + void CreateToolBar ( + const css::uno::Reference& rxContext, + const ::rtl::Reference& rpPresenterController); + void Layout (void); + void Paint (const css::awt::Rectangle& rUpdateBox); void Invalidate (void); void Scroll (const ::rtl::OUString& rsDistance); void SetTop (const double nTop); -- cgit From 7a4d603d26046d9f2083324de5613ba3d3440793 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:32:24 +0000 Subject: INTEGRATION: CWS presenterscreen (1.1.2); FILE ADDED 2008/05/13 13:51:01 af 1.1.2.2: #i18486# Updated license header. 2008/04/16 14:35:31 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaintManager.cxx | 156 +++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaintManager.cxx diff --git a/sdext/source/presenter/PresenterPaintManager.cxx b/sdext/source/presenter/PresenterPaintManager.cxx new file mode 100644 index 000000000000..341454e8cf74 --- /dev/null +++ b/sdext/source/presenter/PresenterPaintManager.cxx @@ -0,0 +1,156 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaintManager.cxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#include "PresenterPaintManager.hxx" + +#include "PresenterPaneContainer.hxx" +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; + +namespace sdext { namespace presenter { + +PresenterPaintManager::PresenterPaintManager ( + const css::uno::Reference& rxParentWindow, + const css::uno::Reference& rxPresenterHelper, + const rtl::Reference& rpPaneContainer) + : mxParentWindow(rxParentWindow), + mxParentWindowPeer(rxParentWindow, UNO_QUERY), + mxPresenterHelper(rxPresenterHelper), + mpPaneContainer(rpPaneContainer) +{ +} + + + + +void PresenterPaintManager::Invalidate ( + const css::uno::Reference& rxWindow, + const bool bSynchronous) +{ + sal_Int16 nInvalidateMode (awt::InvalidateStyle::CHILDREN); + if (bSynchronous) + nInvalidateMode |= awt::InvalidateStyle::UPDATE; + + PresenterPaneContainer::SharedPaneDescriptor pDescriptor( + mpPaneContainer->FindContentWindow(rxWindow)); + if (pDescriptor.get()==NULL || ! pDescriptor->mbIsOpaque) + nInvalidateMode |= awt::InvalidateStyle::TRANSPARENT; + else + nInvalidateMode |= awt::InvalidateStyle::NOTRANSPARENT; + + Invalidate(rxWindow, nInvalidateMode); +} + + + + +void PresenterPaintManager::Invalidate ( + const css::uno::Reference& rxWindow, + const sal_Int16 nInvalidateFlags) +{ + if ((nInvalidateFlags & awt::InvalidateStyle::TRANSPARENT) != 0) + { + // Window is transparent and parent window(s) have to be painted as + // well. Invalidate the parent explicitly. + if (mxPresenterHelper.is() && mxParentWindowPeer.is()) + { + const awt::Rectangle aBBox ( + mxPresenterHelper->getWindowExtentsRelative(rxWindow, mxParentWindow)); + mxParentWindowPeer->invalidateRect(aBBox, nInvalidateFlags); + } + } + else + { + Reference xPeer (rxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(nInvalidateFlags); + } +} + + + + +void PresenterPaintManager::Invalidate ( + const css::uno::Reference& rxWindow, + const css::awt::Rectangle& rRepaintBox, + const bool bSynchronous) +{ + sal_Int16 nInvalidateMode (awt::InvalidateStyle::CHILDREN); + if (bSynchronous) + nInvalidateMode |= awt::InvalidateStyle::UPDATE; + + PresenterPaneContainer::SharedPaneDescriptor pDescriptor( + mpPaneContainer->FindContentWindow(rxWindow)); + if (pDescriptor.get()==NULL || ! pDescriptor->mbIsOpaque) + nInvalidateMode |= awt::InvalidateStyle::TRANSPARENT; + else + nInvalidateMode |= awt::InvalidateStyle::NOTRANSPARENT; + + Invalidate(rxWindow, rRepaintBox, nInvalidateMode); +} + + + + +void PresenterPaintManager::Invalidate ( + const css::uno::Reference& rxWindow, + const css::awt::Rectangle& rRepaintBox, + const sal_Int16 nInvalidateFlags) +{ + if ((nInvalidateFlags & awt::InvalidateStyle::TRANSPARENT) != 0) + { + // Window is transparent and parent window(s) have to be painted as + // well. Invalidate the parent explicitly. + if (mxPresenterHelper.is() && mxParentWindowPeer.is()) + { + const awt::Rectangle aBBox ( + mxPresenterHelper->getWindowExtentsRelative(rxWindow, mxParentWindow)); + mxParentWindowPeer->invalidateRect( + awt::Rectangle( + rRepaintBox.X + aBBox.X, + rRepaintBox.Y + aBBox.Y, + rRepaintBox.Width, + rRepaintBox.Height), + nInvalidateFlags); + } + } + else + { + Reference xPeer (rxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidateRect(rRepaintBox, nInvalidateFlags); + } +} + +} } -- cgit From 86e2d05df422741039799e330f225869078f0038 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:32:35 +0000 Subject: INTEGRATION: CWS presenterscreen (1.1.2); FILE ADDED 2008/05/13 13:51:01 af 1.1.2.2: #i18486# Updated license header. 2008/04/16 14:35:54 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterPaintManager.hxx | 94 ++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 sdext/source/presenter/PresenterPaintManager.hxx diff --git a/sdext/source/presenter/PresenterPaintManager.hxx b/sdext/source/presenter/PresenterPaintManager.hxx new file mode 100644 index 000000000000..a31ea78f883b --- /dev/null +++ b/sdext/source/presenter/PresenterPaintManager.hxx @@ -0,0 +1,94 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterPaintManager.hxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_PRESENTER_PAINT_MANAGER_HXX +#define SDEXT_PRESENTER_PRESENTER_PAINT_MANAGER_HXX + +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterPaneContainer; + +/** Synchronize painting of windows and canvases. At the moment there is + just some processing of invalidate calls. + This could be extended to process incoming windowPaint() calls. +*/ +class PresenterPaintManager +{ +public: + /** Create paint manager with the window that is the top node in the + local window hierarchy. + */ + PresenterPaintManager ( + const css::uno::Reference& rxParentWindow, + const css::uno::Reference& rxPresenterHelper, + const rtl::Reference& rpPaneContainer); + + /** Request a repaint of the whole window. + @param rxWindow + May be the parent window or one of its descendents. + */ + void Invalidate ( + const css::uno::Reference& rxWindow, + const bool bSynchronous = false); + void Invalidate ( + const css::uno::Reference& rxWindow, + const sal_Int16 nInvalidateFlags); + + /** Request a repaint of a part of a window. + @param rxWindow + May be the parent window or one of its descendents. + */ + void Invalidate ( + const css::uno::Reference& rxWindow, + const css::awt::Rectangle& rRepaintBox, + const bool bSynchronous = false); + void Invalidate ( + const css::uno::Reference& rxWindow, + const css::awt::Rectangle& rRepaintBox, + const sal_Int16 nInvalidateFlags); + +private: + css::uno::Reference mxParentWindow; + css::uno::Reference mxParentWindowPeer; + css::uno::Reference mxPresenterHelper; + ::rtl::Reference mpPaneContainer; +}; + +} } + +#endif -- cgit From ffac298e03876e593c25bcb28dcb8e22f2f1efa9 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:32:49 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:39 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:40:47 af 1.2.4.1: #i18486# Improved invalidation of covered area on resizes and translations. --- sdext/source/presenter/PresenterPane.cxx | 84 ++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 37 deletions(-) diff --git a/sdext/source/presenter/PresenterPane.cxx b/sdext/source/presenter/PresenterPane.cxx index ffc863264b7a..ed80487ddaeb 100644 --- a/sdext/source/presenter/PresenterPane.cxx +++ b/sdext/source/presenter/PresenterPane.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPane.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,7 +30,9 @@ ************************************************************************/ #include "PresenterPane.hxx" - +#include "PresenterController.hxx" +#include "PresenterPaintManager.hxx" +#include #include #include #include @@ -43,39 +45,13 @@ using ::rtl::OUString; namespace sdext { namespace presenter { -//----- Service --------------------------------------------------------------- - -OUString PresenterPane::getImplementationName_static (void) -{ - return OUString::createFromAscii("com.sun.star.comp.Draw.PresenterPane"); -} - - - - -Sequence PresenterPane::getSupportedServiceNames_static (void) -{ - static const ::rtl::OUString sServiceName( - ::rtl::OUString::createFromAscii("com.sun.star.drawing.PresenterPane")); - return Sequence(&sServiceName, 1); -} - - - - -Reference PresenterPane::Create (const Reference& rxContext) - SAL_THROW((css::uno::Exception)) -{ - return Reference(static_cast(new PresenterPane(rxContext))); -} - - - - //===== PresenterPane ========================================================= -PresenterPane::PresenterPane (const Reference& rxContext) - : PresenterPaneBase(rxContext) +PresenterPane::PresenterPane ( + const Reference& rxContext, + const ::rtl::Reference& rpPresenterController) + : PresenterPaneBase(rxContext, rpPresenterController), + maBoundingBox() { Reference xFactory ( mxComponentContext->getServiceManager(), UNO_QUERY_THROW); @@ -124,9 +100,15 @@ void SAL_CALL PresenterPane::windowResized (const awt::WindowEvent& rEvent) throw (RuntimeException) { (void)rEvent; - ThrowIfDisposed(); + PresenterPaneBase::windowResized(rEvent); + + Invalidate(maBoundingBox); + LayoutContextWindow(); ToTop(); + + UpdateBoundingBox(); + Invalidate(maBoundingBox); } @@ -137,8 +119,14 @@ void SAL_CALL PresenterPane::windowMoved (const awt::WindowEvent& rEvent) throw (RuntimeException) { (void)rEvent; - ThrowIfDisposed(); + PresenterPaneBase::windowMoved(rEvent); + + Invalidate(maBoundingBox); + ToTop(); + + UpdateBoundingBox(); + Invalidate(maBoundingBox); } @@ -148,7 +136,7 @@ void SAL_CALL PresenterPane::windowShown (const lang::EventObject& rEvent) throw (RuntimeException) { (void)rEvent; - ThrowIfDisposed(); + PresenterPaneBase::windowShown(rEvent); ToTop(); @@ -157,6 +145,9 @@ void SAL_CALL PresenterPane::windowShown (const lang::EventObject& rEvent) LayoutContextWindow(); mxContentWindow->setVisible(sal_True); } + + UpdateBoundingBox(); + Invalidate(maBoundingBox); } @@ -166,7 +157,7 @@ void SAL_CALL PresenterPane::windowHidden (const lang::EventObject& rEvent) throw (RuntimeException) { (void)rEvent; - ThrowIfDisposed(); + PresenterPaneBase::windowHidden(rEvent); if (mxContentWindow.is()) mxContentWindow->setVisible(sal_False); @@ -222,4 +213,23 @@ void PresenterPane::CreateCanvases ( +void PresenterPane::Invalidate (const css::awt::Rectangle& rRepaintBox) +{ + // Invalidate the parent window to be able to invalidate an area outside + // the current window area. + mpPresenterController->GetPaintManager()->Invalidate(mxParentWindow, rRepaintBox); +} + + + + +void PresenterPane::UpdateBoundingBox (void) +{ + if (mxBorderWindow.is() && IsVisible()) + maBoundingBox = mxBorderWindow->getPosSize(); + else + maBoundingBox = awt::Rectangle(); +} + + } } // end of namespace ::sd::presenter -- cgit From 9664814fb0152b4f793c17278ad44f1b40df20bf Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:33:02 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:04 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:40:39 af 1.2.4.1: #i18486# Improved invalidation of covered area on resizes and translations. --- sdext/source/presenter/PresenterPane.hxx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/sdext/source/presenter/PresenterPane.hxx b/sdext/source/presenter/PresenterPane.hxx index cf84718a8b0e..9b9bdbfeb8df 100644 --- a/sdext/source/presenter/PresenterPane.hxx +++ b/sdext/source/presenter/PresenterPane.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPane.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -60,7 +60,9 @@ namespace sdext { namespace presenter { class PresenterPane : public PresenterPaneBase { public: - PresenterPane (const css::uno::Reference& rxContext); + PresenterPane ( + const css::uno::Reference& rxContext, + const ::rtl::Reference& rpPresenterController); virtual ~PresenterPane (void); static ::rtl::OUString getImplementationName_static (void); @@ -101,9 +103,18 @@ public: private: + /** Store the bounding box so that when the window is resized or moved + we still know the old position and size. + */ + css::awt::Rectangle maBoundingBox; + virtual void CreateCanvases ( const css::uno::Reference& rxParentWindow, const css::uno::Reference& rxParentCanvas); + + void Invalidate ( + const css::awt::Rectangle& rRepaintBox); + void UpdateBoundingBox (void); }; } } // end of namespace ::sd::presenter -- cgit From d89489370bc0ddc84d879e795e07bc34e83493cc Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:33:14 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:25:51 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:42:46 af 1.2.4.1: #i18486# Invalidate via the paint manager. --- sdext/source/presenter/PresenterPaneAnimator.cxx | 41 +++++++++++++----------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneAnimator.cxx b/sdext/source/presenter/PresenterPaneAnimator.cxx index 09836e0af945..2012c43d2202 100644 --- a/sdext/source/presenter/PresenterPaneAnimator.cxx +++ b/sdext/source/presenter/PresenterPaneAnimator.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneAnimator.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -35,13 +35,13 @@ #include "PresenterAnimator.hxx" #include "PresenterController.hxx" #include "PresenterGeometryHelper.hxx" +#include "PresenterPaintManager.hxx" #include "PresenterPaneContainer.hxx" #include "PresenterPaneFactory.hxx" #include "PresenterSprite.hxx" #include "PresenterSpritePane.hxx" #include "PresenterWindowManager.hxx" -#include #include #include #include @@ -247,6 +247,7 @@ namespace { const rtl::Reference& rpPaneContainer, const Reference& rxPaneId, const Reference& rxSpriteOwnerWindow, + const ::boost::shared_ptr& rpPaintManager, const bool bAppear, const double nX, const double nInitialTop, @@ -402,7 +403,7 @@ void PresenterPaneAnimatorBase::ResizePane ( if (pDescriptor.get() != NULL) { mpWindowManager->SetPanePosSizeAbsolute ( - rxPaneId, + rxPaneId->getResourceURL(), rBox.X1, rBox.Y1, rBox.X2-rBox.X1, @@ -535,6 +536,7 @@ void UnfoldInCenterAnimator::ShowPane (void) mpPaneContainer, mxCenterPaneId, xParentWindow, + mpPresenterController->GetPaintManager(), true, maCenterPaneBox.X1, nY0, @@ -544,9 +546,9 @@ void UnfoldInCenterAnimator::ShowPane (void) mpPaneContainer->FindPaneId(mxCenterPaneId)); if (pDescriptor.get() != NULL) { - Reference xPeer (pDescriptor->mxBorderWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->invalidate(awt::InvalidateStyle::UPDATE | awt::InvalidateStyle::CHILDREN); + mpPresenterController->GetPaintManager()->Invalidate( + pDescriptor->mxBorderWindow, + true); } // Animate the upper and lower window bitmaps. @@ -574,6 +576,7 @@ void UnfoldInCenterAnimator::ShowPane (void) mpPaneContainer, mxCenterPaneId, xParentWindow, + mpPresenterController->GetPaintManager(), true, maCenterPaneBox.X1, nY0, @@ -651,6 +654,7 @@ void UnfoldInCenterAnimator::HidePane (void) mpPaneContainer, mxCenterPaneId, xParentWindow, + mpPresenterController->GetPaintManager(), false, maCenterPaneBox.X1, nY0, @@ -687,7 +691,7 @@ void UnfoldInCenterAnimator::SetupPaneGroups (void) pUpperPanes->AddPane(mpPaneContainer->FindPaneURL( PresenterPaneFactory::msToolBarPaneURL)); pUpperPanes->AddPane(mpPaneContainer->FindPaneURL( - PresenterPaneFactory::msClockPaneURL)); + PresenterPaneFactory::msHelpPaneURL)); maPaneGroups.push_back(pUpperPanes); // Setup the lower pane group. @@ -967,7 +971,7 @@ void TransparentOverlayAnimator::ShowPane (void) pAllPanes->AddPane(mpPaneContainer->FindPaneURL( PresenterPaneFactory::msToolBarPaneURL)); pAllPanes->AddPane(mpPaneContainer->FindPaneURL( - PresenterPaneFactory::msClockPaneURL)); + PresenterPaneFactory::msHelpPaneURL)); pAllPanes->AddPane(mpPaneContainer->FindPaneURL( PresenterPaneFactory::msNotesPaneURL)); maPaneGroups.push_back(pAllPanes); @@ -1175,7 +1179,7 @@ void PaneGroup::MovePanes ( aBox.X += sal_Int32(nXOffset); aBox.Y += sal_Int32(nYOffset); rpWindowManager->SetPanePosSizeAbsolute( - iPane->mpPaneDescriptor->mxPaneId, + iPane->mpPaneDescriptor->mxPaneId->getResourceURL(), aBox.X, aBox.Y, aBox.Width, @@ -1334,12 +1338,15 @@ void SpriteTransform( const rtl::Reference& rpPaneContainer, const Reference& rxPaneId, const Reference& rxSpriteOwnerWindow, + const ::boost::shared_ptr& rpPaintManager, const bool bAppear, const double nX, const double nInitialTop, const double nFinalTop, const double nP) { + OSL_ASSERT(rpPaintManager.get()!=NULL); + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( rpPaneContainer->FindPaneId(rxPaneId)); if (pDescriptor.get() != NULL @@ -1353,15 +1360,13 @@ void SpriteTransform( // invalidating the background when being transformed. As a // workaround invalidate the background in the bounding box of // the sprite before the transformation. - Reference xPeer (rxSpriteOwnerWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->invalidateRect( - awt::Rectangle( - sal::static_int_cast(pSprite->GetLocation().X), - sal::static_int_cast(pSprite->GetLocation().Y), - sal::static_int_cast(pSprite->GetSize().Width), - sal::static_int_cast(pSprite->GetSize().Height)), - awt::InvalidateStyle::CHILDREN); + rpPaintManager->Invalidate( + rxSpriteOwnerWindow, + awt::Rectangle( + sal::static_int_cast(pSprite->GetLocation().X), + sal::static_int_cast(pSprite->GetLocation().Y), + sal::static_int_cast(pSprite->GetSize().Width), + sal::static_int_cast(pSprite->GetSize().Height))); const double nYScale (bAppear ? nP : 1-nP); pSprite->Transform(geometry::AffineMatrix2D( -- cgit From 1eeb7358933afbb8d673c16c92bfd8492e8b5620 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:33:26 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/23 11:55:24 af 1.2.4.3: #i18486# Code cleanup. 2008/04/22 08:25:54 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:44:11 af 1.2.4.1: #i18486# Added support for callout. --- sdext/source/presenter/PresenterPaneBase.cxx | 226 ++++++++++++++++++--------- 1 file changed, 155 insertions(+), 71 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneBase.cxx b/sdext/source/presenter/PresenterPaneBase.cxx index ac26b238d06a..be7511332e15 100644 --- a/sdext/source/presenter/PresenterPaneBase.cxx +++ b/sdext/source/presenter/PresenterPaneBase.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneBase.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,11 +30,17 @@ ************************************************************************/ #include "PresenterPaneBase.hxx" +#include "PresenterCanvasHelper.hxx" +#include "PresenterController.hxx" #include "PresenterGeometryHelper.hxx" +#include "PresenterPaintManager.hxx" #include +#include +#include #include #include #include +#include #include using namespace ::com::sun::star; @@ -46,8 +52,12 @@ namespace sdext { namespace presenter { //===== PresenterPaneBase ===================================================== -PresenterPaneBase::PresenterPaneBase (const Reference& rxContext) +PresenterPaneBase::PresenterPaneBase ( + const Reference& rxContext, + const ::rtl::Reference& rpPresenterController) : PresenterPaneBaseInterfaceBase(m_aMutex), + mpPresenterController(rpPresenterController), + mxParentWindow(), mxBorderWindow(), mxBorderCanvas(), mxContentWindow(), @@ -57,16 +67,12 @@ PresenterPaneBase::PresenterPaneBase (const Reference& rxCont mxPresenterHelper(), msTitle(), mxComponentContext(rxContext), - maViewBackgroundColor(0x00ffffff), - mxViewBackgroundBitmap() + mpViewBackground(), + mbHasCallout(false), + maCalloutAnchor() { - Reference xFactory ( - mxComponentContext->getServiceManager(), UNO_QUERY_THROW); - mxPresenterHelper = Reference( - xFactory->createInstanceWithContext( - OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), - mxComponentContext), - UNO_QUERY_THROW); + if (mpPresenterController.get() != NULL) + mxPresenterHelper = mpPresenterController->GetPresenterHelper(); } @@ -81,13 +87,6 @@ PresenterPaneBase::~PresenterPaneBase (void) void PresenterPaneBase::disposing (void) { - { - Reference xComponent (mxPresenterHelper, UNO_QUERY); - mxPresenterHelper = NULL; - if (xComponent.is()) - xComponent->dispose(); - } - if (mxBorderWindow.is()) { mxBorderWindow->removeWindowListener(this); @@ -131,6 +130,60 @@ void PresenterPaneBase::disposing (void) void PresenterPaneBase::SetTitle (const OUString& rsTitle) { msTitle = rsTitle; + + OSL_ASSERT(mpPresenterController.get()!=NULL); + OSL_ASSERT(mpPresenterController->GetPaintManager().get()!=NULL); + + mpPresenterController->GetPaintManager()->Invalidate(mxBorderWindow); +} + + + + +Reference + PresenterPaneBase::GetPaneBorderPainter (void) const +{ + return mxBorderPainter; +} + + + + +void PresenterPaneBase::SetCalloutAnchor (const css::awt::Point& rCalloutAnchor) +{ + mbHasCallout = true; + // Anchor is given in the coorindate system of the parent window. + // Transform it into the local coordinate system. + maCalloutAnchor = rCalloutAnchor; + const awt::Rectangle aBorderBox (mxBorderWindow->getPosSize()); + maCalloutAnchor.X -= aBorderBox.X; + maCalloutAnchor.Y -= aBorderBox.Y; + + // Move the bottom of the border window so that it goes through the + // callout anchor (special case for bottom callout). + sal_Int32 nHeight (rCalloutAnchor.Y - aBorderBox.Y); + if (mxBorderPainter.is() && mxPaneId.is()) + nHeight += mxBorderPainter->getCalloutOffset(mxPaneId->getResourceURL()).Y; + + if (nHeight != aBorderBox.Height) + { + mxBorderWindow->setPosSize( + aBorderBox.X, + aBorderBox.Y, + aBorderBox.Width, + nHeight, + awt::PosSize::HEIGHT); + } + + mpPresenterController->GetPaintManager()->Invalidate(mxBorderWindow); +} + + + + +awt::Point PresenterPaneBase::GetCalloutAnchor (void) const +{ + return maCalloutAnchor; } @@ -163,8 +216,7 @@ void SAL_CALL PresenterPaneBase::initialize (const Sequence& rArguments) 0); } - Reference xParentWindow; - if ( ! (rArguments[1] >>= xParentWindow)) + if ( ! (rArguments[1] >>= mxParentWindow)) { throw lang::IllegalArgumentException( OUString::createFromAscii("PresenterPane: invalid parent window"), @@ -206,7 +258,7 @@ void SAL_CALL PresenterPaneBase::initialize (const Sequence& rArguments) 5); } - CreateWindows(xParentWindow, bIsWindowVisibleOnCreation); + CreateWindows(mxParentWindow, bIsWindowVisibleOnCreation); if (mxBorderWindow.is()) { @@ -214,7 +266,7 @@ void SAL_CALL PresenterPaneBase::initialize (const Sequence& rArguments) mxBorderWindow->addPaintListener(this); } - CreateCanvases(xParentWindow, xParentCanvas); + CreateCanvases(mxParentWindow, xParentCanvas); // Raise new windows. ToTop(); @@ -258,6 +310,49 @@ sal_Bool SAL_CALL PresenterPaneBase::isAnchorOnly (void) +//----- XWindowListener ------------------------------------------------------- + +void SAL_CALL PresenterPaneBase::windowResized (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + + +void SAL_CALL PresenterPaneBase::windowMoved (const awt::WindowEvent& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +void SAL_CALL PresenterPaneBase::windowShown (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + +void SAL_CALL PresenterPaneBase::windowHidden (const lang::EventObject& rEvent) + throw (RuntimeException) +{ + (void)rEvent; + ThrowIfDisposed(); +} + + + + //----- lang::XEventListener -------------------------------------------------- void SAL_CALL PresenterPaneBase::disposing (const lang::EventObject& rEvent) @@ -317,12 +412,9 @@ void PresenterPaneBase::ToTop (void) -void PresenterPaneBase::SetBackground ( - const css::util::Color aViewBackgroundColor, - const css::uno::Reference& rxViewBackgroundBitmap) +void PresenterPaneBase::SetBackground (const SharedBitmapDescriptor& rpBackground) { - maViewBackgroundColor = aViewBackgroundColor; - mxViewBackgroundBitmap = rxViewBackgroundBitmap; + mpViewBackground = rpBackground; } @@ -332,22 +424,9 @@ void PresenterPaneBase::PaintBorderBackground ( const awt::Rectangle& rBorderBox, const awt::Rectangle& rUpdateBox) { - if ( ! mxBorderCanvas.is()) - return; - - rendering::ViewState aViewState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - PresenterGeometryHelper::CreatePolygon(rUpdateBox, mxBorderCanvas->getDevice())); - - rendering::RenderState aRenderState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE); - aRenderState.DeviceColor[0] = ((maViewBackgroundColor >> 16) & 0x0ff) / 255.0; - aRenderState.DeviceColor[1] = ((maViewBackgroundColor >> 8) & 0x0ff) / 255.0; - aRenderState.DeviceColor[2] = ((maViewBackgroundColor >> 0) & 0x0ff) / 255.0; - + (void)rBorderBox; + (void)rUpdateBox; + /* // The outer box of the border is given. We need the center and inner // box as well. awt::Rectangle aCenterBox ( @@ -360,29 +439,13 @@ void PresenterPaneBase::PaintBorderBackground ( mxPaneId->getResourceURL(), rBorderBox, drawing::framework::BorderType_TOTAL_BORDER)); - - // Create a clip polypolygon that has the inner box as hole. - ::std::vector aRectangles; - aRectangles.reserve(2); - aRectangles.push_back(aCenterBox); - aRectangles.push_back(aInnerBox); - Reference xPolyPolygon ( - PresenterGeometryHelper::CreatePolygon( - aRectangles, - mxBorderCanvas->getDevice())); - if (xPolyPolygon.is()) - { - xPolyPolygon->setFillRule(rendering::FillRule_EVEN_ODD); - aRenderState.Clip = xPolyPolygon; - } - - Reference xPolygon(PresenterGeometryHelper::CreatePolygon( + mpPresenterController->GetCanvasHelper()->Paint( + mpViewBackground, + mxBorderCanvas, + rUpdateBox, aCenterBox, - mxBorderCanvas->getDevice())); - mxBorderCanvas->fillPolyPolygon( - xPolygon, - aViewState, - aRenderState); + aInnerBox); + */ } @@ -399,12 +462,21 @@ void PresenterPaneBase::PaintBorder (const awt::Rectangle& rUpdateBox) PaintBorderBackground(aLocalBorderBox, rUpdateBox); - mxBorderPainter->paintBorder( - mxPaneId->getResourceURL(), - mxBorderCanvas, - aLocalBorderBox, - rUpdateBox, - msTitle); + if (mbHasCallout) + mxBorderPainter->paintBorderWithCallout( + mxPaneId->getResourceURL(), + mxBorderCanvas, + aLocalBorderBox, + rUpdateBox, + msTitle, + maCalloutAnchor); + else + mxBorderPainter->paintBorder( + mxPaneId->getResourceURL(), + mxBorderCanvas, + aLocalBorderBox, + rUpdateBox, + msTitle); } } @@ -435,6 +507,18 @@ void PresenterPaneBase::LayoutContextWindow (void) +bool PresenterPaneBase::IsVisible (void) const +{ + Reference xWindow2 (mxBorderPainter, UNO_QUERY); + if (xWindow2.is()) + return xWindow2->isVisible(); + + return false; +} + + + + void PresenterPaneBase::ThrowIfDisposed (void) throw (::com::sun::star::lang::DisposedException) { -- cgit From 6b495184bae7eed8be43c6bca4ca6f5ec5ba8233 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:33:38 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:47 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:44:20 af 1.2.4.1: #i18486# Added support for callout. --- sdext/source/presenter/PresenterPaneBase.hxx | 40 +++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneBase.hxx b/sdext/source/presenter/PresenterPaneBase.hxx index b368419ca41a..8f97784577c4 100644 --- a/sdext/source/presenter/PresenterPaneBase.hxx +++ b/sdext/source/presenter/PresenterPaneBase.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneBase.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -32,8 +32,10 @@ #ifndef SD_PRESENTER_PRESENTER_PANE_BASE_HXX #define SD_PRESENTER_PRESENTER_PANE_BASE_HXX +#include "PresenterTheme.hxx" #include #include +#include #include #include #include @@ -53,6 +55,8 @@ namespace css = ::com::sun::star; namespace sdext { namespace presenter { +class PresenterController; + namespace { typedef ::cppu::WeakComponentImplHelper4 < css::drawing::framework::XPane, @@ -75,16 +79,19 @@ class PresenterPaneBase public PresenterPaneBaseInterfaceBase { public: - PresenterPaneBase (const css::uno::Reference& rxContext); + PresenterPaneBase ( + const css::uno::Reference& rxContext, + const ::rtl::Reference& rpPresenterController); virtual ~PresenterPaneBase (void); virtual void SAL_CALL disposing (void); css::uno::Reference GetBorderWindow (void) const; - void SetBackground ( - const css::util::Color aViewBackgroundColor, - const css::uno::Reference& rxViewBackgroundBitmap); + void SetBackground (const SharedBitmapDescriptor& rpBackground); void SetTitle (const ::rtl::OUString& rsTitle); + css::uno::Reference GetPaneBorderPainter (void) const; + void SetCalloutAnchor (const css::awt::Point& rAnchorPosition); + css::awt::Point GetCalloutAnchor (void) const; // XInitialization @@ -101,11 +108,28 @@ public: throw (com::sun::star::uno::RuntimeException); + // XWindowListener + + virtual void SAL_CALL windowResized (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowMoved (const css::awt::WindowEvent& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowShown (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + virtual void SAL_CALL windowHidden (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException); + + // lang::XEventListener virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) throw (css::uno::RuntimeException); protected: + ::rtl::Reference mpPresenterController; + css::uno::Reference mxParentWindow; css::uno::Reference mxBorderWindow; css::uno::Reference mxBorderCanvas; css::uno::Reference mxContentWindow; @@ -115,8 +139,9 @@ protected: css::uno::Reference mxPresenterHelper; ::rtl::OUString msTitle; css::uno::Reference mxComponentContext; - css::util::Color maViewBackgroundColor; - css::uno::Reference mxViewBackgroundBitmap; + SharedBitmapDescriptor mpViewBackground; + bool mbHasCallout; + css::awt::Point maCalloutAnchor; virtual void CreateCanvases ( const css::uno::Reference& rxParentWindow, @@ -131,6 +156,7 @@ protected: void PaintBorder (const css::awt::Rectangle& rUpdateRectangle); void ToTop (void); void LayoutContextWindow (void); + bool IsVisible (void) const; /** This method throws a DisposedException when the object has already been disposed. -- cgit From bd2b67d579b149b60d36c9eb0e7c51a5c3e20299 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:33:51 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:27:11 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:45:39 af 1.2.4.1: #i18486# Invalidate via the paint manager. --- .../presenter/PresenterPaneBorderManager.cxx | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneBorderManager.cxx b/sdext/source/presenter/PresenterPaneBorderManager.cxx index 65f36f30bf89..c372b0164c7e 100644 --- a/sdext/source/presenter/PresenterPaneBorderManager.cxx +++ b/sdext/source/presenter/PresenterPaneBorderManager.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneBorderManager.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,7 +30,8 @@ ************************************************************************/ #include "PresenterPaneBorderManager.hxx" -#include +#include "PresenterController.hxx" +#include "PresenterPaintManager.hxx" #include #include #include @@ -73,7 +74,8 @@ Sequence PresenterPaneBorderManager::getSupportedServiceNames_static ( Reference PresenterPaneBorderManager::Create (const Reference& rxContext) SAL_THROW((css::uno::Exception)) { - return Reference(static_cast(new PresenterPaneBorderManager(rxContext))); + return Reference(static_cast( + new PresenterPaneBorderManager(rxContext, NULL))); } @@ -82,8 +84,10 @@ Reference PresenterPaneBorderManager::Create (const Reference& rxContext) + const Reference& rxContext, + const ::rtl::Reference& rpPresenterController) : PresenterPaneBorderManagerInterfaceBase(m_aMutex), + mpPresenterController(rpPresenterController), mxComponentContext(rxContext), mxPresenterHelper(), maWindowList(), @@ -498,16 +502,17 @@ void SAL_CALL PresenterPaneBorderManager::mouseDragged (const css::awt::MouseEve // Invalidate that is or was covered by the border window before and // after the move/resize. - Reference xPeer (mxParentWindow, UNO_QUERY); - if (xPeer.is()) + if (mpPresenterController.get() != NULL) { const sal_Int32 nLeft = ::std::min(aOldBox.X,aBox.X); const sal_Int32 nTop = ::std::min(aOldBox.Y,aBox.Y); const sal_Int32 nWidth = ::std::max(nOldRight,nRight) - nLeft; const sal_Int32 nHeight = ::std::max(nOldBottom,nBottom) - nTop; - xPeer->invalidateRect( - ::awt::Rectangle(nLeft,nTop,nWidth-1,nHeight-1), - awt::InvalidateStyle::TRANSPARENT); + + OSL_ASSERT(mpPresenterController->GetPaintManager().get()!=NULL); + mpPresenterController->GetPaintManager()->Invalidate( + mxParentWindow, + ::awt::Rectangle(nLeft,nTop,nWidth-1,nHeight-1)); } } } -- cgit From 6e85b63d659617a4988c04187b6b4eb53ff777ac Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:34:03 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:24:44 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:45:23 af 1.2.4.1: #i18486# Invalidate via the paint manager. --- sdext/source/presenter/PresenterPaneBorderManager.hxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneBorderManager.hxx b/sdext/source/presenter/PresenterPaneBorderManager.hxx index 7d8fe07184c9..9b3f645ea05a 100644 --- a/sdext/source/presenter/PresenterPaneBorderManager.hxx +++ b/sdext/source/presenter/PresenterPaneBorderManager.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneBorderManager.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -57,6 +57,8 @@ namespace css = ::com::sun::star; namespace sdext { namespace presenter { +class PresenterController; + namespace { typedef ::cppu::WeakComponentImplHelper3 < css::lang::XInitialization, @@ -74,7 +76,9 @@ class PresenterPaneBorderManager public PresenterPaneBorderManagerInterfaceBase { public: - PresenterPaneBorderManager (const css::uno::Reference& rxContext); + PresenterPaneBorderManager ( + const css::uno::Reference& rxContext, + const ::rtl::Reference& rpPresenterController); virtual ~PresenterPaneBorderManager (void); virtual void SAL_CALL disposing (void); @@ -126,6 +130,7 @@ private: enum BorderElement { Top, TopLeft, TopRight, Left, Right, BottomLeft, BottomRight, Bottom, Content, Outside }; + ::rtl::Reference mpPresenterController; css::uno::Reference mxComponentContext; css::uno::Reference mxPresenterHelper; /** The parent window is stored so that it can be invalidated when one -- cgit From 4d91841e0bc18d5b01fe85eb03eb0be589cf0c74 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:34:16 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:24:33 af 1.2.4.3: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:59:13 af 1.2.4.2: #i18486# Fixed some Linux build problems. 2008/04/16 15:46:44 af 1.2.4.1: #i18486# Added support for callout. --- .../presenter/PresenterPaneBorderPainter.cxx | 571 ++++++++++++--------- 1 file changed, 326 insertions(+), 245 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneBorderPainter.cxx b/sdext/source/presenter/PresenterPaneBorderPainter.cxx index 64845c2c9138..598578b4851a 100644 --- a/sdext/source/presenter/PresenterPaneBorderPainter.cxx +++ b/sdext/source/presenter/PresenterPaneBorderPainter.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneBorderPainter.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,6 +30,7 @@ ************************************************************************/ #include "PresenterPaneBorderPainter.hxx" +#include "PresenterCanvasHelper.hxx" #include "PresenterConfigurationAccess.hxx" #include "PresenterGeometryHelper.hxx" #include "PresenterTheme.hxx" @@ -38,11 +39,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -52,23 +55,11 @@ using namespace ::com::sun::star; using namespace ::com::sun::star::uno; using ::rtl::OUString; +#define A2S(s) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s))) + namespace sdext { namespace presenter { namespace { - class BitmapDescriptor - { - public: - BitmapDescriptor( - const ::boost::shared_ptr& rpTheme, - const OUString& rsStyleName, - const OUString& rsBitmapName); - - Reference mxBitmap; - awt::Point maOffset; - awt::Size maSize; - util::Color maReplacementColor; - }; - class BorderSize { public: @@ -94,19 +85,23 @@ namespace { awt::Rectangle RemoveBorder ( const awt::Rectangle& rBox, drawing::framework::BorderType eBorderType) const; - const rendering::FontRequest& GetCanvasFontDescriptor (void) const; - - BitmapDescriptor maTopLeft; - BitmapDescriptor maTop; - BitmapDescriptor maTopRight; - BitmapDescriptor maLeft; - BitmapDescriptor maRight; - BitmapDescriptor maBottomLeft; - BitmapDescriptor maBottom; - BitmapDescriptor maBottomRight; - BitmapDescriptor maWindowBackground; - rendering::FontRequest maCanvasFontDescriptor; - util::Color maFontColor; + const Reference GetFont ( + const Reference& rxCanvas) const; + + SharedBitmapDescriptor mpTopLeft; + SharedBitmapDescriptor mpTop; + SharedBitmapDescriptor mpTopRight; + SharedBitmapDescriptor mpLeft; + SharedBitmapDescriptor mpRight; + SharedBitmapDescriptor mpBottomLeft; + SharedBitmapDescriptor mpBottom; + SharedBitmapDescriptor mpBottomRight; + SharedBitmapDescriptor mpBottomCallout; + SharedBitmapDescriptor mpBackground; + SharedBitmapDescriptor mpEmpty; + PresenterTheme::SharedFontDescriptor mpFont; + sal_Int32 mnFontXOffset; + sal_Int32 mnFontYOffset; enum Anchor { AnchorLeft, AnchorRight, AnchorCenter } meFontAnchor; BorderSize maInnerBorderSize; BorderSize maOuterBorderSize; @@ -115,6 +110,10 @@ namespace { sal_Int32 GetBorderSize (const Side eSide) const; private: void UpdateBorderSizes (void); + SharedBitmapDescriptor GetBitmap( + const ::boost::shared_ptr& rpTheme, + const OUString& rsStyleName, + const OUString& rsBitmapName); }; } @@ -133,8 +132,7 @@ public: const OUString& rsTitle, const awt::Rectangle& rBBox, const awt::Rectangle& rUpdateBox, - const OUString& rsPaneURL, - const double nBorderTransparency); + const OUString& rsPaneURL); void PaintTitle ( const OUString& rsTitle, const ::boost::shared_ptr& rpStyle, @@ -142,24 +140,24 @@ public: const awt::Rectangle& rOuterBox, const awt::Rectangle& rInnerBox, const bool bPaintBackground); - void SetupClipping (const awt::Rectangle& rUpdateBox, bool bPaintOutline); + void SetupClipping ( + const awt::Rectangle& rUpdateBox, + const awt::Rectangle& rOuterBox, + const OUString& rsPaneStyleName); ::boost::shared_ptr GetRendererPaneStyle (const OUString& rsResourceURL); + void SetCalloutAnchor ( + const awt::Point& rCalloutAnchor); private: ::boost::shared_ptr mpTheme; typedef ::std::map > RendererPaneStyleContainer; RendererPaneStyleContainer maRendererPaneStyles; - Reference mxFont; - Reference mxCanvasFont; Reference mxCanvas; + Reference mxPresenterHelper; css::rendering::ViewState maViewState; Reference mxViewStateClip; - awt::Point maTopLeftTitleOffset; - awt::Point maTopRightTitleOffset; - awt::Point maTopLeftOffset; - awt::Point maTopRightOffset; - awt::Point maBottomLeftOffset; - awt::Point maBottomRightOffset; + bool mbHasCallout; + awt::Point maCalloutAnchor; void PaintFrameBackground ( const awt::Rectangle& rInnerBox, @@ -167,13 +165,13 @@ private: void PaintBitmap( const awt::Rectangle& rBox, const awt::Rectangle& rUpdateBox, - const ::boost::shared_ptr& rpStyle, const sal_Int32 nXPosition, const sal_Int32 nYPosition, const sal_Int32 nStartOffset, const sal_Int32 nEndOffset, - const BitmapDescriptor& rBitmap, - const double nBorderTransparency); + const bool bExpand, + const SharedBitmapDescriptor& rpBitmap, + const SharedBitmapDescriptor& rpBackgroundBitmap); }; @@ -232,13 +230,15 @@ awt::Rectangle SAL_CALL PresenterPaneBorderPainter::removeBorder ( } -void SAL_CALL PresenterPaneBorderPainter::paintBorder( - const ::rtl::OUString& rsPaneBorderStyleName, - const css::uno::Reference< css::rendering::XCanvas >& rxCanvas, + + +void SAL_CALL PresenterPaneBorderPainter::paintBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::uno::Reference& rxCanvas, const css::awt::Rectangle& rOuterBorderRectangle, const css::awt::Rectangle& rRepaintArea, - const ::rtl::OUString& rsTitle ) - throw (css::uno::RuntimeException) + const rtl::OUString& rsTitle) + throw(css::uno::RuntimeException) { ThrowIfDisposed(); @@ -255,35 +255,87 @@ void SAL_CALL PresenterPaneBorderPainter::paintBorder( if (mpRenderer.get() != NULL) { mpRenderer->SetCanvas(rxCanvas); - mpRenderer->SetupClipping(rRepaintArea, false); + mpRenderer->SetupClipping( + rRepaintArea, + rOuterBorderRectangle, + rsPaneBorderStyleName); mpRenderer->PaintBorder( rsTitle, rOuterBorderRectangle, rRepaintArea, - rsPaneBorderStyleName, - 0); + rsPaneBorderStyleName); } } -void SAL_CALL PresenterPaneBorderPainter::paintBorderWithCallout( - const ::rtl::OUString& /*sPaneBorderStyleName*/, - const css::uno::Reference< css::rendering::XCanvas >& /*xCanvas*/, - const css::awt::Rectangle& /*aOuterBorderRectangle*/, - const css::awt::Rectangle& /*aRepaintArea*/, - const ::rtl::OUString& /*sTitle*/, - const css::awt::Point& /*aCalloutAnchor*/ ) - throw (css::uno::RuntimeException) + + + +void SAL_CALL PresenterPaneBorderPainter::paintBorderWithCallout ( + const rtl::OUString& rsPaneBorderStyleName, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rOuterBorderRectangle, + const css::awt::Rectangle& rRepaintArea, + const rtl::OUString& rsTitle, + const css::awt::Point& rCalloutAnchor) + throw(css::uno::RuntimeException) { + ThrowIfDisposed(); + + // Early reject paints completely outside the repaint area. + if (rRepaintArea.X >= rOuterBorderRectangle.X+rOuterBorderRectangle.Width + || rRepaintArea.Y >= rOuterBorderRectangle.Y+rOuterBorderRectangle.Height + || rRepaintArea.X+rRepaintArea.Width <= rOuterBorderRectangle.X + || rRepaintArea.Y+rRepaintArea.Height <= rOuterBorderRectangle.Y) + { + return; + } + ProvideTheme(rxCanvas); + + if (mpRenderer.get() != NULL) + { + mpRenderer->SetCanvas(rxCanvas); + mpRenderer->SetupClipping( + rRepaintArea, + rOuterBorderRectangle, + rsPaneBorderStyleName); + mpRenderer->SetCalloutAnchor(rCalloutAnchor); + mpRenderer->PaintBorder( + rsTitle, + rOuterBorderRectangle, + rRepaintArea, + rsPaneBorderStyleName); + } } -css::awt::Point SAL_CALL PresenterPaneBorderPainter::getCalloutOffset( - const ::rtl::OUString& /*sPaneBorderStyleName*/ ) - throw (css::uno::RuntimeException) + + + +awt::Point SAL_CALL PresenterPaneBorderPainter::getCalloutOffset ( + const rtl::OUString& rsPaneBorderStyleName) + throw(css::uno::RuntimeException) { - css::awt::Point aPoint; - return aPoint; + ThrowIfDisposed(); + ProvideTheme(); + if (mpRenderer.get() != NULL) + { + const ::boost::shared_ptr pRendererPaneStyle( + mpRenderer->GetRendererPaneStyle(rsPaneBorderStyleName)); + if (pRendererPaneStyle.get() != NULL + && pRendererPaneStyle->mpBottomCallout.get() != NULL) + { + return awt::Point ( + 0, + pRendererPaneStyle->mpBottomCallout->mnHeight + - pRendererPaneStyle->mpBottomCallout->mnYHotSpot); + } + } + + return awt::Point(0,0); } + + + //----------------------------------------------------------------------------- bool PresenterPaneBorderPainter::ProvideTheme (const Reference& rxCanvas) @@ -393,7 +445,7 @@ awt::Rectangle PresenterPaneBorderPainter::RemoveBorder ( void PresenterPaneBorderPainter::ThrowIfDisposed (void) const - throw (css::lang::DisposedException) + throw (::com::sun::star::lang::DisposedException) { if (rBHelper.bDisposed || rBHelper.bInDispose) { @@ -415,20 +467,24 @@ PresenterPaneBorderPainter::Renderer::Renderer ( const ::boost::shared_ptr& rpTheme) : mpTheme(rpTheme), maRendererPaneStyles(), - mxFont(), - mxCanvasFont(), mxCanvas(), - maViewState(), + mxPresenterHelper(), + maViewState(geometry::AffineMatrix2D(1,0,0, 0,1,0), NULL), mxViewStateClip(), - maTopLeftTitleOffset(0,0), - maTopRightTitleOffset(0,0), - maTopLeftOffset(0,0), - maTopRightOffset(0,0), - maBottomLeftOffset(0,0), - maBottomRightOffset(0,0) + mbHasCallout(false), + maCalloutAnchor() { (void)rxContext; - maViewState.AffineTransform = geometry::AffineMatrix2D(1,0,0, 0,1,0); + + Reference xFactory (rxContext->getServiceManager()); + if (xFactory.is()) + { + mxPresenterHelper = Reference( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + rxContext), + UNO_QUERY_THROW); + } } @@ -456,8 +512,7 @@ void PresenterPaneBorderPainter::Renderer::PaintBorder ( const OUString& rsTitle, const awt::Rectangle& rBBox, const awt::Rectangle& rUpdateBox, - const OUString& rsPaneURL, - const double nBorderTransparency) + const OUString& rsPaneURL) { if ( ! mxCanvas.is()) return; @@ -473,33 +528,53 @@ void PresenterPaneBorderPainter::Renderer::PaintBorder ( awt::Rectangle aInnerBox ( pStyle->RemoveBorder(aOuterBox, drawing::framework::BorderType_TOTAL_BORDER)); - //PaintTitle(rsTitle, pStyle, rUpdateBox, aOuterBox, aInnerBox, true); - // Prepare references for all used bitmaps. - BitmapDescriptor& rTop (pStyle->maTop); - BitmapDescriptor& rTopLeft (pStyle->maTopLeft); - BitmapDescriptor& rTopRight (pStyle->maTopRight); - BitmapDescriptor& rLeft (pStyle->maLeft); - BitmapDescriptor& rRight (pStyle->maRight); - BitmapDescriptor& rBottomLeft (pStyle->maBottomLeft); - BitmapDescriptor& rBottomRight (pStyle->maBottomRight); - BitmapDescriptor& rBottom (pStyle->maBottom); + SharedBitmapDescriptor pTop (pStyle->mpTop); + SharedBitmapDescriptor pTopLeft (pStyle->mpTopLeft); + SharedBitmapDescriptor pTopRight (pStyle->mpTopRight); + SharedBitmapDescriptor pLeft (pStyle->mpLeft); + SharedBitmapDescriptor pRight (pStyle->mpRight); + SharedBitmapDescriptor pBottomLeft (pStyle->mpBottomLeft); + SharedBitmapDescriptor pBottomRight (pStyle->mpBottomRight); + SharedBitmapDescriptor pBottom (pStyle->mpBottom); + SharedBitmapDescriptor pBackground (pStyle->mpBackground); // Paint the sides. - PaintBitmap(aCenterBox, rUpdateBox, pStyle, 0,-1, - rTopLeft.maOffset.X, rTopRight.maOffset.X, rTop, nBorderTransparency); - PaintBitmap(aCenterBox, rUpdateBox, pStyle, 0,+1, - rBottomLeft.maOffset.X, rBottomRight.maOffset.X, rBottom, nBorderTransparency); - PaintBitmap(aCenterBox, rUpdateBox, pStyle, -1,0, - rTopLeft.maOffset.Y, rBottomLeft.maOffset.Y, rLeft, nBorderTransparency); - PaintBitmap(aCenterBox, rUpdateBox, pStyle, +1,0, - rTopRight.maOffset.Y, rBottomRight.maOffset.Y, rRight, nBorderTransparency); + PaintBitmap(aCenterBox, rUpdateBox, 0,-1, + pTopLeft->mnXOffset, pTopRight->mnXOffset, true, pTop, pBackground); + PaintBitmap(aCenterBox, rUpdateBox, -1,0, + pTopLeft->mnYOffset, pBottomLeft->mnYOffset, true, pLeft, pBackground); + PaintBitmap(aCenterBox, rUpdateBox, +1,0, + pTopRight->mnYOffset, pBottomRight->mnYOffset, true, pRight, pBackground); + if (mbHasCallout && pStyle->mpBottomCallout->GetNormalBitmap().is()) + { + const sal_Int32 nCalloutWidth (pStyle->mpBottomCallout->mnWidth); + sal_Int32 nCalloutX (maCalloutAnchor.X - pStyle->mpBottomCallout->mnXHotSpot + - (aCenterBox.X - aOuterBox.X)); + if (nCalloutX < pBottomLeft->mnXOffset + aCenterBox.X) + nCalloutX = pBottomLeft->mnXOffset + aCenterBox.X; + if (nCalloutX > pBottomRight->mnXOffset + aCenterBox.X + aCenterBox.Width) + nCalloutX = pBottomRight->mnXOffset + aCenterBox.X + aCenterBox.Width; + // Paint bottom callout. + PaintBitmap(aCenterBox, rUpdateBox, 0,+1, nCalloutX,0, false, pStyle->mpBottomCallout, pBackground); + // Paint regular bottom bitmap left and right. + PaintBitmap(aCenterBox, rUpdateBox, 0,+1, + pBottomLeft->mnXOffset, nCalloutX-aCenterBox.Width, true, pBottom, pBackground); + PaintBitmap(aCenterBox, rUpdateBox, 0,+1, + nCalloutX+nCalloutWidth, pBottomRight->mnXOffset, true, pBottom, pBackground); + } + else + { + // Stretch the bottom bitmap over the full width. + PaintBitmap(aCenterBox, rUpdateBox, 0,+1, + pBottomLeft->mnXOffset, pBottomRight->mnXOffset, true, pBottom, pBackground); + } // Paint the corners. - PaintBitmap(aCenterBox, rUpdateBox, pStyle, -1,-1, 0,0, rTopLeft, nBorderTransparency); - PaintBitmap(aCenterBox, rUpdateBox, pStyle, +1,-1, 0,0, rTopRight, nBorderTransparency); - PaintBitmap(aCenterBox, rUpdateBox, pStyle, -1,+1, 0,0, rBottomLeft, nBorderTransparency); - PaintBitmap(aCenterBox, rUpdateBox, pStyle, +1,+1, 0,0, rBottomRight, nBorderTransparency); + PaintBitmap(aCenterBox, rUpdateBox, -1,-1, 0,0, false, pTopLeft, pBackground); + PaintBitmap(aCenterBox, rUpdateBox, +1,-1, 0,0, false, pTopRight, pBackground); + PaintBitmap(aCenterBox, rUpdateBox, -1,+1, 0,0, false, pBottomLeft, pBackground); + PaintBitmap(aCenterBox, rUpdateBox, +1,+1, 0,0, false, pBottomRight, pBackground); // Paint the title. PaintTitle(rsTitle, pStyle, rUpdateBox, aOuterBox, aInnerBox, false); @@ -527,22 +602,15 @@ void PresenterPaneBorderPainter::Renderer::PaintTitle ( if (rsTitle.getLength() == 0) return; - if ( ! mxCanvasFont.is()) - { - mxCanvasFont = mxCanvas->createFont( - rpStyle->GetCanvasFontDescriptor(), - Sequence(), - geometry::Matrix2D(1,0,0,1)); - } - - if ( ! mxCanvasFont.is()) + Reference xFont (rpStyle->GetFont(mxCanvas)); + if ( ! xFont.is()) return; rendering::StringContext aContext ( rsTitle, 0, rsTitle.getLength()); - Reference xLayout (mxCanvasFont->createTextLayout( + Reference xLayout (xFont->createTextLayout( aContext, rendering::TextDirection::WEAK_LEFT_TO_RIGHT, 0)); @@ -570,6 +638,8 @@ void PresenterPaneBorderPainter::Renderer::PaintTitle ( nX = rInnerBox.X + (rInnerBox.Width - nTextWidth)/2; break; } + nX += rpStyle->mnFontXOffset; + nY += rpStyle->mnFontYOffset; if (rUpdateBox.X >= nX+nTextWidth || rUpdateBox.Y >= nY+nTextHeight @@ -607,13 +677,13 @@ void PresenterPaneBorderPainter::Renderer::PaintTitle ( } else { - aRenderState.DeviceColor[0] = ((rpStyle->maFontColor&0x00ff0000)>>16) / 255.0; - aRenderState.DeviceColor[1] = ((rpStyle->maFontColor&0x0000ff00)>>8) / 255.0; - aRenderState.DeviceColor[2] = (rpStyle->maFontColor&0x000000ff) / 255.0; + PresenterCanvasHelper::SetDeviceColor( + aRenderState, + rpStyle->mpFont->mnColor); mxCanvas->drawText( aContext, - mxCanvasFont, + xFont, maViewState, aRenderState, rendering::TextDirection::WEAK_LEFT_TO_RIGHT); @@ -630,20 +700,16 @@ void PresenterPaneBorderPainter::Renderer::PaintTitle ( RendererPaneStyleContainer::const_iterator iStyle (maRendererPaneStyles.find(rsResourceURL)); if (iStyle == maRendererPaneStyles.end()) { - OUString sStyleName (OUString::createFromAscii("DefaultRendererPaneStyle")); + OUString sPaneStyleName (OUString::createFromAscii("DefaultRendererPaneStyle")); - try - { - // Get pane layout name for resource URL. - mpTheme->getPropertyValue(rsResourceURL) >>= sStyleName; - } - catch (beans::UnknownPropertyException&) - { - OSL_ENSURE(false, "pane style not found"); - } + // Get pane layout name for resource URL. + const OUString sStyleName (mpTheme->GetStyleName(rsResourceURL)); + if (sStyleName.getLength() > 0) + sPaneStyleName = sStyleName; // Create a new pane style object and initialize it with bitmaps. - ::boost::shared_ptr pStyle (new RendererPaneStyle(mpTheme,sStyleName)); + ::boost::shared_ptr pStyle ( + new RendererPaneStyle(mpTheme,sPaneStyleName)); iStyle = maRendererPaneStyles.insert( RendererPaneStyleContainer::value_type(rsResourceURL, pStyle)).first; } @@ -656,6 +722,16 @@ void PresenterPaneBorderPainter::Renderer::PaintTitle ( +void PresenterPaneBorderPainter::Renderer::SetCalloutAnchor ( + const awt::Point& rCalloutAnchor) +{ + mbHasCallout = true; + maCalloutAnchor = rCalloutAnchor; +} + + + + void PresenterPaneBorderPainter::Renderer::PaintFrameBackground ( const awt::Rectangle& rOuterBox, const awt::Rectangle& rInnerBox) @@ -670,58 +746,60 @@ void PresenterPaneBorderPainter::Renderer::PaintFrameBackground ( void PresenterPaneBorderPainter::Renderer::PaintBitmap( const awt::Rectangle& rBox, const awt::Rectangle& rUpdateBox, - const ::boost::shared_ptr& rpStyle, const sal_Int32 nXPosition, const sal_Int32 nYPosition, const sal_Int32 nStartOffset, const sal_Int32 nEndOffset, - const BitmapDescriptor& rBitmap, - const double nBorderTransparency) + const bool bExpand, + const SharedBitmapDescriptor& rpBitmap, + const SharedBitmapDescriptor& rpBackgroundBitmap) { - (void)nBorderTransparency; - (void)rpStyle; + (void)rpBackgroundBitmap; bool bUseCanvas (mxCanvas.is()); if ( ! bUseCanvas) return; - if (rBitmap.maSize.Width<=0 || rBitmap.maSize.Height<=0) + if (rpBitmap->mnWidth<=0 || rpBitmap->mnHeight<=0) return; - if ( ! rBitmap.mxBitmap.is()) + Reference xBitmap (rpBitmap->GetNormalBitmap(), UNO_QUERY); + if ( ! xBitmap.is()) return; // Calculate position, and for side bitmaps, the size. sal_Int32 nX = 0; sal_Int32 nY = 0; - sal_Int32 nW = rBitmap.maSize.Width; - sal_Int32 nH = rBitmap.maSize.Height; + sal_Int32 nW = rpBitmap->mnWidth; + sal_Int32 nH = rpBitmap->mnHeight; if (nXPosition < 0) { - nX = rBox.X - rBitmap.maSize.Width + rBitmap.maOffset.X; + nX = rBox.X - rpBitmap->mnWidth + rpBitmap->mnXOffset; } else if (nXPosition > 0) { - nX = rBox.X + rBox.Width + rBitmap.maOffset.X; + nX = rBox.X + rBox.Width + rpBitmap->mnXOffset; } else { nX = rBox.X + nStartOffset; - nW = rBox.Width - nStartOffset + nEndOffset; + if (bExpand) + nW = rBox.Width - nStartOffset + nEndOffset; } if (nYPosition < 0) { - nY = rBox.Y - rBitmap.maSize.Height + rBitmap.maOffset.Y; + nY = rBox.Y - rpBitmap->mnHeight + rpBitmap->mnYOffset; } else if (nYPosition > 0) { - nY = rBox.Y + rBox.Height + rBitmap.maOffset.Y; + nY = rBox.Y + rBox.Height + rpBitmap->mnYOffset; } else { nY = rBox.Y + nStartOffset; - nH = rBox.Height - nStartOffset + nEndOffset; + if (bExpand) + nH = rBox.Height - nStartOffset + nEndOffset; } // Do not paint when bitmap area does not intersect with update box. @@ -733,22 +811,54 @@ void PresenterPaneBorderPainter::Renderer::PaintBitmap( return; } + /* + Reference xMaskedBitmap ( + PresenterBitmapHelper::FillMaskedWithColor ( + mxCanvas, + Reference(xBitmap, UNO_QUERY), + rBitmap.mxMaskBitmap, + 0x00ff0000, + rBackgroundBitmap.maReplacementColor)); + if (xMaskedBitmap.is()) + xBitmap = xMaskedBitmap; + else if (rBitmap.mxMaskBitmap.is() && mxPresenterHelper.is()) + { + const static sal_Int32 nOutsideMaskColor (0x00ff0000); + Reference xMask ( + mxPresenterHelper->createMask( + mxCanvas, + rBitmap.mxMaskBitmap, + nOutsideMaskColor, + false)); + xBitmap = mxPresenterHelper->applyBitmapMaskWithColor( + mxCanvas, + Reference(xBitmap, UNO_QUERY), + xMask, + rBackgroundBitmap.maReplacementColor); + } + */ rendering::RenderState aRenderState ( geometry::AffineMatrix2D( - double(nW)/rBitmap.maSize.Width, 0, nX, - 0, double(nH)/rBitmap.maSize.Height, nY), + double(nW)/rpBitmap->mnWidth, 0, nX, + 0, double(nH)/rpBitmap->mnHeight, nY), NULL, Sequence(3), rendering::CompositeOperation::OVER); - mxCanvas->drawBitmap(rBitmap.mxBitmap,maViewState,aRenderState); + if (xBitmap.is()) + mxCanvas->drawBitmap( + xBitmap, + maViewState, + aRenderState); } -void PresenterPaneBorderPainter::Renderer::SetupClipping (const awt::Rectangle& rUpdateBox, - bool bPaintOutline) +void PresenterPaneBorderPainter::Renderer::SetupClipping ( + const awt::Rectangle& rUpdateBox, + const awt::Rectangle& rOuterBox, + const OUString& rsPaneStyleName) { mxViewStateClip = NULL; maViewState.Clip = NULL; @@ -756,80 +866,32 @@ void PresenterPaneBorderPainter::Renderer::SetupClipping (const awt::Rectangle& if ( ! mxCanvas.is()) return; - mxViewStateClip = PresenterGeometryHelper::CreatePolygon(rUpdateBox, mxCanvas->getDevice()); - - if (bPaintOutline) - { - maViewState.Clip = NULL; - rendering::RenderState aRenderState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE); - aRenderState.DeviceColor[0] = 0; - aRenderState.DeviceColor[1] = 1; - aRenderState.DeviceColor[2] = 0; - mxCanvas->drawPolyPolygon(mxViewStateClip, maViewState, aRenderState); - } - - maViewState.Clip = mxViewStateClip; -} - - - -namespace { - -//===== BitmapDescriptor ====================================================== - -BitmapDescriptor::BitmapDescriptor( - const ::boost::shared_ptr& rpTheme, - const OUString& rsStyleName, - const OUString& rsBitmapName) - : mxBitmap(), - maOffset(0,0), - maSize(0,0), - maReplacementColor(0x00ffffff) -{ - if (rpTheme.get() == NULL) - return; - - const OUString sPrefix (rsStyleName - +OUString::createFromAscii("_Border_") - +rsBitmapName - +OUString::createFromAscii("_")); - - try - { - rpTheme->getPropertyValue(sPrefix+OUString::createFromAscii("Bitmap")) >>= mxBitmap; - if (mxBitmap.is()) - { - const geometry::IntegerSize2D aSize (mxBitmap->getSize()); - maSize = awt::Size(aSize.Width, aSize.Height); - } - } - catch(beans::UnknownPropertyException&) - { - } - - try - { - rpTheme->getPropertyValue(sPrefix+OUString::createFromAscii("Offset")) >>= maOffset; - } - catch(beans::UnknownPropertyException&) - { - } - - try + ::boost::shared_ptr pStyle (GetRendererPaneStyle(rsPaneStyleName)); + if (pStyle.get() == NULL) { - rpTheme->getPropertyValue(sPrefix+OUString::createFromAscii("Color")) >>= maReplacementColor; + mxViewStateClip = PresenterGeometryHelper::CreatePolygon( + rUpdateBox, + mxCanvas->getDevice()); } - catch(beans::UnknownPropertyException&) + else { + awt::Rectangle aInnerBox ( + pStyle->RemoveBorder(rOuterBox, drawing::framework::BorderType_TOTAL_BORDER)); + ::std::vector aRectangles; + aRectangles.push_back(PresenterGeometryHelper::Intersection(rUpdateBox, rOuterBox)); + aRectangles.push_back(PresenterGeometryHelper::Intersection(rUpdateBox, aInnerBox)); + mxViewStateClip = PresenterGeometryHelper::CreatePolygon( + aRectangles, + mxCanvas->getDevice()); + if (mxViewStateClip.is()) + mxViewStateClip->setFillRule(rendering::FillRule_EVEN_ODD); } + maViewState.Clip = mxViewStateClip; } +namespace { //===== BorderSize ============================================================ @@ -875,17 +937,20 @@ BorderSize& BorderSize::operator= (const BorderSize& rBorderSize) RendererPaneStyle::RendererPaneStyle ( const ::boost::shared_ptr& rpTheme, const OUString& rsStyleName) - : maTopLeft(rpTheme, rsStyleName, OUString::createFromAscii("TopLeft")), - maTop(rpTheme, rsStyleName, OUString::createFromAscii("Top")), - maTopRight(rpTheme, rsStyleName, OUString::createFromAscii("TopRight")), - maLeft(rpTheme, rsStyleName, OUString::createFromAscii("Left")), - maRight(rpTheme, rsStyleName, OUString::createFromAscii("Right")), - maBottomLeft(rpTheme, rsStyleName, OUString::createFromAscii("BottomLeft")), - maBottom(rpTheme, rsStyleName, OUString::createFromAscii("Bottom")), - maBottomRight(rpTheme, rsStyleName, OUString::createFromAscii("BottomRight")), - maWindowBackground(rpTheme, rsStyleName, OUString::createFromAscii("WindowBackground")), - maCanvasFontDescriptor(), - maFontColor(0), + : mpTopLeft(), + mpTop(), + mpTopRight(), + mpLeft(), + mpRight(), + mpBottomLeft(), + mpBottom(), + mpBottomRight(), + mpBottomCallout(), + mpBackground(), + mpEmpty(new PresenterBitmapDescriptor()), + mpFont(), + mnFontXOffset(0), + mnFontYOffset(0), meFontAnchor(AnchorCenter), maInnerBorderSize(), maOuterBorderSize(), @@ -893,28 +958,28 @@ RendererPaneStyle::RendererPaneStyle ( { if (rpTheme.get() != NULL) { + mpTopLeft = GetBitmap(rpTheme, rsStyleName, A2S("TopLeft")); + mpTop = GetBitmap(rpTheme, rsStyleName, A2S("Top")); + mpTopRight = GetBitmap(rpTheme, rsStyleName, A2S("TopRight")); + mpLeft = GetBitmap(rpTheme, rsStyleName, A2S("Left")); + mpRight = GetBitmap(rpTheme, rsStyleName, A2S("Right")); + mpBottomLeft = GetBitmap(rpTheme, rsStyleName, A2S("BottomLeft")); + mpBottom = GetBitmap(rpTheme, rsStyleName, A2S("Bottom")); + mpBottomRight = GetBitmap(rpTheme, rsStyleName, A2S("BottomRight")); + mpBottomCallout = GetBitmap(rpTheme, rsStyleName, A2S("BottomCallout")); + mpBackground = GetBitmap(rpTheme, OUString(), A2S("Background")); + // Get font description. - OUString sFontName (OUString::createFromAscii("Albany")); - sal_Int32 nFontSize (17); - maFontColor = 0x00000000; + mpFont = rpTheme->GetFont(rsStyleName); + OUString sAnchor (OUString::createFromAscii("Left")); - const OUString sFontPrefix (rsStyleName+OUString::createFromAscii("_Font_")); - try + if (mpFont.get() != NULL) { - rpTheme->getPropertyValue(sFontPrefix+OUString::createFromAscii("Name")) >>= sFontName; - rpTheme->getPropertyValue(sFontPrefix+OUString::createFromAscii("Size")) >>= nFontSize; - rpTheme->getPropertyValue(sFontPrefix+OUString::createFromAscii("Color")) - >>= maFontColor; - rpTheme->getPropertyValue(sFontPrefix+OUString::createFromAscii("Anchor")) >>= sAnchor; - } - catch(beans::UnknownPropertyException&) - { - OSL_ASSERT(false); + sAnchor = mpFont->msAnchor; + mnFontXOffset = mpFont->mnXOffset; + mnFontYOffset = mpFont->mnYOffset; } - maCanvasFontDescriptor.FontDescription.FamilyName = sFontName; - maCanvasFontDescriptor.CellSize = nFontSize; - if (sAnchor == OUString::createFromAscii("Left")) meFontAnchor = AnchorLeft; else if (sAnchor == OUString::createFromAscii("Right")) @@ -925,19 +990,17 @@ RendererPaneStyle::RendererPaneStyle ( meFontAnchor = AnchorCenter; // Get border sizes. - Sequence aInnerBorder (4); - Sequence aOuterBorder (4); try { - rpTheme->getPropertyValue(rsStyleName+OUString::createFromAscii("_InnerBorderSize")) - >>= aInnerBorder; + ::std::vector aInnerBorder (rpTheme->GetBorderSize(rsStyleName, false)); + OSL_ASSERT(aInnerBorder.size()==4); maInnerBorderSize.mnLeft = aInnerBorder[0]; maInnerBorderSize.mnTop = aInnerBorder[1]; maInnerBorderSize.mnRight = aInnerBorder[2]; maInnerBorderSize.mnBottom = aInnerBorder[3]; - rpTheme->getPropertyValue(rsStyleName+OUString::createFromAscii("_OuterBorderSize")) - >>= aOuterBorder; + ::std::vector aOuterBorder (rpTheme->GetBorderSize(rsStyleName, true)); + OSL_ASSERT(aOuterBorder.size()==4); maOuterBorderSize.mnLeft = aOuterBorder[0]; maOuterBorderSize.mnTop = aOuterBorder[1]; maOuterBorderSize.mnRight = aOuterBorder[2]; @@ -1014,9 +1077,12 @@ awt::Rectangle RendererPaneStyle::RemoveBorder ( -const rendering::FontRequest& RendererPaneStyle::GetCanvasFontDescriptor (void) const +const Reference RendererPaneStyle::GetFont ( + const Reference& rxCanvas) const { - return maCanvasFontDescriptor; + if (mpFont.get() != NULL) + mpFont->PrepareFont(rxCanvas); + return mpFont->mxFont; } @@ -1047,6 +1113,21 @@ void RendererPaneStyle::UpdateBorderSizes (void) + +SharedBitmapDescriptor RendererPaneStyle::GetBitmap( + const ::boost::shared_ptr& rpTheme, + const OUString& rsStyleName, + const OUString& rsBitmapName) +{ + SharedBitmapDescriptor pDescriptor (rpTheme->GetBitmap(rsStyleName, rsBitmapName)); + if (pDescriptor.get() != NULL) + return pDescriptor; + else + return mpEmpty; +} + + + } // end of anonymous namespace -- cgit From 94707542176b78ab6da1ba42a8e0ca0fa01410bc Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:34:28 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:27:50 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:46:30 af 1.2.4.1: #i18486# Added support for callout. --- .../presenter/PresenterPaneBorderPainter.hxx | 42 +++++++++++----------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneBorderPainter.hxx b/sdext/source/presenter/PresenterPaneBorderPainter.hxx index 598b8c008dd1..e09192734f7f 100644 --- a/sdext/source/presenter/PresenterPaneBorderPainter.hxx +++ b/sdext/source/presenter/PresenterPaneBorderPainter.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneBorderPainter.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -123,26 +123,26 @@ public: css::drawing::framework::BorderType eBorderType) throw(css::uno::RuntimeException); - virtual void SAL_CALL paintBorder( - const ::rtl::OUString& sPaneBorderStyleName, - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas >& xCanvas, - const ::com::sun::star::awt::Rectangle& aOuterBorderRectangle, - const ::com::sun::star::awt::Rectangle& aRepaintArea, - const ::rtl::OUString& sTitle ) - throw (::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL paintBorderWithCallout( - const ::rtl::OUString& sPaneBorderStyleName, - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas >& xCanvas, - const ::com::sun::star::awt::Rectangle& aOuterBorderRectangle, - const ::com::sun::star::awt::Rectangle& aRepaintArea, - const ::rtl::OUString& sTitle, - const ::com::sun::star::awt::Point& aCalloutAnchor ) - throw (::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::awt::Point SAL_CALL getCalloutOffset( - const ::rtl::OUString& sPaneBorderStyleName ) - throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL paintBorder ( + const rtl::OUString& rsPaneBorderStyleName, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rOuterBorderRectangle, + const css::awt::Rectangle& rRepaintArea, + const rtl::OUString& rsTitle) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL paintBorderWithCallout ( + const rtl::OUString& rsPaneBorderStyleName, + const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rOuterBorderRectangle, + const css::awt::Rectangle& rRepaintArea, + const rtl::OUString& rsTitle, + const css::awt::Point& rCalloutAnchor) + throw(css::uno::RuntimeException); + + virtual css::awt::Point SAL_CALL getCalloutOffset ( + const rtl::OUString& rsPaneBorderStyleName) + throw(css::uno::RuntimeException); private: css::uno::Reference mxContext; -- cgit From b7835d592370a350763351ce271fb3d0948d4854 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:34:40 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/23 11:56:15 af 1.2.4.3: #i18486# Fixed disposing of panes. 2008/04/22 08:25:00 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:47:51 af 1.2.4.1: #i18486# Added support for callouts, title templates. --- sdext/source/presenter/PresenterPaneContainer.cxx | 106 +++++++++++++++++++--- 1 file changed, 94 insertions(+), 12 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneContainer.cxx b/sdext/source/presenter/PresenterPaneContainer.cxx index 5c75b06654bd..c40798e24408 100644 --- a/sdext/source/presenter/PresenterPaneContainer.cxx +++ b/sdext/source/presenter/PresenterPaneContainer.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneContainer.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -75,7 +75,9 @@ PresenterPaneContainer::~PresenterPaneContainer (void) void PresenterPaneContainer::PreparePane ( const Reference& rxPaneId, + const OUString& rsViewURL, const OUString& rsTitle, + const bool bIsOpaque, const ViewInitializationFunction& rViewInitialization, const double nLeft, const double nTop, @@ -91,16 +93,30 @@ void PresenterPaneContainer::PreparePane ( // No entry found for the given pane id. Create a new one. SharedPaneDescriptor pDescriptor (new PaneDescriptor()); pDescriptor->mxPaneId = rxPaneId; + pDescriptor->msViewURL = rsViewURL; pDescriptor->mxPane = NULL; - pDescriptor->msTitle = rsTitle; + if (rsTitle.indexOf('%') < 0) + { + pDescriptor->msTitle = rsTitle; + pDescriptor->msTitleTemplate = OUString(); + } + else + { + pDescriptor->msTitleTemplate = rsTitle; + pDescriptor->msTitle = OUString(); + } pDescriptor->maViewInitialization = rViewInitialization; pDescriptor->mnLeft = nLeft; pDescriptor->mnTop = nTop; pDescriptor->mnRight = nRight; pDescriptor->mnBottom = nBottom; pDescriptor->mbIsActive = true; + pDescriptor->mbIsOpaque = bIsOpaque; pDescriptor->maSpriteProvider = PaneDescriptor::SpriteProvider(); pDescriptor->mbIsSprite = false; + pDescriptor->maCalloutAnchorLocation = awt::Point(-1,-1); + pDescriptor->mbHasCalloutAnchor = false; + maPanes.push_back(pDescriptor); } } @@ -110,8 +126,11 @@ void PresenterPaneContainer::PreparePane ( void SAL_CALL PresenterPaneContainer::disposing (void) { - while ( ! maPanes.empty()) - RemovePane(maPanes.back()->mxPaneId); + PaneList::iterator iPane (maPanes.begin()); + PaneList::const_iterator iEnd (maPanes.end()); + for ( ; iPane!=iEnd; ++iPane) + if ((*iPane)->mxPaneId.is()) + RemovePane((*iPane)->mxPaneId); } @@ -131,7 +150,8 @@ PresenterPaneContainer::SharedPaneDescriptor pDescriptor = FindPaneURL(sPaneURL); if (pDescriptor.get() == NULL) - PreparePane(xPaneId, OUString(), ViewInitializationFunction(), 0,0,0,0); + PreparePane(xPaneId, OUString(), OUString(), + false, ViewInitializationFunction(), 0,0,0,0); pDescriptor = FindPaneURL(sPaneURL); if (pDescriptor.get() != NULL) { @@ -141,6 +161,11 @@ PresenterPaneContainer::SharedPaneDescriptor pDescriptor->mxPane = rxPane; pDescriptor->mxPane->SetTitle(pDescriptor->msTitle); + // When there is a call out anchor location set then tell the + // window about it. + if (pDescriptor->mbHasCalloutAnchor) + pDescriptor->mxPane->SetCalloutAnchor(pDescriptor->maCalloutAnchorLocation); + if (xWindow.is()) xWindow->addEventListener(this); } @@ -179,8 +204,7 @@ PresenterPaneContainer::SharedPaneDescriptor PresenterPaneContainer::SharedPaneDescriptor PresenterPaneContainer::StoreView ( const Reference& rxView, - const util::Color aViewBackgroundColor, - const Reference& rxViewBackgroundBitmap) + const SharedBitmapDescriptor& rpViewBackground) { SharedPaneDescriptor pDescriptor; @@ -199,9 +223,8 @@ PresenterPaneContainer::SharedPaneDescriptor if (pDescriptor.get() != NULL) { pDescriptor->mxView = rxView; - pDescriptor->maViewBackgroundColor = aViewBackgroundColor; - pDescriptor->mxViewBackgroundBitmap = rxViewBackgroundBitmap; - pDescriptor->mxPane->SetBackground(aViewBackgroundColor, rxViewBackgroundBitmap); + pDescriptor->mpViewBackground = rpViewBackground; + pDescriptor->mxPane->SetBackground(rpViewBackground); try { if ( ! pDescriptor->maViewInitialization.empty()) @@ -224,8 +247,8 @@ PresenterPaneContainer::SharedPaneDescriptor -void PresenterPaneContainer::RemovePane ( - const Reference& rxPaneId) +PresenterPaneContainer::SharedPaneDescriptor + PresenterPaneContainer::RemovePane (const Reference& rxPaneId) { SharedPaneDescriptor pDescriptor (FindPaneId(rxPaneId)); if (pDescriptor.get() != NULL) @@ -238,12 +261,43 @@ void PresenterPaneContainer::RemovePane ( pDescriptor->mxView = NULL; pDescriptor->mbIsActive = false; } + return pDescriptor; } +PresenterPaneContainer::SharedPaneDescriptor + PresenterPaneContainer::RemoveView (const Reference& rxView) +{ + SharedPaneDescriptor pDescriptor; + + if (rxView.is()) + { + OUString sPaneURL; + Reference xViewId (rxView->getResourceId()); + if (xViewId.is()) + { + Reference xPaneId (xViewId->getAnchor()); + if (xPaneId.is()) + sPaneURL = xPaneId->getResourceURL(); + } + + pDescriptor = FindPaneURL(sPaneURL); + if (pDescriptor.get() != NULL) + { + pDescriptor->mxView = NULL; + pDescriptor->mpViewBackground = SharedBitmapDescriptor(); + } + } + + return pDescriptor; +} + + + + PresenterPaneContainer::SharedPaneDescriptor PresenterPaneContainer::FindBorderWindow ( const Reference& rxBorderWindow) { @@ -312,6 +366,34 @@ PresenterPaneContainer::SharedPaneDescriptor PresenterPaneContainer::FindPaneId +PresenterPaneContainer::SharedPaneDescriptor PresenterPaneContainer::FindViewURL ( + const OUString& rsViewURL) +{ + PaneList::iterator iEnd (maPanes.end()); + PaneList::iterator iPane; + for (iPane=maPanes.begin(); iPane!=iEnd; ++iPane) + { + if (rsViewURL == (*iPane)->msViewURL) + return *iPane; + } + return SharedPaneDescriptor(); +} + + + + +::rtl::OUString PresenterPaneContainer::GetPaneURLForViewURL (const ::rtl::OUString& rsViewURL) +{ + SharedPaneDescriptor pDescriptor (FindViewURL(rsViewURL)); + if (pDescriptor.get() != NULL) + if (pDescriptor->mxPaneId.is()) + return pDescriptor->mxPaneId->getResourceURL(); + return OUString(); +} + + + + void PresenterPaneContainer::ToTop (const SharedPaneDescriptor& rpDescriptor) { if (rpDescriptor.get() != NULL) -- cgit From f5a927c522d01e3f10272a4e5f290e635c22dad8 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:34:52 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:28:15 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:47:40 af 1.2.4.1: #i18486# Added support for callouts, title templates. --- sdext/source/presenter/PresenterPaneContainer.hxx | 28 +++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneContainer.hxx b/sdext/source/presenter/PresenterPaneContainer.hxx index 18382277e784..26d7a86e31b2 100644 --- a/sdext/source/presenter/PresenterPaneContainer.hxx +++ b/sdext/source/presenter/PresenterPaneContainer.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneContainer.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -32,6 +32,8 @@ #ifndef SDEXT_PRESENTER_PANE_CONTAINER_HXX #define SDEXT_PRESENTER_PANE_CONTAINER_HXX +#include "PresenterTheme.hxx" +#include #include #include #include @@ -40,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -95,23 +96,27 @@ public: typedef ::boost::function Activator; typedef ::boost::function()> SpriteProvider; css::uno::Reference mxPaneId; + ::rtl::OUString msViewURL; ::rtl::Reference mxPane; css::uno::Reference mxView; css::uno::Reference mxContentWindow; css::uno::Reference mxBorderWindow; + ::rtl::OUString msTitleTemplate; ::rtl::OUString msTitle; ViewInitializationFunction maViewInitialization; double mnLeft; double mnTop; double mnRight; double mnBottom; - css::util::Color maViewBackgroundColor; - css::uno::Reference mxViewBackgroundBitmap; + SharedBitmapDescriptor mpViewBackground; bool mbIsActive; bool mbNeedsClipping; + bool mbIsOpaque; SpriteProvider maSpriteProvider; bool mbIsSprite; Activator maActivator; + css::awt::Point maCalloutAnchorLocation; + bool mbHasCalloutAnchor; void SetActivationState (const bool bIsActive); }; @@ -121,7 +126,9 @@ public: void PreparePane ( const css::uno::Reference& rxPaneId, + const ::rtl::OUString& rsViewURL, const ::rtl::OUString& rsTitle, + const bool bIsOpaque, const ViewInitializationFunction& rViewIntialization, const double nLeft, const double nTop, @@ -137,10 +144,13 @@ public: SharedPaneDescriptor StoreView ( const css::uno::Reference& rxView, - const css::util::Color aViewBackgroundColor, - const css::uno::Reference& rxViewBackgroundBitmap); + const SharedBitmapDescriptor& rpViewBackground); - void RemovePane (const css::uno::Reference& rxPaneId); + SharedPaneDescriptor RemovePane ( + const css::uno::Reference& rxPaneId); + + SharedPaneDescriptor RemoveView ( + const css::uno::Reference& rxView); void CreateBorderWindow (PaneDescriptor& rDescriptor); @@ -165,6 +175,10 @@ public: SharedPaneDescriptor FindPaneId (const css::uno::Reference< css::drawing::framework::XResourceId>& rxPaneId); + SharedPaneDescriptor FindViewURL (const ::rtl::OUString& rsViewURL); + + ::rtl::OUString GetPaneURLForViewURL (const ::rtl::OUString& rsViewURL); + void ToTop (const SharedPaneDescriptor& rpDescriptor); -- cgit From 38a8e974663b079676573f9ad0b1ad683a2db12d Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:35:04 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/23 11:57:45 af 1.2.4.4: #i18486# Made caching optional, defaults to off. 2008/04/22 08:27:58 af 1.2.4.3: RESYNC: (1.2-1.3); FILE MERGED 2008/04/18 14:53:30 af 1.2.4.2: #i18486# Store only unused resources in the cache. 2008/04/16 15:49:02 af 1.2.4.1: #i18486# Added support for caching unused panes. --- sdext/source/presenter/PresenterPaneFactory.cxx | 112 +++++++++++++++++++----- 1 file changed, 88 insertions(+), 24 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneFactory.cxx b/sdext/source/presenter/PresenterPaneFactory.cxx index 82e3735d52d3..356465f9ff17 100644 --- a/sdext/source/presenter/PresenterPaneFactory.cxx +++ b/sdext/source/presenter/PresenterPaneFactory.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneFactory.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -61,12 +61,9 @@ const ::rtl::OUString PresenterPaneFactory::msToolBarPaneURL( OUString::createFromAscii("private:resource/pane/Presenter/Pane4")); const ::rtl::OUString PresenterPaneFactory::msSlideSorterPaneURL( OUString::createFromAscii("private:resource/pane/Presenter/Pane5")); -const ::rtl::OUString PresenterPaneFactory::msClockPaneURL( +const ::rtl::OUString PresenterPaneFactory::msHelpPaneURL( OUString::createFromAscii("private:resource/pane/Presenter/Pane6")); -const ::rtl::OUString PresenterPaneFactory::msDebugPaneURL( - OUString::createFromAscii("private:resource/pane/Presenter/Debug")); - const ::rtl::OUString PresenterPaneFactory::msOverlayPaneURL( OUString::createFromAscii("private:resource/pane/Presenter/Overlay")); @@ -95,7 +92,8 @@ PresenterPaneFactory::PresenterPaneFactory ( : PresenterPaneFactoryInterfaceBase(m_aMutex), mxComponentContextWeak(rxContext), mxConfigurationControllerWeak(), - mpPresenterController(rpPresenterController) + mpPresenterController(rpPresenterController), + mpResourceCache() { } @@ -149,7 +147,21 @@ void SAL_CALL PresenterPaneFactory::disposing (void) Reference xCC (mxConfigurationControllerWeak); if (xCC.is()) xCC->removeResourceFactoryForReference(this); - mxConfigurationControllerWeak = WeakReference(); + mxConfigurationControllerWeak = WeakReference(); + + // Dispose the panes in the cache. + if (mpResourceCache.get() != NULL) + { + ResourceContainer::const_iterator iPane (mpResourceCache->begin()); + ResourceContainer::const_iterator iEnd (mpResourceCache->end()); + for ( ; iPane!=iEnd; ++iPane) + { + Reference xPaneComponent (iPane->second, UNO_QUERY); + if (xPaneComponent.is()) + xPaneComponent->dispose(); + } + mpResourceCache.reset(); + } } @@ -161,7 +173,39 @@ Reference SAL_CALL PresenterPaneFactory::createResource ( const Reference& rxPaneId) throw (RuntimeException) { - return CreatePane(rxPaneId, OUString()); + if ( ! rxPaneId.is()) + return NULL; + + const OUString sPaneURL (rxPaneId->getResourceURL()); + if (sPaneURL.getLength() == 0) + return NULL; + + if (mpResourceCache.get() != NULL) + { + // Has the requested resource already been created? + ResourceContainer::const_iterator iResource (mpResourceCache->find(sPaneURL)); + if (iResource != mpResourceCache->end()) + { + // Yes. Mark it as active. + rtl::Reference pPaneContainer( + mpPresenterController->GetPaneContainer()); + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + pPaneContainer->FindPaneURL(sPaneURL)); + if (pDescriptor.get() != NULL) + { + pDescriptor->SetActivationState(true); + if (pDescriptor->mxBorderWindow.is()) + pDescriptor->mxBorderWindow->setVisible(sal_True); + pPaneContainer->StorePane(pDescriptor->mxPane); + } + + return iResource->second; + } + } + + // No. Create a new one. + Reference xResource = CreatePane(rxPaneId, OUString()); + return xResource; } @@ -173,16 +217,31 @@ void SAL_CALL PresenterPaneFactory::releaseResource (const Reference& if ( ! rxResource.is()) throw lang::IllegalArgumentException(); - // Remove the pane from the container. - Reference rxPane (rxResource, UNO_QUERY_THROW); + // Mark the pane as inactive. rtl::Reference pPaneContainer( mpPresenterController->GetPaneContainer()); - pPaneContainer->RemovePane(rxPane->getResourceId()); + const OUString sPaneURL (rxResource->getResourceId()->getResourceURL()); + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + pPaneContainer->FindPaneURL(sPaneURL)); + if (pDescriptor.get() != NULL) + { + pDescriptor->SetActivationState(false); + if (pDescriptor->mxBorderWindow.is()) + pDescriptor->mxBorderWindow->setVisible(sal_False); - // Dispose the pane (together with the content window.) - Reference xPaneComponent (rxPane, UNO_QUERY); - if (xPaneComponent.is()) - xPaneComponent->dispose(); + if (mpResourceCache.get() != NULL) + { + // Store the pane in the cache. + (*mpResourceCache)[sPaneURL] = rxResource; + } + else + { + // Dispose the pane. + Reference xPaneComponent (rxResource, UNO_QUERY); + if (xPaneComponent.is()) + xPaneComponent->dispose(); + } + } } @@ -246,9 +305,15 @@ Reference PresenterPaneFactory::CreatePane ( // Create the pane. ::rtl::Reference xPane; if (bIsSpritePane) - xPane = ::rtl::Reference(new PresenterSpritePane(xContext)); + { + xPane = ::rtl::Reference( + new PresenterSpritePane(xContext, mpPresenterController)); + } else - xPane = ::rtl::Reference(new PresenterPane(xContext)); + { + xPane = ::rtl::Reference( + new PresenterPane(xContext, mpPresenterController)); + } // Supply arguments. Sequence aArguments (6); @@ -262,13 +327,6 @@ Reference PresenterPaneFactory::CreatePane ( aArguments[5] <<= bIsSpritePane ? false : true; xPane->initialize(aArguments); - // Get the window of the frame and make that visible. - if ( ! bIsSpritePane) - { - Reference xWindow (xPane->getWindow(), UNO_QUERY_THROW); - xWindow->setVisible(sal_True); - } - // Store pane and canvases and windows in container. ::rtl::Reference pContainer ( mpPresenterController->GetPaneContainer()); @@ -276,6 +334,7 @@ Reference PresenterPaneFactory::CreatePane ( pContainer->StoreBorderWindow(rxPaneId, xPane->GetBorderWindow())); pContainer->StorePane(xPane); if (pDescriptor.get() != NULL) + { if (bIsSpritePane) { pDescriptor->maSpriteProvider = ::boost::bind( @@ -290,6 +349,11 @@ Reference PresenterPaneFactory::CreatePane ( pDescriptor->mbNeedsClipping = true; } + // Get the window of the frame and make that visible. + Reference xWindow (pDescriptor->mxBorderWindow, UNO_QUERY_THROW); + xWindow->setVisible(sal_True); + } + return Reference(static_cast(xPane.get()), UNO_QUERY_THROW); } -- cgit From 0c40653cf82910a3e2c439480e99eea323064b8a Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:35:15 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/23 11:57:36 af 1.2.4.3: #i18486# Made caching optional, defaults to off. 2008/04/22 08:25:16 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:48:46 af 1.2.4.1: #i18486# Added support for caching unused panes. --- sdext/source/presenter/PresenterPaneFactory.hxx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sdext/source/presenter/PresenterPaneFactory.hxx b/sdext/source/presenter/PresenterPaneFactory.hxx index 2317b2550858..c8f2a070ef6f 100644 --- a/sdext/source/presenter/PresenterPaneFactory.hxx +++ b/sdext/source/presenter/PresenterPaneFactory.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterPaneFactory.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -42,6 +42,8 @@ #include #include #include +#include +#include namespace css = ::com::sun::star; @@ -71,8 +73,7 @@ public: static const ::rtl::OUString msNotesPaneURL; static const ::rtl::OUString msToolBarPaneURL; static const ::rtl::OUString msSlideSorterPaneURL; - static const ::rtl::OUString msClockPaneURL; - static const ::rtl::OUString msDebugPaneURL; + static const ::rtl::OUString msHelpPaneURL; static const ::rtl::OUString msOverlayPaneURL; /** Create a new instance of this class and register it as resource @@ -115,6 +116,9 @@ private: css::uno::WeakReference mxConfigurationControllerWeak; ::rtl::Reference mpPresenterController; + typedef ::std::map > + ResourceContainer; + ::boost::scoped_ptr mpResourceCache; PresenterPaneFactory ( const css::uno::Reference& rxContext, -- cgit From e1f98f6ebd042a9933b5681035843b01d72a90c3 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:35:27 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/24 08:23:51 af 1.2.4.6: #i18486# Added missing change to Dispatch constructor to prevent said exception. 2008/04/24 08:06:56 af 1.2.4.5: #i18486# Added Create() method to avoid uncaught exception for unknown commands. 2008/04/23 11:59:06 af 1.2.4.4: #i18486# Code cleanup. 2008/04/22 08:28:12 af 1.2.4.3: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:59:13 af 1.2.4.2: #i18486# Fixed some Linux build problems. 2008/04/16 15:50:42 af 1.2.4.1: #i18486# Added support for dispatch status listeners. --- .../source/presenter/PresenterProtocolHandler.cxx | 821 ++++++++++++++++++++- 1 file changed, 792 insertions(+), 29 deletions(-) diff --git a/sdext/source/presenter/PresenterProtocolHandler.cxx b/sdext/source/presenter/PresenterProtocolHandler.cxx index e4f346375564..44cbec6c3bc1 100644 --- a/sdext/source/presenter/PresenterProtocolHandler.cxx +++ b/sdext/source/presenter/PresenterProtocolHandler.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterProtocolHandler.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,13 +30,14 @@ ************************************************************************/ #include "PresenterProtocolHandler.hxx" +#include "PresenterConfigurationAccess.hxx" #include "PresenterController.hxx" #include "PresenterHelper.hxx" +#include "PresenterNotesView.hxx" +#include "PresenterPaneContainer.hxx" #include "PresenterPaneFactory.hxx" #include "PresenterViewFactory.hxx" #include "PresenterWindowManager.hxx" -#include "PresenterPaneContainer.hxx" -#include "PresenterConfigurationAccess.hxx" #include #include #include @@ -46,6 +47,7 @@ #include #include #include +#include #include #include @@ -54,22 +56,205 @@ using namespace ::com::sun::star::uno; using namespace ::com::sun::star::drawing::framework; using ::rtl::OUString; +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + namespace sdext { namespace presenter { namespace { - const static OUString gsProtocol ( - OUString::createFromAscii("vnd.com.sun.star.comp.PresenterScreen:")); - const static OUString gsAboutCommand ( - OUString::createFromAscii("about")); + const static OUString gsProtocol (A2S("vnd.com.sun.star.comp.PresenterScreen:")); + + class Command + { + public: + virtual void Execute (void) = 0; + virtual bool IsEnabled (void) const = 0; + virtual Any GetState (void) const = 0; + }; + + class GotoPreviousSlideCommand : public Command + { + public: + GotoPreviousSlideCommand ( + const rtl::Reference& rpPresenterController); + virtual ~GotoPreviousSlideCommand (void) {} + virtual void Execute (void); + virtual bool IsEnabled (void) const; + virtual Any GetState (void) const; + private: + rtl::Reference mpPresenterController; + }; + + class GotoNextSlideCommand : public Command + { + public: + GotoNextSlideCommand ( + const rtl::Reference& rpPresenterController); + virtual ~GotoNextSlideCommand (void) {} + virtual void Execute (void); + virtual bool IsEnabled (void) const; + virtual Any GetState (void) const; + private: + rtl::Reference mpPresenterController; + }; + + class GotoNextEffectCommand : public Command + { + public: + GotoNextEffectCommand ( + const rtl::Reference& rpPresenterController); + virtual ~GotoNextEffectCommand (void) {} + virtual void Execute (void); + virtual bool IsEnabled (void) const; + virtual Any GetState (void) const; + private: + rtl::Reference mpPresenterController; + }; + + class SetNotesViewCommand : public Command + { + public: + SetNotesViewCommand ( + const bool bOn, + const rtl::Reference& rpPresenterController); + virtual ~SetNotesViewCommand (void) {} + virtual void Execute (void); + virtual bool IsEnabled (void) const; + virtual Any GetState (void) const; + private: + bool mbOn; + rtl::Reference mpPresenterController; + bool IsActive (const ::rtl::Reference& rpWindowManager) const; + }; + + class SetSlideSorterCommand : public Command + { + public: + SetSlideSorterCommand ( + const bool bOn, + const rtl::Reference& rpPresenterController); + virtual ~SetSlideSorterCommand (void) {} + virtual void Execute (void); + virtual bool IsEnabled (void) const; + virtual Any GetState (void) const; + private: + bool mbOn; + rtl::Reference mpPresenterController; + }; + + class SetHelpViewCommand : public Command + { + public: + SetHelpViewCommand ( + const bool bOn, + const rtl::Reference& rpPresenterController); + virtual ~SetHelpViewCommand (void) {} + virtual void Execute (void); + virtual bool IsEnabled (void) const; + virtual Any GetState (void) const; + private: + bool mbOn; + rtl::Reference mpPresenterController; + }; + + class NotesFontSizeCommand : public Command + { + public: + NotesFontSizeCommand( + const rtl::Reference& rpPresenterController, + const double nSizeChange); + virtual ~NotesFontSizeCommand (void) {} + virtual void Execute (void); + virtual bool IsEnabled (void) const; + virtual Any GetState (void) const; + protected: + ::rtl::Reference GetNotesView (void) const; + private: + rtl::Reference mpPresenterController; + const double mnSizeChange; + }; + +} // end of anonymous namespace + + +namespace { + typedef ::cppu::WeakComponentImplHelper2 < + css::frame::XDispatch, + css::document::XEventListener + > PresenterDispatchInterfaceBase; } +class PresenterProtocolHandler::Dispatch + : protected ::cppu::BaseMutex, + public PresenterDispatchInterfaceBase +{ +public: + typedef void (PresenterProtocolHandler::Dispatch::* Action)(void); + + /** Create a new Dispatch object. When the given command name + (rsURLPath) is not known then an empty reference is returned. + */ + static Reference Create ( + const OUString& rsURLPath, + const ::rtl::Reference& rpPresenterController); + + void SAL_CALL disposing (void); + static Command* CreateCommand ( + const OUString& rsURLPath, + const ::rtl::Reference& rpPresenterController); + + + // XDispatch + virtual void SAL_CALL dispatch( + const css::util::URL& aURL, + const css::uno::Sequence& rArguments) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL addStatusListener( + const css::uno::Reference& rxListener, + const css::util::URL& rURL) + throw(css::uno::RuntimeException); + + virtual void SAL_CALL removeStatusListener ( + const css::uno::Reference& rxListener, + const css::util::URL& rURL) + throw(css::uno::RuntimeException); + + + // document::XEventListener + + virtual void SAL_CALL notifyEvent (const css::document::EventObject& rEvent) + throw(css::uno::RuntimeException); + + + // lang::XEventListener + + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw(css::uno::RuntimeException); + +private: + OUString msURLPath; + ::boost::scoped_ptr mpCommand; + ::rtl::Reference mpPresenterController; + typedef ::std::vector > StatusListenerContainer; + StatusListenerContainer maStatusListenerContainer; + bool mbIsListeningToWindowManager; + + Dispatch ( + const OUString& rsURLPath, + const ::rtl::Reference& rpPresenterController); + virtual ~Dispatch (void); + + void ThrowIfDisposed (void) const throw (css::lang::DisposedException); +}; + + //----- Service --------------------------------------------------------------- OUString PresenterProtocolHandler::getImplementationName_static (void) { - return OUString::createFromAscii("vnd.sun.star.sdext.presenter.PresenterProtocolHandler"); + return A2S("vnd.sun.star.sdext.presenter.PresenterProtocolHandler"); } @@ -77,8 +262,7 @@ OUString PresenterProtocolHandler::getImplementationName_static (void) Sequence PresenterProtocolHandler::getSupportedServiceNames_static (void) { - static const ::rtl::OUString sServiceName( - ::rtl::OUString::createFromAscii("com.sun.star.frame.ProtocolHandler")); + static const ::rtl::OUString sServiceName(A2S("com.sun.star.frame.ProtocolHandler")); return Sequence(&sServiceName, 1); } @@ -131,6 +315,11 @@ void SAL_CALL PresenterProtocolHandler::initialize (const Sequence& aArgume { try { + Reference xFrame; + if (aArguments[0] >>= xFrame) + { + mpPresenterController = PresenterController::Instance(xFrame); + } } catch (RuntimeException&) { @@ -144,7 +333,7 @@ void SAL_CALL PresenterProtocolHandler::initialize (const Sequence& aArgume //----- XDispatchProvider ----------------------------------------------------- -Reference SAL_CALL PresenterProtocolHandler::queryDispatch ( +Reference SAL_CALL PresenterProtocolHandler::queryDispatch ( const css::util::URL& rURL, const rtl::OUString& rsTargetFrameName, sal_Int32 nSearchFlags) @@ -154,10 +343,14 @@ Reference SAL_CALL PresenterProtocolHandler::queryDispatch ( (void)nSearchFlags; ThrowIfDisposed(); + Reference xDispatch; + if (rURL.Protocol == gsProtocol) - return this; - else - return NULL; + { + xDispatch.set(Dispatch::Create(rURL.Path, mpPresenterController)); + } + + return xDispatch; } @@ -175,9 +368,168 @@ Sequence > SAL_CALL PresenterProtocolHandler::queryD +//----------------------------------------------------------------------------- + +void PresenterProtocolHandler::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterProtocolHandler object has already been disposed")), + const_cast(static_cast(this))); + } +} + + + + +//===== PresenterProtocolHandler::Dispatch ==================================== + +Reference PresenterProtocolHandler::Dispatch::Create ( + const OUString& rsURLPath, + const ::rtl::Reference& rpPresenterController) +{ + ::rtl::Reference pDispatch (new Dispatch (rsURLPath, rpPresenterController)); + if (pDispatch->mpCommand.get() != NULL) + return Reference(pDispatch.get()); + else + return NULL; +} + + + + +PresenterProtocolHandler::Dispatch::Dispatch ( + const OUString& rsURLPath, + const ::rtl::Reference& rpPresenterController) + : PresenterDispatchInterfaceBase(m_aMutex), + msURLPath(rsURLPath), + mpCommand(CreateCommand(rsURLPath, rpPresenterController)), + mpPresenterController(rpPresenterController), + maStatusListenerContainer(), + mbIsListeningToWindowManager(false) +{ + if (mpCommand.get() != NULL) + { + mpPresenterController->GetWindowManager()->AddLayoutListener(this); + mbIsListeningToWindowManager = true; + } +} + + + + +Command* PresenterProtocolHandler::Dispatch::CreateCommand ( + const OUString& rsURLPath, + const ::rtl::Reference& rpPresenterController) +{ + if (rsURLPath.getLength() <= 5) + return NULL; + switch (rsURLPath[0]) + { + case sal_Char('C') : + switch (rsURLPath[5]) + { + case sal_Char('N'): + if (rsURLPath == A2S("CloseNotes")) + return new SetNotesViewCommand(false, rpPresenterController); + break; + case sal_Char('S'): + if (rsURLPath == A2S("CloseSlideSorter")) + return new SetSlideSorterCommand(false, rpPresenterController); + break; + case sal_Char('H'): + if (rsURLPath == A2S("CloseHelp")) + return new SetHelpViewCommand(false, rpPresenterController); + break; + } + break; + case sal_Char('G') : + if (rsURLPath == A2S("GrowNotesFont")) + return new NotesFontSizeCommand(rpPresenterController, +1); + break; + + case sal_Char('N') : + switch (rsURLPath[4]) + { + case sal_Char('E'): + if (rsURLPath == A2S("NextEffect")) + return new GotoNextEffectCommand(rpPresenterController); + case sal_Char('S'): + if (rsURLPath == A2S("NextSlide")) + return new GotoNextSlideCommand(rpPresenterController); + break; + } + break; + + case sal_Char('P') : + if (rsURLPath == A2S("PrevSlide")) + return new GotoPreviousSlideCommand(rpPresenterController); + break; + + case sal_Char('S') : + switch (rsURLPath[4]) + { + case sal_Char('N'): + if (rsURLPath == A2S("ShowNotes")) + return new SetNotesViewCommand(true, rpPresenterController); + break; + + case sal_Char('S'): + if (rsURLPath == A2S("ShowSlideSorter")) + return new SetSlideSorterCommand(true, rpPresenterController); + break; + + case sal_Char('H'): + if (rsURLPath == A2S("ShowHelp")) + return new SetHelpViewCommand(true, rpPresenterController); + break; + + case sal_Char('n'): + if (rsURLPath == A2S("ShrinkNotesFont")) + return new NotesFontSizeCommand(rpPresenterController, -1); + break; + } + break; + + default: + break; + } + + return NULL; +} + + + + +PresenterProtocolHandler::Dispatch::~Dispatch (void) +{ +} + + + + +void PresenterProtocolHandler::Dispatch::disposing (void) +{ + if (mbIsListeningToWindowManager) + { + if (mpPresenterController.get() != NULL) + mpPresenterController->GetWindowManager()->RemoveLayoutListener(this); + mbIsListeningToWindowManager = false; + } + + msURLPath = OUString(); + mpCommand.reset(); +} + + + + //----- XDispatch ------------------------------------------------------------- -void SAL_CALL PresenterProtocolHandler::dispatch( +void SAL_CALL PresenterProtocolHandler::Dispatch::dispatch( const css::util::URL& rURL, const css::uno::Sequence& rArguments) throw(css::uno::RuntimeException) @@ -185,38 +537,62 @@ void SAL_CALL PresenterProtocolHandler::dispatch( (void)rArguments; ThrowIfDisposed(); - if (rURL.Protocol == gsProtocol) + if (rURL.Protocol == gsProtocol + && rURL.Path == msURLPath) { - if (rURL.Path == gsAboutCommand) - { - // AboutDialog aAboutDialog (mxMSF, mxFrame); - // aAboutDialog.execute(); - } + if (mpCommand.get() != NULL) + mpCommand->Execute(); + } + else + { + // We can not throw an IllegalArgumentException + throw RuntimeException(); } } -void SAL_CALL PresenterProtocolHandler::addStatusListener( +void SAL_CALL PresenterProtocolHandler::Dispatch::addStatusListener( const css::uno::Reference& rxListener, const css::util::URL& rURL) throw(css::uno::RuntimeException) { - (void)rxListener; - (void)rURL; + if (rURL.Path == msURLPath) + { + maStatusListenerContainer.push_back(rxListener); + + frame::FeatureStateEvent aEvent; + aEvent.FeatureURL = rURL; + aEvent.IsEnabled = mpCommand->IsEnabled(); + aEvent.Requery = sal_False; + aEvent.State = mpCommand->GetState(); + rxListener->statusChanged(aEvent); + } + else + throw RuntimeException(); } -void SAL_CALL PresenterProtocolHandler::removeStatusListener ( +void SAL_CALL PresenterProtocolHandler::Dispatch::removeStatusListener ( const css::uno::Reference& rxListener, const css::util::URL& rURL) throw(css::uno::RuntimeException) { - (void)rxListener; - (void)rURL; + if (rURL.Path == msURLPath) + { + StatusListenerContainer::iterator iListener ( + ::std::find( + maStatusListenerContainer.begin(), + maStatusListenerContainer.end(), + rxListener)); + if (iListener != maStatusListenerContainer.end()) + maStatusListenerContainer.erase(iListener); + } + else + throw RuntimeException(); } @@ -224,18 +600,405 @@ void SAL_CALL PresenterProtocolHandler::removeStatusListener ( //----------------------------------------------------------------------------- -void PresenterProtocolHandler::ThrowIfDisposed (void) const +void PresenterProtocolHandler::Dispatch::ThrowIfDisposed (void) const throw (::com::sun::star::lang::DisposedException) { if (rBHelper.bDisposed || rBHelper.bInDispose) { throw lang::DisposedException ( OUString(RTL_CONSTASCII_USTRINGPARAM( - "PresenterProtocolHandler object has already been disposed")), + "PresenterProtocolHandler::Dispatch object has already been disposed")), const_cast(static_cast(this))); } } + +//----- document::XEventListener ---------------------------------------------- + +void SAL_CALL PresenterProtocolHandler::Dispatch::notifyEvent ( + const css::document::EventObject& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + + mpCommand->GetState(); +} + + + + +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL PresenterProtocolHandler::Dispatch::disposing (const css::lang::EventObject& rEvent) + throw(css::uno::RuntimeException) +{ + (void)rEvent; + mbIsListeningToWindowManager = false; +} + + + + + +//===== GotoPreviousSlideCommand ============================================== + +GotoPreviousSlideCommand::GotoPreviousSlideCommand ( + const rtl::Reference& rpPresenterController) + : mpPresenterController(rpPresenterController) +{ +} + + + +void GotoPreviousSlideCommand::Execute (void) +{ + if ( ! mpPresenterController.is()) + return; + + if ( ! mpPresenterController->GetSlideShowController().is()) + return; + + mpPresenterController->GetSlideShowController()->gotoPreviousSlide(); +} + + + + +bool GotoPreviousSlideCommand::IsEnabled (void) const +{ + if ( ! mpPresenterController.is()) + return false; + + if ( ! mpPresenterController->GetSlideShowController().is()) + return false; + + return mpPresenterController->GetSlideShowController()->getCurrentSlideIndex()>0; +} + + + + +Any GotoPreviousSlideCommand::GetState (void) const +{ + return Any(sal_False); +} + + + + +//===== GotoNextEffect ======================================================== + +GotoNextEffectCommand::GotoNextEffectCommand ( + const rtl::Reference& rpPresenterController) + : mpPresenterController(rpPresenterController) +{ +} + + + +void GotoNextEffectCommand::Execute (void) +{ + if ( ! mpPresenterController.is()) + return; + + if ( ! mpPresenterController->GetSlideShowController().is()) + return; + + mpPresenterController->GetSlideShowController()->gotoNextEffect(); +} + + + + +bool GotoNextEffectCommand::IsEnabled (void) const +{ + // The next slide command is always enabled, even when the current slide + // is the last slide: from the last slide it goes to the pause slide, + // and from there it ends the slide show. + return true; +} + + + + +Any GotoNextEffectCommand::GetState (void) const +{ + return Any(sal_False); +} + + + + +//===== GotoNextSlide ========================================================= + +GotoNextSlideCommand::GotoNextSlideCommand ( + const rtl::Reference& rpPresenterController) + : mpPresenterController(rpPresenterController) +{ +} + + + +void GotoNextSlideCommand::Execute (void) +{ + if ( ! mpPresenterController.is()) + return; + + if ( ! mpPresenterController->GetSlideShowController().is()) + return; + + mpPresenterController->GetSlideShowController()->gotoNextSlide(); +} + + + + +bool GotoNextSlideCommand::IsEnabled (void) const +{ + // The next slide command is always enabled, even when the current slide + // is the last slide: from the last slide it goes to the pause slide, + // and from there it ends the slide show. + return true; +} + + + + +Any GotoNextSlideCommand::GetState (void) const +{ + return Any(sal_False); +} + + + + +//===== SetNotesViewCommand =================================================== + +SetNotesViewCommand::SetNotesViewCommand ( + const bool bOn, + const rtl::Reference& rpPresenterController) + : mbOn(bOn), + mpPresenterController(rpPresenterController) +{ +} + + + + +void SetNotesViewCommand::Execute (void) +{ + if ( ! mpPresenterController.is()) + return; + + ::rtl::Reference pWindowManager ( + mpPresenterController->GetWindowManager()); + if ( ! pWindowManager.is()) + return; + + if (mbOn) + pWindowManager->SetLayoutMode(PresenterWindowManager::Notes); + else + pWindowManager->SetLayoutMode(PresenterWindowManager::Standard); +} + + + + +bool SetNotesViewCommand::IsEnabled (void) const +{ + return true; +} + + + + +Any SetNotesViewCommand::GetState (void) const +{ + if ( ! mpPresenterController.is()) + return Any(false); + + ::rtl::Reference pWindowManager ( + mpPresenterController->GetWindowManager()); + if ( ! pWindowManager.is()) + return Any(false); + + return Any(IsActive(pWindowManager)); +} + + + + +bool SetNotesViewCommand::IsActive ( + const ::rtl::Reference& rpWindowManager) const +{ + return rpWindowManager->GetLayoutMode() == PresenterWindowManager::Notes + && !rpWindowManager->IsSlideSorterActive() + && !rpWindowManager->IsHelpViewActive(); +} + + + + +//===== SetSlideSorterCommand ================================================= + +SetSlideSorterCommand::SetSlideSorterCommand ( + const bool bOn, + const rtl::Reference& rpPresenterController) + : mbOn(bOn), + mpPresenterController(rpPresenterController) +{ +} + + + + +void SetSlideSorterCommand::Execute (void) +{ + if ( ! mpPresenterController.is()) + return; + + ::rtl::Reference pWindowManager ( + mpPresenterController->GetWindowManager()); + if ( ! pWindowManager.is()) + return; + + pWindowManager->SetSlideSorterState(mbOn); +} + + + + +bool SetSlideSorterCommand::IsEnabled (void) const +{ + return true; +} + + + + +Any SetSlideSorterCommand::GetState (void) const +{ + if ( ! mpPresenterController.is()) + return Any(false); + + ::rtl::Reference pWindowManager ( + mpPresenterController->GetWindowManager()); + if ( ! pWindowManager.is()) + return Any(false); + + return Any(pWindowManager->IsSlideSorterActive()); +} + + + + +//===== SetHelpViewCommand =================================================== + +SetHelpViewCommand::SetHelpViewCommand ( + const bool bOn, + const rtl::Reference& rpPresenterController) + : mbOn(bOn), + mpPresenterController(rpPresenterController) +{ +} + + + + +void SetHelpViewCommand::Execute (void) +{ + if ( ! mpPresenterController.is()) + return; + + ::rtl::Reference pWindowManager ( + mpPresenterController->GetWindowManager()); + if ( ! pWindowManager.is()) + return; + + pWindowManager->SetHelpViewState(mbOn); +} + + + + +bool SetHelpViewCommand::IsEnabled (void) const +{ + return true; +} + + + + +Any SetHelpViewCommand::GetState (void) const +{ + if ( ! mpPresenterController.is()) + return Any(false); + + ::rtl::Reference pWindowManager ( + mpPresenterController->GetWindowManager()); + if ( ! pWindowManager.is()) + return Any(false); + + return Any(pWindowManager->IsHelpViewActive()); +} + + + + +//===== NotesFontSizeCommand ================================================== + +NotesFontSizeCommand::NotesFontSizeCommand( + const rtl::Reference& rpPresenterController, + const double nSizeChange) + : mpPresenterController(rpPresenterController), + mnSizeChange(nSizeChange) +{ +} + + + + +::rtl::Reference NotesFontSizeCommand::GetNotesView (void) const +{ + if (mpPresenterController.get() == NULL) + return NULL; + + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPresenterController->GetPaneContainer()->FindViewURL( + PresenterViewFactory::msNotesViewURL)); + if (pDescriptor.get() == NULL) + return NULL; + + return dynamic_cast(pDescriptor->mxView.get()); +} + + + + +void NotesFontSizeCommand::Execute (void) +{ + ::rtl::Reference pView (GetNotesView()); + if (pView.is()) + pView->ChangeFontSize(mnSizeChange); +} + + + + +bool NotesFontSizeCommand::IsEnabled (void) const +{ + return true; +} + + + + +Any NotesFontSizeCommand::GetState (void) const +{ + return Any(); +} + + } } // end of namespace ::sdext::presenter -- cgit From c56e157c11a04bf4f8dc08ecc3737ce3996db042 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:35:40 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:25:06 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:50:42 af 1.2.4.1: #i18486# Added support for dispatch status listeners. --- .../source/presenter/PresenterProtocolHandler.hxx | 31 +++++++--------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/sdext/source/presenter/PresenterProtocolHandler.hxx b/sdext/source/presenter/PresenterProtocolHandler.hxx index a2b4aaf03498..3dc1da454c30 100644 --- a/sdext/source/presenter/PresenterProtocolHandler.hxx +++ b/sdext/source/presenter/PresenterProtocolHandler.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterProtocolHandler.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -32,12 +32,15 @@ #ifndef SDEXT_PRESENTER_PRESENTER_PROTOCOL_HANDLER_HXX #define SDEXT_PRESENTER_PRESENTER_PROTOCOL_HANDLER_HXX -#include +#include #include #include #include #include #include +#include +#include +#include namespace css = ::com::sun::star; @@ -45,13 +48,13 @@ namespace sdext { namespace presenter { namespace { - typedef ::cppu::WeakComponentImplHelper3 < + typedef ::cppu::WeakComponentImplHelper2 < css::lang::XInitialization, - css::frame::XDispatchProvider, - css::frame::XDispatch + css::frame::XDispatchProvider > PresenterProtocolHandlerInterfaceBase; } +class PresenterController; class PresenterProtocolHandler : protected ::cppu::BaseMutex, @@ -92,23 +95,9 @@ public: throw(css::uno::RuntimeException); - // XDispatch - virtual void SAL_CALL dispatch( - const css::util::URL& aURL, - const css::uno::Sequence& rArguments) - throw(css::uno::RuntimeException); - - virtual void SAL_CALL addStatusListener( - const css::uno::Reference& rxListener, - const css::util::URL& rURL) - throw(css::uno::RuntimeException); - - virtual void SAL_CALL removeStatusListener ( - const css::uno::Reference& rxListener, - const css::util::URL& rURL) - throw(css::uno::RuntimeException); - private: + class Dispatch; + ::rtl::Reference mpPresenterController; void ThrowIfDisposed (void) const throw (css::lang::DisposedException); }; -- cgit From ef6cb209baf515753b2b3bd8f91b247a1cfa1d24 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:35:52 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 09:24:16 af 1.2.4.9: #i18486# Fixed compiler problem. 2008/04/28 09:18:42 af 1.2.4.8: #i18486# Added GetScreenNumber() method to prevent presenter screen in single screen environments. 2008/04/24 12:47:00 af 1.2.4.7: #i18486# Determine the number of screens. 2008/04/23 13:38:26 af 1.2.4.6: #i18486# Fixed Linux compilation problems. 2008/04/23 13:15:54 af 1.2.4.5: #i18486# Fixed display number detection. 2008/04/22 13:04:33 af 1.2.4.4: #i18486# Split initialization off PresenterScreenListener constructor. 2008/04/22 08:40:29 af 1.2.4.3: #i18486# Changed startup details. 2008/04/22 08:28:23 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:57:18 af 1.2.4.1: #i18486# Added detection of correct display for the presenter screen. --- sdext/source/presenter/PresenterScreen.cxx | 567 ++++++++++++++++++++++++----- 1 file changed, 466 insertions(+), 101 deletions(-) diff --git a/sdext/source/presenter/PresenterScreen.cxx b/sdext/source/presenter/PresenterScreen.cxx index dc9a8d8307bb..397eea35d279 100644 --- a/sdext/source/presenter/PresenterScreen.cxx +++ b/sdext/source/presenter/PresenterScreen.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterScreen.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,16 +30,16 @@ ************************************************************************/ #include "PresenterScreen.hxx" +#include "PresenterConfigurationAccess.hxx" #include "PresenterController.hxx" +#include "PresenterFrameworkObserver.hxx" #include "PresenterHelper.hxx" +#include "PresenterPaneContainer.hxx" #include "PresenterPaneFactory.hxx" #include "PresenterViewFactory.hxx" #include "PresenterWindowManager.hxx" -#include "PresenterPaneContainer.hxx" -#include "PresenterConfigurationAccess.hxx" #include #include -#include #include #include #include @@ -60,84 +60,101 @@ using namespace ::com::sun::star::presentation; using namespace ::com::sun::star::drawing::framework; using ::rtl::OUString; +#define A2S(s) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s))) + namespace sdext { namespace presenter { +namespace { + typedef ::cppu::WeakComponentImplHelper1 < + css::document::XEventListener + > PresenterScreenListenerInterfaceBase; + + /** One instance of a PresenterScreenListener is registered per Impress + document and waits for the full screen slide show to start and to + end. + */ + class PresenterScreenListener + : private ::boost::noncopyable, + private ::cppu::BaseMutex, + public PresenterScreenListenerInterfaceBase + { + public: + PresenterScreenListener ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxModel); + virtual ~PresenterScreenListener (void); + + void Initialize (void); + virtual void SAL_CALL disposing (void); + + // document::XEventListener + + virtual void SAL_CALL notifyEvent( const css::document::EventObject& Event ) throw (css::uno::RuntimeException); + + // XEventListener + + virtual void SAL_CALL disposing ( const css::lang::EventObject& rEvent) throw (css::uno::RuntimeException); + + private: + css::uno::Reference mxModel; + css::uno::Reference mxComponentContext; + rtl::Reference mpPresenterScreen; + + void ThrowIfDisposed (void) const throw (::com::sun::star::lang::DisposedException); + }; +} + + //----- Service --------------------------------------------------------------- -OUString PresenterScreen::getImplementationName_static (void) +OUString PresenterScreenJob::getImplementationName_static (void) { - return OUString::createFromAscii("com.sun.star.comp.Draw.framework.PresenterScreen"); + return A2S("com.sun.star.comp.Draw.framework.PresenterScreenJob"); } -Sequence PresenterScreen::getSupportedServiceNames_static (void) +Sequence PresenterScreenJob::getSupportedServiceNames_static (void) { static const ::rtl::OUString sServiceName( - ::rtl::OUString::createFromAscii("com.sun.star.drawing.framework.PresenterScreen")); + A2S("com.sun.star.drawing.framework.PresenterScreenJob")); return Sequence(&sServiceName, 1); } -Reference PresenterScreen::Create (const Reference& rxContext) +Reference PresenterScreenJob::Create (const Reference& rxContext) SAL_THROW((css::uno::Exception)) { - return Reference(static_cast(new PresenterScreen(rxContext))); + return Reference(static_cast(new PresenterScreenJob(rxContext))); } -//===== PresenterScreen ========================================================= +//===== PresenterScreenJob ==================================================== - -PresenterScreen::PresenterScreen (const Reference& rxContext) - : PresenterScreenInterfaceBase(m_aMutex), - mxModel(), - mxController(), - mxConfigurationControllerWeak(), - mxContextWeak(rxContext), - mxSlideShowControllerWeak(), - mpPresenterController(), - mxSlideShowViewId(), - mxSavedConfiguration(), - mpPaneContainer(), - mnComponentIndex(0), - mxPaneFactory(), - mxViewFactory() +PresenterScreenJob::PresenterScreenJob (const Reference& rxContext) + : PresenterScreenJobInterfaceBase(m_aMutex), + mxComponentContext(rxContext) { } -PresenterScreen::~PresenterScreen (void) +PresenterScreenJob::~PresenterScreenJob (void) { } -void SAL_CALL PresenterScreen::disposing (void) +void SAL_CALL PresenterScreenJob::disposing (void) { - Reference xCC (mxConfigurationControllerWeak); - if (xCC.is()) - { - if (mxSavedConfiguration.is()) - xCC->restoreConfiguration(mxSavedConfiguration); - - mxConfigurationControllerWeak = Reference(NULL); - } - - Reference xViewFactoryComponent (mxViewFactory, UNO_QUERY); - if (xViewFactoryComponent.is()) - xViewFactoryComponent->dispose(); - Reference xPaneFactoryComponent (mxPaneFactory, UNO_QUERY); - if (xPaneFactoryComponent.is()) - xPaneFactoryComponent->dispose(); + mxComponentContext = NULL; } @@ -145,7 +162,7 @@ void SAL_CALL PresenterScreen::disposing (void) //----- XJob ----------------------------------------------------------- -Any SAL_CALL PresenterScreen::execute( +Any SAL_CALL PresenterScreenJob::execute( const Sequence< beans::NamedValue >& Arguments ) throw (lang::IllegalArgumentException, Exception, RuntimeException) { @@ -163,24 +180,26 @@ Any SAL_CALL PresenterScreen::execute( } } + Reference xModel; c = lEnv.getLength(); p = lEnv.getConstArray(); for (i=0; i>= mxModel; + p[i].Value >>= xModel; break; } } - Reference< XServiceInfo > xInfo( mxModel, UNO_QUERY ); + Reference< XServiceInfo > xInfo( xModel, UNO_QUERY ); if( xInfo.is() && xInfo->supportsService( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.presentation.PresentationDocument" ) ) ) ) { - Reference< document::XEventListener > xDocListener(static_cast< document::XEventListener* >(this), UNO_QUERY); - Reference< document::XEventBroadcaster > xDocBroadcaster( mxModel, UNO_QUERY ); - if( xDocBroadcaster.is() ) - xDocBroadcaster->addEventListener(xDocListener); + // Create a new listener that waits for the full screen presentation + // to start and to end. It takes care of its own lifetime. + ::rtl::Reference pListener ( + new PresenterScreenListener(mxComponentContext, xModel)); + pListener->Initialize(); } return Any(); @@ -189,18 +208,167 @@ Any SAL_CALL PresenterScreen::execute( -//----- document::XEventListener ---------------------------------------------- +//===== PresenterScreenListener =============================================== + +namespace { + +PresenterScreenListener::PresenterScreenListener ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxModel) + : PresenterScreenListenerInterfaceBase(m_aMutex), + mxModel(rxModel), + mxComponentContext(rxContext), + mpPresenterScreen() +{ +} + + + + +void PresenterScreenListener::Initialize (void) +{ + Reference< document::XEventListener > xDocListener( + static_cast< document::XEventListener* >(this), UNO_QUERY); + Reference< document::XEventBroadcaster > xDocBroadcaster( mxModel, UNO_QUERY ); + if( xDocBroadcaster.is() ) + xDocBroadcaster->addEventListener(xDocListener); +} + + + + +PresenterScreenListener::~PresenterScreenListener (void) +{ +} + + -void SAL_CALL PresenterScreen::notifyEvent( const css::document::EventObject& Event ) throw (css::uno::RuntimeException) + +void SAL_CALL PresenterScreenListener::disposing (void) { + Reference< document::XEventBroadcaster > xDocBroadcaster( mxModel, UNO_QUERY ); + if( xDocBroadcaster.is() ) + xDocBroadcaster->removeEventListener( + Reference( + static_cast(this), UNO_QUERY)); + + if (mpPresenterScreen.is()) + { + mpPresenterScreen->RequestShutdownPresenterScreen(); + mpPresenterScreen = NULL; + } +} + + + + +// document::XEventListener + +void SAL_CALL PresenterScreenListener::notifyEvent( const css::document::EventObject& Event ) throw (css::uno::RuntimeException) +{ + ThrowIfDisposed(); + if( Event.EventName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "OnStartPresentation" ) ) ) { - InitializePresenterScreen(); + mpPresenterScreen = new PresenterScreen(mxComponentContext, mxModel); + mpPresenterScreen->InitializePresenterScreen(); } else if( Event.EventName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "OnEndPresentation" ) ) ) { - ShutdownPresenterScreen(); + if (mpPresenterScreen.is()) + { + mpPresenterScreen->RequestShutdownPresenterScreen(); + mpPresenterScreen = NULL; + } + } +} + + + + +// XEventListener + +void SAL_CALL PresenterScreenListener::disposing (const css::lang::EventObject& rEvent) + throw (css::uno::RuntimeException) +{ + (void)rEvent; + + if (mpPresenterScreen.is()) + { + mpPresenterScreen->RequestShutdownPresenterScreen(); + mpPresenterScreen = NULL; + } +} + + + + +void PresenterScreenListener::ThrowIfDisposed (void) const throw ( + ::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterScreenListener object has already been disposed")), + const_cast(static_cast(this))); + } +} + +} // end of anonymous namespace + + + + +//===== PresenterScreen ======================================================= + +PresenterScreen::PresenterScreen ( + const Reference& rxContext, + const css::uno::Reference& rxModel) + : PresenterScreenInterfaceBase(m_aMutex), + mxModel(rxModel), + mxController(), + mxConfigurationControllerWeak(), + mxContextWeak(rxContext), + mxSlideShowControllerWeak(), + mpPresenterController(), + mxSlideShowViewId(), + mxSavedConfiguration(), + mpPaneContainer(), + mnComponentIndex(0), + mxPaneFactory(), + mxViewFactory(), + maViewDescriptors() +{ +} + + + + +PresenterScreen::~PresenterScreen (void) +{ +} + + + + +void SAL_CALL PresenterScreen::disposing (void) +{ + Reference xCC (mxConfigurationControllerWeak); + if (xCC.is() && mxSavedConfiguration.is()) + { + xCC->restoreConfiguration(mxSavedConfiguration); } + mxConfigurationControllerWeak = Reference(NULL); + + Reference xViewFactoryComponent (mxViewFactory, UNO_QUERY); + if (xViewFactoryComponent.is()) + xViewFactoryComponent->dispose(); + Reference xPaneFactoryComponent (mxPaneFactory, UNO_QUERY); + if (xPaneFactoryComponent.is()) + xPaneFactoryComponent->dispose(); + + mxModel = NULL; } @@ -212,7 +380,7 @@ void SAL_CALL PresenterScreen::disposing (const lang::EventObject& /*rEvent*/) throw (RuntimeException) { mxSlideShowControllerWeak = WeakReference(); - ShutdownPresenterScreen(); + RequestShutdownPresenterScreen(); } @@ -225,11 +393,6 @@ void PresenterScreen::InitializePresenterScreen (void) try { Reference xContext (mxContextWeak); - Reference xMainPaneId( - ResourceId::create( - xContext, - PresenterHelper::msFullScreenPaneURL - +OUString::createFromAscii("?FullScreen=false&ScreenNumber=1"))); mpPaneContainer = new PresenterPaneContainer(Reference(xContext)); @@ -268,8 +431,16 @@ void PresenterScreen::InitializePresenterScreen (void) // the presenter view is deactivated. mxSavedConfiguration = xCC->getRequestedConfiguration(); xCC->lock(); + try { + Reference xMainPaneId( + GetMainPaneId(xPresentation)); + // An empty reference means that the presenter screen can + // not or must not be displayed. + if ( ! xMainPaneId.is()) + return; + // At the moment the presenter controller is displayed in its // own full screen window that is controlled by the same // configuration controller as the Impress document from @@ -292,6 +463,10 @@ void PresenterScreen::InitializePresenterScreen (void) // drawing framework. SetupPaneFactory(xContext); SetupViewFactory(xContext); + + mpPresenterController->GetWindowManager()->SetSlideSorterState(false); + mpPresenterController->GetWindowManager()->SetLayoutMode( + PresenterWindowManager::Standard); } catch (RuntimeException&) { @@ -308,6 +483,129 @@ void PresenterScreen::InitializePresenterScreen (void) +sal_Int32 PresenterScreen::GetScreenNumber ( + const Reference& rxPresentation) const +{ + // Determine the screen on which the full screen presentation is being + // displayed. + sal_Int32 nScreenNumber (0); + sal_Int32 nScreenCount (1); + try + { + Reference xProperties (rxPresentation, UNO_QUERY); + if ( ! xProperties.is()) + return -1; + + sal_Int32 nDisplayNumber (-1); + if ( ! (xProperties->getPropertyValue(A2S("Display")) >>= nDisplayNumber)) + return -1; + + Reference xContext (mxContextWeak); + if ( ! xContext.is()) + return -1; + Reference xFactory ( + xContext->getServiceManager(), UNO_QUERY); + if ( ! xFactory.is()) + return -1; + Reference xDisplayProperties ( + xFactory->createInstanceWithContext(A2S("com.sun.star.awt.DisplayAccess"),xContext), + UNO_QUERY); + if ( ! xDisplayProperties.is()) + return -1; + + if (nDisplayNumber > 0) + { + nScreenNumber = nDisplayNumber - 1; + } + else if (nDisplayNumber == 0) + { + // A display number value of 0 indicates the primary screen. + // Instantiate the DisplayAccess service to find out which + // screen number that is. + if (nDisplayNumber <= 0 && xDisplayProperties.is()) + xDisplayProperties->getPropertyValue(A2S("DefaultDisplay")) >>= nScreenNumber; + } + + // We still have to determine the number of screens to decide + // whether the presenter screen may be shown at all. + Reference xIndexAccess (xDisplayProperties, UNO_QUERY); + if ( ! xIndexAccess.is()) + return -1; + nScreenCount = xIndexAccess->getCount(); + + if (nScreenCount < 2 || nDisplayNumber > nScreenCount) + { + // There is either only one screen or the full screen + // presentation spans all available screens. The presenter + // screen is shown only when a special flag in the configuration + // is set. + PresenterConfigurationAccess aConfiguration ( + xContext, + OUString::createFromAscii("/org.openoffice.Office.extension.PresenterScreen/"), + PresenterConfigurationAccess::READ_ONLY); + bool bStartAlways (false); + if (aConfiguration.GetConfigurationNode( + OUString::createFromAscii("Presenter/StartAlways")) >>= bStartAlways) + { + if (bStartAlways) + return nScreenNumber; + } + return -1; + } + } + catch (beans::UnknownPropertyException&) + { + OSL_ASSERT(false); + // For some reason we can not access the screen number. Use + // the default instead. + } + + return nScreenNumber; +} + + + + +Reference PresenterScreen::GetMainPaneId ( + const Reference& rxPresentation) const +{ + // A negative value means that the presentation spans all available + // displays. That leaves no room for the presenter. + const sal_Int32 nScreenNumber(GetScreenNumber(rxPresentation)); + if (nScreenNumber < 0) + return NULL; + + // Setup the resource id of the full screen background pane so that + // it is displayed on another screen than the presentation. + sal_Int32 nPresenterScreenNumber (1); + switch (nScreenNumber) + { + case 0: + nPresenterScreenNumber = 1; + break; + + case 1: + nPresenterScreenNumber = 0; + break; + + default: + // When the full screen presentation is displayed on a screen + // other than 0 or 1 then place the presenter on the first + // available screen. + nPresenterScreenNumber = 0; + break; + } + + return ResourceId::create( + Reference(mxContextWeak), + PresenterHelper::msFullScreenPaneURL + +A2S("?FullScreen=true&ScreenNumber=") + + OUString::valueOf(nPresenterScreenNumber)); +} + + + + void PresenterScreen::DeactivatePanes (const Reference& rxCC) { OSL_ASSERT(rxCC.is()); @@ -348,21 +646,37 @@ void PresenterScreen::DeactivatePanes (const Reference -void PresenterScreen::ShutdownPresenterScreen (void) +void PresenterScreen::RequestShutdownPresenterScreen (void) { - if (mpPresenterController.get() != NULL) - { - mpPresenterController->dispose(); - mpPresenterController = rtl::Reference(); - } - + // Restore the configuration that was active before the presenter screen + // has been activated. Now, that the presenter screen is displayed in + // its own top level window this probably not necessary, but one never knows. Reference xCC (mxConfigurationControllerWeak); if (xCC.is() && mxSavedConfiguration.is()) { xCC->restoreConfiguration(mxSavedConfiguration); + mxSavedConfiguration = NULL; } - mpPaneContainer = new PresenterPaneContainer(Reference(mxContextWeak)); + if (xCC.is()) + { + // The actual restoration of the configuration takes place + // asynchronously. The view and pane factories can only by disposed + // after that. Therefore, set up a listener and wait for the + // restoration. + rtl::Reference pSelf (this); + PresenterFrameworkObserver::RunOnUpdateEnd( + xCC, + ::boost::bind(&PresenterScreen::ShutdownPresenterScreen, pSelf)); + xCC->update(); + } +} + + + + +void PresenterScreen::ShutdownPresenterScreen (void) +{ Reference xViewFactoryComponent (mxViewFactory, UNO_QUERY); if (xViewFactoryComponent.is()) xViewFactoryComponent->dispose(); @@ -373,6 +687,12 @@ void PresenterScreen::ShutdownPresenterScreen (void) xPaneFactoryComponent->dispose(); mxPaneFactory = NULL; + if (mpPresenterController.get() != NULL) + { + mpPresenterController->dispose(); + mpPresenterController = rtl::Reference(); + } + mpPaneContainer = new PresenterPaneContainer(Reference(mxContextWeak)); } @@ -426,6 +746,8 @@ void PresenterScreen::SetupConfiguration ( rxContext, OUString::createFromAscii("org.openoffice.Office.extension.PresenterScreen"), PresenterConfigurationAccess::READ_ONLY); + maViewDescriptors.clear(); + ProcessViewDescriptions(aConfiguration); OUString sLayoutName (OUString::createFromAscii("DefaultLayout")); aConfiguration.GetConfigurationNode( OUString::createFromAscii("Presenter/CurrentLayout")) >>= sLayoutName; @@ -471,14 +793,13 @@ void PresenterScreen::ProcessLayout ( OUString::createFromAscii("Layout")), UNO_QUERY_THROW); - ::std::vector aProperties (7); + ::std::vector aProperties (6); aProperties[0] = OUString::createFromAscii("PaneURL"); aProperties[1] = OUString::createFromAscii("ViewURL"); - aProperties[2] = OUString::createFromAscii("Title"); - aProperties[3] = OUString::createFromAscii("RelativeX"); - aProperties[4] = OUString::createFromAscii("RelativeY"); - aProperties[5] = OUString::createFromAscii("RelativeWidth"); - aProperties[6] = OUString::createFromAscii("RelativeHeight"); + aProperties[2] = OUString::createFromAscii("RelativeX"); + aProperties[3] = OUString::createFromAscii("RelativeY"); + aProperties[4] = OUString::createFromAscii("RelativeWidth"); + aProperties[5] = OUString::createFromAscii("RelativeHeight"); mnComponentIndex = 1; PresenterConfigurationAccess::ForAll( xList, @@ -497,6 +818,34 @@ void PresenterScreen::ProcessLayout ( +void PresenterScreen::ProcessViewDescriptions ( + PresenterConfigurationAccess& rConfiguration) +{ + try + { + Reference xViewDescriptionsNode ( + rConfiguration.GetConfigurationNode(A2S("Presenter/Views")), + UNO_QUERY_THROW); + + ::std::vector aProperties (3); + aProperties[0] = OUString::createFromAscii("ViewURL"); + aProperties[1] = OUString::createFromAscii("Title"); + aProperties[2] = OUString::createFromAscii("IsOpaque"); + mnComponentIndex = 1; + PresenterConfigurationAccess::ForAll( + xViewDescriptionsNode, + aProperties, + ::boost::bind(&PresenterScreen::ProcessViewDescription, this, _1, _2)); + } + catch (RuntimeException&) + { + OSL_ASSERT(false); + } +} + + + + void PresenterScreen::ProcessComponent ( const OUString& rsKey, const ::std::vector& rValues, @@ -505,25 +854,23 @@ void PresenterScreen::ProcessComponent ( { (void)rsKey; - if (rValues.size() != 7) + if (rValues.size() != 6) return; try { OUString sPaneURL; OUString sViewURL; - OUString sTitle; double nX = 0; double nY = 0; double nWidth = 0; double nHeight = 0; rValues[0] >>= sPaneURL; rValues[1] >>= sViewURL; - rValues[2] >>= sTitle; - rValues[3] >>= nX; - rValues[4] >>= nY; - rValues[5] >>= nWidth; - rValues[6] >>= nHeight; + rValues[2] >>= nX; + rValues[3] >>= nY; + rValues[4] >>= nWidth; + rValues[5] >>= nHeight; if (nX>=0 && nY>=0 && nWidth>0 && nHeight>0) { @@ -532,7 +879,6 @@ void PresenterScreen::ProcessComponent ( rxAnchorId, sPaneURL, sViewURL, - sTitle, PresenterPaneContainer::ViewInitializationFunction(), nX, nY, @@ -550,12 +896,38 @@ void PresenterScreen::ProcessComponent ( -Reference PresenterScreen::SetupView( +void PresenterScreen::ProcessViewDescription ( + const OUString& rsKey, + const ::std::vector& rValues) +{ + (void)rsKey; + + if (rValues.size() != 3) + return; + + try + { + ViewDescriptor aViewDescriptor; + OUString sViewURL; + rValues[0] >>= sViewURL; + rValues[1] >>= aViewDescriptor.msTitle; + rValues[2] >>= aViewDescriptor.mbIsOpaque; + maViewDescriptors[sViewURL] = aViewDescriptor; + } + catch (Exception&) + { + OSL_ASSERT(false); + } +} + + + + +void PresenterScreen::SetupView( const Reference& rxContext, const Reference& rxAnchorId, const OUString& rsPaneURL, const OUString& rsViewURL, - const OUString& rsTitle, const PresenterPaneContainer::ViewInitializationFunction& rViewInitialization, const double nLeft, const double nTop, @@ -566,32 +938,25 @@ Reference PresenterScreen::SetupView( if (xCC.is()) { Reference xPaneId (ResourceId::createWithAnchor(rxContext,rsPaneURL,rxAnchorId)); + // Look up the view descriptor. + ViewDescriptor aViewDescriptor; + ViewDescriptorContainer::const_iterator iDescriptor (maViewDescriptors.find(rsViewURL)); + if (iDescriptor != maViewDescriptors.end()) + aViewDescriptor = iDescriptor->second; + + // Prepare the pane. OSL_ASSERT(mpPaneContainer.get() != NULL); mpPaneContainer->PreparePane( xPaneId, - rsTitle, + rsViewURL, + aViewDescriptor.msTitle, + aViewDescriptor.mbIsOpaque, rViewInitialization, nLeft, nTop, nRight, nBottom); - - Reference xViewId (ResourceId::createWithAnchor(rxContext,rsViewURL,xPaneId)); - if (rsViewURL.getLength() > 0) - { - xCC->requestResourceActivation( - xPaneId, - ResourceActivationMode_ADD); - - xCC->requestResourceActivation( - xViewId, - ResourceActivationMode_REPLACE); - } - - return xViewId; } - else - return Reference(); } -- cgit From 84b08beb0537bc6a660db6bee0cd919ec81ded36 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:36:05 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/28 09:18:11 af 1.2.4.4: #i18486# Added GetScreenNumber() method. 2008/04/22 08:40:38 af 1.2.4.3: #i18486# Changed startup details. 2008/04/22 08:24:56 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:57:30 af 1.2.4.1: #i18486# Added detection of correct display for the presenter screen. --- sdext/source/presenter/PresenterScreen.hxx | 121 ++++++++++++++++++++++------- 1 file changed, 94 insertions(+), 27 deletions(-) diff --git a/sdext/source/presenter/PresenterScreen.hxx b/sdext/source/presenter/PresenterScreen.hxx index 17f2d45089ea..e9849d0f4015 100644 --- a/sdext/source/presenter/PresenterScreen.hxx +++ b/sdext/source/presenter/PresenterScreen.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterScreen.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -34,7 +34,7 @@ #include "PresenterConfigurationAccess.hxx" #include "PresenterPaneContainer.hxx" -#include +#include #include #include #include @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -57,37 +58,35 @@ class PresenterWindowManager; class PresenterController; namespace { - typedef ::cppu::WeakComponentImplHelper2 < - css::task::XJob, - css::document::XEventListener > PresenterScreenInterfaceBase; + typedef ::cppu::WeakComponentImplHelper1 < + css::task::XJob + > PresenterScreenJobInterfaceBase; + typedef ::cppu::WeakComponentImplHelper1 < + css::lang::XEventListener + > PresenterScreenInterfaceBase; } -/** This is the bootstrap class of the presenter screen. It is registered - as drawing framework startup service. That means that every drawing - framework instance creates an instance of this class. -

A PresenterScreen object registers itself as listener for drawing - framework configuration changes. It waits for the full screen marker (a - top level resource) to appear in the current configuration. When that - happens the actual presenter screen is initialized. A new - PresenterController is created and takes over the task of controlling - the presenter screen.

+ +/** The PresenterScreenJob service is instantiated every time a document is + created or loaded. In its execute() method it then filters out all + non-Impress documents and creates and registers a new PresenterScreen + object. */ -class PresenterScreen +class PresenterScreenJob : private ::boost::noncopyable, private ::cppu::BaseMutex, - public PresenterScreenInterfaceBase + public PresenterScreenJobInterfaceBase { public: - void SAL_CALL disposing (void); - static ::rtl::OUString getImplementationName_static (void); static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); static css::uno::Reference Create( const css::uno::Reference& rxContext) SAL_THROW((css::uno::Exception)); + virtual void SAL_CALL disposing (void); // XJob @@ -97,9 +96,50 @@ public: css::uno::Exception, css::uno::RuntimeException); - // document::XEventListener +private: + PresenterScreenJob (const css::uno::Reference& rxContext); + virtual ~PresenterScreenJob (void); + + css::uno::Reference mxComponentContext; +}; + + + + +/** This is the bootstrap class of the presenter screen. It is registered + as drawing framework startup service. That means that every drawing + framework instance creates an instance of this class. + +

A PresenterScreen object registers itself as listener for drawing + framework configuration changes. It waits for the full screen marker (a + top level resource) to appear in the current configuration. When that + happens the actual presenter screen is initialized. A new + PresenterController is created and takes over the task of controlling + the presenter screen.

+*/ +class PresenterScreen + : private ::boost::noncopyable, + private ::cppu::BaseMutex, + public PresenterScreenInterfaceBase +{ +public: + PresenterScreen ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxModel); + virtual ~PresenterScreen (void); + + virtual void SAL_CALL disposing (void); + + /** Make the presenter screen visible. + */ + void InitializePresenterScreen (void); + + /** Do not call ShutdownPresenterScreen() directly. Call + RequestShutdownPresenterScreen() instead. It will issue an + asynchronous call to ShutdownPresenterScreen() when that is safe. + */ + void RequestShutdownPresenterScreen (void); - virtual void SAL_CALL notifyEvent( const css::document::EventObject& Event ) throw (css::uno::RuntimeException); // XEventListener @@ -120,12 +160,15 @@ private: css::uno::Reference mxPaneFactory; css::uno::Reference mxViewFactory; - PresenterScreen (const css::uno::Reference& rxContext); - virtual ~PresenterScreen (void); + class ViewDescriptor + { + public: + ::rtl::OUString msTitle; + bool mbIsOpaque; + }; + typedef ::std::map ViewDescriptorContainer; + ViewDescriptorContainer maViewDescriptors; - /** Make the presenter screen visible. - */ - void InitializePresenterScreen (void); /** Deactivate the currently active panes to make room for the full screen pane and the presenter panes. @@ -171,18 +214,42 @@ private: const css::uno::Reference& rxContext, const css::uno::Reference& rxAnchorId); - css::uno::Reference SetupView ( + /** Read the view descriptions from the configuration. + */ + void ProcessViewDescriptions ( + PresenterConfigurationAccess& rConfiguration); + + /** Called by ProcessViewDescriptions for a single entry. + */ + void ProcessViewDescription ( + const ::rtl::OUString& rsKey, + const ::std::vector& rValues); + + void SetupView ( const css::uno::Reference& rxContext, const css::uno::Reference& rxAnchorId, const ::rtl::OUString& rsPaneURL, const ::rtl::OUString& rsViewURL, - const ::rtl::OUString& rsTitle, const PresenterPaneContainer::ViewInitializationFunction& rViewInitialization, const double nLeft, const double nTop, const double nRight, const double nBottom); + /** Return the screen number on which to display the presenter screen. + @return + Returns -1 when the presenter screen can or shall not be + displayed. + */ + sal_Int32 GetScreenNumber ( + const css::uno::Reference& rxPresentation) const; + + /** Create a resource id for the full screen background pane so that it + is displayed on another screen than the full screen presentation. + */ + css::uno::Reference GetMainPaneId ( + const css::uno::Reference& rxPresentation) const; + void ThrowIfDisposed (void) const throw (::com::sun::star::lang::DisposedException); }; -- cgit From 592551d5c8a49cbdd8842aaabe09fbbc6bf43d69 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:36:42 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 13:05:35 af 1.2.4.4: #i18486# Made extension identifier platform specific. 2008/04/22 08:25:43 af 1.2.4.3: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:59:13 af 1.2.4.2: #i18486# Fixed some Linux build problems. 2008/04/16 15:59:36 af 1.2.4.1: #i18486# Improved display of scroll bars. --- sdext/source/presenter/PresenterScrollBar.cxx | 868 ++++++++++++++------------ 1 file changed, 452 insertions(+), 416 deletions(-) diff --git a/sdext/source/presenter/PresenterScrollBar.cxx b/sdext/source/presenter/PresenterScrollBar.cxx index 19687a213d55..53d87e1feb0c 100644 --- a/sdext/source/presenter/PresenterScrollBar.cxx +++ b/sdext/source/presenter/PresenterScrollBar.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterScrollBar.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -31,10 +31,13 @@ #include "PresenterScrollBar.hxx" #include "PresenterBitmapContainer.hxx" +#include "PresenterComponent.hxx" #include "PresenterGeometryHelper.hxx" -#include +#include "PresenterPaintManager.hxx" +#include "PresenterUIPainter.hxx" #include #include +#include #include #include #include @@ -48,23 +51,10 @@ using ::rtl::OUString; #define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) +const static double gnScrollBarGap (10); namespace sdext { namespace presenter { -namespace { - double clip (const double nMin, const double nMax, const double nValue) - { - if (nValue < nMin) - return nMin; - else if (nValue > nMax) - return nMax; - else - return nValue; - } - -} // end of anonymous namespace - - //===== PresenterScrollBar ==================================================== @@ -73,6 +63,7 @@ boost::weak_ptr PresenterScrollBar::mpSharedBitmaps; PresenterScrollBar::PresenterScrollBar ( const Reference& rxComponentContext, const Reference& rxParentWindow, + const ::boost::shared_ptr& rpPaintManager, const ::boost::function& rThumbMotionListener) : PresenterScrollBarInterfaceBase(m_aMutex), mxComponentContext(rxComponentContext), @@ -80,21 +71,24 @@ PresenterScrollBar::PresenterScrollBar ( mxWindow(), mxCanvas(), mxPresenterHelper(), + mpPaintManager(rpPaintManager), mnThumbPosition(0), mnTotalSize(0), mnThumbSize(0), - maDragPosition(-1,-1), + maDragAnchor(-1,-1), maThumbMotionListener(rThumbMotionListener), meButtonDownArea(None), meMouseMoveArea(None), - //maBorders(), mbIsNotificationActive(false), mpBitmaps(), - maPrevButtonSet(), - maNextButtonSet(), - maPagerStartSet(), - maPagerCenterSet(), - maPagerEndSet() + mpPrevButtonDescriptor(), + mpNextButtonDescriptor(), + mpPagerStartDescriptor(), + mpPagerCenterDescriptor(), + mpPagerEndDescriptor(), + mpThumbStartDescriptor(), + mpThumbCenterDescriptor(), + mpThumbEndDescriptor() { try { @@ -108,23 +102,12 @@ PresenterScrollBar::PresenterScrollBar ( rxComponentContext), UNO_QUERY_THROW); - // Create a window that contains the scroll bar. - Reference xToolkit ( - xFactory->createInstanceWithContext( - OUString::createFromAscii("com.sun.star.awt.Toolkit"), - rxComponentContext), - UNO_QUERY_THROW); - awt::WindowDescriptor aWindowDescriptor ( - awt::WindowClass_CONTAINER, - OUString(), - Reference(rxParentWindow,UNO_QUERY_THROW), - -1, // parent index not available - awt::Rectangle(0,0,10,10), - awt::WindowAttribute::SIZEABLE - | awt::WindowAttribute::MOVEABLE - | awt::WindowAttribute::NODECORATION); - mxWindow = Reference( - xToolkit->createWindow(aWindowDescriptor),UNO_QUERY_THROW); + if (mxPresenterHelper.is()) + mxWindow = mxPresenterHelper->createWindow(rxParentWindow, + sal_False, + sal_False, + sal_False, + sal_False); // Make the background transparent. The slide show paints its own background. Reference xPeer (mxWindow, UNO_QUERY_THROW); @@ -135,6 +118,7 @@ PresenterScrollBar::PresenterScrollBar ( mxWindow->setVisible(sal_True); mxWindow->addWindowListener(this); + mxWindow->addPaintListener(this); mxWindow->addMouseListener(this); mxWindow->addMouseMotionListener(this); } @@ -158,6 +142,7 @@ void SAL_CALL PresenterScrollBar::disposing (void) if (mxWindow.is()) { mxWindow->removeWindowListener(this); + mxWindow->removePaintListener(this); mxWindow->removeMouseListener(this); mxWindow->removeMouseMotionListener(this); @@ -173,15 +158,24 @@ void SAL_CALL PresenterScrollBar::disposing (void) +void PresenterScrollBar::SetVisible (const bool bIsVisible) +{ + if (mxWindow.is()) + mxWindow->setVisible(bIsVisible); +} + + + + void PresenterScrollBar::SetPosSize (const css::geometry::RealRectangle2D& rBox) { if (mxWindow.is()) { mxWindow->setPosSize( sal_Int32(floor(rBox.X1)), - sal_Int32(floor(rBox.Y1)), + sal_Int32(ceil(rBox.Y1)), sal_Int32(ceil(rBox.X2-rBox.X1)), - sal_Int32(ceil(rBox.Y2-rBox.Y1)), + sal_Int32(floor(rBox.Y2-rBox.Y1)), awt::PosSize::POSSIZE); UpdateBorders(); } @@ -190,22 +184,33 @@ void PresenterScrollBar::SetPosSize (const css::geometry::RealRectangle2D& rBox) -void PresenterScrollBar::SetThumbPosition (const double nPosition) +void PresenterScrollBar::SetThumbPosition ( + double nPosition, + const bool bAsynchronousUpdate) +{ + SetThumbPosition(nPosition, bAsynchronousUpdate, true, true); +} + + + + +void PresenterScrollBar::SetThumbPosition ( + double nPosition, + const bool bAsynchronousUpdate, + const bool bValidate, + const bool bNotify) { + if (bValidate) + nPosition = ValidateThumbPosition(nPosition); + if (nPosition != mnThumbPosition && ! mbIsNotificationActive) { - if (nPosition < 0) - mnThumbPosition = 0; - else if ((nPosition + mnThumbSize) > mnTotalSize) - mnThumbPosition = mnTotalSize - mnThumbSize; - else - mnThumbPosition = nPosition; + mnThumbPosition = nPosition; UpdateBorders(); - - Repaint(GetRectangle(Total)); - - NotifyThumbPositionChange(); + Repaint(GetRectangle(Total), bAsynchronousUpdate); + if (bNotify) + NotifyThumbPositionChange(); } } @@ -216,9 +221,9 @@ void PresenterScrollBar::SetTotalSize (const double nTotalSize) { if (mnTotalSize != nTotalSize) { - mnTotalSize = nTotalSize; + mnTotalSize = nTotalSize + 1; UpdateBorders(); - Repaint(GetRectangle(Total)); + Repaint(GetRectangle(Total), false); } } @@ -232,12 +237,13 @@ void PresenterScrollBar::SetThumbSize (const double nThumbSize) { mnThumbSize = nThumbSize; UpdateBorders(); - Repaint(GetRectangle(Total)); + Repaint(GetRectangle(Total), false); } } + void PresenterScrollBar::SetCanvas (const Reference& rxCanvas) { if (mxCanvas != rxCanvas) @@ -252,9 +258,11 @@ void PresenterScrollBar::SetCanvas (const Reference& rx try { mpBitmaps.reset(new PresenterBitmapContainer( + OUString::createFromAscii("PresenterScreenSettings/ScrollBar/Bitmaps"), + ::boost::shared_ptr(), mxComponentContext, mxCanvas, - OUString::createFromAscii("PresenterScreenSettings/ScrollBar/Bitmaps"))); + PresenterComponent::GetBasePath(mxComponentContext))); mpSharedBitmaps = mpBitmaps; } catch(Exception&) @@ -268,7 +276,7 @@ void PresenterScrollBar::SetCanvas (const Reference& rx UpdateBorders(); } - Repaint(GetRectangle(Total)); + Repaint(GetRectangle(Total), false); } } } @@ -276,6 +284,26 @@ void PresenterScrollBar::SetCanvas (const Reference& rx +void PresenterScrollBar::CheckValues (void) +{ + mnThumbPosition = ValidateThumbPosition(mnThumbPosition); +} + + + + +double PresenterScrollBar::ValidateThumbPosition (double nPosition) +{ + if (nPosition + mnThumbSize > mnTotalSize) + nPosition = mnTotalSize - mnThumbSize; + if (nPosition < 0) + nPosition = 0; + return nPosition; +} + + + + void PresenterScrollBar::Paint ( const awt::Rectangle& rUpdateBox, const bool bNoClip) @@ -288,14 +316,19 @@ void PresenterScrollBar::Paint ( } if ( ! bNoClip) + { if (PresenterGeometryHelper::AreRectanglesDisjoint (rUpdateBox, mxWindow->getPosSize())) return; + } - Paint(PagerUp, maPagerStartSet, maPagerCenterSet, PresenterBitmapContainer::BitmapSet()); - Paint(PagerDown, PresenterBitmapContainer::BitmapSet(), maPagerCenterSet, maPagerEndSet); - Paint(Thumb, maThumbStartSet, maThumbCenterSet, maThumbEndSet); - Paint(PrevButton, maPrevButtonSet, 1,0,0); - Paint(NextButton, maNextButtonSet, 0,1,0); + PaintComposite(rUpdateBox, PagerUp, + mpPagerStartDescriptor, mpPagerCenterDescriptor, SharedBitmapDescriptor()); + PaintComposite(rUpdateBox, PagerDown, + SharedBitmapDescriptor(), mpPagerCenterDescriptor, mpPagerEndDescriptor); + PaintComposite(rUpdateBox, Thumb, + mpThumbStartDescriptor, mpThumbCenterDescriptor, mpThumbEndDescriptor); + PaintBitmap(rUpdateBox, PrevButton, mpPrevButtonDescriptor); + PaintBitmap(rUpdateBox, NextButton, mpNextButtonDescriptor); Reference xSpriteCanvas (mxCanvas, UNO_QUERY); if (xSpriteCanvas.is()) @@ -346,14 +379,35 @@ void SAL_CALL PresenterScrollBar::windowHidden (const css::lang::EventObject& rE +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterScrollBar::windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException) +{ + if (mxWindow.is()) + { + awt::Rectangle aRepaintBox (rEvent.UpdateRect); + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + aRepaintBox.X += aWindowBox.X; + aRepaintBox.Y += aWindowBox.Y; + Paint(aRepaintBox); + + Reference xSpriteCanvas (mxCanvas, UNO_QUERY); + if (xSpriteCanvas.is()) + xSpriteCanvas->updateScreen(sal_False); + } +} + + + //----- XMouseListener -------------------------------------------------------- void SAL_CALL PresenterScrollBar::mousePressed (const css::awt::MouseEvent& rEvent) throw(css::uno::RuntimeException) { - maDragPosition.X = rEvent.X; - maDragPosition.Y = rEvent.Y; + maDragAnchor.X = rEvent.X; + maDragAnchor.Y = rEvent.Y; meButtonDownArea = GetArea(rEvent.X, rEvent.Y); } @@ -372,19 +426,19 @@ void SAL_CALL PresenterScrollBar::mouseReleased (const css::awt::MouseEvent& rEv switch (meButtonDownArea) { case PrevButton: - SetThumbPosition(mnThumbPosition - mnTotalSize / 100.0); + SetThumbPosition(mnThumbPosition - mnTotalSize / 100.0, true, true, true); break; case NextButton: - SetThumbPosition(mnThumbPosition + mnTotalSize / 100.0); + SetThumbPosition(mnThumbPosition + mnTotalSize / 100.0, true, true, true); break; case PagerUp: - SetThumbPosition(mnThumbPosition - mnTotalSize / 20.0); + SetThumbPosition(mnThumbPosition - mnTotalSize / 20.0, true, true, true); break; case PagerDown: - SetThumbPosition(mnThumbPosition + mnTotalSize / 20.0); + SetThumbPosition(mnThumbPosition + mnTotalSize / 20.0, true, true, true); break; default: @@ -413,7 +467,7 @@ void SAL_CALL PresenterScrollBar::mouseExited (const css::awt::MouseEvent& rEven { const Area eOldMouseMoveArea (meMouseMoveArea); meMouseMoveArea = None; - Repaint(GetRectangle(eOldMouseMoveArea)); + Repaint(GetRectangle(eOldMouseMoveArea), true); } meButtonDownArea = None; meMouseMoveArea = None; @@ -434,9 +488,9 @@ void SAL_CALL PresenterScrollBar::mouseMoved (const css::awt::MouseEvent& rEvent const Area eOldMouseMoveArea (meMouseMoveArea); meMouseMoveArea = eArea; if (eOldMouseMoveArea != None) - Repaint(GetRectangle(eOldMouseMoveArea)); + Repaint(GetRectangle(eOldMouseMoveArea), meMouseMoveArea==None); if (meMouseMoveArea != None) - Repaint(GetRectangle(meMouseMoveArea)); + Repaint(GetRectangle(meMouseMoveArea), true); } } @@ -452,11 +506,10 @@ void SAL_CALL PresenterScrollBar::mouseDragged (const css::awt::MouseEvent& rEve mxPresenterHelper->captureMouse(mxWindow); const double nDragDistance (GetDragDistance(rEvent.X,rEvent.Y)); - maDragPosition.X = rEvent.X; - maDragPosition.Y = rEvent.Y; + UpdateDragAnchor(nDragDistance); if (nDragDistance != 0) { - SetThumbPosition(mnThumbPosition + nDragDistance); + SetThumbPosition(mnThumbPosition + nDragDistance, true, true, true); } } @@ -479,182 +532,60 @@ void SAL_CALL PresenterScrollBar::disposing (const css::lang::EventObject& rEven geometry::RealRectangle2D PresenterScrollBar::GetRectangle (const Area eArea) const { - if ( ! mxWindow.is()) - return geometry::RealRectangle2D(0,0,0,0); - - switch (eArea) - { - case Total: - default: - return GetBorderRectangle(LeftOrTopOfPrevButton, RightOrBottomOfNextButton); - - case PrevButton: - return GetBorderRectangle(LeftOrTopOfPrevButton, RightOrBottomOfPrevButton); - - case NextButton: - return GetBorderRectangle(LeftOrTopOfNextButton, RightOrBottomOfNextButton); - - case Pager: - return GetBorderRectangle(RightOrBottomOfPrevButton, LeftOrTopOfNextButton); - - case PagerUp: - return GetBorderRectangle(RightOrBottomOfPrevButton, LeftOrTopOfThumb); - - case PagerDown: - return GetBorderRectangle(RightOrBottomOfThumb, LeftOrTopOfNextButton); + OSL_ASSERT(eArea>=0 && eArea<__AreaCount__); - case Thumb: - return GetBorderRectangle(LeftOrTopOfThumb, RightOrBottomOfThumb); - } + return maBox[eArea]; } -void PresenterScrollBar::Repaint (const geometry::RealRectangle2D aBox) +void PresenterScrollBar::Repaint ( + const geometry::RealRectangle2D aBox, + const bool bAsynchronousUpdate) { -#if 1 - Paint( - awt::Rectangle( - sal_Int32(aBox.X1), - sal_Int32(aBox.Y1), - sal_Int32(aBox.X2 - aBox.X1), - sal_Int32(aBox.Y2 - aBox.Y1)), - true); -#else - Reference xPeer (mxParentWindow, UNO_QUERY); - if (xPeer.is() && mxWindow.is()) - { - const awt::Rectangle aWindowBox (mxWindow->getPosSize()); - const sal_Int32 nX (sal_Int32(floor(aBox.X1)) + aWindowBox.X); - const sal_Int32 nY (sal_Int32(floor(aBox.Y1)) + aWindowBox.Y); - const sal_Int32 nWidth (sal_Int32(ceil(aBox.X2) - nX)); - const sal_Int32 nHeight (sal_Int32(ceil(aBox.Y2) - nY)); - xPeer->invalidateRect(awt::Rectangle(nX,nY,nWidth,nHeight), awt::InvalidateStyle::UPDATE); - } -#endif + if (mpPaintManager.get() != NULL) + mpPaintManager->Invalidate( + mxWindow, + PresenterGeometryHelper::ConvertRectangle(aBox), + bAsynchronousUpdate); } -void PresenterScrollBar::Paint( - const Area eArea, - const PresenterBitmapContainer::BitmapSet& rBitmaps, - const double nRed, - const double nGreen, - const double nBlue) -{ - if (rBitmaps.mxNormalIcon.is()) - PaintBitmap(eArea, rBitmaps); - else - PaintBox(eArea, nRed, nGreen, nBlue); -} - - - - -void PresenterScrollBar::Paint( +void PresenterScrollBar::PaintBitmap( + const css::awt::Rectangle& rUpdateBox, const Area eArea, - const PresenterBitmapContainer::BitmapSet& rStartBitmaps, - const PresenterBitmapContainer::BitmapSet& rCenterBitmaps, - const PresenterBitmapContainer::BitmapSet& rEndBitmaps) + const SharedBitmapDescriptor& rpBitmaps) { - geometry::RealRectangle2D aBox (GetRectangle(eArea)); + const geometry::RealRectangle2D aLocalBox (GetRectangle(eArea)); const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + geometry::RealRectangle2D aBox (aLocalBox); aBox.X1 += aWindowBox.X; aBox.Y1 += aWindowBox.Y; aBox.X2 += aWindowBox.X; aBox.Y2 += aWindowBox.Y; - Reference xPolygon ( - PresenterGeometryHelper::CreatePolygon(aBox, mxCanvas->getDevice())); - - if (xPolygon.is()) - { - - const rendering::ViewState aViewState ( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - xPolygon); - rendering::RenderState aRenderState ( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE); - - Reference xStartBitmap (GetBitmap(eArea, rStartBitmaps)); - Reference xCenterBitmap (GetBitmap(eArea, rCenterBitmaps)); - Reference xEndBitmap (GetBitmap(eArea, rEndBitmaps)); - - if (xCenterBitmap.is()) - { - const geometry::IntegerSize2D aSize (xCenterBitmap->getSize()); - geometry::RealPoint2D aFilteredMajorSize (GetPoint( - GetMajor(aSize.Width, aSize.Height), - 0)); - geometry::RealPoint2D aOffset (aBox.X1, aBox.Y1); - while(aOffset.X < aBox.X2 && aOffset.Y < aBox.Y2) - { - aRenderState.AffineTransform.m02 = aOffset.X; - aRenderState.AffineTransform.m12 = aOffset.Y; - mxCanvas->drawBitmap( - xCenterBitmap, - aViewState, - aRenderState); - aOffset.X += aFilteredMajorSize.X; - aOffset.Y += aFilteredMajorSize.Y; - } - } + Reference xBitmap (GetBitmap(eArea,rpBitmaps)); - if (xStartBitmap.is()) - { - aRenderState.AffineTransform.m02 = aBox.X1; - aRenderState.AffineTransform.m12 = aBox.Y1; - mxCanvas->drawBitmap( - xStartBitmap, - aViewState, - aRenderState); - } - - if (xEndBitmap.is()) - { - const geometry::IntegerSize2D aSize (xEndBitmap->getSize()); - geometry::RealPoint2D aFilteredSize (GetPoint( - GetMajor(aSize.Width, aSize.Height), - GetMinor(aSize.Width, aSize.Height))); - aRenderState.AffineTransform.m02 = aBox.X2 - aFilteredSize.X; - aRenderState.AffineTransform.m12 = aBox.Y2 - aFilteredSize.Y; - mxCanvas->drawBitmap( - xEndBitmap, - aViewState, - aRenderState); - } - } -} - - - - -void PresenterScrollBar::PaintBitmap( - const Area eArea, - const PresenterBitmapContainer::BitmapSet& rBitmaps) -{ - const geometry::RealRectangle2D aBox (GetRectangle(eArea)); - Reference xPolygon ( - PresenterGeometryHelper::CreatePolygon(aBox, mxCanvas->getDevice())); - Reference xBitmap (GetBitmap(eArea,rBitmaps)); - - if (xPolygon.is() && xBitmap.is()) + if (xBitmap.is()) { + Reference xClipPolygon ( + PresenterGeometryHelper::CreatePolygon( + PresenterGeometryHelper::Intersection(rUpdateBox, + PresenterGeometryHelper::ConvertRectangle(aBox)), + mxCanvas->getDevice())); + const rendering::ViewState aViewState ( geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL); + xClipPolygon); - const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const geometry::IntegerSize2D aBitmapSize (xBitmap->getSize()); rendering::RenderState aRenderState ( geometry::AffineMatrix2D( - 1,0,aWindowBox.X+aBox.X1, - 0,1,aWindowBox.Y+aBox.Y1), + 1,0,aBox.X1 + (aBox.X2-aBox.X1 - aBitmapSize.Width)/2, + 0,1,aBox.Y1 + (aBox.Y2-aBox.Y1 - aBitmapSize.Height)/2), NULL, Sequence(3), rendering::CompositeOperation::SOURCE); @@ -669,51 +600,6 @@ void PresenterScrollBar::PaintBitmap( -void PresenterScrollBar::PaintBox ( - const Area eArea, - const double nRed, - const double nGreen, - const double nBlue) -{ - Reference xPolygon ( - PresenterGeometryHelper::CreatePolygon(GetRectangle(eArea), - mxCanvas->getDevice())); - - if (xPolygon.is()) - { - const rendering::ViewState aViewState ( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL); - - const awt::Rectangle aWindowBox (mxWindow->getPosSize()); - rendering::RenderState aRenderState ( - geometry::AffineMatrix2D(1,0,aWindowBox.X, 0,1,aWindowBox.Y), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE); - - if (meMouseMoveArea == eArea) - { - aRenderState.DeviceColor[0] = (1+nRed)/2; - aRenderState.DeviceColor[1] = (1+nGreen)/2; - aRenderState.DeviceColor[2] = (1+nBlue)/2; - } - else - { - aRenderState.DeviceColor[0] = nRed; - aRenderState.DeviceColor[1] = nGreen; - aRenderState.DeviceColor[2] = nBlue; - } - mxCanvas->fillPolyPolygon( - xPolygon, - aViewState, - aRenderState); - } -} - - - - void PresenterScrollBar::NotifyThumbPositionChange (void) { if ( ! mbIsNotificationActive) @@ -737,26 +623,23 @@ void PresenterScrollBar::NotifyThumbPositionChange (void) PresenterScrollBar::Area PresenterScrollBar::GetArea (const double nX, const double nY) const { - const double nValue (GetMajor(nX,nY)); - - if (nValue < maBorders[LeftOrTopOfThumb]) - if (nValue < maBorders[RightOrBottomOfPrevButton]) - if (nValue < maBorders[LeftOrTopOfPrevButton]) - return None; - else - return PrevButton; - else + const geometry::RealPoint2D aPoint(nX, nY); + + if (PresenterGeometryHelper::IsInside(GetRectangle(Pager), aPoint)) + { + if (PresenterGeometryHelper::IsInside(GetRectangle(Thumb), aPoint)) + return Thumb; + else if (PresenterGeometryHelper::IsInside(GetRectangle(PagerUp), aPoint)) return PagerUp; - else if (nValue > maBorders[RightOrBottomOfThumb]) - if (nValue > maBorders[LeftOrTopOfNextButton]) - if (nValue > maBorders[RightOrBottomOfNextButton]) - return None; - else - return NextButton; - else + else if (PresenterGeometryHelper::IsInside(GetRectangle(PagerDown), aPoint)) return PagerDown; - else - return Thumb; + } + else if (PresenterGeometryHelper::IsInside(GetRectangle(PrevButton), aPoint)) + return PrevButton; + else if (PresenterGeometryHelper::IsInside(GetRectangle(NextButton), aPoint)) + return NextButton; + + return None; } @@ -764,14 +647,18 @@ PresenterScrollBar::Area PresenterScrollBar::GetArea (const double nX, const dou void PresenterScrollBar::UpdateWidthOrHeight ( sal_Int32& rSize, - const PresenterBitmapContainer::BitmapSet& rSet) + const SharedBitmapDescriptor& rpDescriptor) { - if (rSet.mxNormalIcon.is()) + if (rpDescriptor.get() != NULL) { - const geometry::IntegerSize2D aBitmapSize (rSet.mxNormalIcon->getSize()); - const sal_Int32 nBitmapSize = (sal_Int32)GetMinor(aBitmapSize.Width, aBitmapSize.Height); - if (nBitmapSize > rSize) - rSize = nBitmapSize; + Reference xBitmap (rpDescriptor->GetNormalBitmap()); + if (xBitmap.is()) + { + const geometry::IntegerSize2D aBitmapSize (xBitmap->getSize()); + const sal_Int32 nBitmapSize = (sal_Int32)GetMinor(aBitmapSize.Width, aBitmapSize.Height); + if (nBitmapSize > rSize) + rSize = nBitmapSize; + } } } @@ -780,11 +667,36 @@ void PresenterScrollBar::UpdateWidthOrHeight ( css::uno::Reference PresenterScrollBar::GetBitmap ( const Area eArea, - const PresenterBitmapContainer::BitmapSet& rBitmaps) const + const SharedBitmapDescriptor& rpBitmaps) const { - if (eArea==meMouseMoveArea && rBitmaps.mxMouseOverIcon.is()) - return rBitmaps.mxMouseOverIcon; - return rBitmaps.mxNormalIcon; + if (rpBitmaps.get() == NULL) + return NULL; + else + return rpBitmaps->GetBitmap(GetBitmapMode(eArea)); +} + + + + +PresenterBitmapContainer::BitmapDescriptor::Mode PresenterScrollBar::GetBitmapMode ( + const Area eArea) const +{ + if (IsDisabled(eArea)) + return PresenterBitmapContainer::BitmapDescriptor::Disabled; + else if (eArea == meMouseMoveArea) + return PresenterBitmapContainer::BitmapDescriptor::MouseOver; + else + return PresenterBitmapContainer::BitmapDescriptor::Normal; +} + + + + +bool PresenterScrollBar::IsDisabled (const Area eArea) const +{ + OSL_ASSERT(eArea>=0 && eArea<__AreaCount__); + + return ! maEnabledState[eArea]; } @@ -795,8 +707,9 @@ css::uno::Reference PresenterScrollBar::GetBitmap ( PresenterVerticalScrollBar::PresenterVerticalScrollBar ( const Reference& rxComponentContext, const Reference& rxParentWindow, + const ::boost::shared_ptr& rpPaintManager, const ::boost::function& rThumbMotionListener) - : PresenterScrollBar(rxComponentContext, rxParentWindow, rThumbMotionListener), + : PresenterScrollBar(rxComponentContext, rxParentWindow, rpPaintManager, rThumbMotionListener), mnScrollBarWidth(0) { } @@ -811,23 +724,10 @@ PresenterVerticalScrollBar::~PresenterVerticalScrollBar (void) -geometry::RealRectangle2D PresenterVerticalScrollBar::GetBorderRectangle ( - const sal_Int32 nLeftOrTopBorder, - const sal_Int32 nRightOrBottomBorder) const -{ - OSL_ASSERT(nLeftOrTopBorder < nRightOrBottomBorder); - return geometry::RealRectangle2D( - 0, maBorders[nLeftOrTopBorder], - mnScrollBarWidth, maBorders[nRightOrBottomBorder]); -} - - - - double PresenterVerticalScrollBar::GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const { (void)nX; - const sal_Int32 nDistance (nY - maDragPosition.Y); + const double nDistance (nY - maDragAnchor.Y); if (nDistance == 0) return 0; else @@ -835,13 +735,30 @@ double PresenterVerticalScrollBar::GetDragDistance (const sal_Int32 nX, const sa const awt::Rectangle aWindowBox (mxWindow->getPosSize()); const double nBarWidth (aWindowBox.Width); const double nPagerHeight (aWindowBox.Height - 2*nBarWidth); - return mnTotalSize / nPagerHeight * nDistance; + const double nDragDistance (mnTotalSize / nPagerHeight * nDistance); + if (nDragDistance + mnThumbPosition < 0) + return -mnThumbPosition; + else if (mnThumbPosition + nDragDistance > mnTotalSize-mnThumbSize) + return mnTotalSize-mnThumbSize-mnThumbPosition; + else + return nDragDistance; } } +void PresenterVerticalScrollBar::UpdateDragAnchor (const double nDragDistance) +{ + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const double nBarWidth (aWindowBox.Width); + const double nPagerHeight (aWindowBox.Height - 2*nBarWidth); + maDragAnchor.Y += nDragDistance * nPagerHeight / mnTotalSize; +} + + + + sal_Int32 PresenterVerticalScrollBar::GetSize (void) const { return mnScrollBarWidth; @@ -880,38 +797,67 @@ double PresenterVerticalScrollBar::GetMinor (const double nX, const double nY) c void PresenterVerticalScrollBar::UpdateBorders (void) { const awt::Rectangle aWindowBox (mxWindow->getPosSize()); - const double nButtonHeight = aWindowBox.Height>=2*mnScrollBarWidth - ? mnScrollBarWidth : aWindowBox.Height/2.0; - const double nPagerHeight (aWindowBox.Height - 2*nButtonHeight); - - maBorders[LeftOrTopOfPrevButton] = 0; - maBorders[RightOrBottomOfPrevButton] = nButtonHeight; - maBorders[LeftOrTopOfNextButton] = nPagerHeight + nButtonHeight; - maBorders[RightOrBottomOfNextButton] = aWindowBox.Height; - if (mnTotalSize <= 0) + double nBottom = aWindowBox.Height; + + if (mpNextButtonDescriptor.get() != NULL) + { + Reference xBitmap (mpNextButtonDescriptor->GetNormalBitmap()); + if (xBitmap.is()) + { + geometry::IntegerSize2D aSize (xBitmap->getSize()); + maBox[NextButton] = geometry::RealRectangle2D( + 0, nBottom - aSize.Height, aWindowBox.Width, nBottom); + nBottom -= aSize.Height + gnScrollBarGap; + } + } + if (mpPrevButtonDescriptor.get() != NULL) + { + Reference xBitmap (mpPrevButtonDescriptor->GetNormalBitmap()); + if (xBitmap.is()) + { + geometry::IntegerSize2D aSize (xBitmap->getSize()); + maBox[PrevButton] = geometry::RealRectangle2D( + 0, nBottom - aSize.Height, aWindowBox.Width, nBottom); + nBottom -= aSize.Height + gnScrollBarGap; + } + } + const double nPagerHeight (nBottom); + maBox[Pager] = geometry::RealRectangle2D( + 0,0, aWindowBox.Width, nBottom); + if (mnTotalSize < 1) { - maBorders[LeftOrTopOfThumb] = maBorders[RightOrBottomOfPrevButton]; - maBorders[RightOrBottomOfThumb] = maBorders[LeftOrTopOfNextButton]; + maBox[Thumb] = maBox[Pager]; + + // Set up the enabled/disabled states. + maEnabledState[PrevButton] = false; + maEnabledState[PagerUp] = false; + maEnabledState[NextButton] = false; + maEnabledState[PagerDown] = false; + maEnabledState[Thumb] = false; } else { - maBorders[LeftOrTopOfThumb] = clip( - maBorders[RightOrBottomOfPrevButton], - maBorders[LeftOrTopOfNextButton], - nButtonHeight + (mnThumbPosition) / mnTotalSize * nPagerHeight); - maBorders[RightOrBottomOfThumb] = clip( - maBorders[RightOrBottomOfPrevButton], - maBorders[LeftOrTopOfNextButton], - nButtonHeight + (mnThumbPosition+mnThumbSize) / mnTotalSize * nPagerHeight); + const double nThumbSize = ::std::min(mnThumbSize,mnTotalSize); + const double nThumbPosition = ::std::min(::std::max(0.0,mnThumbPosition), mnTotalSize - nThumbSize); + maBox[Thumb] = geometry::RealRectangle2D( + 0, nThumbPosition / mnTotalSize * nPagerHeight, + aWindowBox.Width, + (nThumbPosition+nThumbSize) / mnTotalSize * nPagerHeight); + + // Set up the enabled/disabled states. + maEnabledState[PrevButton] = nThumbPosition>0; + maEnabledState[PagerUp] = nThumbPosition>0; + maEnabledState[NextButton] = nThumbPosition+nThumbSize < mnTotalSize; + maEnabledState[PagerDown] = nThumbPosition+nThumbSize < mnTotalSize; + maEnabledState[Thumb] = nThumbSize < mnTotalSize; } - - OSL_ASSERT(0 <= maBorders[LeftOrTopOfPrevButton]); - OSL_ASSERT(maBorders[LeftOrTopOfPrevButton] <= maBorders[RightOrBottomOfPrevButton]); - OSL_ASSERT(maBorders[RightOrBottomOfPrevButton] <= maBorders[LeftOrTopOfThumb]); - OSL_ASSERT(maBorders[LeftOrTopOfThumb] <= maBorders[RightOrBottomOfThumb]); - OSL_ASSERT(maBorders[RightOrBottomOfThumb] <= maBorders[LeftOrTopOfNextButton]); - OSL_ASSERT(maBorders[LeftOrTopOfNextButton] <= maBorders[RightOrBottomOfNextButton]); - OSL_ASSERT(maBorders[RightOrBottomOfNextButton] <= aWindowBox.Height); + maBox[PagerUp] = geometry::RealRectangle2D( + maBox[Pager].X1, maBox[Pager].Y1, maBox[Pager].X2, maBox[Thumb].Y1-1); + maBox[PagerDown] = geometry::RealRectangle2D( + maBox[Pager].X1, maBox[Thumb].Y2+1, maBox[Pager].X2, maBox[Pager].Y2); + maBox[Total] = PresenterGeometryHelper::Union( + PresenterGeometryHelper::Union(maBox[PrevButton], maBox[NextButton]), + maBox[Pager]); } @@ -921,24 +867,24 @@ void PresenterVerticalScrollBar::UpdateBitmaps (void) { if (mpBitmaps.get() != NULL) { - maPrevButtonSet = mpBitmaps->GetButtons(A2S("Up")); - maNextButtonSet = mpBitmaps->GetButtons(A2S("Down")); - maPagerStartSet = mpBitmaps->GetButtons(A2S("PagerTop")); - maPagerCenterSet = mpBitmaps->GetButtons(A2S("PagerVertical")); - maPagerEndSet = mpBitmaps->GetButtons(A2S("PagerBottom")); - maThumbStartSet = mpBitmaps->GetButtons(A2S("ThumbTop")); - maThumbCenterSet = mpBitmaps->GetButtons(A2S("ThumbVertical")); - maThumbEndSet = mpBitmaps->GetButtons(A2S("ThumbBottom")); + mpPrevButtonDescriptor = mpBitmaps->GetBitmap(A2S("Up")); + mpNextButtonDescriptor = mpBitmaps->GetBitmap(A2S("Down")); + mpPagerStartDescriptor = mpBitmaps->GetBitmap(A2S("PagerTop")); + mpPagerCenterDescriptor = mpBitmaps->GetBitmap(A2S("PagerVertical")); + mpPagerEndDescriptor = mpBitmaps->GetBitmap(A2S("PagerBottom")); + mpThumbStartDescriptor = mpBitmaps->GetBitmap(A2S("ThumbTop")); + mpThumbCenterDescriptor = mpBitmaps->GetBitmap(A2S("ThumbVertical")); + mpThumbEndDescriptor = mpBitmaps->GetBitmap(A2S("ThumbBottom")); mnScrollBarWidth = 0; - UpdateWidthOrHeight(mnScrollBarWidth, maPrevButtonSet); - UpdateWidthOrHeight(mnScrollBarWidth, maNextButtonSet); - UpdateWidthOrHeight(mnScrollBarWidth, maPagerStartSet); - UpdateWidthOrHeight(mnScrollBarWidth, maPagerCenterSet); - UpdateWidthOrHeight(mnScrollBarWidth, maPagerEndSet); - UpdateWidthOrHeight(mnScrollBarWidth, maThumbStartSet); - UpdateWidthOrHeight(mnScrollBarWidth, maThumbCenterSet); - UpdateWidthOrHeight(mnScrollBarWidth, maThumbEndSet); + UpdateWidthOrHeight(mnScrollBarWidth, mpPrevButtonDescriptor); + UpdateWidthOrHeight(mnScrollBarWidth, mpNextButtonDescriptor); + UpdateWidthOrHeight(mnScrollBarWidth, mpPagerStartDescriptor); + UpdateWidthOrHeight(mnScrollBarWidth, mpPagerCenterDescriptor); + UpdateWidthOrHeight(mnScrollBarWidth, mpPagerEndDescriptor); + UpdateWidthOrHeight(mnScrollBarWidth, mpThumbStartDescriptor); + UpdateWidthOrHeight(mnScrollBarWidth, mpThumbCenterDescriptor); + UpdateWidthOrHeight(mnScrollBarWidth, mpThumbEndDescriptor); if (mnScrollBarWidth == 0) mnScrollBarWidth = 20; } @@ -947,13 +893,44 @@ void PresenterVerticalScrollBar::UpdateBitmaps (void) +void PresenterVerticalScrollBar::PaintComposite( + const css::awt::Rectangle& rUpdateBox, + const Area eArea, + const SharedBitmapDescriptor& rpStartBitmaps, + const SharedBitmapDescriptor& rpCenterBitmaps, + const SharedBitmapDescriptor& rpEndBitmaps) +{ + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + geometry::RealRectangle2D aBox (GetRectangle(eArea)); + aBox.X1 += aWindowBox.X; + aBox.Y1 += aWindowBox.Y; + aBox.X2 += aWindowBox.X; + aBox.Y2 += aWindowBox.Y; + + // Get bitmaps and sizes. + + PresenterUIPainter::PaintVerticalBitmapComposite( + mxCanvas, + rUpdateBox, + (eArea == Thumb + ? PresenterGeometryHelper::ConvertRectangleWithConstantSize(aBox) + : PresenterGeometryHelper::ConvertRectangle(aBox)), + GetBitmap(eArea, rpStartBitmaps), + GetBitmap(eArea, rpCenterBitmaps), + GetBitmap(eArea, rpEndBitmaps)); +} + + + + //===== PresenterHorizontalScrollBar ============================================ PresenterHorizontalScrollBar::PresenterHorizontalScrollBar ( const Reference& rxComponentContext, const Reference& rxParentWindow, + const ::boost::shared_ptr& rpPaintManager, const ::boost::function& rThumbMotionListener) - : PresenterScrollBar(rxComponentContext, rxParentWindow, rThumbMotionListener), + : PresenterScrollBar(rxComponentContext, rxParentWindow, rpPaintManager, rThumbMotionListener), mnScrollBarHeight(0) { } @@ -968,23 +945,10 @@ PresenterHorizontalScrollBar::~PresenterHorizontalScrollBar (void) -geometry::RealRectangle2D PresenterHorizontalScrollBar::GetBorderRectangle ( - const sal_Int32 nLeftOrTopBorder, - const sal_Int32 nRightOrBottomBorder) const -{ - OSL_ASSERT(nLeftOrTopBorder < nRightOrBottomBorder); - return geometry::RealRectangle2D( - maBorders[nLeftOrTopBorder], 0, - maBorders[nRightOrBottomBorder], mnScrollBarHeight); -} - - - - double PresenterHorizontalScrollBar::GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const { (void)nY; - const sal_Int32 nDistance (nX - maDragPosition.X); + const double nDistance (nX - maDragAnchor.X); if (nDistance == 0) return 0; else @@ -992,13 +956,30 @@ double PresenterHorizontalScrollBar::GetDragDistance (const sal_Int32 nX, const const awt::Rectangle aWindowBox (mxWindow->getPosSize()); const double nBarHeight (aWindowBox.Height); const double nPagerWidth (aWindowBox.Width - 2*nBarHeight); - return mnTotalSize / nPagerWidth * nDistance; + const double nDragDistance (mnTotalSize / nPagerWidth * nDistance); + if (nDragDistance + mnThumbPosition < 0) + return -mnThumbPosition; + else if (mnThumbPosition + nDragDistance > mnTotalSize-mnThumbSize) + return mnTotalSize-mnThumbSize-mnThumbPosition; + else + return nDragDistance; } } +void PresenterHorizontalScrollBar::UpdateDragAnchor (const double nDragDistance) +{ + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + const double nBarHeight (aWindowBox.Height); + const double nPagerWidth (aWindowBox.Width - 2*nBarHeight); + maDragAnchor.X += nDragDistance * nPagerWidth / mnTotalSize; +} + + + + sal_Int32 PresenterHorizontalScrollBar::GetSize (void) const { return mnScrollBarHeight; @@ -1038,39 +1019,68 @@ double PresenterHorizontalScrollBar::GetMinor (const double nX, const double nY) void PresenterHorizontalScrollBar::UpdateBorders (void) { const awt::Rectangle aWindowBox (mxWindow->getPosSize()); - const double nButtonWidth = (aWindowBox.Width>2*mnScrollBarHeight - ? mnScrollBarHeight : aWindowBox.Width/2.0); - const double nPagerWidth (aWindowBox.Width - 2*nButtonWidth); - - maBorders[LeftOrTopOfPrevButton] = 0; - maBorders[RightOrBottomOfPrevButton] = nButtonWidth; - maBorders[LeftOrTopOfNextButton] = nPagerWidth + nButtonWidth; - maBorders[RightOrBottomOfNextButton] = aWindowBox.Width; - if (mnTotalSize <= 0) + double nRight = aWindowBox.Width; + const double nGap (2); + + if (mpNextButtonDescriptor.get() != NULL) { - maBorders[LeftOrTopOfThumb] = maBorders[RightOrBottomOfPrevButton]; - maBorders[RightOrBottomOfThumb] = maBorders[LeftOrTopOfNextButton]; + Reference xBitmap (mpNextButtonDescriptor->GetNormalBitmap()); + if (xBitmap.is()) + { + geometry::IntegerSize2D aSize (xBitmap->getSize()); + maBox[NextButton] = geometry::RealRectangle2D( + nRight - aSize.Width,0, nRight, aWindowBox.Height); + nRight -= aSize.Width + nGap; + } } - else + if (mpPrevButtonDescriptor.get() != NULL) { - maBorders[LeftOrTopOfThumb] = clip ( - maBorders[RightOrBottomOfPrevButton], - maBorders[LeftOrTopOfNextButton], - nButtonWidth + (mnThumbPosition) / mnTotalSize * nPagerWidth); - maBorders[RightOrBottomOfThumb] = clip ( - maBorders[RightOrBottomOfPrevButton], - maBorders[LeftOrTopOfNextButton], - nButtonWidth + (mnThumbPosition+mnThumbSize) / mnTotalSize * nPagerWidth); + Reference xBitmap (mpPrevButtonDescriptor->GetNormalBitmap()); + if (xBitmap.is()) + { + geometry::IntegerSize2D aSize (xBitmap->getSize()); + maBox[PrevButton] = geometry::RealRectangle2D( + nRight - aSize.Width,0, nRight, aWindowBox.Height); + nRight -= aSize.Width + nGap; + } } - - OSL_ASSERT(0 <= maBorders[LeftOrTopOfPrevButton]); - OSL_ASSERT(maBorders[LeftOrTopOfPrevButton] <= maBorders[RightOrBottomOfPrevButton]); - OSL_ASSERT(maBorders[RightOrBottomOfPrevButton] <= maBorders[LeftOrTopOfThumb]); - OSL_ASSERT(maBorders[LeftOrTopOfThumb] <= maBorders[RightOrBottomOfThumb]); - OSL_ASSERT(maBorders[RightOrBottomOfThumb] <= maBorders[LeftOrTopOfNextButton]); - OSL_ASSERT(maBorders[LeftOrTopOfNextButton] <= maBorders[RightOrBottomOfNextButton]); - OSL_ASSERT(maBorders[RightOrBottomOfNextButton] <= aWindowBox.Width); + const double nPagerWidth (nRight); + maBox[Pager] = geometry::RealRectangle2D( + 0,0, nRight, aWindowBox.Height); + if (mnTotalSize == 0) + { + maBox[Thumb] = maBox[Pager]; + + // Set up the enabled/disabled states. + maEnabledState[PrevButton] = false; + maEnabledState[PagerUp] = false; + maEnabledState[NextButton] = false; + maEnabledState[PagerDown] = false; + maEnabledState[Thumb] = false; + } + else + { + const double nThumbSize = ::std::min(mnThumbSize,mnTotalSize); + const double nThumbPosition = ::std::min(::std::max(0.0,mnThumbPosition), mnTotalSize - nThumbSize); + maBox[Thumb] = geometry::RealRectangle2D( + (nThumbPosition) / mnTotalSize * nPagerWidth, 0, + (nThumbPosition+nThumbSize) / mnTotalSize * nPagerWidth, aWindowBox.Height); + + // Set up the enabled/disabled states. + maEnabledState[PrevButton] = nThumbPosition>0; + maEnabledState[PagerUp] = nThumbPosition>0; + maEnabledState[NextButton] = nThumbPosition+nThumbSize < mnTotalSize; + maEnabledState[PagerDown] = nThumbPosition+nThumbSize < mnTotalSize; + maEnabledState[Thumb] = nThumbSize < mnTotalSize; + } + maBox[PagerUp] = geometry::RealRectangle2D( + maBox[Pager].X1, maBox[Pager].Y1, maBox[Thumb].X1-1, maBox[Pager].Y2); + maBox[PagerDown] = geometry::RealRectangle2D( + maBox[Thumb].X2+1, maBox[Pager].Y1, maBox[Pager].X2, maBox[Pager].Y2); + maBox[Total] = PresenterGeometryHelper::Union( + PresenterGeometryHelper::Union(maBox[PrevButton], maBox[NextButton]), + maBox[Pager]); } @@ -1080,24 +1090,24 @@ void PresenterHorizontalScrollBar::UpdateBitmaps (void) { if (mpBitmaps.get() != NULL) { - maPrevButtonSet = mpBitmaps->GetButtons(A2S("Left")); - maNextButtonSet = mpBitmaps->GetButtons(A2S("Right")); - maPagerStartSet = mpBitmaps->GetButtons(A2S("PagerLeft")); - maPagerCenterSet = mpBitmaps->GetButtons(A2S("PagerHorizontal")); - maPagerEndSet = mpBitmaps->GetButtons(A2S("PagerRight")); - maThumbStartSet = mpBitmaps->GetButtons(A2S("ThumbLeft")); - maThumbCenterSet = mpBitmaps->GetButtons(A2S("ThumbHorizontal")); - maThumbEndSet = mpBitmaps->GetButtons(A2S("ThumbRight")); + mpPrevButtonDescriptor = mpBitmaps->GetBitmap(A2S("Left")); + mpNextButtonDescriptor = mpBitmaps->GetBitmap(A2S("Right")); + mpPagerStartDescriptor = mpBitmaps->GetBitmap(A2S("PagerLeft")); + mpPagerCenterDescriptor = mpBitmaps->GetBitmap(A2S("PagerHorizontal")); + mpPagerEndDescriptor = mpBitmaps->GetBitmap(A2S("PagerRight")); + mpThumbStartDescriptor = mpBitmaps->GetBitmap(A2S("ThumbLeft")); + mpThumbCenterDescriptor = mpBitmaps->GetBitmap(A2S("ThumbHorizontal")); + mpThumbEndDescriptor = mpBitmaps->GetBitmap(A2S("ThumbRight")); mnScrollBarHeight = 0; - UpdateWidthOrHeight(mnScrollBarHeight, maPrevButtonSet); - UpdateWidthOrHeight(mnScrollBarHeight, maNextButtonSet); - UpdateWidthOrHeight(mnScrollBarHeight, maPagerStartSet); - UpdateWidthOrHeight(mnScrollBarHeight, maPagerCenterSet); - UpdateWidthOrHeight(mnScrollBarHeight, maPagerEndSet); - UpdateWidthOrHeight(mnScrollBarHeight, maThumbStartSet); - UpdateWidthOrHeight(mnScrollBarHeight, maThumbCenterSet); - UpdateWidthOrHeight(mnScrollBarHeight, maThumbEndSet); + UpdateWidthOrHeight(mnScrollBarHeight, mpPrevButtonDescriptor); + UpdateWidthOrHeight(mnScrollBarHeight, mpNextButtonDescriptor); + UpdateWidthOrHeight(mnScrollBarHeight, mpPagerStartDescriptor); + UpdateWidthOrHeight(mnScrollBarHeight, mpPagerCenterDescriptor); + UpdateWidthOrHeight(mnScrollBarHeight, mpPagerEndDescriptor); + UpdateWidthOrHeight(mnScrollBarHeight, mpThumbStartDescriptor); + UpdateWidthOrHeight(mnScrollBarHeight, mpThumbCenterDescriptor); + UpdateWidthOrHeight(mnScrollBarHeight, mpThumbEndDescriptor); if (mnScrollBarHeight == 0) mnScrollBarHeight = 20; } @@ -1105,4 +1115,30 @@ void PresenterHorizontalScrollBar::UpdateBitmaps (void) +void PresenterHorizontalScrollBar::PaintComposite( + const css::awt::Rectangle& rUpdateBox, + const Area eArea, + const SharedBitmapDescriptor& rpStartBitmaps, + const SharedBitmapDescriptor& rpCenterBitmaps, + const SharedBitmapDescriptor& rpEndBitmaps) +{ + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + geometry::RealRectangle2D aBox (GetRectangle(eArea)); + aBox.X1 += aWindowBox.X; + aBox.Y1 += aWindowBox.Y; + aBox.X2 += aWindowBox.X; + aBox.Y2 += aWindowBox.Y; + + PresenterUIPainter::PaintHorizontalBitmapComposite( + mxCanvas, + rUpdateBox, + PresenterGeometryHelper::ConvertRectangle(aBox), + GetBitmap(eArea, rpStartBitmaps), + GetBitmap(eArea, rpCenterBitmaps), + GetBitmap(eArea, rpEndBitmaps)); +} + + + + } } // end of namespace ::sdext::presenter -- cgit From f134bf943b317403e6bc9a72273ac2273607745b Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:36:55 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:26:15 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 15:59:36 af 1.2.4.1: #i18486# Improved display of scroll bars. --- sdext/source/presenter/PresenterScrollBar.hxx | 131 +++++++++++++++----------- 1 file changed, 77 insertions(+), 54 deletions(-) diff --git a/sdext/source/presenter/PresenterScrollBar.hxx b/sdext/source/presenter/PresenterScrollBar.hxx index 43d042084d36..4e733101a042 100644 --- a/sdext/source/presenter/PresenterScrollBar.hxx +++ b/sdext/source/presenter/PresenterScrollBar.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterScrollBar.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include #include @@ -48,9 +48,12 @@ namespace css = ::com::sun::star; namespace sdext { namespace presenter { +class PresenterPaintManager; + namespace { - typedef ::cppu::WeakComponentImplHelper3 < + typedef ::cppu::WeakComponentImplHelper4 < css::awt::XWindowListener, + css::awt::XPaintListener, css::awt::XMouseListener, css::awt::XMouseMotionListener > PresenterScrollBarInterfaceBase; @@ -69,6 +72,8 @@ public: virtual void SAL_CALL disposing (void); + void SetVisible (const bool bIsVisible); + /** Set the bounding box of the scroll bar. */ void SetPosSize (const css::geometry::RealRectangle2D& rBox); @@ -78,7 +83,9 @@ public: A value between 0 and the last value given to SetTotalSize() minus the last value given to SetThumbSize(). */ - void SetThumbPosition (const double nPosition); + void SetThumbPosition ( + double nPosition, + const bool bAsynchronousRepaint); /** Set the upper border of the slider range. */ @@ -94,12 +101,17 @@ public: */ void SetCanvas (const css::uno::Reference& rxCanvas); + /** Call this after changing total size or thumb position or size to + move the thumb to a valid position. + */ + void CheckValues (void); + /** On some occasions it is necessary to trigger the painting of a scrollbar from the outside. */ virtual void Paint ( const css::awt::Rectangle& rUpdateBox, - bool bNoClip = false); + bool bNoClip = false); virtual sal_Int32 GetSize (void) const = 0; @@ -118,6 +130,12 @@ public: throw (css::uno::RuntimeException); + // XPaintListener + + virtual void SAL_CALL windowPaint (const css::awt::PaintEvent& rEvent) + throw (css::uno::RuntimeException); + + // XMouseListener virtual void SAL_CALL mousePressed (const css::awt::MouseEvent& rEvent) @@ -153,78 +171,73 @@ protected: css::uno::Reference mxWindow; css::uno::Reference mxCanvas; css::uno::Reference mxPresenterHelper; + ::boost::shared_ptr mpPaintManager; double mnThumbPosition; double mnTotalSize; double mnThumbSize; - css::awt::Point maDragPosition; + css::geometry::RealPoint2D maDragAnchor; ::boost::function maThumbMotionListener; - enum Area { None, Total, Pager, Thumb, PagerUp, PagerDown, PrevButton, NextButton }; + enum Area { Total, Pager, Thumb, PagerUp, PagerDown, PrevButton, NextButton, None, + __AreaCount__ = None }; Area meButtonDownArea; Area meMouseMoveArea; - enum Border { - LeftOrTopOfPrevButton, - RightOrBottomOfPrevButton, - LeftOrTopOfThumb, - RightOrBottomOfThumb, - LeftOrTopOfNextButton, - RightOrBottomOfNextButton, - _Count - }; - double maBorders[_Count]; + css::geometry::RealRectangle2D maBox[__AreaCount__]; bool mbIsNotificationActive; static boost::weak_ptr mpSharedBitmaps; boost::shared_ptr mpBitmaps; - PresenterBitmapContainer::BitmapSet maPrevButtonSet; - PresenterBitmapContainer::BitmapSet maNextButtonSet; - PresenterBitmapContainer::BitmapSet maPagerStartSet; - PresenterBitmapContainer::BitmapSet maPagerCenterSet; - PresenterBitmapContainer::BitmapSet maPagerEndSet; - PresenterBitmapContainer::BitmapSet maThumbStartSet; - PresenterBitmapContainer::BitmapSet maThumbCenterSet; - PresenterBitmapContainer::BitmapSet maThumbEndSet; + SharedBitmapDescriptor mpPrevButtonDescriptor; + SharedBitmapDescriptor mpNextButtonDescriptor; + SharedBitmapDescriptor mpPagerStartDescriptor; + SharedBitmapDescriptor mpPagerCenterDescriptor; + SharedBitmapDescriptor mpPagerEndDescriptor; + SharedBitmapDescriptor mpThumbStartDescriptor; + SharedBitmapDescriptor mpThumbCenterDescriptor; + SharedBitmapDescriptor mpThumbEndDescriptor; + bool maEnabledState[__AreaCount__]; virtual css::geometry::RealRectangle2D GetRectangle (const Area eArea) const; - virtual css::geometry::RealRectangle2D GetBorderRectangle ( - const sal_Int32 nLeftOrTopBorder, - const sal_Int32 nRightOrBottomBorder) const = 0; virtual double GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const = 0; + virtual void UpdateDragAnchor (const double nDragDistance) = 0; virtual css::geometry::RealPoint2D GetPoint (const double nMajor, const double nMinor) const = 0; virtual double GetMajor (const double nX, const double nY) const = 0; virtual double GetMinor (const double nX, const double nY) const = 0; virtual void UpdateBorders (void) = 0; virtual void UpdateBitmaps (void) = 0; + virtual void PaintComposite( + const css::awt::Rectangle& rRepaintBox, + const Area eArea, + const SharedBitmapDescriptor& rpStartBitmaps, + const SharedBitmapDescriptor& rpCenterBitmaps, + const SharedBitmapDescriptor& rpEndBitmaps) = 0; PresenterScrollBar ( const css::uno::Reference& rxComponentContext, const css::uno::Reference& rxParentWindow, + const ::boost::shared_ptr& rpPaintManager, const ::boost::function& rThumbMotionListener); - void Repaint (const css::geometry::RealRectangle2D aBox); - void Paint( - const Area eArea, - const PresenterBitmapContainer::BitmapSet& rBitmaps, - const double nRed, - const double nGreen, - const double nBlue); + void Repaint ( + const css::geometry::RealRectangle2D aBox, + const bool bAsynchronous); void PaintBitmap( + const css::awt::Rectangle& rRepaintBox, const Area eArea, - const PresenterBitmapContainer::BitmapSet& rBitmaps); - void PaintBox ( - const Area eArea, - const double nRed, - const double nGreen, - const double nBlue); - void Paint( - const Area eArea, - const PresenterBitmapContainer::BitmapSet& rStartBitmaps, - const PresenterBitmapContainer::BitmapSet& rCenterBitmaps, - const PresenterBitmapContainer::BitmapSet& rEndBitmaps); + const SharedBitmapDescriptor& rpBitmaps); void NotifyThumbPositionChange (void); void UpdateWidthOrHeight (sal_Int32& rSize, - const PresenterBitmapContainer::BitmapSet& rSet); + const SharedBitmapDescriptor& rpDescriptor); css::uno::Reference GetBitmap ( const Area eArea, - const PresenterBitmapContainer::BitmapSet& rBitmaps) const; + const SharedBitmapDescriptor& rpBitmaps) const; + PresenterBitmapContainer::BitmapDescriptor::Mode GetBitmapMode ( + const Area eArea) const; + bool IsDisabled (const Area eArea) const; + double ValidateThumbPosition (double nPosition); + void SetThumbPosition ( + double nPosition, + const bool bAsynchronousRepaint, + const bool bValidate, + const bool bNotify); private: Area GetArea (const double nX, const double nY) const; @@ -241,20 +254,25 @@ public: PresenterVerticalScrollBar ( const css::uno::Reference& rxComponentContext, const css::uno::Reference& rxParentWindow, + const ::boost::shared_ptr& rpPaintManager, const ::boost::function& rThumbMotionListener); virtual ~PresenterVerticalScrollBar (void); virtual sal_Int32 GetSize (void) const; protected: - virtual css::geometry::RealRectangle2D GetBorderRectangle ( - const sal_Int32 nLeftOrTopBorder, - const sal_Int32 nRightOrBottomBorder) const; virtual double GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const; + virtual void UpdateDragAnchor (const double nDragDistance); virtual css::geometry::RealPoint2D GetPoint (const double nMajor, const double nMinor) const; virtual double GetMinor (const double nX, const double nY) const; virtual double GetMajor (const double nX, const double nY) const; virtual void UpdateBorders (void); virtual void UpdateBitmaps (void); + virtual void PaintComposite( + const css::awt::Rectangle& rRepaintBox, + const Area eArea, + const SharedBitmapDescriptor& rpStartBitmaps, + const SharedBitmapDescriptor& rpCenterBitmaps, + const SharedBitmapDescriptor& rpEndBitmaps); private: sal_Int32 mnScrollBarWidth; @@ -271,20 +289,25 @@ public: PresenterHorizontalScrollBar ( const css::uno::Reference& rxComponentContext, const css::uno::Reference& rxParentWindow, + const ::boost::shared_ptr& rpPaintManager, const ::boost::function& rThumbMotionListener); virtual ~PresenterHorizontalScrollBar (void); virtual sal_Int32 GetSize (void) const; protected: - virtual css::geometry::RealRectangle2D GetBorderRectangle ( - const sal_Int32 nLeftOrTopBorder, - const sal_Int32 nRightOrBottomBorder) const; virtual double GetDragDistance (const sal_Int32 nX, const sal_Int32 nY) const; + virtual void UpdateDragAnchor (const double nDragDistance); virtual css::geometry::RealPoint2D GetPoint (const double nMajor, const double nMinor) const; virtual double GetMinor (const double nX, const double nY) const; virtual double GetMajor (const double nX, const double nY) const; virtual void UpdateBorders (void); virtual void UpdateBitmaps (void); + virtual void PaintComposite( + const css::awt::Rectangle& rRepaintBox, + const Area eArea, + const SharedBitmapDescriptor& rpStartBitmaps, + const SharedBitmapDescriptor& rpCenterBitmaps, + const SharedBitmapDescriptor& rpEndBitmaps); private: sal_Int32 mnScrollBarHeight; -- cgit From a83c7af0e1e44a70154b9321812e0c87d32e818d Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:37:07 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/23 13:16:52 af 1.2.4.3: #i18486# Fixed detection of slide aspect ratio. 2008/04/22 08:24:40 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:00:49 af 1.2.4.1: #i18486# Imvalidating via the paint manager. --- sdext/source/presenter/PresenterSlidePreview.cxx | 99 +++++++++++------------- 1 file changed, 44 insertions(+), 55 deletions(-) diff --git a/sdext/source/presenter/PresenterSlidePreview.cxx b/sdext/source/presenter/PresenterSlidePreview.cxx index 02157fad85a8..a375b4dfb8cd 100644 --- a/sdext/source/presenter/PresenterSlidePreview.cxx +++ b/sdext/source/presenter/PresenterSlidePreview.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterSlidePreview.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,7 +30,9 @@ ************************************************************************/ #include "PresenterSlidePreview.hxx" -#include +#include "PresenterCanvasHelper.hxx" +#include "PresenterGeometryHelper.hxx" +#include "PresenterPaintManager.hxx" #include #include #include @@ -67,6 +69,7 @@ PresenterSlidePreview::PresenterSlidePreview ( mxPreviewRenderer(), mxPreview(), mxCurrentSlide(), + mnSlideAspectRatio(28.0 / 21.0), mxWindow(), mxCanvas() { @@ -96,6 +99,8 @@ PresenterSlidePreview::PresenterSlidePreview ( mxWindow->setVisible(sal_True); } + if (mpPresenterController.get() != NULL) + mnSlideAspectRatio = mpPresenterController->GetSlideAspectRatio(); Reference xFactory (rxContext->getServiceManager(), UNO_QUERY); if (xFactory.is()) @@ -281,13 +286,11 @@ void PresenterSlidePreview::SetSlide (const Reference& rxPag { OSL_ASSERT(false); } - if (aSlideSize.Height > 0) - mnSlideAspectRatio = double(aSlideSize.Width) / double(aSlideSize.Height); } - Reference xPeer (mxWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->invalidate(awt::InvalidateStyle::NOERASE); + // The preview is not transparent, therefore only this window, not its + // parent, has to be invalidated. + mpPresenterController->GetPaintManager()->Invalidate(mxWindow); } @@ -316,79 +319,65 @@ void PresenterSlidePreview::Paint (const awt::Rectangle& rBoundingBox) mxCanvas); } - const rendering::ViewState aViewState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL); - - // Paint the background + // Determine the bounding box of the preview. + awt::Rectangle aPreviewBox; + if (mxPreview.is()) { - util::Color aColor ( - mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL())); - Sequence aBackgroundColor(3); - aBackgroundColor[0] = ((aColor >> 16) & 0x0ff) / 255.0; - aBackgroundColor[1] = ((aColor >> 8) & 0x0ff) / 255.0; - aBackgroundColor[2] = ((aColor >> 0) & 0x0ff) / 255.0; - const rendering::RenderState aRenderState ( - geometry::AffineMatrix2D(1, 0, 0, 0, 1, 0), - NULL, - aBackgroundColor, - rendering::CompositeOperation::SOURCE); - - Sequence > aBox(1); - aBox[0] = Sequence(4); - aBox[0][0] = geometry::RealPoint2D(0,0); - aBox[0][1] = geometry::RealPoint2D(aWindowBox.Width, 0); - aBox[0][2] = geometry::RealPoint2D(aWindowBox.Width, aWindowBox.Height); - aBox[0][3] = geometry::RealPoint2D(0, aWindowBox.Height); - Reference xPolygon ( - mxCanvas->getDevice()->createCompatibleLinePolyPolygon(aBox), - UNO_QUERY); - if (xPolygon.is()) + const geometry::IntegerSize2D aPreviewSize (mxPreview->getSize()); + aPreviewBox = awt::Rectangle( + (aWindowBox.Width - aPreviewSize.Width)/2, + (aWindowBox.Height - aPreviewSize.Height)/2, + aPreviewSize.Width, + aPreviewSize.Height); + } + else + { + if (mnSlideAspectRatio > 0) { - xPolygon->setClosed(0, sal_True); - mxCanvas->fillPolyPolygon(xPolygon, aViewState, aRenderState); + const awt::Size aPreviewSize (mxPreviewRenderer->calculatePreviewSize( + mnSlideAspectRatio,awt::Size(aWindowBox.Width, aWindowBox.Height))); + aPreviewBox = awt::Rectangle( + (aWindowBox.Width - aPreviewSize.Width)/2, + (aWindowBox.Height - aPreviewSize.Height)/2, + aPreviewSize.Width, + aPreviewSize.Height); } } + // Paint the background. + mpPresenterController->GetCanvasHelper()->Paint( + mpPresenterController->GetViewBackground(mxViewId->getResourceURL()), + mxCanvas, + rBoundingBox, + awt::Rectangle(0,0,aWindowBox.Width,aWindowBox.Height), + aPreviewBox); + // Paint the preview. + const rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + Sequence aBackgroundColor(3); aBackgroundColor[0] = 0; aBackgroundColor[1] = 0; aBackgroundColor[2] = 0; rendering::RenderState aRenderState ( - geometry::AffineMatrix2D(1, 0, 0, 0, 1, 0), + geometry::AffineMatrix2D(1, 0, aPreviewBox.X, 0, 1, aPreviewBox.Y), NULL, aBackgroundColor, rendering::CompositeOperation::SOURCE); if (mxPreview.is()) { - const geometry::IntegerSize2D aPreviewSize (mxPreview->getSize()); - aRenderState.AffineTransform.m02 = (aWindowBox.Width - aPreviewSize.Width)/2; - aRenderState.AffineTransform.m12 = (aWindowBox.Height - aPreviewSize.Height)/2; mxCanvas->drawBitmap(mxPreview, aViewState, aRenderState); } else { if (mnSlideAspectRatio > 0) { - const awt::Size aPreviewSize (mxPreviewRenderer->calculatePreviewSize( - mnSlideAspectRatio,awt::Size(aWindowBox.Width, aWindowBox.Height))); - aRenderState.AffineTransform.m02 = (aWindowBox.Width - aPreviewSize.Width)/2; - aRenderState.AffineTransform.m12 = (aWindowBox.Height - aPreviewSize.Height)/2; - Sequence > aBox(1); - aBox[0] = Sequence(4); - aBox[0][0] = geometry::RealPoint2D(0,0); - aBox[0][1] = geometry::RealPoint2D(aPreviewSize.Width, 0); - aBox[0][2] = geometry::RealPoint2D(aPreviewSize.Width, aPreviewSize.Height); - aBox[0][3] = geometry::RealPoint2D(0, aPreviewSize.Height); Reference xPolygon ( - mxCanvas->getDevice()->createCompatibleLinePolyPolygon(aBox), - UNO_QUERY); + PresenterGeometryHelper::CreatePolygon(aPreviewBox, mxCanvas->getDevice())); if (xPolygon.is()) - { - xPolygon->setClosed(0, sal_False); mxCanvas->fillPolyPolygon(xPolygon, aViewState, aRenderState); - } } } -- cgit From 3a007d956603883f235625c09e8a87fe0bbed57e Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:37:20 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 08:34:48 af 1.2.4.3: #i88853# Note a service anymore. 2008/04/22 08:26:32 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:02:35 af 1.2.4.1: #i18486# Made slide show view cachable. Improved painting the area around the actual slide preview. --- sdext/source/presenter/PresenterSlideShowView.cxx | 652 ++++++++++++++-------- 1 file changed, 430 insertions(+), 222 deletions(-) diff --git a/sdext/source/presenter/PresenterSlideShowView.cxx b/sdext/source/presenter/PresenterSlideShowView.cxx index 8c9c43502d60..c2eecd0829af 100644 --- a/sdext/source/presenter/PresenterSlideShowView.cxx +++ b/sdext/source/presenter/PresenterSlideShowView.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterSlideShowView.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -31,7 +31,11 @@ #include "PresenterSlideShowView.hxx" +#include "PresenterCanvasHelper.hxx" #include "PresenterGeometryHelper.hxx" +#include "PresenterHelper.hxx" +#include "PresenterPaneContainer.hxx" +#include #include #include #include @@ -43,6 +47,8 @@ #include #include #include +#include +#include #include using namespace ::com::sun::star; @@ -50,178 +56,126 @@ using namespace ::com::sun::star::uno; using namespace ::com::sun::star::drawing::framework; using ::rtl::OUString; -namespace sdext { namespace presenter { - -//===== Service =============================================================== - -OUString PresenterSlideShowView::getImplementationName_static (void) -{ - return OUString::createFromAscii("com.sun.star.comp.Presenter.SlideShowView"); -} - - - - -Sequence PresenterSlideShowView::getSupportedServiceNames_static (void) -{ - static const ::rtl::OUString sServiceName( - ::rtl::OUString::createFromAscii("com.sun.star.drawing.presenter.SlideShowView")); - return Sequence(&sServiceName, 1); -} - - - - -Reference PresenterSlideShowView::Create ( - const Reference& rxContext) - SAL_THROW((Exception)) -{ - return Reference(static_cast(new PresenterSlideShowView(rxContext))); -} - - +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) +namespace sdext { namespace presenter { //===== PresenterSlideShowView ================================================ -PresenterSlideShowView::PresenterSlideShowView (const Reference& rxContext) +PresenterSlideShowView::PresenterSlideShowView ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController) : PresenterSlideShowViewInterfaceBase(m_aMutex), mxComponentContext(rxContext), - mxViewId(), - mxController(), - mxSlideShowController(), + mpPresenterController(rpPresenterController), + mxViewId(rxViewId), + mxController(rxController), + mxSlideShowController(PresenterHelper::GetSlideShowController(rxController)), mxSlideShow(), mxCanvas(), mxViewCanvas(), mxPointer(), mxWindow(), mxViewWindow(), - mxBackgroundPolyPolygon(), - mnPageAspectRatio(1), + mxBackgroundPolygon1(), + mxBackgroundPolygon2(), + mbIsViewAdded(false), + mnPageAspectRatio(28.0/21.0), maBroadcaster(m_aMutex), - maBackgroundColor(0x00ffffff), + mpBackground(), mbIsInModifyNotification(false), mbIsForcedPaintPending(false), - mbIsPaintPending(true) + mbIsPaintPending(true), + msClickToExitPresentationText(), + msClickToExitPresentationTitle(), + msTitleTemplate(), + mbIsEndSlideVisible(false), + mxCurrentSlide() { + if (mpPresenterController.get() != NULL) + { + mnPageAspectRatio = mpPresenterController->GetSlideAspectRatio(); + mpBackground = mpPresenterController->GetViewBackground(mxViewId->getResourceURL()); + } } - -void SAL_CALL PresenterSlideShowView::initialize (const Sequence& rArguments) - throw (Exception, RuntimeException) +void PresenterSlideShowView::LateInit (void) { - ThrowIfDisposed(); - ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); - - if (rArguments.getLength() == 5) + mxSlideShow = Reference ( + mxSlideShowController->getSlideShow(), UNO_QUERY_THROW); + Reference xSlideShowComponent (mxSlideShow, UNO_QUERY); + if (xSlideShowComponent.is()) + xSlideShowComponent->addEventListener(static_cast(this)); + + // Use view id and controller to retrieve window and canvas from + // configuration controller. + Reference xCM (mxController, UNO_QUERY_THROW); + Reference xCC (xCM->getConfigurationController()); + + if (xCC.is()) { - try - { - // Extract the given arguments. - if ( ! (rArguments[0] >>= mxViewId)) - { - throw lang::IllegalArgumentException( - OUString::createFromAscii("PresenterSlideShowView: invalid view id"), - static_cast(this), - 0); - } - if ( ! (rArguments[1] >>= mxController)) - { - throw lang::IllegalArgumentException( - OUString::createFromAscii("PresenterSlideShowView: invalid XController"), - static_cast(this), - 1); - } - if ( ! (rArguments[2] >>= mxSlideShowController)) - { - throw lang::IllegalArgumentException( - OUString::createFromAscii("PresenterSlideShowView: invalid XSlideShowController"), - static_cast(this), - 2); - } - if ( ! (rArguments[3] >>= mnPageAspectRatio)) - { - throw lang::IllegalArgumentException( - OUString::createFromAscii("PresenterSlideShowView: invalid aspect ratio"), - static_cast(this), - 3); - } - if ( ! (rArguments[4] >>= maBackgroundColor)) - { - throw lang::IllegalArgumentException( - OUString::createFromAscii("PresenterSlideShowView: invalid background color"), - static_cast(this), - 4); - } - - mxSlideShow = Reference ( - mxSlideShowController->getSlideShow(), UNO_QUERY_THROW); - - // Use view id and controller to retrieve window and canvas from - // configuration controller. - Reference xCM (mxController, UNO_QUERY_THROW); - Reference xCC (xCM->getConfigurationController()); - - if (xCC.is()) - { - Reference xPane (xCC->getResource(mxViewId->getAnchor()), UNO_QUERY_THROW); - - mxWindow = xPane->getWindow(); - mxCanvas = xPane->getCanvas(); - } - - if (mxWindow.is()) - { - // Register listeners at window. - mxWindow->addPaintListener(this); - mxWindow->addMouseListener(this); - mxWindow->addMouseMotionListener(this); - mxWindow->addWindowListener(this); - - mxWindow->setVisible(sal_True); - - Reference xPeer (mxWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->setBackground(util::Color(0xff000000)); - } - - mxViewWindow = CreateViewWindow(mxWindow); - if (mxViewWindow.is()) - Resize(); - - // Create a canvas for the view window. - Reference xFactory ( - mxComponentContext->getServiceManager(), UNO_QUERY_THROW); - Reference xPresenterHelper( - xFactory->createInstanceWithContext( - OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), - mxComponentContext), - UNO_QUERY_THROW); - Reference xParentPane ( - xCC->getResource(mxViewId->getAnchor()->getAnchor()), - UNO_QUERY_THROW); - mxViewCanvas = xPresenterHelper->createSharedCanvas( - Reference(xParentPane->getCanvas(), UNO_QUERY), - xParentPane->getWindow(), - xParentPane->getCanvas(), - xParentPane->getWindow(), - mxViewWindow); - } - catch (RuntimeException&) + Reference xPane (xCC->getResource(mxViewId->getAnchor()), UNO_QUERY_THROW); + + mxWindow = xPane->getWindow(); + mxCanvas = xPane->getCanvas(); + + if (mxWindow.is()) { - OSL_ENSURE(false, "PresenterSlideShowView::initialize(): caught exception"); - disposing(); - throw; + mxWindow->addPaintListener(this); + mxWindow->addWindowListener(this); } + + // The window does not have to paint a background. We do + // that ourself. + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->setBackground(util::Color(0xff000000)); } - else + + // Create a window for the actual slide show view. It is places + // centered and with maximal size inside the pane. + mxViewWindow = CreateViewWindow(mxWindow); + mxViewCanvas = CreateViewCanvas(mxViewWindow, + Reference(xCC->getResource(mxViewId->getAnchor()->getAnchor()), UNO_QUERY)); + + if (mxViewWindow.is()) { - throw RuntimeException( - OUString::createFromAscii("PresenterSlideShowView: invalid number of arguments"), - static_cast(this)); + // Register listeners at window. + mxViewWindow->addPaintListener(this); + mxViewWindow->addMouseListener(this); + mxViewWindow->addMouseMotionListener(this); } + + if (mxViewWindow.is()) + Resize(); + + if (mxWindow.is()) + mxWindow->setVisible(sal_True); + + // Add the new slide show view to the slide show. + if (mxSlideShow.is() && ! mbIsViewAdded) + { + mxSlideShow->addView(this); + mbIsViewAdded = true; + } + + // Read text for one past last slide. + PresenterConfigurationAccess aConfiguration ( + mxComponentContext, + PresenterConfigurationAccess::msPresenterScreenRootName, + PresenterConfigurationAccess::READ_ONLY); + aConfiguration.GetConfigurationNode( + A2S("Presenter/Views/CurrentSlidePreview/" + "Strings/ClickToExitPresentationText/String")) + >>= msClickToExitPresentationText; + aConfiguration.GetConfigurationNode( + A2S("Presenter/Views/CurrentSlidePreview/" + "Strings/ClickToExitPresentationTitle/String")) + >>= msClickToExitPresentationTitle; } @@ -236,6 +190,18 @@ PresenterSlideShowView::~PresenterSlideShowView (void) void PresenterSlideShowView::disposing (void) { + // Tell all listeners that we are disposed. + lang::EventObject aEvent; + aEvent.Source = static_cast(this); + + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + pIterator->disposeAndClear(aEvent); + + // Do this for + // XPaintListener, XModifyListener,XMouseListener,XMouseMotionListener,XWindowListener? + if (mxWindow.is()) { mxWindow->removePaintListener(this); @@ -244,12 +210,15 @@ void PresenterSlideShowView::disposing (void) mxWindow->removeWindowListener(this); mxWindow = NULL; } - if (mxViewWindow.is()) + mxSlideShowController = NULL; + if (mxSlideShow.is()) { - Reference xComponent (mxViewWindow, UNO_QUERY); - mxViewWindow = NULL; - if (xComponent.is()) - xComponent->dispose(); + if (mbIsViewAdded) + { + mxSlideShow->removeView(this); + mbIsViewAdded = false; + } + mxSlideShow = NULL; } if (mxViewCanvas.is()) { @@ -258,20 +227,79 @@ void PresenterSlideShowView::disposing (void) if (xComponent.is()) xComponent->dispose(); } - lang::EventObject aEvent; - aEvent.Source = static_cast(this); - ::cppu::OInterfaceContainerHelper* pIterator - = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); - if (pIterator != NULL) - pIterator->disposeAndClear(aEvent); - // Do this for - // XModifyListener,XMouseListener,XMouseMotionListener,XWindowListener? + if (mxViewWindow.is()) + { + Reference xComponent (mxViewWindow, UNO_QUERY); + mxViewWindow = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + mxComponentContext = NULL; } +//----- XDrawView ------------------------------------------------------------- + +void SAL_CALL PresenterSlideShowView::setCurrentPage ( + const css::uno::Reference& rxSlide) + throw (css::uno::RuntimeException) +{ + mxCurrentSlide = rxSlide; + if (mpPresenterController.get() != NULL + && mxSlideShowController.is() + && ! mpPresenterController->GetCurrentSlide().is() + && ! mxSlideShowController->isPaused()) + { + mbIsEndSlideVisible = true; + Reference xPeer (mxViewWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->invalidate(awt::InvalidateStyle::NOTRANSPARENT); + + // For the end slide we use a special title, without the (n of m) + // part. Save the title template for the case that the user goes + // backwards. + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPresenterController->GetPaneContainer()->FindViewURL(mxViewId->getResourceURL())); + if (pDescriptor.get() != NULL) + { + msTitleTemplate = pDescriptor->msTitleTemplate; + pDescriptor->msTitleTemplate = msClickToExitPresentationTitle; + mpPresenterController->UpdatePaneTitles(); + } + } + else if (mbIsEndSlideVisible) + { + mbIsEndSlideVisible = false; + + // Restore the title template. + PresenterPaneContainer::SharedPaneDescriptor pDescriptor ( + mpPresenterController->GetPaneContainer()->FindViewURL(mxViewId->getResourceURL())); + if (pDescriptor.get() != NULL) + { + pDescriptor->msTitleTemplate = msTitleTemplate; + pDescriptor->msTitle = OUString(); + mpPresenterController->UpdatePaneTitles(); + } + } +} + + + + +css::uno::Reference SAL_CALL PresenterSlideShowView::getCurrentPage (void) + throw (css::uno::RuntimeException) +{ + return mxCurrentSlide; +} + + + + +//----- XSlideShowView -------------------------------------------------------- + Reference SAL_CALL PresenterSlideShowView::getCanvas (void) throw (RuntimeException) { @@ -484,6 +512,8 @@ void SAL_CALL PresenterSlideShowView::disposing (const lang::EventObject& rEvent { if (rEvent.Source == mxViewWindow) mxViewWindow = NULL; + else if (rEvent.Source == mxSlideShow) + mxSlideShow = NULL; } @@ -494,57 +524,20 @@ void SAL_CALL PresenterSlideShowView::disposing (const lang::EventObject& rEvent void SAL_CALL PresenterSlideShowView::windowPaint (const awt::PaintEvent& rEvent) throw (RuntimeException) { + // Deactivated views must not be painted. + if ( ! mbIsPresenterViewActive) + return; + awt::Rectangle aViewWindowBox (mxViewWindow->getPosSize()); if (aViewWindowBox.Width <= 0 || aViewWindowBox.Height <= 0) return; - // Paint the background - if (mxCanvas.is() && mxBackgroundPolyPolygon.is()) - { - const rendering::ViewState aViewState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - PresenterGeometryHelper::CreatePolygon(rEvent.UpdateRect, mxCanvas->getDevice())); - - Sequence aBackgroundColor(3); - aBackgroundColor[0] = ((maBackgroundColor >> 16) & 0x0ff) / 255.0; - aBackgroundColor[1] = ((maBackgroundColor >> 8) & 0x0ff) / 255.0; - aBackgroundColor[2] = ((maBackgroundColor >> 0) & 0x0ff) / 255.0; - - rendering::RenderState aRenderState ( - geometry::AffineMatrix2D(1, 0, 0, 0, 1, 0), - NULL, - aBackgroundColor, - rendering::CompositeOperation::SOURCE); - - mxCanvas->fillPolyPolygon(mxBackgroundPolyPolygon, aViewState, aRenderState); - } - - // Forward windowpaint to listeners. - awt::PaintEvent aEvent (rEvent); - aEvent.Source = static_cast(this); - ::cppu::OInterfaceContainerHelper* pIterator - = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); - if (pIterator != NULL) - { - pIterator->notifyEach(&awt::XPaintListener::windowPaint, aEvent); - } - - if (mbIsForcedPaintPending) - ForceRepaint(); - - // Schedule the processing of the events caused by the previous notifies. - if (mxSlideShow.is()) - { - double nTimeToNextUpdateCall (0); - mxSlideShow->update(nTimeToNextUpdateCall); - // We do not call update regularly, so we ignore the returned values. - } - - // Finally, in double buffered environments, request the changes to be - // made visible. - Reference mxSpriteCanvas (mxCanvas, UNO_QUERY); - if (mxSpriteCanvas.is()) - mxSpriteCanvas->updateScreen(sal_True); + if (rEvent.Source == mxWindow) + PaintOuterWindow(rEvent.UpdateRect); + else if (mbIsEndSlideVisible) + PaintEndSlide(rEvent.UpdateRect); + else + PaintInnerWindow(rEvent); } @@ -563,6 +556,13 @@ void SAL_CALL PresenterSlideShowView::mousePressed (const awt::MouseEvent& rEven { pIterator->notifyEach(&awt::XMouseListener::mousePressed, aEvent); } + + // Only when the end slide is displayed we forward the mouse event to + // the PresenterController so that it switches to the next slide and + // ends the presentation. + if (mbIsEndSlideVisible) + if (mpPresenterController.get() != NULL) + mpPresenterController->HandleMouseClick(rEvent); } @@ -717,10 +717,190 @@ sal_Bool SAL_CALL PresenterSlideShowView::isAnchorOnly (void) +//----- CachablePresenterView ------------------------------------------------- + +void PresenterSlideShowView::ActivatePresenterView (void) +{ + if (mxSlideShow.is() && ! mbIsViewAdded) + { + mxSlideShow->addView(this); + mbIsViewAdded = true; + } +} + + + + +void PresenterSlideShowView::DeactivatePresenterView (void) +{ + if (mxSlideShow.is() && mbIsViewAdded) + { + mxSlideShow->removeView(this); + mbIsViewAdded = false; + } +} + + + + //----------------------------------------------------------------------------- +void PresenterSlideShowView::PaintOuterWindow (const awt::Rectangle& rRepaintBox) +{ + if ( ! mxCanvas.is()) + return; + + if (mpBackground.get() == NULL) + return; + + const rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + PresenterGeometryHelper::CreatePolygon(rRepaintBox, mxCanvas->getDevice())); + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(4), + rendering::CompositeOperation::SOURCE); + + Reference xBackgroundBitmap (mpBackground->GetNormalBitmap()); + if (xBackgroundBitmap.is()) + { + Sequence aTextures (1); + const geometry::IntegerSize2D aBitmapSize(xBackgroundBitmap->getSize()); + aTextures[0] = rendering::Texture ( + geometry::AffineMatrix2D( + aBitmapSize.Width,0,0, + 0,aBitmapSize.Height,0), + 1, + 0, + xBackgroundBitmap, + NULL, + NULL, + rendering::StrokeAttributes(), + rendering::TexturingMode::REPEAT, + rendering::TexturingMode::REPEAT); + + if (mxBackgroundPolygon1.is()) + mxCanvas->fillTexturedPolyPolygon( + mxBackgroundPolygon1, + aViewState, + aRenderState, + aTextures); + if (mxBackgroundPolygon2.is()) + mxCanvas->fillTexturedPolyPolygon( + mxBackgroundPolygon2, + aViewState, + aRenderState, + aTextures); + } + else + { + PresenterCanvasHelper::SetDeviceColor(aRenderState, mpBackground->maReplacementColor); + + if (mxBackgroundPolygon1.is()) + mxCanvas->fillPolyPolygon(mxBackgroundPolygon1, aViewState, aRenderState); + if (mxBackgroundPolygon2.is()) + mxCanvas->fillPolyPolygon(mxBackgroundPolygon2, aViewState, aRenderState); + } +} + + + + +void PresenterSlideShowView::PaintEndSlide (const awt::Rectangle& rRepaintBox) +{ + if ( ! mxCanvas.is()) + return; + + const rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + PresenterGeometryHelper::CreatePolygon(rRepaintBox, mxCanvas->getDevice())); + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + PresenterCanvasHelper::SetDeviceColor(aRenderState, util::Color(0x00000000)); + mxCanvas->fillPolyPolygon( + PresenterGeometryHelper::CreatePolygon(mxViewWindow->getPosSize(), mxCanvas->getDevice()), + aViewState, + aRenderState); + + do + { + if (mpPresenterController.get() == NULL) + break; + ::boost::shared_ptr pTheme (mpPresenterController->GetTheme()); + if (pTheme.get() == NULL) + break; + + const OUString sViewStyle (pTheme->GetStyleName(mxViewId->getResourceURL())); + PresenterTheme::SharedFontDescriptor pFont (pTheme->GetFont(sViewStyle)); + if (pFont.get() == NULL) + break; + + PresenterCanvasHelper::SetDeviceColor(aRenderState, util::Color(0x00ffffff)); + aRenderState.AffineTransform.m02 = 20; + aRenderState.AffineTransform.m12 = 40; + const rendering::StringContext aContext ( + msClickToExitPresentationText, 0, msClickToExitPresentationText.getLength()); + pFont->PrepareFont(mxCanvas); + mxCanvas->drawText( + aContext, + pFont->mxFont, + aViewState, + aRenderState, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT); + } + while (false); + + // Finally, in double buffered environments, request the changes to be + // made visible. + Reference mxSpriteCanvas (mxCanvas, UNO_QUERY); + if (mxSpriteCanvas.is()) + mxSpriteCanvas->updateScreen(sal_True); +} + + + + +void PresenterSlideShowView::PaintInnerWindow (const awt::PaintEvent& rEvent) +{ + // Forward windowpaint to listeners. + awt::PaintEvent aEvent (rEvent); + aEvent.Source = static_cast(this); + ::cppu::OInterfaceContainerHelper* pIterator + = maBroadcaster.getContainer(getCppuType((Reference*)NULL)); + if (pIterator != NULL) + { + pIterator->notifyEach(&awt::XPaintListener::windowPaint, aEvent); + } + + if (mbIsForcedPaintPending) + ForceRepaint(); + + // Schedule the processing of the events caused by the previous notifies. + if (mxSlideShow.is()) + { + double nTimeToNextUpdateCall (0); + mxSlideShow->update(nTimeToNextUpdateCall); + // We do not call update regularly, so we ignore the returned values. + } + + // Finally, in double buffered environments, request the changes to be + // made visible. + Reference mxSpriteCanvas (mxCanvas, UNO_QUERY); + if (mxSpriteCanvas.is()) + mxSpriteCanvas->updateScreen(sal_True); +} + + + + Reference PresenterSlideShowView::CreateViewWindow ( - const Reference& rxParentWindow) + const Reference& rxParentWindow) const { Reference xViewWindow; try @@ -764,6 +944,29 @@ Reference PresenterSlideShowView::CreateViewWindow ( +Reference PresenterSlideShowView::CreateViewCanvas ( + const Reference& rxViewWindow, + const Reference& rxParentPane) const +{ + // Create a canvas for the view window. + Reference xFactory ( + mxComponentContext->getServiceManager(), UNO_QUERY_THROW); + Reference xPresenterHelper( + xFactory->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.comp.Draw.PresenterHelper"), + mxComponentContext), + UNO_QUERY_THROW); + return xPresenterHelper->createSharedCanvas( + Reference(rxParentPane->getCanvas(), UNO_QUERY), + rxParentPane->getWindow(), + rxParentPane->getCanvas(), + rxParentPane->getWindow(), + rxViewWindow); +} + + + + void PresenterSlideShowView::Resize (void) { if ( ! mxWindow.is() || ! mxViewWindow.is()) @@ -801,7 +1004,7 @@ void PresenterSlideShowView::Resize (void) // Clear the background polygon so that on the next paint it is created // for the new size. - mxBackgroundPolyPolygon = CreateBackgroundPolyPolygon(); + CreateBackgroundPolygons(); // Due to constant aspect ratio resizing may lead a preview that changes @@ -847,46 +1050,51 @@ void PresenterSlideShowView::ForceRepaint (void) -Reference - PresenterSlideShowView::CreateBackgroundPolyPolygon (void) const +void PresenterSlideShowView::CreateBackgroundPolygons (void) { const awt::Rectangle aWindowBox (mxWindow->getPosSize()); const awt::Rectangle aViewWindowBox (mxViewWindow->getPosSize()); - ::std::vector aBackgroundBoxes; - if (aWindowBox.Height == aViewWindowBox.Height) + if (aWindowBox.Height == aViewWindowBox.Height && aWindowBox.Width == aViewWindowBox.Width) + { + mxBackgroundPolygon1 = NULL; + mxBackgroundPolygon2 = NULL; + } + else if (aWindowBox.Height == aViewWindowBox.Height) { // Paint two boxes to the left and right of the view window. - aBackgroundBoxes.push_back( + mxBackgroundPolygon1 = PresenterGeometryHelper::CreatePolygon( awt::Rectangle( 0, 0, aViewWindowBox.X, - aWindowBox.Height)); - aBackgroundBoxes.push_back( + aWindowBox.Height), + mxCanvas->getDevice()); + mxBackgroundPolygon2 = PresenterGeometryHelper::CreatePolygon( awt::Rectangle( aViewWindowBox.X + aViewWindowBox.Width, 0, aWindowBox.Width - aViewWindowBox.X - aViewWindowBox.Width, - aWindowBox.Height)); + aWindowBox.Height), + mxCanvas->getDevice()); } else { // Paint two boxes above and below the view window. - aBackgroundBoxes.push_back( + mxBackgroundPolygon1 = PresenterGeometryHelper::CreatePolygon( awt::Rectangle( 0, 0, aWindowBox.Width, - aViewWindowBox.Y)); - aBackgroundBoxes.push_back( + aViewWindowBox.Y), + mxCanvas->getDevice()); + mxBackgroundPolygon2 = PresenterGeometryHelper::CreatePolygon( awt::Rectangle( 0, aViewWindowBox.Y + aViewWindowBox.Height, aWindowBox.Width, - aWindowBox.Height - aViewWindowBox.Y - aViewWindowBox.Height)); + aWindowBox.Height - aViewWindowBox.Y - aViewWindowBox.Height), + mxCanvas->getDevice()); } - - return PresenterGeometryHelper::CreatePolygon(aBackgroundBoxes, mxCanvas->getDevice()); } -- cgit From 43a71a2d078a69927db8b492066cc6e176c84f45 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:37:33 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 08:33:41 af 1.2.4.3: #i88853# Note a service anymore. 2008/04/22 08:25:20 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:02:35 af 1.2.4.1: #i18486# Made slide show view cachable. Improved painting the area around the actual slide preview. --- sdext/source/presenter/PresenterSlideShowView.hxx | 66 +++++++++++++++-------- 1 file changed, 45 insertions(+), 21 deletions(-) diff --git a/sdext/source/presenter/PresenterSlideShowView.hxx b/sdext/source/presenter/PresenterSlideShowView.hxx index 34ee7bd4d496..738c188f5131 100644 --- a/sdext/source/presenter/PresenterSlideShowView.hxx +++ b/sdext/source/presenter/PresenterSlideShowView.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterSlideShowView.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -32,17 +32,18 @@ #ifndef SDEXT_PRESENTER_SLIDE_SHOW_VIEW_HXX #define SDEXT_PRESENTER_SLIDE_SHOW_VIEW_HXX +#include "PresenterViewFactory.hxx" #include #include #include #include #include #include +#include #include #include #include #include -#include #include #include #include @@ -64,7 +65,7 @@ namespace { css::awt::XMouseMotionListener, css::awt::XWindowListener, css::drawing::framework::XView, - css::lang::XInitialization + css::drawing::XDrawView > PresenterSlideShowViewInterfaceBase; } @@ -73,23 +74,20 @@ namespace { class PresenterSlideShowView : private ::boost::noncopyable, protected ::cppu::BaseMutex, - public PresenterSlideShowViewInterfaceBase + public PresenterSlideShowViewInterfaceBase, + public CachablePresenterView { public: - PresenterSlideShowView (const css::uno::Reference& rxContext); + PresenterSlideShowView ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxViewId, + const css::uno::Reference& rxController, + const ::rtl::Reference& rpPresenterController); virtual ~PresenterSlideShowView (void); + void LateInit (void); virtual void SAL_CALL disposing (void); - // Service. - - static ::rtl::OUString getImplementationName_static (void); - static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static (void); - static css::uno::Reference Create( - const css::uno::Reference& rxContext) - SAL_THROW((css::uno::Exception)); - - // XSlideShowView virtual css::uno::Reference< @@ -204,13 +202,25 @@ public: throw (com::sun::star::uno::RuntimeException); - // XInitialization + // XDrawView - virtual void SAL_CALL initialize (const css::uno::Sequence& rArguments) - throw (css::uno::Exception, css::uno::RuntimeException); + virtual void SAL_CALL setCurrentPage ( + const css::uno::Reference& rxSlide) + throw (css::uno::RuntimeException); + + virtual css::uno::Reference SAL_CALL getCurrentPage (void) + throw (css::uno::RuntimeException); + + + // CachablePresenterView + + virtual void ActivatePresenterView (void); + + virtual void DeactivatePresenterView (void); private: css::uno::Reference mxComponentContext; + ::rtl::Reference mpPresenterController; css::uno::Reference mxViewId; css::uno::Reference mxController; css::uno::Reference mxSlideShowController; @@ -220,7 +230,9 @@ private: css::uno::Reference mxPointer; css::uno::Reference mxWindow; css::uno::Reference mxViewWindow; - css::uno::Reference mxBackgroundPolyPolygon; + css::uno::Reference mxBackgroundPolygon1; + css::uno::Reference mxBackgroundPolygon2; + bool mbIsViewAdded; /** Aspect ratio of the current slide. */ @@ -231,21 +243,33 @@ private: */ ::cppu::OBroadcastHelper maBroadcaster; - css::util::Color maBackgroundColor; + SharedBitmapDescriptor mpBackground; bool mbIsInModifyNotification; bool mbIsForcedPaintPending; bool mbIsPaintPending; + ::rtl::OUString msClickToExitPresentationText; + ::rtl::OUString msClickToExitPresentationTitle; + ::rtl::OUString msTitleTemplate; + bool mbIsEndSlideVisible; + css::uno::Reference mxCurrentSlide; /** Create the window into which the slide show will render its content. This window has the correct aspect ratio and is displayed centered and as large as possible in its parent window. */ css::uno::Reference CreateViewWindow ( - const css::uno::Reference& rxParentWindow); + const css::uno::Reference& rxParentWindow) const; + css::uno::Reference CreateViewCanvas ( + const css::uno::Reference& rxWindow, + const css::uno::Reference& rxParentPane) const; void Resize (void); + void PaintOuterWindow (const css::awt::Rectangle& rRepaintBox); + void PaintInnerWindow (const css::awt::PaintEvent& rEvent); + void PaintEndSlide (const css::awt::Rectangle& rRepaintBox); + /** The slide show relies on the back buffer of the canvas not being modified. With a shared canvas there are times when that can not be guaranteed. @@ -254,7 +278,7 @@ private: */ void ForceRepaint (void); - css::uno::Reference CreateBackgroundPolyPolygon (void) const; + void CreateBackgroundPolygons (void); /** This method throws a DisposedException when the object has already been disposed. -- cgit From d3ff78188fd08422586e7a884a31e185ecdde34c Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:37:48 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/28 14:46:33 af 1.2.4.5: #i18486# Fixed GetColumn() and GetRow() for when offsets are not zero. 2008/04/22 13:05:58 af 1.2.4.4: #i18486# Made extension identifier platform specific. 2008/04/22 08:28:04 af 1.2.4.3: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:59:13 af 1.2.4.2: #i18486# Fixed some Linux build problems. 2008/04/16 16:05:13 af 1.2.4.1: #i18486# Added close button. Changed mouse over effect. --- sdext/source/presenter/PresenterSlideSorter.cxx | 1826 ++++++++++++++++------- 1 file changed, 1327 insertions(+), 499 deletions(-) diff --git a/sdext/source/presenter/PresenterSlideSorter.cxx b/sdext/source/presenter/PresenterSlideSorter.cxx index c71c6fa89b6e..aec508f99b8c 100644 --- a/sdext/source/presenter/PresenterSlideSorter.cxx +++ b/sdext/source/presenter/PresenterSlideSorter.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterSlideSorter.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,14 +30,20 @@ ************************************************************************/ #include "PresenterSlideSorter.hxx" +#include "PresenterButton.hxx" +#include "PresenterCanvasHelper.hxx" +#include "PresenterComponent.hxx" #include "PresenterGeometryHelper.hxx" #include "PresenterHelper.hxx" +#include "PresenterPaintManager.hxx" +#include "PresenterPaneBase.hxx" #include "PresenterScrollBar.hxx" +#include "PresenterUIPainter.hxx" #include "PresenterWindowManager.hxx" -#include #include #include #include +#include #include #include #include @@ -54,8 +60,41 @@ using namespace ::com::sun::star::uno; using namespace ::com::sun::star::drawing::framework; using ::rtl::OUString; +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + +namespace { + const static sal_Int32 gnVerticalGap (10); + const static sal_Int32 gnVerticalBorder (10); + const static sal_Int32 gnHorizontalGap (10); + const static sal_Int32 gnHorizontalBorder (10); + + const static double gnMinimalPreviewWidth (200); + const static double gnPreferredPreviewWidth (300); + const static double gnMaximalPreviewWidth (400); + const static sal_Int32 gnPreferredColumnCount (6); + const static double gnMinimalHorizontalPreviewGap(15); + const static double gnPreferredHorizontalPreviewGap(25); + const static double gnMaximalHorizontalPreviewGap(50); + const static double gnMinimalVerticalPreviewGap(15); + const static double gnPreferredVerticalPreviewGap(25); + const static double gnMaximalVerticalPreviewGap(50); + + const static sal_Int32 gnHorizontalLabelBorder (3); + const static sal_Int32 gnHorizontalLabelPadding (5); + + const static sal_Int32 gnVerticalButtonPadding (gnVerticalGap); +} + namespace sdext { namespace presenter { +namespace { + sal_Int32 round (const double nValue) { return sal::static_int_cast(0.5 + nValue); } + sal_Int32 floor (const double nValue) { return sal::static_int_cast(nValue); } + double sqr (const double nValue) { return nValue*nValue; } +} + + + //===== PresenterSlideSorter::Layout ========================================== class PresenterSlideSorter::Layout @@ -67,32 +106,38 @@ public: const ::rtl::Reference& rpHorizontalScrollBar, const ::rtl::Reference& rpVerticalScrollBar); - void Update (const awt::Rectangle& rWindowBox, const double nSlideAspectRatio); + void Update (const geometry::RealRectangle2D& rBoundingBox, const double nSlideAspectRatio); void SetupVisibleArea (void); - sal_Int32 GetSlideIndexForPosition (const css::geometry::RealPoint2D& rPoint); + void UpdateScrollBars (void); + bool IsScrollBarNeeded (const sal_Int32 nSlideCount); + geometry::RealPoint2D GetLocalPosition (const geometry::RealPoint2D& rWindowPoint) const; + geometry::RealPoint2D GetWindowPosition(const geometry::RealPoint2D& rLocalPoint) const; + sal_Int32 GetColumn (const geometry::RealPoint2D& rLocalPoint, + const bool bReturnInvalidValue = false) const; + sal_Int32 GetRow (const geometry::RealPoint2D& rLocalPoint, + const bool bReturnInvalidValue = false) const; + sal_Int32 GetSlideIndexForPosition (const css::geometry::RealPoint2D& rPoint) const; css::geometry::RealPoint2D GetPoint ( const sal_Int32 nSlideIndex, const sal_Int32 nRelativeHorizontalPosition, - const sal_Int32 nRelativeVerticalPosition); - enum DistanceType { Norm1, Norm2, XOnly, YOnly }; - double GetDistanceFromCenter ( - const css::geometry::RealPoint2D& rPoint, - const sal_Int32 nSlideIndex, - const DistanceType eDistanceType); - css::awt::Rectangle GetBoundingBox (const sal_Int32 nSlideIndex); + const sal_Int32 nRelativeVerticalPosition) const; + css::awt::Rectangle GetBoundingBox (const sal_Int32 nSlideIndex) const; + geometry::IntegerSize2D GetPreviewSize (void) const; void ForAllVisibleSlides (const ::boost::function& rAction); - sal_Int32 GetFirstVisibleSlideIndex (void); - sal_Int32 GetLastVisibleSlideIndex (void); + sal_Int32 GetFirstVisibleSlideIndex (void) const; + sal_Int32 GetLastVisibleSlideIndex (void) const; bool SetHorizontalOffset (const double nOffset); + bool SetVerticalOffset (const double nOffset); + Orientation GetOrientation (void) const; - css::geometry::RealRectangle2D maInnerBorder; - css::geometry::RealRectangle2D maOuterBorder; - css::geometry::RealRectangle2D maViewport; + css::geometry::RealRectangle2D maBoundingBox; css::geometry::IntegerSize2D maPreviewSize; - double mnHorizontalOffset; - double mnVerticalOffset; - double mnHorizontalGap; - double mnVerticalGap; + sal_Int32 mnHorizontalOffset; + sal_Int32 mnVerticalOffset; + sal_Int32 mnHorizontalGap; + sal_Int32 mnVerticalGap; + sal_Int32 mnHorizontalBorder; + sal_Int32 mnVerticalBorder; sal_Int32 mnRowCount; sal_Int32 mnColumnCount; sal_Int32 mnSlideCount; @@ -101,16 +146,15 @@ public: sal_Int32 mnLastVisibleColumn; sal_Int32 mnFirstVisibleRow; sal_Int32 mnLastVisibleRow; - double mnScrollBarHeight; private: Orientation meOrientation; ::rtl::Reference mpHorizontalScrollBar; ::rtl::Reference mpVerticalScrollBar; - void UpdateScrollBars (void); - sal_Int32 GetIndex (const sal_Int32 nRow, const sal_Int32 nColumn); - sal_Int32 GetRow (const sal_Int32 nSlideIndex); - sal_Int32 GetColumn (const sal_Int32 nSlideIndex); + + sal_Int32 GetIndex (const sal_Int32 nRow, const sal_Int32 nColumn) const; + sal_Int32 GetRow (const sal_Int32 nSlideIndex) const; + sal_Int32 GetColumn (const sal_Int32 nSlideIndex) const; }; @@ -118,58 +162,110 @@ private: //==== PresenterSlideSorter::MouseOverManager ================================= -namespace { - typedef cppu::WeakComponentImplHelper1< - css::drawing::XSlidePreviewCacheListener - > MouseOverManagerInterfaceBase; -} - class PresenterSlideSorter::MouseOverManager - : private ::cppu::BaseMutex, - public MouseOverManagerInterfaceBase + : ::boost::noncopyable { public: - const static double mnMinScale; - const static double mnMaxScale; - MouseOverManager ( - const Reference& rxContext, const Reference& rxSlides, - const Reference& rxModel); + const ::boost::shared_ptr& rpTheme, + const Reference& rxInvalidateTarget, + const ::boost::shared_ptr& rpPaintManager); ~MouseOverManager (void); - void SetCanvas ( - const Reference& rxCanvas); + void Paint ( + const sal_Int32 nSlideIndex, + const Reference& rxCanvas, + const Reference& rxClip); void SetSlide ( const sal_Int32 nSlideIndex, - const awt::Rectangle& rBox, - const double nDistance); + const awt::Rectangle& rBox); - void SetActiveState (const bool bIsActive); +private: + Reference mxCanvas; + const Reference mxSlides; + SharedBitmapDescriptor mpLeftLabelBitmap; + SharedBitmapDescriptor mpCenterLabelBitmap; + SharedBitmapDescriptor mpRightLabelBitmap; + PresenterTheme::SharedFontDescriptor mpFont; + sal_Int32 mnSlideIndex; + awt::Rectangle maSlideBoundingBox; + OUString msText; + Reference mxBitmap; + Reference mxInvalidateTarget; + ::boost::shared_ptr mpPaintManager; - // XSlidePreviewCacheListener + void SetCanvas ( + const Reference& rxCanvas); + /** Create a bitmap that shows the given text and is not wider than the + given maximal width. + */ + Reference CreateBitmap ( + const OUString& rsText, + const sal_Int32 nMaximalWidth) const; + void Invalidate (void); + geometry::IntegerSize2D CalculateLabelSize ( + const OUString& rsText) const; + OUString GetFittingText (const OUString& rsText, const double nMaximalWidth) const; + void PaintButtonBackground ( + const Reference& rxCanvas, + const geometry::IntegerSize2D& rSize) const; +}; + + + + +//==== PresenterSlideSorter::CurrentSlideFrameRenderer ======================== + +class PresenterSlideSorter::CurrentSlideFrameRenderer +{ +public: + CurrentSlideFrameRenderer ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxCanvas); + ~CurrentSlideFrameRenderer (void); - virtual void SAL_CALL notifyPreviewCreation ( - sal_Int32 nSlideIndex) - throw(css::uno::RuntimeException); + void PaintCurrentSlideFrame ( + const awt::Rectangle& rSlideBoundingBox, + const Reference& rxCanvas, + const geometry::RealRectangle2D& rClipBox); + + /** Enlarge the given rectangle to include the current slide indicator. + */ + awt::Rectangle GetBoundingBox ( + const awt::Rectangle& rSlideBoundingBox); private: - Reference mxCanvas; - Reference mxPreviewCache; - sal_Int32 mnSlideIndex; - awt::Rectangle maBoundingBox; - double mnDistance; - Reference mxSprite; - geometry::RealSize2D maSpriteSize; - bool mbIsActive; - - void CreateSprite (const sal_Int32 nSlideIndex); - void DisposeSprite (void); + SharedBitmapDescriptor mpTopLeft; + SharedBitmapDescriptor mpTop; + SharedBitmapDescriptor mpTopRight; + SharedBitmapDescriptor mpLeft; + SharedBitmapDescriptor mpRight; + SharedBitmapDescriptor mpBottomLeft; + SharedBitmapDescriptor mpBottom; + SharedBitmapDescriptor mpBottomRight; + sal_Int32 mnTopFrameSize; + sal_Int32 mnLeftFrameSize; + sal_Int32 mnRightFrameSize; + sal_Int32 mnBottomFrameSize; + + void PaintBitmapOnce( + const css::uno::Reference& rxBitmap, + const css::uno::Reference& rxCanvas, + const Reference& rxClip, + const double nX, + const double nY); + void PaintBitmapTiled( + const css::uno::Reference& rxBitmap, + const css::uno::Reference& rxCanvas, + const geometry::RealRectangle2D& rClipBox, + const double nX, + const double nY, + const double nWidth, + const double nHeight); }; -const double PresenterSlideSorter::MouseOverManager::mnMinScale = 1.0; -const double PresenterSlideSorter::MouseOverManager::mnMaxScale = 2.0; @@ -190,11 +286,20 @@ PresenterSlideSorter::PresenterSlideSorter ( mxSlideShowController(mpPresenterController->GetSlideShowController()), mxPreviewCache(), mbIsPaintPending(true), + mbIsLayoutPending(true), mpLayout(), mpHorizontalScrollBar(), + mpVerticalScrollBar(), + mpCloseButton(), mpMouseOverManager(), mnSlideIndexMousePressed(-1), - mnCurrentSlideIndex(-1) + mnCurrentSlideIndex(-1), + mnSeparatorY(0), + maSeparatorColor(0x00ffffff), + maCloseButtonCenter(), + maCurrentSlideFrameBoundingBox(), + mpCurrentSlideFrameRenderer(), + mxPreviewFrame() { if ( ! rxContext.is() || ! rxViewId.is() @@ -226,21 +331,48 @@ PresenterSlideSorter::PresenterSlideSorter ( mxWindow->addMouseMotionListener(this); mxWindow->setVisible(sal_True); - // Create the scroll bar. - mpHorizontalScrollBar = ::rtl::Reference( - new PresenterHorizontalScrollBar( - rxContext, - mxWindow, - ::boost::bind(&PresenterSlideSorter::SetHorizontalOffset,this,_1))); - // Remember the current slide. mnCurrentSlideIndex = mxSlideShowController->getCurrentSlideIndex(); + // Set the orientation. + const bool bIsVertical (true); + + // Create the scroll bar. + if (bIsVertical) + mpVerticalScrollBar = ::rtl::Reference( + new PresenterVerticalScrollBar( + rxContext, + mxWindow, + mpPresenterController->GetPaintManager(), + ::boost::bind(&PresenterSlideSorter::SetVerticalOffset,this,_1))); + else + mpHorizontalScrollBar = ::rtl::Reference( + new PresenterHorizontalScrollBar( + rxContext, + mxWindow, + mpPresenterController->GetPaintManager(), + ::boost::bind(&PresenterSlideSorter::SetHorizontalOffset,this,_1))); + mpCloseButton = PresenterButton::Create( + rxContext, + mpPresenterController, + mpPresenterController->GetTheme(), + mxWindow, + mxCanvas, + A2S("SlideSorterCloser")); + + if (mpPresenterController->GetTheme().get() != NULL) + { + PresenterTheme::SharedFontDescriptor pFont ( + mpPresenterController->GetTheme()->GetFont(A2S("ButtonFont"))); + if (pFont.get() != NULL) + maSeparatorColor = pFont->mnColor; + } + // Create the layout. mpLayout.reset(new Layout( - Layout::Horizontal, + Layout::Vertical, mpHorizontalScrollBar, - ::rtl::Reference())); + mpVerticalScrollBar)); // Create the preview cache. mxPreviewCache = Reference( @@ -257,10 +389,11 @@ PresenterSlideSorter::PresenterSlideSorter ( } // Create the mouse over manager. - mpMouseOverManager = ::rtl::Reference(new MouseOverManager( - mxComponentContext, + mpMouseOverManager.reset(new MouseOverManager( Reference(mxSlideShowController, UNO_QUERY), - rxController->getModel())); + mpPresenterController->GetTheme(), + mxWindow, + mpPresenterController->GetPaintManager())); // Listen for changes of the current slide. Reference xControllerProperties (rxController, UNO_QUERY_THROW); @@ -268,14 +401,10 @@ PresenterSlideSorter::PresenterSlideSorter ( OUString::createFromAscii("CurrentPage"), this); - UpdateLayout(); - // Move the current slide in the center of the window. const awt::Rectangle aCurrentSlideBBox (mpLayout->GetBoundingBox(mnCurrentSlideIndex)); const awt::Rectangle aWindowBox (mxWindow->getPosSize()); SetHorizontalOffset(aCurrentSlideBBox.X - aWindowBox.Width/2.0); - - Paint(); } catch (RuntimeException&) { @@ -299,6 +428,32 @@ void SAL_CALL PresenterSlideSorter::disposing (void) mxComponentContext = NULL; mxViewId = NULL; mxPane = NULL; + + if (mpVerticalScrollBar.is()) + { + Reference xComponent ( + static_cast(mpVerticalScrollBar.get()), UNO_QUERY); + mpVerticalScrollBar = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + if (mpHorizontalScrollBar.is()) + { + Reference xComponent ( + static_cast(mpHorizontalScrollBar.get()), UNO_QUERY); + mpHorizontalScrollBar = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + if (mpCloseButton.is()) + { + Reference xComponent ( + static_cast(mpCloseButton.get()), UNO_QUERY); + mpCloseButton = NULL; + if (xComponent.is()) + xComponent->dispose(); + } + if (mxCanvas.is()) { Reference xComponent (mxCanvas, UNO_QUERY); @@ -309,12 +464,7 @@ void SAL_CALL PresenterSlideSorter::disposing (void) mpPresenterController = NULL; mxSlideShowController = NULL; mpLayout.reset(); - mpHorizontalScrollBar = NULL; - if (mpMouseOverManager.is()) - { - mpMouseOverManager->dispose(); - mpMouseOverManager = NULL; - } + mpMouseOverManager.reset(); if (mxPreviewCache.is()) { @@ -340,14 +490,7 @@ void SAL_CALL PresenterSlideSorter::disposing (void) void PresenterSlideSorter::SetActiveState (const bool bIsActive) { - if (mxPreviewCache.is()) - if (bIsActive) - mxPreviewCache->resume(); - else - mxPreviewCache->pause(); - - if (mpMouseOverManager.get() != NULL) - mpMouseOverManager->SetActiveState(bIsActive); + (void)bIsActive; } @@ -371,15 +514,12 @@ void SAL_CALL PresenterSlideSorter::disposing (const lang::EventObject& rEventOb else if (rEventObject.Source == mxCanvas) { mxCanvas = NULL; - if (mpMouseOverManager.get() != NULL) - mpMouseOverManager->SetCanvas(NULL); if (mpHorizontalScrollBar.is()) mpHorizontalScrollBar->SetCanvas(NULL); + mbIsLayoutPending = true; mbIsPaintPending = true; - Reference xPeer (mxWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->invalidate(awt::InvalidateStyle::CHILDREN); + mpPresenterController->GetPaintManager()->Invalidate(mxWindow); } } @@ -393,9 +533,8 @@ void SAL_CALL PresenterSlideSorter::windowResized (const awt::WindowEvent& rEven { (void)rEvent; ThrowIfDisposed(); - // The canvas should eventually be (or already has been) disposed by the - // pane. We listen for that and request a repaint when that happens. - mbIsPaintPending = true; + mbIsLayoutPending = true; + mpPresenterController->GetPaintManager()->Invalidate(mxWindow); } @@ -416,7 +555,8 @@ void SAL_CALL PresenterSlideSorter::windowShown (const lang::EventObject& rEvent { (void)rEvent; ThrowIfDisposed(); - mbIsPaintPending = true; + mbIsLayoutPending = true; + mpPresenterController->GetPaintManager()->Invalidate(mxWindow); } @@ -439,20 +579,15 @@ void SAL_CALL PresenterSlideSorter::windowPaint (const css::awt::PaintEvent& rEv { (void)rEvent; - if ( ! ProvideCanvas()) + // Deactivated views must not be painted. + if ( ! mbIsPresenterViewActive) return; - if (mbIsPaintPending) - { - UpdateLayout(); - Paint(); - } + Paint(rEvent.UpdateRect); - /* Reference xSpriteCanvas (mxCanvas, UNO_QUERY); if (xSpriteCanvas.is()) xSpriteCanvas->updateScreen(sal_False); - */ } @@ -478,8 +613,20 @@ void SAL_CALL PresenterSlideSorter::mouseReleased (const css::awt::MouseEvent& r if (nSlideIndex == mnSlideIndexMousePressed && mnSlideIndexMousePressed >= 0) { - mpMouseOverManager->SetSlide(-1, awt::Rectangle(0,0,0,0), 0); - GotoSlide(nSlideIndex); + switch (rEvent.ClickCount) + { + case 1: + default: + GotoSlide(nSlideIndex); + break; + + case 2: + OSL_ASSERT(mpPresenterController.get()!=NULL); + OSL_ASSERT(mpPresenterController->GetWindowManager().get()!=NULL); + mpPresenterController->GetWindowManager()->SetSlideSorterState(false); + GotoSlide(nSlideIndex); + break; + } } } @@ -501,7 +648,7 @@ void SAL_CALL PresenterSlideSorter::mouseExited (const css::awt::MouseEvent& rEv (void)rEvent; mnSlideIndexMousePressed = -1; if (mpMouseOverManager.get() != NULL) - mpMouseOverManager->SetSlide(mnSlideIndexMousePressed, awt::Rectangle(0,0,0,0), 0); + mpMouseOverManager->SetSlide(mnSlideIndexMousePressed, awt::Rectangle(0,0,0,0)); } @@ -516,32 +663,19 @@ void SAL_CALL PresenterSlideSorter::mouseMoved (const css::awt::MouseEvent& rEve { const geometry::RealPoint2D aPosition (rEvent.X, rEvent.Y); sal_Int32 nSlideIndex (mpLayout->GetSlideIndexForPosition(aPosition)); - double nDistanceFromCenter (2); - if (nSlideIndex >= 0) - { - const double nDistance (mpLayout->GetDistanceFromCenter(aPosition, nSlideIndex, - Layout::Norm1)); - if (nDistance < 1) - nDistanceFromCenter = nDistance; - else - nSlideIndex = -1; - } - else - { + if (nSlideIndex < 0) mnSlideIndexMousePressed = -1; - } if (nSlideIndex < 0) { - mpMouseOverManager->SetSlide(nSlideIndex, awt::Rectangle(0,0,0,0), 0); + mpMouseOverManager->SetSlide(nSlideIndex, awt::Rectangle(0,0,0,0)); } else { mpMouseOverManager->SetSlide( nSlideIndex, - mpLayout->GetBoundingBox(nSlideIndex), - nDistanceFromCenter); + mpLayout->GetBoundingBox(nSlideIndex)); } } } @@ -586,7 +720,6 @@ void SAL_CALL PresenterSlideSorter::propertyChange ( throw(css::uno::RuntimeException) { (void)rEvent; - // Close the slide sorter view. } @@ -598,7 +731,57 @@ void SAL_CALL PresenterSlideSorter::notifyPreviewCreation ( sal_Int32 nSlideIndex) throw(css::uno::RuntimeException) { - PaintPreview(nSlideIndex); + OSL_ASSERT(mpLayout.get()!=NULL); + + awt::Rectangle aBBox (mpLayout->GetBoundingBox(nSlideIndex)); + mpPresenterController->GetPaintManager()->Invalidate(mxWindow, aBBox, true); +} + + + + +//----- XDrawView ------------------------------------------------------------- + +void SAL_CALL PresenterSlideSorter::setCurrentPage (const Reference& rxSlide) + throw (RuntimeException) +{ + (void)rxSlide; + + ThrowIfDisposed(); + ::osl::MutexGuard aGuard (::osl::Mutex::getGlobalMutex()); + + if (mxSlideShowController.is()) + { + const sal_Int32 nNewCurrentSlideIndex (mxSlideShowController->getCurrentSlideIndex()); + if (nNewCurrentSlideIndex != mnCurrentSlideIndex) + { + mnCurrentSlideIndex = nNewCurrentSlideIndex; + + // Request a repaint of the previous current slide to hide its + // current slide indicator. + mpPresenterController->GetPaintManager()->Invalidate( + mxWindow, + maCurrentSlideFrameBoundingBox); + + // Request a repaint of the new current slide to show its + // current slide indicator. + maCurrentSlideFrameBoundingBox = mpCurrentSlideFrameRenderer->GetBoundingBox( + mpLayout->GetBoundingBox(mnCurrentSlideIndex)); + mpPresenterController->GetPaintManager()->Invalidate( + mxWindow, + maCurrentSlideFrameBoundingBox); + } + } +} + + + + +Reference SAL_CALL PresenterSlideSorter::getCurrentPage (void) + throw (RuntimeException) +{ + ThrowIfDisposed(); + return NULL; } @@ -611,15 +794,162 @@ void PresenterSlideSorter::UpdateLayout (void) if ( ! mxWindow.is()) return; - mpLayout->Update( - mxWindow->getPosSize(), - GetSlideAspectRatio()); + mbIsLayoutPending = false; + mbIsPaintPending = true; + + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + awt::Rectangle aCenterBox (aWindowBox); + sal_Int32 nLeftBorderWidth (aWindowBox.X); + + // Get border width. + PresenterPaneContainer::SharedPaneDescriptor pPane ( + mpPresenterController->GetPaneContainer()->FindViewURL( + mxViewId->getResourceURL())); + do + { + if (pPane.get() == NULL) + break; + if ( ! pPane->mxPane.is()) + break; + + Reference xBorderPainter ( + pPane->mxPane->GetPaneBorderPainter()); + if ( ! xBorderPainter.is()) + break; + aCenterBox = xBorderPainter->addBorder ( + mxViewId->getAnchor()->getResourceURL(), + awt::Rectangle(0, 0, aWindowBox.Width, aWindowBox.Height), + drawing::framework::BorderType_INNER_BORDER); + } + while(false); + + // Place vertical separator. + mnSeparatorY = aWindowBox.Height - mpCloseButton->GetSize().Height - gnVerticalButtonPadding; + + PlaceCloseButton(pPane, aWindowBox, nLeftBorderWidth); + + geometry::RealRectangle2D aUpperBox( + gnHorizontalBorder, + gnVerticalBorder, + aWindowBox.Width - 2*gnHorizontalBorder, + mnSeparatorY - gnVerticalGap); + + // Determine whether the scroll bar has to be displayed. + aUpperBox = PlaceScrollBars(aUpperBox); + + mpLayout->Update(aUpperBox, GetSlideAspectRatio()); + mpLayout->SetupVisibleArea(); + mpLayout->UpdateScrollBars(); // Tell the preview cache about some of the values. mxPreviewCache->setPreviewSize(mpLayout->maPreviewSize); mxPreviewCache->setVisibleRange( mpLayout->GetFirstVisibleSlideIndex(), mpLayout->GetLastVisibleSlideIndex()); + + // Clear the frame polygon so that it is re-created on the next paint. + mxPreviewFrame = NULL; +} + + + + +geometry::RealRectangle2D PresenterSlideSorter::PlaceScrollBars ( + const geometry::RealRectangle2D& rUpperBox) +{ + mpLayout->Update(rUpperBox, GetSlideAspectRatio()); + bool bIsScrollBarNeeded (false); + Reference xSlides (mxSlideShowController, UNO_QUERY_THROW); + if (xSlides.is()) + bIsScrollBarNeeded = mpLayout->IsScrollBarNeeded(xSlides->getCount()); + + if (mpLayout->GetOrientation() == Layout::Vertical) + { + if (mpVerticalScrollBar.get() != NULL) + { + if (bIsScrollBarNeeded) + { + // Place vertical scroll bar at right border. + mpVerticalScrollBar->SetPosSize(geometry::RealRectangle2D( + rUpperBox.X2 - mpVerticalScrollBar->GetSize(), + rUpperBox.Y1, + rUpperBox.X2, + rUpperBox.Y2)); + mpVerticalScrollBar->SetVisible(true); + + // Reduce area covered by the scroll bar from the available + // space. + return geometry::RealRectangle2D( + rUpperBox.X1, + rUpperBox.Y1, + rUpperBox.X2 - mpVerticalScrollBar->GetSize() - gnHorizontalGap, + rUpperBox.Y2); + } + else + mpVerticalScrollBar->SetVisible(false); + } + } + else + { + if (mpHorizontalScrollBar.get() != NULL) + { + if (bIsScrollBarNeeded) + { + // Place horixontal scroll bar at the bottom. + mpHorizontalScrollBar->SetPosSize(geometry::RealRectangle2D( + rUpperBox.X1, + rUpperBox.Y2 - mpHorizontalScrollBar->GetSize(), + rUpperBox.X2, + rUpperBox.Y2)); + mpHorizontalScrollBar->SetVisible(true); + + // Reduce area covered by the scroll bar from the available + // space. + return geometry::RealRectangle2D( + rUpperBox.X1, + rUpperBox.Y1, + rUpperBox.X2, + rUpperBox.Y2 - mpHorizontalScrollBar->GetSize() - gnVerticalGap); + } + else + mpHorizontalScrollBar->SetVisible(false); + } + } + + return rUpperBox; +} + + + + +void PresenterSlideSorter::PlaceCloseButton ( + const PresenterPaneContainer::SharedPaneDescriptor& rpPane, + const awt::Rectangle& rCenterBox, + const sal_Int32 nLeftBorderWidth) +{ + // Place button. When the callout is near the center then the button is + // centered over the callout. Otherwise it is centered with respect to + // the whole window. + sal_Int32 nCloseButtonCenter (rCenterBox.Width/2); + if (rpPane.get() != NULL && rpPane->mxPane.is()) + { + const sal_Int32 nCalloutCenter (rpPane->mxPane->GetCalloutAnchor().X - nLeftBorderWidth); + const sal_Int32 nDistanceFromWindowCenter (abs(nCalloutCenter - rCenterBox.Width/2)); + const sal_Int32 nButtonWidth (mpCloseButton->GetSize().Width); + const static sal_Int32 nMaxDistanceForCalloutCentering (nButtonWidth * 2); + if (nDistanceFromWindowCenter < nMaxDistanceForCalloutCentering) + { + if (nCalloutCenter < nButtonWidth/2) + nCloseButtonCenter = nButtonWidth/2; + else if (nCalloutCenter > rCenterBox.Width-nButtonWidth/2) + nCloseButtonCenter = rCenterBox.Width-nButtonWidth/2; + else + nCloseButtonCenter = nCalloutCenter; + } + } + mpCloseButton->SetCenter(geometry::RealPoint2D( + nCloseButtonCenter, + rCenterBox.Height - mpCloseButton->GetSize().Height/ 2)); } @@ -631,30 +961,13 @@ void PresenterSlideSorter::ClearBackground ( { OSL_ASSERT(rxCanvas.is()); - util::Color aColor ( - mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL())); - Sequence aBackgroundColor(3); - aBackgroundColor[0] = ((aColor >> 16) & 0x0ff) / 255.0; - aBackgroundColor[1] = ((aColor >> 8) & 0x0ff) / 255.0; - aBackgroundColor[2] = ((aColor >> 0) & 0x0ff) / 255.0; - - rendering::ViewState aViewState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL); - - rendering::RenderState aRenderState ( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL, - aBackgroundColor, - rendering::CompositeOperation::SOURCE); - - Reference xPolygon ( - PresenterGeometryHelper::CreatePolygon(rUpdateBox, rxCanvas->getDevice())); - if (xPolygon.is()) - rxCanvas->fillPolyPolygon( - xPolygon, - aViewState, - aRenderState); + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + mpPresenterController->GetCanvasHelper()->Paint( + mpPresenterController->GetViewBackground(mxViewId->getResourceURL()), + rxCanvas, + rUpdateBox, + awt::Rectangle(0,0,aWindowBox.Width,aWindowBox.Height), + awt::Rectangle()); } @@ -705,34 +1018,40 @@ Reference PresenterSlideSorter::GetPreview (const sal_Int32 void PresenterSlideSorter::PaintPreview ( + const Reference& rxCanvas, + const css::awt::Rectangle& rUpdateBox, const sal_Int32 nSlideIndex) { - if ( ! ProvideCanvas()) - return; + OSL_ASSERT(rxCanvas.is()); - const awt::Rectangle aWindowBox (mxWindow->getPosSize()); - PaintPreview(mxCanvas, nSlideIndex); + geometry::IntegerSize2D aSize (mpLayout->maPreviewSize); - Reference xSpriteCanvas (mxCanvas, UNO_QUERY); - if (xSpriteCanvas.is()) - xSpriteCanvas->updateScreen(sal_False); -} + if (PresenterGeometryHelper::AreRectanglesDisjoint( + rUpdateBox, + mpLayout->GetBoundingBox(nSlideIndex))) + { + return; + } + Reference xPreview (GetPreview(nSlideIndex)); + const geometry::RealPoint2D aTopLeft ( + mpLayout->GetWindowPosition( + mpLayout->GetPoint(nSlideIndex, -1, -1))); + // Create clip rectangle as intersection of the current update area and + // the bounding box of all previews. + geometry::RealRectangle2D aBoundingBox (mpLayout->maBoundingBox); + aBoundingBox.Y2 += 1; + const geometry::RealRectangle2D aClipBox ( + PresenterGeometryHelper::Intersection( + PresenterGeometryHelper::ConvertRectangle(rUpdateBox), + aBoundingBox)); + Reference xClip ( + PresenterGeometryHelper::CreatePolygon(aClipBox, rxCanvas->getDevice())); -void PresenterSlideSorter::PaintPreview ( - const Reference& rxCanvas, - const sal_Int32 nSlideIndex) -{ - OSL_ASSERT(rxCanvas.is()); - - Reference xPreview (GetPreview(nSlideIndex)); + const rendering::ViewState aViewState (geometry::AffineMatrix2D(1,0,0, 0,1,0), xClip); - const geometry::RealPoint2D aTopLeft (mpLayout->GetPoint(nSlideIndex, -1, -1)); - rendering::ViewState aViewState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL); rendering::RenderState aRenderState ( geometry::AffineMatrix2D( @@ -742,28 +1061,27 @@ void PresenterSlideSorter::PaintPreview ( Sequence(3), rendering::CompositeOperation::SOURCE); - geometry::IntegerSize2D aSize (mpLayout->maPreviewSize); + // Emphasize the current slide. if (nSlideIndex == mnCurrentSlideIndex) { - // Paint a frame around the slide preview that indicates that this - // is the current slide. - const double nFrameWidth (3); - const geometry::RealRectangle2D aBox (-nFrameWidth, -nFrameWidth, - aSize.Width+nFrameWidth, aSize.Height+nFrameWidth); - Reference xPolygon ( - PresenterGeometryHelper::CreatePolygon(aBox, rxCanvas->getDevice())); - if (xPolygon.is()) + if (mpCurrentSlideFrameRenderer.get() != NULL) { - const util::Color aColor ( - mpPresenterController->GetViewFontColor(mxViewId->getResourceURL())); - aRenderState.DeviceColor[0] = ((aColor >> 16) & 0x0ff) / 255.0; - aRenderState.DeviceColor[1] = ((aColor >> 8) & 0x0ff) / 255.0; - aRenderState.DeviceColor[2] = ((aColor >> 0) & 0x0ff) / 255.0; - rxCanvas->fillPolyPolygon(xPolygon, aViewState, aRenderState); + const awt::Rectangle aSlideBoundingBox( + sal::static_int_cast(0.5 + aTopLeft.X), + sal::static_int_cast(0.5 + aTopLeft.Y), + aSize.Width, + aSize.Height); + maCurrentSlideFrameBoundingBox + = mpCurrentSlideFrameRenderer->GetBoundingBox(aSlideBoundingBox); + mpCurrentSlideFrameRenderer->PaintCurrentSlideFrame ( + aSlideBoundingBox, + mxCanvas, + aClipBox); } } + // Paint the preview. if (xPreview.is()) { aSize = xPreview->getSize(); @@ -773,26 +1091,32 @@ void PresenterSlideSorter::PaintPreview ( } } + // Create a polygon that is used to paint a frame around previews. Its + // coordinates are chosen in the local coordinate system of a preview. + if ( ! mxPreviewFrame.is()) + mxPreviewFrame = PresenterGeometryHelper::CreatePolygon( + awt::Rectangle(-1, -1, aSize.Width+2, aSize.Height+2), + rxCanvas->getDevice()); + // Paint a border around the preview. - const geometry::RealRectangle2D aBox (0, 0, aSize.Width, aSize.Height); - Reference xPolygon ( - PresenterGeometryHelper::CreatePolygon(aBox, rxCanvas->getDevice())); - if (xPolygon.is()) + if (mxPreviewFrame.is()) { - const util::Color aColor ( - mpPresenterController->GetViewFontColor(mxViewId->getResourceURL())); - aRenderState.DeviceColor[0] = ((aColor >> 16) & 0x0ff) / 255.0; - aRenderState.DeviceColor[1] = ((aColor >> 8) & 0x0ff) / 255.0; - aRenderState.DeviceColor[2] = ((aColor >> 0) & 0x0ff) / 255.0; - rxCanvas->drawPolyPolygon(xPolygon, aViewState, aRenderState); + const geometry::RealRectangle2D aBox (0, 0, aSize.Width, aSize.Height); + const util::Color aFrameColor (0x00000000); + PresenterCanvasHelper::SetDeviceColor(aRenderState, aFrameColor); + rxCanvas->drawPolyPolygon(mxPreviewFrame, aViewState, aRenderState); } + + // Paint mouse over effect. + mpMouseOverManager->Paint(nSlideIndex, mxCanvas, xClip); } -void PresenterSlideSorter::Paint (void) +void PresenterSlideSorter::Paint (const awt::Rectangle& rUpdateBox) { + const bool bCanvasChanged ( ! mxCanvas.is()); if ( ! ProvideCanvas()) return; @@ -804,19 +1128,41 @@ void PresenterSlideSorter::Paint (void) mbIsPaintPending = false; - const awt::Rectangle aWindowBox (mxWindow->getPosSize()); - ClearBackground(mxCanvas, awt::Rectangle(0,0,aWindowBox.Width,aWindowBox.Height)); + ClearBackground(mxCanvas, rUpdateBox); - // Paint the horizontal scroll bar. - if (mpHorizontalScrollBar.is()) + // Give the canvas to the controls. + if (bCanvasChanged) { - mpHorizontalScrollBar->SetCanvas(mxCanvas); - mpHorizontalScrollBar->Paint(aWindowBox); + if (mpHorizontalScrollBar.is()) + mpHorizontalScrollBar->SetCanvas(mxCanvas); + if (mpVerticalScrollBar.is()) + mpVerticalScrollBar->SetCanvas(mxCanvas); + if (mpCloseButton.is()) + mpCloseButton->SetCanvas(mxCanvas, mxWindow); } + // Now that the controls have a canvas we can do the layouting. + if (mbIsLayoutPending) + UpdateLayout(); + + // Paint the horizontal separator. + rendering::RenderState aRenderState (geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, Sequence(3), rendering::CompositeOperation::SOURCE); + PresenterCanvasHelper::SetDeviceColor(aRenderState, maSeparatorColor); + mxCanvas->drawLine( + geometry::RealPoint2D(0, mnSeparatorY), + geometry::RealPoint2D(mxWindow->getPosSize().Width, mnSeparatorY), + rendering::ViewState(geometry::AffineMatrix2D(1,0,0, 0,1,0), NULL), + aRenderState); + // Paint the slides. - mpLayout->ForAllVisibleSlides( - ::boost::bind(&PresenterSlideSorter::PaintPreview, this, mxCanvas, _1)); + if ( ! PresenterGeometryHelper::AreRectanglesDisjoint( + rUpdateBox, + PresenterGeometryHelper::ConvertRectangle(mpLayout->maBoundingBox))) + { + mpLayout->ForAllVisibleSlides( + ::boost::bind(&PresenterSlideSorter::PaintPreview, this, mxCanvas, rUpdateBox, _1)); + } Reference xSpriteCanvas (mxCanvas, UNO_QUERY); if (xSpriteCanvas.is()) @@ -826,25 +1172,30 @@ void PresenterSlideSorter::Paint (void) -void PresenterSlideSorter::Invalidate (const awt::Rectangle& rBBox) +void PresenterSlideSorter::SetHorizontalOffset (const double nXOffset) { - Reference xPeer (mxWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->invalidateRect(rBBox, awt::InvalidateStyle::UPDATE); + if (mpLayout->SetHorizontalOffset(nXOffset)) + { + mxPreviewCache->setVisibleRange( + mpLayout->GetFirstVisibleSlideIndex(), + mpLayout->GetLastVisibleSlideIndex()); + + mpPresenterController->GetPaintManager()->Invalidate(mxWindow); + } } -void PresenterSlideSorter::SetHorizontalOffset (const double nXOffset) +void PresenterSlideSorter::SetVerticalOffset (const double nYOffset) { - if (mpLayout->SetHorizontalOffset(nXOffset)) + if (mpLayout->SetVerticalOffset(nYOffset)) { mxPreviewCache->setVisibleRange( mpLayout->GetFirstVisibleSlideIndex(), mpLayout->GetLastVisibleSlideIndex()); - Paint(); + mpPresenterController->GetPaintManager()->Invalidate(mxWindow); } } @@ -873,14 +1224,12 @@ bool PresenterSlideSorter::ProvideCanvas (void) if (xComponent.is()) xComponent->addEventListener(static_cast(this)); - // New canvas => new MouseOverManager. - if (mpMouseOverManager.get() != NULL) - mpMouseOverManager->SetCanvas( - Reference(mxCanvas, UNO_QUERY)); - // Tell the scrollbar about the canvas. if (mpHorizontalScrollBar.is()) mpHorizontalScrollBar->SetCanvas(mxCanvas); + + mpCurrentSlideFrameRenderer.reset( + new CurrentSlideFrameRenderer(mxComponentContext, mxCanvas)); } return mxCanvas.is(); } @@ -888,6 +1237,13 @@ bool PresenterSlideSorter::ProvideCanvas (void) +void PresenterSlideSorter::Close (void) +{ +} + + + + void PresenterSlideSorter::ThrowIfDisposed (void) throw (lang::DisposedException) { @@ -909,14 +1265,14 @@ PresenterSlideSorter::Layout::Layout ( const Orientation eOrientation, const ::rtl::Reference& rpHorizontalScrollBar, const ::rtl::Reference& rpVerticalScrollBar) - : maInnerBorder(), - maOuterBorder(), - maViewport(), + : maBoundingBox(), maPreviewSize(), mnHorizontalOffset(0), mnVerticalOffset(0), mnHorizontalGap(0), mnVerticalGap(0), + mnHorizontalBorder(0), + mnVerticalBorder(0), mnRowCount(1), mnColumnCount(1), mnSlideCount(0), @@ -925,7 +1281,6 @@ PresenterSlideSorter::Layout::Layout ( mnLastVisibleColumn(-1), mnFirstVisibleRow(-1), mnLastVisibleRow(-1), - mnScrollBarHeight(25), meOrientation(eOrientation), mpHorizontalScrollBar(rpHorizontalScrollBar), mpVerticalScrollBar(rpVerticalScrollBar) @@ -936,79 +1291,109 @@ PresenterSlideSorter::Layout::Layout ( void PresenterSlideSorter::Layout::Update ( - const awt::Rectangle& rWindowBox, + const geometry::RealRectangle2D& rBoundingBox, const double nSlideAspectRatio) { - if (rWindowBox.Width <= 0 || rWindowBox.Height <= 0) + maBoundingBox = rBoundingBox; + + mnHorizontalBorder = gnHorizontalBorder; + mnVerticalBorder = gnVerticalBorder; + + const double nWidth (rBoundingBox.X2 - rBoundingBox.X1 - 2*mnHorizontalBorder); + const double nHeight (rBoundingBox.Y2 - rBoundingBox.Y1 - 2*mnVerticalBorder); + if (nWidth<=0 || nHeight<=0) return; - const static sal_Int32 nFrameSize (10); - maInnerBorder = geometry::RealRectangle2D(nFrameSize,nFrameSize,nFrameSize,nFrameSize); - maOuterBorder = geometry::RealRectangle2D(50,50,50,50); - const static double nMinGap(15); - mnRowCount = 1; - mnColumnCount = 6; - - maViewport = geometry::RealRectangle2D( - maInnerBorder.X1 + maOuterBorder.X1, - maInnerBorder.Y1 + maInnerBorder.Y1, - rWindowBox.Width - maInnerBorder.X2 - maOuterBorder.X2, - rWindowBox.Height - maInnerBorder.Y2 - mnScrollBarHeight - maOuterBorder.Y2); - const double nAvailableWidth (maViewport.X2 - maViewport.X1); - const double nAvailableHeight (maViewport.Y2 - maViewport.Y1); - const double nMaxWidth (::std::max(nAvailableWidth / mnColumnCount - nMinGap, 50.0)); - const double nMaxHeight (::std::max(nAvailableHeight / mnRowCount - nMinGap, 30.0)); - - // Calculate the preview size. - if ((double(nMaxWidth) / double(nMaxHeight)) <= nSlideAspectRatio) - { - maPreviewSize.Width = sal_Int32(nMaxWidth); - maPreviewSize.Height = sal_Int32(nMaxWidth / nSlideAspectRatio); + double nPreviewWidth; + + // Determine column count, preview width, and horizontal gap (borders + // are half the gap). Try to use the preferred values. Try more to + // stay in the valid intervalls. This last constraint may be not + // fullfilled in some cases. + const double nElementWidth = nWidth / gnPreferredColumnCount; + if (nElementWidth < gnMinimalPreviewWidth + gnMinimalHorizontalPreviewGap) + { + // The preferred column count is too large. + // Can we use the preferred preview width? + if (nWidth - gnMinimalHorizontalPreviewGap >= gnPreferredPreviewWidth) + { + // Yes. + nPreviewWidth = gnPreferredPreviewWidth; + mnColumnCount = floor((nWidth+gnPreferredHorizontalPreviewGap) + / (nPreviewWidth+gnPreferredHorizontalPreviewGap)); + mnHorizontalGap = round((nWidth - mnColumnCount*nPreviewWidth) / mnColumnCount); + } + else + { + // No. Set the column count to 1 and adapt preview width and + // gap. + mnColumnCount = 1; + mnHorizontalGap = floor(gnMinimalHorizontalPreviewGap); + if (nWidth - gnMinimalHorizontalPreviewGap >= gnPreferredPreviewWidth) + nPreviewWidth = nWidth - gnMinimalHorizontalPreviewGap; + else + nPreviewWidth = ::std::max(gnMinimalPreviewWidth, nWidth-mnHorizontalGap); + } + } + else if (nElementWidth > gnMaximalPreviewWidth + gnMaximalHorizontalPreviewGap) + { + // The preferred column count is too small. + nPreviewWidth = gnPreferredPreviewWidth; + mnColumnCount = floor((nWidth+gnPreferredHorizontalPreviewGap) + / (nPreviewWidth+gnPreferredHorizontalPreviewGap)); + mnHorizontalGap = round((nWidth - mnColumnCount*nPreviewWidth) / mnColumnCount); } else { - maPreviewSize.Width = sal_Int32(nMaxHeight * nSlideAspectRatio); - maPreviewSize.Height = sal_Int32(nMaxHeight); + // The preferred column count is possible. Determine gap and + // preview width. + mnColumnCount = gnPreferredColumnCount; + if (nElementWidth - gnPreferredPreviewWidth < gnMinimalHorizontalPreviewGap) + { + // Use the minimal gap and adapt the preview width. + mnHorizontalGap = floor(gnMinimalHorizontalPreviewGap); + nPreviewWidth = (nWidth - mnColumnCount*mnHorizontalGap) / mnColumnCount; + } + else if (nElementWidth - gnPreferredPreviewWidth <= gnMaximalHorizontalPreviewGap) + { + // Use the maximal gap and adapt the preview width. + mnHorizontalGap = round(gnMaximalHorizontalPreviewGap); + nPreviewWidth = (nWidth - mnColumnCount*mnHorizontalGap) / mnColumnCount; + } + else + { + // Use the preferred preview width and adapt the gap. + nPreviewWidth = gnPreferredPreviewWidth; + mnHorizontalGap = round((nWidth - mnColumnCount*nPreviewWidth) / mnColumnCount); + } } - if (maPreviewSize.Width <= 0 || maPreviewSize.Height <= 0) - return; - // Calculate the numbers of visible rows and columns. - mnColumnCount = sal_Int32((nAvailableWidth+nMinGap) / (maPreviewSize.Width + nMinGap)); - if (mnColumnCount < 1) - mnColumnCount = 1; - mnRowCount = sal_Int32((nAvailableHeight+nMinGap) / (maPreviewSize.Height + nMinGap)); - if (mnRowCount < 1) - mnRowCount = 1; - - // Calculate the gaps between adjacent previews. - if (mnColumnCount >= 2) - mnHorizontalGap = (nAvailableWidth - mnColumnCount*maPreviewSize.Width) / (mnColumnCount-1); - else - mnHorizontalGap = 0; - if (mnRowCount >= 2) - mnVerticalGap = (nAvailableHeight - mnRowCount*maPreviewSize.Height) / (mnRowCount-1); - else - mnVerticalGap = 0; + // Now determine the row count, preview height, and vertical gap. + const double nPreviewHeight = nPreviewWidth / nSlideAspectRatio; + mnRowCount = ::std::max( + sal_Int32(1), + sal_Int32(ceil((nHeight+gnPreferredVerticalPreviewGap) + / (nPreviewHeight + gnPreferredVerticalPreviewGap)))); + mnVerticalGap = round(gnPreferredVerticalPreviewGap); + + maPreviewSize = geometry::IntegerSize2D(floor(nPreviewWidth), floor(nPreviewHeight)); // Reset the offset. if (meOrientation == Horizontal) { - mnVerticalOffset = -(nAvailableHeight + mnVerticalOffset = round(-(nHeight - mnRowCount*maPreviewSize.Height - (mnRowCount-1)*mnVerticalGap) - / 2; + / 2); mnHorizontalOffset = 0; } else { mnVerticalOffset = 0; - mnHorizontalOffset = -(nAvailableWidth - - mnColumnCount*maPreviewSize.Width - (mnColumnCount-1)*mnHorizontalGap) - / 2; + mnHorizontalOffset = round(-(nWidth + - mnColumnCount*maPreviewSize.Width + - (mnColumnCount-1)*mnHorizontalGap) + / 2); } - - SetupVisibleArea(); - UpdateScrollBars(); } @@ -1016,59 +1401,118 @@ void PresenterSlideSorter::Layout::Update ( void PresenterSlideSorter::Layout::SetupVisibleArea (void) { - geometry::RealPoint2D aPoint (0,0); + geometry::RealPoint2D aPoint (GetLocalPosition( + geometry::RealPoint2D(maBoundingBox.X1, maBoundingBox.Y1))); if (meOrientation == Horizontal) { - mnFirstVisibleColumn = ::std::max( - sal_Int32(0), - sal_Int32((aPoint.X + mnHorizontalOffset + mnHorizontalGap) - / (maPreviewSize.Width+mnHorizontalGap))); + mnFirstVisibleColumn = ::std::max(sal_Int32(0), GetColumn(aPoint)); mnFirstVisibleRow = 0; } else { mnFirstVisibleColumn = 0; - mnFirstVisibleRow = ::std::max( - sal_Int32(0), - sal_Int32((aPoint.Y + mnVerticalOffset + mnVerticalGap) - / (maPreviewSize.Height+mnVerticalGap))); + mnFirstVisibleRow = ::std::max(sal_Int32(0), GetRow(aPoint)); } - aPoint = geometry::RealPoint2D(maViewport.X2-maViewport.X1, maViewport.Y2-maViewport.Y1); + aPoint = GetLocalPosition(geometry::RealPoint2D( maBoundingBox.X2, maBoundingBox.Y2)); if (meOrientation == Horizontal) { - mnLastVisibleColumn = sal_Int32((aPoint.X + mnHorizontalOffset) - / (maPreviewSize.Width+mnHorizontalGap)); + mnLastVisibleColumn = GetColumn(aPoint, true); mnLastVisibleRow = mnRowCount - 1; } else { mnLastVisibleColumn = mnColumnCount - 1; - mnLastVisibleRow = sal_Int32((aPoint.Y + mnVerticalOffset) - / (maPreviewSize.Height+mnVerticalGap)); + mnLastVisibleRow = GetRow(aPoint, true); } } -sal_Int32 PresenterSlideSorter::Layout::GetSlideIndexForPosition ( - const css::geometry::RealPoint2D& rPoint) +bool PresenterSlideSorter::Layout::IsScrollBarNeeded (const sal_Int32 nSlideCount) { - if (rPoint.X < maViewport.X1 - || rPoint.X > maViewport.X2 - || rPoint.Y < maViewport.Y1 - || rPoint.Y > maViewport.Y2) + geometry::RealPoint2D aBottomRight; + if (GetOrientation() == Layout::Vertical) + aBottomRight = GetPoint( + mnColumnCount * (GetRow(nSlideCount)+1) - 1, +1, +1); + else + aBottomRight = GetPoint( + mnRowCount * (GetColumn(nSlideCount)+1) - 1, +1, +1); + return aBottomRight.X > maBoundingBox.X2-maBoundingBox.X1 + || aBottomRight.Y > maBoundingBox.Y2-maBoundingBox.Y1; +} + + + + +geometry::RealPoint2D PresenterSlideSorter::Layout::GetLocalPosition( + const geometry::RealPoint2D& rWindowPoint) const +{ + return css::geometry::RealPoint2D( + rWindowPoint.X - maBoundingBox.X1 + mnHorizontalOffset, + rWindowPoint.Y - maBoundingBox.Y1 + mnVerticalOffset); +} + + + + +geometry::RealPoint2D PresenterSlideSorter::Layout::GetWindowPosition( + const geometry::RealPoint2D& rLocalPoint) const +{ + return css::geometry::RealPoint2D( + rLocalPoint.X - mnHorizontalOffset + maBoundingBox.X1, + rLocalPoint.Y - mnVerticalOffset + maBoundingBox.Y1); +} + + + + +sal_Int32 PresenterSlideSorter::Layout::GetColumn ( + const css::geometry::RealPoint2D& rLocalPoint, + const bool bReturnInvalidValue) const +{ + const sal_Int32 nColumn(floor( + (rLocalPoint.X + mnHorizontalGap/2.0) / (maPreviewSize.Width+mnHorizontalGap))); + if (bReturnInvalidValue + || (nColumn>=mnFirstVisibleColumn && nColumn<=mnLastVisibleColumn)) { + return nColumn; + } + else return -1; +} + + + + +sal_Int32 PresenterSlideSorter::Layout::GetRow ( + const css::geometry::RealPoint2D& rLocalPoint, + const bool bReturnInvalidValue) const +{ + const sal_Int32 nRow (floor( + (rLocalPoint.Y + mnVerticalGap/2.0) / (maPreviewSize.Height+mnVerticalGap))); + if (bReturnInvalidValue + || (nRow>=mnFirstVisibleRow && nRow<=mnLastVisibleRow)) + { + return nRow; } + else + return -1; +} - const double nX (rPoint.X - maViewport.X1 + mnHorizontalOffset); - const double nY (rPoint.Y - maViewport.Y1 + mnVerticalOffset); - const sal_Int32 nColumn (sal_Int32( - (nX + mnHorizontalGap/2.0) / (maPreviewSize.Width+mnHorizontalGap))); - const sal_Int32 nRow (sal_Int32( - (nY + mnVerticalGap/2.0) / (maPreviewSize.Height+mnVerticalGap))); + + + +sal_Int32 PresenterSlideSorter::Layout::GetSlideIndexForPosition ( + const css::geometry::RealPoint2D& rWindowPoint) const +{ + if ( ! PresenterGeometryHelper::IsInside(maBoundingBox, rWindowPoint)) + return -1; + + const css::geometry::RealPoint2D aLocalPosition (GetLocalPosition(rWindowPoint)); + const sal_Int32 nColumn (GetColumn(aLocalPosition)); + const sal_Int32 nRow (GetRow(aLocalPosition)); if (nColumn < 0 || nRow < 0) return -1; @@ -1088,14 +1532,14 @@ sal_Int32 PresenterSlideSorter::Layout::GetSlideIndexForPosition ( geometry::RealPoint2D PresenterSlideSorter::Layout::GetPoint ( const sal_Int32 nSlideIndex, const sal_Int32 nRelativeHorizontalPosition, - const sal_Int32 nRelativeVerticalPosition) + const sal_Int32 nRelativeVerticalPosition) const { sal_Int32 nColumn (GetColumn(nSlideIndex)); sal_Int32 nRow (GetRow(nSlideIndex)); - geometry::RealPoint2D aPosition( - maViewport.X1 + nColumn*(maPreviewSize.Width+mnHorizontalGap) - mnHorizontalOffset, - maViewport.Y1 + nRow*(maPreviewSize.Height+mnVerticalGap) - mnVerticalOffset); + geometry::RealPoint2D aPosition ( + mnHorizontalBorder + nColumn*(maPreviewSize.Width+mnHorizontalGap), + mnVerticalBorder + nRow*(maPreviewSize.Height+mnVerticalGap)); if (nRelativeHorizontalPosition >= 0) if (nRelativeHorizontalPosition > 0) @@ -1112,47 +1556,25 @@ geometry::RealPoint2D PresenterSlideSorter::Layout::GetPoint ( } -namespace { double sqr (const double nValue) { return nValue*nValue; } } -double PresenterSlideSorter::Layout::GetDistanceFromCenter ( - const css::geometry::RealPoint2D& rPoint, - const sal_Int32 nSlideIndex, - const DistanceType eDistanceType) -{ - const geometry::RealPoint2D aCenter (GetPoint(nSlideIndex, 0,0)); - - switch (eDistanceType) - { - case Norm1: - default: - return ::std::max( - fabs(rPoint.X - aCenter.X) / maPreviewSize.Width * 2, - fabs(rPoint.Y - aCenter.Y) / maPreviewSize.Height * 2); - - case Norm2: - return sqrt( - sqr((rPoint.X - aCenter.X) / maPreviewSize.Width * 2) - + sqr((rPoint.Y - aCenter.Y) / maPreviewSize.Height * 2)); - case XOnly: - return fabs(rPoint.X - aCenter.X) / maPreviewSize.Width * 2; - - case YOnly: - return fabs(rPoint.Y - aCenter.Y) / maPreviewSize.Height * 2; - } +awt::Rectangle PresenterSlideSorter::Layout::GetBoundingBox (const sal_Int32 nSlideIndex) const +{ + const geometry::RealPoint2D aWindowPosition(GetWindowPosition(GetPoint(nSlideIndex, -1, -1))); + return PresenterGeometryHelper::ConvertRectangle( + geometry::RealRectangle2D( + aWindowPosition.X, + aWindowPosition.Y, + aWindowPosition.X + maPreviewSize.Width, + aWindowPosition.Y + maPreviewSize.Height)); } -awt::Rectangle PresenterSlideSorter::Layout::GetBoundingBox (const sal_Int32 nSlideIndex) +geometry::IntegerSize2D PresenterSlideSorter::Layout::GetPreviewSize (void) const { - const geometry::RealPoint2D aPosition(GetPoint(nSlideIndex, 0, 0)); - return awt::Rectangle ( - sal_Int32(floor(aPosition.X)), - sal_Int32(floor(aPosition.Y)), - sal_Int32(ceil(aPosition.X + maPreviewSize.Width) - floor(aPosition.X)), - sal_Int32(ceil(aPosition.Y + maPreviewSize.Height) - floor(aPosition.Y))); + return maPreviewSize; } @@ -1175,7 +1597,7 @@ void PresenterSlideSorter::Layout::ForAllVisibleSlides (const ::boost::function< -sal_Int32 PresenterSlideSorter::Layout::GetFirstVisibleSlideIndex (void) +sal_Int32 PresenterSlideSorter::Layout::GetFirstVisibleSlideIndex (void) const { return GetIndex(mnFirstVisibleRow, mnFirstVisibleColumn); } @@ -1183,7 +1605,7 @@ sal_Int32 PresenterSlideSorter::Layout::GetFirstVisibleSlideIndex (void) -sal_Int32 PresenterSlideSorter::Layout::GetLastVisibleSlideIndex (void) +sal_Int32 PresenterSlideSorter::Layout::GetLastVisibleSlideIndex (void) const { return ::std::min( GetIndex(mnLastVisibleRow, mnLastVisibleColumn), @@ -1197,7 +1619,7 @@ bool PresenterSlideSorter::Layout::SetHorizontalOffset (const double nOffset) { if (mnHorizontalOffset != nOffset) { - mnHorizontalOffset = nOffset; + mnHorizontalOffset = round(nOffset); SetupVisibleArea(); UpdateScrollBars(); return true; @@ -1209,6 +1631,31 @@ bool PresenterSlideSorter::Layout::SetHorizontalOffset (const double nOffset) +bool PresenterSlideSorter::Layout::SetVerticalOffset (const double nOffset) +{ + if (mnVerticalOffset != nOffset) + { + mnVerticalOffset = round(nOffset); + SetupVisibleArea(); + UpdateScrollBars(); + return true; + } + else + return false; +} + + + + +PresenterSlideSorter::Layout::Orientation + PresenterSlideSorter::Layout::GetOrientation (void) const +{ + return meOrientation; +} + + + + void PresenterSlideSorter::Layout::UpdateScrollBars (void) { sal_Int32 nTotalColumnCount (0); @@ -1227,30 +1674,23 @@ void PresenterSlideSorter::Layout::UpdateScrollBars (void) if (mpHorizontalScrollBar.get() != NULL) { mpHorizontalScrollBar->SetTotalSize( - nTotalColumnCount * maPreviewSize.Width + (nTotalColumnCount-1) * mnHorizontalGap); - mpHorizontalScrollBar->SetThumbPosition(mnHorizontalOffset); - mpHorizontalScrollBar->SetThumbSize( - mnColumnCount * (maPreviewSize.Width + mnHorizontalGap) - mnHorizontalGap); + nTotalColumnCount * maPreviewSize.Width + + (nTotalColumnCount-1) * mnHorizontalGap + + 2*mnHorizontalBorder); + mpHorizontalScrollBar->SetThumbPosition(mnHorizontalOffset, false); + mpHorizontalScrollBar->SetThumbSize(maBoundingBox.X2 - maBoundingBox.X1 + 1); } if (mpVerticalScrollBar.get() != NULL) { mpVerticalScrollBar->SetTotalSize( - nTotalRowCount * maPreviewSize.Height + (nTotalRowCount-1) * mnVerticalGap); - mpVerticalScrollBar->SetThumbPosition(mnVerticalOffset); - mpVerticalScrollBar->SetThumbSize( - mnRowCount * (maPreviewSize.Height + mnVerticalGap) - mnVerticalGap); + nTotalRowCount * maPreviewSize.Height + + (nTotalRowCount-1) * mnVerticalGap + + 2*mnVerticalGap); + mpVerticalScrollBar->SetThumbPosition(mnVerticalOffset, false); + mpVerticalScrollBar->SetThumbSize(maBoundingBox.Y2 - maBoundingBox.Y1 + 1); } - // Place the scroll bars. - if (mpHorizontalScrollBar.get() != NULL) - { - mpHorizontalScrollBar->SetPosSize(geometry::RealRectangle2D( - maViewport.X1, - maViewport.Y2 + maInnerBorder.Y2, - maViewport.X2, - maViewport.Y2 + maInnerBorder.Y2 + mnScrollBarHeight)); - } // No place yet for the vertical scroll bar. } @@ -1258,7 +1698,9 @@ void PresenterSlideSorter::Layout::UpdateScrollBars (void) -sal_Int32 PresenterSlideSorter::Layout::GetIndex (const sal_Int32 nRow, const sal_Int32 nColumn) +sal_Int32 PresenterSlideSorter::Layout::GetIndex ( + const sal_Int32 nRow, + const sal_Int32 nColumn) const { if (meOrientation == Horizontal) return nColumn * mnRowCount + nRow; @@ -1269,7 +1711,7 @@ sal_Int32 PresenterSlideSorter::Layout::GetIndex (const sal_Int32 nRow, const sa -sal_Int32 PresenterSlideSorter::Layout::GetRow (const sal_Int32 nSlideIndex) +sal_Int32 PresenterSlideSorter::Layout::GetRow (const sal_Int32 nSlideIndex) const { if (meOrientation == Horizontal) return nSlideIndex % mnRowCount; @@ -1280,7 +1722,7 @@ sal_Int32 PresenterSlideSorter::Layout::GetRow (const sal_Int32 nSlideIndex) -sal_Int32 PresenterSlideSorter::Layout::GetColumn (const sal_Int32 nSlideIndex) +sal_Int32 PresenterSlideSorter::Layout::GetColumn (const sal_Int32 nSlideIndex) const { if (meOrientation == Horizontal) return nSlideIndex / mnRowCount; @@ -1294,29 +1736,32 @@ sal_Int32 PresenterSlideSorter::Layout::GetColumn (const sal_Int32 nSlideIndex) //===== PresenterSlideSorter::MouseOverManager ================================ PresenterSlideSorter::MouseOverManager::MouseOverManager ( - const Reference& rxContext, const Reference& rxSlides, - const Reference& rxModel) - : MouseOverManagerInterfaceBase(m_aMutex), - mxCanvas(), - mxPreviewCache(), + const ::boost::shared_ptr& rpTheme, + const Reference& rxInvalidateTarget, + const ::boost::shared_ptr& rpPaintManager) + : mxCanvas(), + mxSlides(rxSlides), + mpLeftLabelBitmap(), + mpCenterLabelBitmap(), + mpRightLabelBitmap(), + mpFont(), mnSlideIndex(-1), - mnDistance(2), - mxSprite(NULL), - maSpriteSize(0,0), - mbIsActive(true) + maSlideBoundingBox(), + mxInvalidateTarget(rxInvalidateTarget), + mpPaintManager(rpPaintManager) { - Reference xFactory (rxContext->getServiceManager(), UNO_QUERY); - if (xFactory.is()) + if (rpTheme.get()!=NULL) { - // Create the preview cache. - mxPreviewCache = Reference( - xFactory->createInstanceWithContext( - OUString::createFromAscii("com.sun.star.drawing.PresenterPreviewCache"), - rxContext), - UNO_QUERY_THROW); - mxPreviewCache->setDocumentSlides(rxSlides, rxModel); - mxPreviewCache->addPreviewCreationNotifyListener(this); + ::boost::shared_ptr pBitmaps (rpTheme->GetBitmapContainer()); + if (pBitmaps.get() != NULL) + { + mpLeftLabelBitmap = pBitmaps->GetBitmap(A2S("LabelLeft")); + mpCenterLabelBitmap = pBitmaps->GetBitmap(A2S("LabelCenter")); + mpRightLabelBitmap = pBitmaps->GetBitmap(A2S("LabelRight")); + } + + mpFont = rpTheme->GetFont(A2S("SlideSorterLabelFont")); } } @@ -1325,29 +1770,43 @@ PresenterSlideSorter::MouseOverManager::MouseOverManager ( PresenterSlideSorter::MouseOverManager::~MouseOverManager (void) { - Reference xComponent (mxPreviewCache, UNO_QUERY); - mxPreviewCache = NULL; - if (xComponent.is()) - xComponent->dispose(); - - DisposeSprite(); } -void PresenterSlideSorter::MouseOverManager::DisposeSprite (void) +void PresenterSlideSorter::MouseOverManager::Paint ( + const sal_Int32 nSlideIndex, + const Reference& rxCanvas, + const Reference& rxClip) { - if (mxSprite.is()) - { - mxSprite->hide(); - if (mxCanvas.is()) - mxCanvas->updateScreen(sal_False); + if (nSlideIndex != mnSlideIndex) + return; - Reference xComponent (mxSprite, UNO_QUERY); - mxSprite = NULL; - if (xComponent.is()) - xComponent->dispose(); + if (mxCanvas != rxCanvas) + SetCanvas(rxCanvas); + if (rxCanvas != NULL) + { + if ( ! mxBitmap.is()) + mxBitmap = CreateBitmap(msText, maSlideBoundingBox.Width); + if (mxBitmap.is()) + { + geometry::IntegerSize2D aSize (mxBitmap->getSize()); + const double nXOffset (maSlideBoundingBox.X + + (maSlideBoundingBox.Width - aSize.Width) / 2.0); + const double nYOffset (maSlideBoundingBox.Y + + (maSlideBoundingBox.Height - aSize.Height) / 2.0); + rxCanvas->drawBitmap( + mxBitmap, + rendering::ViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + rxClip), + rendering::RenderState( + geometry::AffineMatrix2D(1,0,nXOffset, 0,1,nYOffset), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE)); + } } } @@ -1355,9 +1814,11 @@ void PresenterSlideSorter::MouseOverManager::DisposeSprite (void) void PresenterSlideSorter::MouseOverManager::SetCanvas ( - const Reference& rxCanvas) + const Reference& rxCanvas) { mxCanvas = rxCanvas; + if (mpFont.get() != NULL) + mpFont->PrepareFont(Reference(mxCanvas, UNO_QUERY)); } @@ -1365,140 +1826,507 @@ void PresenterSlideSorter::MouseOverManager::SetCanvas ( void PresenterSlideSorter::MouseOverManager::SetSlide ( const sal_Int32 nSlideIndex, - const awt::Rectangle& rBox, - const double nDistance) -{ - mnDistance = nDistance; - if ( ! mxSprite.is() - || nSlideIndex != mnSlideIndex - || rBox.X != maBoundingBox.X - || rBox.Y != maBoundingBox.Y) - { - DisposeSprite(); - mnSlideIndex = nSlideIndex; - maBoundingBox = rBox; - - if (mnSlideIndex < 0) - return; - - if ( ! mbIsActive) - return; - - CreateSprite(nSlideIndex); - if ( ! mxSprite.is()) - return; - - mxSprite->move( - geometry::RealPoint2D(maBoundingBox.X, maBoundingBox.Y), - rendering::ViewState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL), - rendering::RenderState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE) - ); - } - - if ( ! mxSprite.is()) + const awt::Rectangle& rBox) +{ + if (mnSlideIndex == nSlideIndex) return; - double nDownScale (maBoundingBox.Width / maSpriteSize.Width); - double nUpScale (1.0); - if (nDistance < 1.0) - if (nDistance < 0.8) - nUpScale = mnMaxScale; - else + mnSlideIndex = -1; + Invalidate(); + + maSlideBoundingBox = rBox; + mnSlideIndex = nSlideIndex; + + if (nSlideIndex >= 0) + { + if (mxSlides.get() != NULL) { - const double nWeight ((nDistance-0.8) / 0.2); - nUpScale = mnMinScale*nWeight + mnMaxScale*(1-nWeight); - } + msText = OUString(); - double nScale (nDownScale * nUpScale); - mxSprite->transform( - geometry::AffineMatrix2D( - nScale,0, - nScale*maSpriteSize.Width/2.0, - 0,nScale, - nScale*maSpriteSize.Height/2.0)); + Reference xSlideProperties(mxSlides->getByIndex(nSlideIndex), UNO_QUERY); + if (xSlideProperties.is()) + xSlideProperties->getPropertyValue(A2S("LinkDisplayName")) >>= msText; - mxCanvas->updateScreen(sal_False); + if (msText.getLength() == 0) + msText = A2S("Slide ") + OUString::valueOf(nSlideIndex + 1); + } + } + else + { + msText = OUString(); + } + mxBitmap = NULL; + + Invalidate(); } -void PresenterSlideSorter::MouseOverManager::SetActiveState (const bool bIsActive) +Reference PresenterSlideSorter::MouseOverManager::CreateBitmap ( + const OUString& rsText, + const sal_Int32 nMaximalWidth) const { - if (mbIsActive != bIsActive) + if ( ! mxCanvas.is()) + return NULL; + + if (mpFont.get()==NULL || !mpFont->mxFont.is()) + return NULL; + + // Long text has to be shortened. + const OUString sText (GetFittingText(rsText, nMaximalWidth + - 2*gnHorizontalLabelBorder + - 2*gnHorizontalLabelPadding)); + + // Determine the size of the label. Its height is defined by the + // bitmaps that are used to paints its background. The width is defined + // by the text. + geometry::IntegerSize2D aLabelSize (CalculateLabelSize(sText)); + + // Create a new bitmap that will contain the complete label. + Reference xBitmap ( + mxCanvas->getDevice()->createCompatibleAlphaBitmap(aLabelSize)); + + if ( ! xBitmap.is()) + return NULL; + + Reference xBitmapCanvas (xBitmap->queryBitmapCanvas()); + if ( ! xBitmapCanvas.is()) + return NULL; + + // Paint the background. + PaintButtonBackground(xBitmapCanvas, aLabelSize); + + // Paint the text. + if (sText.getLength() > 0) { - mbIsActive = bIsActive; - if ( ! mbIsActive) - DisposeSprite(); - else if (mnSlideIndex >= 0) - SetSlide (mnSlideIndex, maBoundingBox, mnDistance); + + const rendering::StringContext aContext (sText, 0, sText.getLength()); + const Reference xLayout (mpFont->mxFont->createTextLayout( + aContext, rendering::TextDirection::WEAK_LEFT_TO_RIGHT,0)); + const geometry::RealRectangle2D aTextBBox (xLayout->queryTextBounds()); + + const double nXOffset = (aLabelSize.Width - aTextBBox.X2 + aTextBBox.X1) / 2; + const double nYOffset = aLabelSize.Height + - (aLabelSize.Height - aTextBBox.Y2 + aTextBBox.Y1)/2 - aTextBBox.Y2; + + const rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL); + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D(1,0,nXOffset, 0,1,nYOffset), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + PresenterCanvasHelper::SetDeviceColor(aRenderState, mpFont->mnColor); + + xBitmapCanvas->drawText( + aContext, + mpFont->mxFont, + aViewState, + aRenderState, + rendering::TextDirection::WEAK_LEFT_TO_RIGHT); } + + return xBitmap; } -void PresenterSlideSorter::MouseOverManager::CreateSprite (const sal_Int32 nSlideIndex) +OUString PresenterSlideSorter::MouseOverManager::GetFittingText ( + const OUString& rsText, + const double nMaximalWidth) const { - if ( ! mxPreviewCache.is()) - return; - maSpriteSize = geometry::RealSize2D(maBoundingBox.Width*2, maBoundingBox.Height*2); - mxPreviewCache->setPreviewSize(geometry::IntegerSize2D( - sal_Int32(maSpriteSize.Width), sal_Int32(maSpriteSize.Height))); - if (mxCanvas.is() && ! mxSprite.is()) + const double nTextWidth ( + PresenterCanvasHelper::GetTextSize(mpFont->mxFont, rsText).Width); + if (nTextWidth > nMaximalWidth) { - mxSprite = mxCanvas->createCustomSprite(maSpriteSize); - if (mxSprite.is()) + // Text is too wide. Shorten it by removing characters from the end + // and replacing them by ellipses. + + // Guess a start value of the final string length. + double nBestWidth (0); + OUString sBestCandidate; + sal_Int32 nLength (round(rsText.getLength() * nMaximalWidth / nTextWidth)); + const OUString sEllipses (A2S("...")); + while (true) { - mxSprite->setAlpha(1.0); - mxSprite->setPriority(+10); - mxSprite->show(); + const OUString sCandidate (rsText.copy(0,nLength) + sEllipses); + const double nWidth ( + PresenterCanvasHelper::GetTextSize(mpFont->mxFont, sCandidate).Width); + if (nWidth > nMaximalWidth) + { + // Candidate still too wide, shorten it. + nLength -= 1; + if (nLength <= 0) + break; + } + else if (nWidth < nMaximalWidth) + { + // Candidate short enough. + if (nWidth > nBestWidth) + { + // Best length so far. + sBestCandidate = sCandidate; + nBestWidth = nWidth; + nLength += 1; + if (nLength >= rsText.getLength()) + break; + } + else + break; + } + else + { + // Candidate is exactly as long as it may be. Use it + // without looking any further. + sBestCandidate = sCandidate; + break; + } } + return sBestCandidate; } - if (mxSprite.is()) - { - Reference xSpriteCanvas (mxSprite->getContentCanvas()); - if (xSpriteCanvas.is()) - { - Reference xBitmap ( - mxPreviewCache->getSlidePreview(nSlideIndex, xSpriteCanvas)); - if (xBitmap.is()) - { - rendering::ViewState aViewState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL); + else + return rsText; +} - rendering::RenderState aRenderState ( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE); - xSpriteCanvas->drawBitmap(xBitmap, aViewState, aRenderState); - } - } + +geometry::IntegerSize2D PresenterSlideSorter::MouseOverManager::CalculateLabelSize ( + const OUString& rsText) const +{ + // Height is specified by the label bitmaps. + sal_Int32 nHeight (32); + if (mpCenterLabelBitmap.get() != NULL) + { + Reference xBitmap (mpCenterLabelBitmap->GetNormalBitmap()); + if (xBitmap.is()) + nHeight = xBitmap->getSize().Height; } + + // Width is specified by text width and maximal width. + const geometry::RealSize2D aTextSize ( + PresenterCanvasHelper::GetTextSize(mpFont->mxFont, rsText)); + + const sal_Int32 nWidth (round(aTextSize.Width + 2*gnHorizontalLabelPadding)); + + return geometry::IntegerSize2D(nWidth, nHeight); } -void SAL_CALL PresenterSlideSorter::MouseOverManager::notifyPreviewCreation ( - sal_Int32 nSlideIndex) - throw(css::uno::RuntimeException) +void PresenterSlideSorter::MouseOverManager::PaintButtonBackground ( + const Reference& rxCanvas, + const geometry::IntegerSize2D& rSize) const { - if (nSlideIndex == mnSlideIndex) + // Get the bitmaps for painting the label background. + Reference xLeftLabelBitmap; + if (mpLeftLabelBitmap.get() != NULL) + xLeftLabelBitmap = mpLeftLabelBitmap->GetNormalBitmap(); + + Reference xCenterLabelBitmap; + if (mpCenterLabelBitmap.get() != NULL) + xCenterLabelBitmap = mpCenterLabelBitmap->GetNormalBitmap(); + + Reference xRightLabelBitmap; + if (mpRightLabelBitmap.get() != NULL) + xRightLabelBitmap = mpRightLabelBitmap->GetNormalBitmap(); + + PresenterUIPainter::PaintHorizontalBitmapComposite ( + Reference(rxCanvas, UNO_QUERY), + awt::Rectangle(0,0, rSize.Width,rSize.Height), + awt::Rectangle(0,0, rSize.Width,rSize.Height), + xLeftLabelBitmap, + xCenterLabelBitmap, + xRightLabelBitmap); +} + + + + +void PresenterSlideSorter::MouseOverManager::Invalidate (void) +{ + if (mpPaintManager.get() != NULL) + mpPaintManager->Invalidate(mxInvalidateTarget, maSlideBoundingBox, true); +} + + + + +//===== PresenterSlideSorter::CurrentSlideFrameRenderer ======================= + +PresenterSlideSorter::CurrentSlideFrameRenderer::CurrentSlideFrameRenderer ( + const css::uno::Reference& rxContext, + const css::uno::Reference& rxCanvas) + : mpTopLeft(), + mpTop(), + mpTopRight(), + mpLeft(), + mpRight(), + mpBottomLeft(), + mpBottom(), + mpBottomRight(), + mnTopFrameSize(0), + mnLeftFrameSize(0), + mnRightFrameSize(0), + mnBottomFrameSize(0) +{ + PresenterConfigurationAccess aConfiguration ( + rxContext, + OUString::createFromAscii("/org.openoffice.Office.extension.PresenterScreen/"), + PresenterConfigurationAccess::READ_ONLY); + Reference xBitmaps ( + aConfiguration.GetConfigurationNode( + A2S("PresenterScreenSettings/SlideSorter/CurrentSlideBorderBitmaps")), + UNO_QUERY); + if ( ! xBitmaps.is()) + return; + + PresenterBitmapContainer aContainer ( + A2S("PresenterScreenSettings/SlideSorter/CurrentSlideBorderBitmaps"), + ::boost::shared_ptr(), + rxContext, + rxCanvas, + PresenterComponent::GetBasePath(rxContext)); + + mpTopLeft = aContainer.GetBitmap(A2S("TopLeft")); + mpTop = aContainer.GetBitmap(A2S("Top")); + mpTopRight = aContainer.GetBitmap(A2S("TopRight")); + mpLeft = aContainer.GetBitmap(A2S("Left")); + mpRight = aContainer.GetBitmap(A2S("Right")); + mpBottomLeft = aContainer.GetBitmap(A2S("BottomLeft")); + mpBottom = aContainer.GetBitmap(A2S("Bottom")); + mpBottomRight = aContainer.GetBitmap(A2S("BottomRight")); + + // Determine size of frame. + if (mpTop.get() != NULL) + mnTopFrameSize = mpTop->mnHeight; + if (mpLeft.get() != NULL) + mnLeftFrameSize = mpLeft->mnWidth; + if (mpRight.get() != NULL) + mnRightFrameSize = mpRight->mnWidth; + if (mpBottom.get() != NULL) + mnBottomFrameSize = mpBottom->mnHeight; + + if (mpTopLeft.get() != NULL) + { + mnTopFrameSize = ::std::max(mnTopFrameSize, mpTopLeft->mnHeight); + mnLeftFrameSize = ::std::max(mnLeftFrameSize, mpTopLeft->mnWidth); + } + if (mpTopRight.get() != NULL) + { + mnTopFrameSize = ::std::max(mnTopFrameSize, mpTopRight->mnHeight); + mnRightFrameSize = ::std::max(mnRightFrameSize, mpTopRight->mnWidth); + } + if (mpBottomLeft.get() != NULL) { - CreateSprite(mnSlideIndex); + mnLeftFrameSize = ::std::max(mnLeftFrameSize, mpBottomLeft->mnWidth); + mnBottomFrameSize = ::std::max(mnBottomFrameSize, mpBottomLeft->mnHeight); + } + if (mpBottomRight.get() != NULL) + { + mnRightFrameSize = ::std::max(mnRightFrameSize, mpBottomRight->mnWidth); + mnBottomFrameSize = ::std::max(mnBottomFrameSize, mpBottomRight->mnHeight); + } +} - Reference xSpriteCanvas (mxCanvas, UNO_QUERY); - if (xSpriteCanvas.is()) - xSpriteCanvas->updateScreen(sal_False); + + + +PresenterSlideSorter::CurrentSlideFrameRenderer::~CurrentSlideFrameRenderer (void) +{ +} + + + + +void PresenterSlideSorter::CurrentSlideFrameRenderer::PaintCurrentSlideFrame ( + const awt::Rectangle& rSlideBoundingBox, + const Reference& rxCanvas, + const geometry::RealRectangle2D& rClipBox) +{ + if ( ! rxCanvas.is()) + return; + + const Reference xClip ( + PresenterGeometryHelper::CreatePolygon(rClipBox, rxCanvas->getDevice())); + + if (mpTop.get() != NULL) + { + PaintBitmapTiled( + mpTop->GetNormalBitmap(), + rxCanvas, + rClipBox, + rSlideBoundingBox.X, + rSlideBoundingBox.Y - mpTop->mnHeight, + rSlideBoundingBox.Width, + mpTop->mnHeight); + } + if (mpLeft.get() != NULL) + { + PaintBitmapTiled( + mpLeft->GetNormalBitmap(), + rxCanvas, + rClipBox, + rSlideBoundingBox.X - mpLeft->mnWidth, + rSlideBoundingBox.Y, + mpLeft->mnWidth, + rSlideBoundingBox.Height); + } + if (mpRight.get() != NULL) + { + PaintBitmapTiled( + mpRight->GetNormalBitmap(), + rxCanvas, + rClipBox, + rSlideBoundingBox.X + rSlideBoundingBox.Width, + rSlideBoundingBox.Y, + mpRight->mnWidth, + rSlideBoundingBox.Height); + } + if (mpBottom.get() != NULL) + { + PaintBitmapTiled( + mpBottom->GetNormalBitmap(), + rxCanvas, + rClipBox, + rSlideBoundingBox.X, + rSlideBoundingBox.Y + rSlideBoundingBox.Height, + rSlideBoundingBox.Width, + mpBottom->mnHeight); + } + if (mpTopLeft.get() != NULL) + { + PaintBitmapOnce( + mpTopLeft->GetNormalBitmap(), + rxCanvas, + xClip, + rSlideBoundingBox.X - mpTopLeft->mnWidth, + rSlideBoundingBox.Y - mpTopLeft->mnHeight); + } + if (mpTopRight.get() != NULL) + { + PaintBitmapOnce( + mpTopRight->GetNormalBitmap(), + rxCanvas, + xClip, + rSlideBoundingBox.X + rSlideBoundingBox.Width, + rSlideBoundingBox.Y - mpTopLeft->mnHeight); + } + if (mpBottomLeft.get() != NULL) + { + PaintBitmapOnce( + mpBottomLeft->GetNormalBitmap(), + rxCanvas, + xClip, + rSlideBoundingBox.X - mpBottomLeft->mnWidth, + rSlideBoundingBox.Y + rSlideBoundingBox.Height); + } + if (mpBottomRight.get() != NULL) + { + PaintBitmapOnce( + mpBottomRight->GetNormalBitmap(), + rxCanvas, + xClip, + rSlideBoundingBox.X + rSlideBoundingBox.Width, + rSlideBoundingBox.Y + rSlideBoundingBox.Height); } } + + + +awt::Rectangle PresenterSlideSorter::CurrentSlideFrameRenderer::GetBoundingBox ( + const awt::Rectangle& rSlideBoundingBox) +{ + return awt::Rectangle( + rSlideBoundingBox.X - mnLeftFrameSize, + rSlideBoundingBox.Y - mnTopFrameSize, + rSlideBoundingBox.Width + mnLeftFrameSize + mnRightFrameSize, + rSlideBoundingBox.Height + mnTopFrameSize + mnBottomFrameSize); +} + + + + +void PresenterSlideSorter::CurrentSlideFrameRenderer::PaintBitmapOnce( + const css::uno::Reference& rxBitmap, + const css::uno::Reference& rxCanvas, + const Reference& rxClip, + const double nX, + const double nY) +{ + OSL_ASSERT(rxCanvas.is()); + if ( ! rxBitmap.is()) + return; + + const rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + rxClip); + + const rendering::RenderState aRenderState ( + geometry::AffineMatrix2D( + 1, 0, nX, + 0, 1, nY), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + rxCanvas->drawBitmap( + rxBitmap, + aViewState, + aRenderState); +} + + + + +void PresenterSlideSorter::CurrentSlideFrameRenderer::PaintBitmapTiled( + const css::uno::Reference& rxBitmap, + const css::uno::Reference& rxCanvas, + const geometry::RealRectangle2D& rClipBox, + const double nX0, + const double nY0, + const double nWidth, + const double nHeight) +{ + OSL_ASSERT(rxCanvas.is()); + if ( ! rxBitmap.is()) + return; + + geometry::IntegerSize2D aSize (rxBitmap->getSize()); + + const rendering::ViewState aViewState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + PresenterGeometryHelper::CreatePolygon( + PresenterGeometryHelper::Intersection( + rClipBox, + geometry::RealRectangle2D(nX0,nY0,nX0+nWidth,nY0+nHeight)), + rxCanvas->getDevice())); + + rendering::RenderState aRenderState ( + geometry::AffineMatrix2D( + 1, 0, nX0, + 0, 1, nY0), + NULL, + Sequence(3), + rendering::CompositeOperation::SOURCE); + + const double nX1 = nX0 + nWidth; + const double nY1 = nY0 + nHeight; + for (double nY=nY0; nYdrawBitmap( + rxBitmap, + aViewState, + aRenderState); + } +} + } } // end of namespace ::sdext::presenter -- cgit From b514f782c6e206ddfc7062fe7848c36c1e1cb84c Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:38:02 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:25:13 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:05:13 af 1.2.4.1: #i18486# Added close button. Changed mouse over effect. --- sdext/source/presenter/PresenterSlideSorter.hxx | 54 ++++++++++++++++++++----- 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/sdext/source/presenter/PresenterSlideSorter.hxx b/sdext/source/presenter/PresenterSlideSorter.hxx index 3e65936e9088..9004ff7a845e 100644 --- a/sdext/source/presenter/PresenterSlideSorter.hxx +++ b/sdext/source/presenter/PresenterSlideSorter.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterSlideSorter.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -33,35 +33,41 @@ #define SDEXT_PRESENTER_PRESENTER_SLIDE_SORTER_HXX #include "PresenterController.hxx" +#include "PresenterPaneContainer.hxx" +#include "PresenterViewFactory.hxx" #include -#include +#include #include #include #include +#include #include #include #include #include #include +#include #include #include namespace css = ::com::sun::star; namespace { - typedef cppu::WeakComponentImplHelper7< + typedef cppu::WeakComponentImplHelper8< css::drawing::framework::XView, css::awt::XWindowListener, css::awt::XPaintListener, css::beans::XPropertyChangeListener, css::drawing::XSlidePreviewCacheListener, css::awt::XMouseListener, - css::awt::XMouseMotionListener + css::awt::XMouseMotionListener, + css::drawing::XDrawView > PresenterSlideSorterInterfaceBase; } namespace sdext { namespace presenter { +class PresenterButton; class PresenterScrollBar; /** A simple slide sorter for the presenter screen. It uses a preview cache @@ -69,10 +75,11 @@ class PresenterScrollBar; */ class PresenterSlideSorter : private ::cppu::BaseMutex, - public PresenterSlideSorterInterfaceBase + public PresenterSlideSorterInterfaceBase, + public CachablePresenterView { public: - explicit PresenterSlideSorter ( + PresenterSlideSorter ( const css::uno::Reference& rxContext, const css::uno::Reference& rxViewId, const css::uno::Reference& rxController, @@ -158,6 +165,16 @@ public: sal_Int32 nSlideIndex) throw(css::uno::RuntimeException); + + // XDrawView + + virtual void SAL_CALL setCurrentPage ( + const css::uno::Reference& rxSlide) + throw (css::uno::RuntimeException); + + virtual css::uno::Reference SAL_CALL getCurrentPage (void) + throw (css::uno::RuntimeException); + private: css::uno::Reference mxComponentContext; css::uno::Reference mxViewId; @@ -168,29 +185,46 @@ private: css::uno::Reference mxSlideShowController; css::uno::Reference mxPreviewCache; bool mbIsPaintPending; + bool mbIsLayoutPending; class Layout; ::boost::shared_ptr mpLayout; ::rtl::Reference mpHorizontalScrollBar; + ::rtl::Reference mpVerticalScrollBar; + ::rtl::Reference mpCloseButton; class MouseOverManager; - ::rtl::Reference mpMouseOverManager; + ::boost::scoped_ptr mpMouseOverManager; sal_Int32 mnSlideIndexMousePressed; sal_Int32 mnCurrentSlideIndex; + sal_Int32 mnSeparatorY; + css::util::Color maSeparatorColor; + css::awt::Point maCloseButtonCenter; + css::awt::Rectangle maCurrentSlideFrameBoundingBox; + class CurrentSlideFrameRenderer; + ::boost::shared_ptr mpCurrentSlideFrameRenderer; + css::uno::Reference mxPreviewFrame; void UpdateLayout (void); + css::geometry::RealRectangle2D PlaceScrollBars ( + const css::geometry::RealRectangle2D& rUpperBox); + void PlaceCloseButton ( + const PresenterPaneContainer::SharedPaneDescriptor& rpPane, + const css::awt::Rectangle& rCenterBox, + const sal_Int32 nLeftFrameWidth); void ClearBackground ( const css::uno::Reference& rxCanvas, const css::awt::Rectangle& rRedrawArea); double GetSlideAspectRatio (void) const; css::uno::Reference GetPreview (const sal_Int32 nSlideIndex); - void PaintPreview (const sal_Int32 nSlideIndex); void PaintPreview ( const css::uno::Reference& rxCanvas, + const css::awt::Rectangle& rUpdateBox, const sal_Int32 nSlideIndex); - void Paint (void); - void Invalidate (const css::awt::Rectangle& rBBox); + void Paint (const css::awt::Rectangle& rUpdateBox); void SetHorizontalOffset (const double nXOffset); + void SetVerticalOffset (const double nYOffset); void GotoSlide (const sal_Int32 nSlideIndex); bool ProvideCanvas (void); + void Close (void); /** This method throws a DisposedException when the object has already been disposed. -- cgit From e69aba3337b297ab61e585b3b9b0ed254027d424 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:38:15 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:25:10 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:06:25 af 1.2.4.1: #i18486# Added SetToBitmap() method. --- sdext/source/presenter/PresenterSprite.cxx | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/sdext/source/presenter/PresenterSprite.cxx b/sdext/source/presenter/PresenterSprite.cxx index 2215fa9c1fe7..1466c5ea6879 100644 --- a/sdext/source/presenter/PresenterSprite.cxx +++ b/sdext/source/presenter/PresenterSprite.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterSprite.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -284,4 +284,28 @@ void PresenterSprite::DisposeSprite (void) } } -} } + + + +void PresenterSprite::SetToBitmap (const Reference& rxBitmap) +{ + const geometry::IntegerSize2D aSize (rxBitmap->getSize()); + Resize(geometry::RealSize2D(aSize.Width, aSize.Height)); + + Reference xCanvas (GetCanvas()); + if (xCanvas.is() && rxBitmap.is()) + { + xCanvas->drawBitmap( + rxBitmap, + rendering::ViewState(geometry::AffineMatrix2D(1,0,0, 0,1,0), NULL), + rendering::RenderState( + geometry::AffineMatrix2D(1,0,0, 0,1,0), + NULL, + uno::Sequence(3), + rendering::CompositeOperation::SOURCE)); + + } +} + + +} } //end of namespace sdext::presenter -- cgit From 45f8836c91804c9b864b7cef7cf1ff32f502a156 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:38:28 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:28:08 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:06:25 af 1.2.4.1: #i18486# Added SetToBitmap() method. --- sdext/source/presenter/PresenterSprite.hxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sdext/source/presenter/PresenterSprite.hxx b/sdext/source/presenter/PresenterSprite.hxx index bfeddd0ed5a8..39f82f332553 100644 --- a/sdext/source/presenter/PresenterSprite.hxx +++ b/sdext/source/presenter/PresenterSprite.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterSprite.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -82,6 +82,8 @@ public: void SetAlpha (const double nAlpha); double GetAlpha (void) const; + void SetToBitmap (const css::uno::Reference& rxBitmap); + void Update (void); private: -- cgit From 4bc8526b12950cd82a6a9e5047691cbb1378d439 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:38:40 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:27:02 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:08:53 af 1.2.4.1: #i18486# Not a UNO service anymore. --- sdext/source/presenter/PresenterSpritePane.cxx | 46 ++++++-------------------- 1 file changed, 10 insertions(+), 36 deletions(-) diff --git a/sdext/source/presenter/PresenterSpritePane.cxx b/sdext/source/presenter/PresenterSpritePane.cxx index 36fa599cb3c1..25eb767a8c41 100644 --- a/sdext/source/presenter/PresenterSpritePane.cxx +++ b/sdext/source/presenter/PresenterSpritePane.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterSpritePane.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -42,35 +42,6 @@ using ::rtl::OUString; namespace sdext { namespace presenter { -//----- Service --------------------------------------------------------------- - -OUString PresenterSpritePane::getImplementationName_static (void) -{ - return OUString::createFromAscii("com.sun.star.comp.Draw.PresenterSpritePane"); -} - - - - -Sequence PresenterSpritePane::getSupportedServiceNames_static (void) -{ - static const ::rtl::OUString sServiceName( - ::rtl::OUString::createFromAscii("com.sun.star.drawing.PresenterSpritePane")); - return Sequence(&sServiceName, 1); -} - - - - -Reference PresenterSpritePane::Create (const Reference& rxContext) - SAL_THROW((css::uno::Exception)) -{ - return Reference(static_cast(new PresenterSpritePane(rxContext))); -} - - - - //===== TransparentBorderPainter ============================================== namespace { @@ -125,8 +96,9 @@ private: //===== PresenterSpritePane ========================================================= -PresenterSpritePane::PresenterSpritePane (const Reference& rxContext) - : PresenterPaneBase(rxContext), +PresenterSpritePane::PresenterSpritePane (const Reference& rxContext, + const ::rtl::Reference& rpPresenterController) + : PresenterPaneBase(rxContext, rpPresenterController), mxParentWindow(), mxParentCanvas(), mpSprite(new PresenterSprite()) @@ -193,7 +165,8 @@ void SAL_CALL PresenterSpritePane::windowResized (const awt::WindowEvent& rEvent throw (RuntimeException) { (void)rEvent; - ThrowIfDisposed(); + PresenterPaneBase::windowResized(rEvent); + mpSprite->Resize(geometry::RealSize2D(rEvent.Width, rEvent.Height)); LayoutContextWindow(); UpdateCanvases(); @@ -207,7 +180,8 @@ void SAL_CALL PresenterSpritePane::windowMoved (const awt::WindowEvent& rEvent) throw (RuntimeException) { (void)rEvent; - ThrowIfDisposed(); + PresenterPaneBase::windowMoved(rEvent); + awt::Rectangle aBox ( mxPresenterHelper->getWindowExtentsRelative(mxBorderWindow, mxParentWindow)); mpSprite->MoveTo(geometry::RealPoint2D(aBox.X, aBox.Y)); @@ -221,7 +195,7 @@ void SAL_CALL PresenterSpritePane::windowShown (const lang::EventObject& rEvent) throw (RuntimeException) { (void)rEvent; - ThrowIfDisposed(); + PresenterPaneBase::windowShown(rEvent); mpSprite->Show(); ToTop(); @@ -240,7 +214,7 @@ void SAL_CALL PresenterSpritePane::windowHidden (const lang::EventObject& rEvent throw (RuntimeException) { (void)rEvent; - ThrowIfDisposed(); + PresenterPaneBase::windowHidden(rEvent); mpSprite->Hide(); if (mxContentWindow.is()) -- cgit From 44421fde6a7fc47def7e043fb379cd6722758dad Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:38:52 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/22 08:25:46 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:08:53 af 1.2.4.1: #i18486# Not a UNO service anymore. --- sdext/source/presenter/PresenterSpritePane.hxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sdext/source/presenter/PresenterSpritePane.hxx b/sdext/source/presenter/PresenterSpritePane.hxx index a131255a953f..0beb75a0c37e 100644 --- a/sdext/source/presenter/PresenterSpritePane.hxx +++ b/sdext/source/presenter/PresenterSpritePane.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterSpritePane.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -65,7 +65,9 @@ namespace sdext { namespace presenter { class PresenterSpritePane : public PresenterPaneBase { public: - PresenterSpritePane (const css::uno::Reference& rxContext); + PresenterSpritePane ( + const css::uno::Reference& rxContext, + const ::rtl::Reference& rpPresenterController); virtual ~PresenterSpritePane (void); virtual void SAL_CALL disposing (void); -- cgit From fdc701b1e152dfce94f880099b8d1a04f36671d6 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:39:05 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 08:36:10 af 1.2.4.5: #i88858# Added GetNodeForViewStyle() method. 2008/04/22 13:06:47 af 1.2.4.4: #i18486# Made extension identifier platform specific. 2008/04/22 08:25:39 af 1.2.4.3: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:59:13 af 1.2.4.2: #i18486# Fixed some Linux build problems. 2008/04/16 16:10:07 af 1.2.4.1: #i18486# Exporting FontDescriptor sub class. --- sdext/source/presenter/PresenterTheme.cxx | 1120 ++++++++++++++++------------- 1 file changed, 606 insertions(+), 514 deletions(-) diff --git a/sdext/source/presenter/PresenterTheme.cxx b/sdext/source/presenter/PresenterTheme.cxx index e72a321c678f..176a5fdaf7c3 100644 --- a/sdext/source/presenter/PresenterTheme.cxx +++ b/sdext/source/presenter/PresenterTheme.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterTheme.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -30,6 +30,8 @@ ************************************************************************/ #include "PresenterTheme.hxx" +#include "PresenterBitmapContainer.hxx" +#include "PresenterCanvasHelper.hxx" #include "PresenterComponent.hxx" #include "PresenterConfigurationAccess.hxx" #include "PresenterHelper.hxx" @@ -38,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -48,9 +51,7 @@ using namespace ::com::sun::star::uno; using namespace ::std; using ::rtl::OUString; -namespace { -OUString A2S (const sal_Char* pString) { return OUString::createFromAscii(pString); } -} +#define A2S(s) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s))) namespace sdext { namespace presenter { @@ -59,15 +60,41 @@ namespace { class BorderSize { public: - BorderSize (void) : mnLeft(0),mnTop(0),mnRight(0),mnBottom(0) {} + const static sal_Int32 mnInvalidValue = -10000; + + BorderSize (void) : mnLeft(mnInvalidValue), + mnTop(mnInvalidValue), + mnRight(mnInvalidValue), + mnBottom(mnInvalidValue) {} sal_Int32 mnLeft; sal_Int32 mnTop; sal_Int32 mnRight; sal_Int32 mnBottom; -}; + + vector ToVector (void) + { + vector aSequence (4); + aSequence[0] = mnLeft == mnInvalidValue ? 0 : mnLeft; + aSequence[1] = mnTop == mnInvalidValue ? 0 : mnTop; + aSequence[2] = mnRight == mnInvalidValue ? 0 : mnRight; + aSequence[3] = mnBottom == mnInvalidValue ? 0 : mnBottom; + return aSequence; + }; + void Merge (const BorderSize& rBorderSize) + { + if (mnLeft == mnInvalidValue) + mnLeft = rBorderSize.mnLeft; + if (mnTop == mnInvalidValue) + mnTop = rBorderSize.mnTop; + if (mnRight == mnInvalidValue) + mnRight = rBorderSize.mnRight; + if (mnBottom == mnInvalidValue) + mnBottom = rBorderSize.mnBottom; + } +}; /** Reading a theme from the configurations is done in various classes. The @@ -77,70 +104,41 @@ public: class ReadContext { public: - PresenterConfigurationAccess& mrConfiguration; + Reference mxComponentContext; Reference mxCanvas; - ::boost::shared_ptr mpPropertyMap; Reference mxPresenterHelper; OUString msBasePath; ReadContext ( - const css::uno::Reference& rxContext, - PresenterConfigurationAccess& rConfiguration, + const Reference& rxContext, const Reference& rxCanvas); ~ReadContext (void); - /** Read one bitmap from a file and store this and the other given data - into a new BitmapDescriptor object. - */ - ::boost::shared_ptr ReadBitmap ( - const ::rtl::OUString& rsKey, - const ::rtl::OUString& rsFileName, - const sal_Int32 nXOffset, - const sal_Int32 nYOffset, - const util::Color nColor); - /** Read data describing a font from the node that can be reached from the given root via the given path. @param rsFontPath May be empty. */ - ::boost::shared_ptr ReadFont ( + static PresenterTheme::SharedFontDescriptor ReadFont ( const css::uno::Reference& rxTheme, - const ::rtl::OUString& rsFontPath); - - /** Read a single bitmap, that typically is not member of a set, and - return a new BitmapDescriptor with the data describing the bitmap. - */ - ::boost::shared_ptr ReadSingleBitmap ( - const ::rtl::OUString& rsKey, - const css::uno::Reference& rxNode, - const ::rtl::OUString& rsRelativePath); - - /** Read a set of bitmaps from the given node and return a new - BitmapContainer that contains them. - */ - ::boost::shared_ptr ReadBorderBitmaps ( - const css::uno::Reference& rxNode); + const ::rtl::OUString& rsFontPath, + const PresenterTheme::SharedFontDescriptor& rpDefault); + static PresenterTheme::SharedFontDescriptor ReadFont ( + const Reference& rxFontProperties, + const PresenterTheme::SharedFontDescriptor& rpDefault); ::boost::shared_ptr ReadTheme ( + PresenterConfigurationAccess& rConfiguration, const OUString& rsThemeName); BorderSize ReadBorderSize (const Reference& rxNode); + void SetBitmapSourceExtension (const OUString& rsExtensionName); + private: - /** Used by ReadBorderBitmaps to read a single bitmap. - @param rpContainer - The container to insert the new bitmap into. - @param rsKey - The key of the configuration node that contains the bitmap data. - @param rValues - A set of Anys that contain Strings, nodes, and other data that - describe a bitmap. - */ - void ProcessBitmap ( - const ::boost::shared_ptr& rpContainer, - const ::rtl::OUString& rsKey, - const ::std::vector& rValues); + Any GetByName ( + const Reference& rxNode, + const OUString& rsName) const; }; @@ -154,31 +152,35 @@ public: PaneStyle (void); ~PaneStyle (void); - void AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap); + const SharedBitmapDescriptor GetBitmap (const OUString& sBitmapName) const; OUString msStyleName; ::boost::shared_ptr mpParentStyle; - ::boost::shared_ptr mpFont; + PresenterTheme::SharedFontDescriptor mpFont; BorderSize maInnerBorderSize; BorderSize maOuterBorderSize; - ::boost::shared_ptr mpBitmaps; + ::boost::shared_ptr mpBitmaps; + + PresenterTheme::SharedFontDescriptor GetFont (void) const; + +private: + + void UpdateBorderSize (BorderSize& rBorderSize, bool bInner); }; +typedef ::boost::shared_ptr SharedPaneStyle; -class PaneStyleContainer : vector > + +class PaneStyleContainer : vector { public: void Read ( ReadContext& rReadContext, const Reference& rThemeRoot); - void AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap); + SharedPaneStyle GetPaneStyle (const OUString& rsStyleName) const; private: void ProcessPaneStyle ( @@ -198,64 +200,61 @@ public: ViewStyle (void); ~ViewStyle (void); - void AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap); + const SharedBitmapDescriptor GetBitmap (const OUString& sBitmapName) const; + + PresenterTheme::SharedFontDescriptor GetFont (void) const; OUString msStyleName; ::boost::shared_ptr mpParentStyle; - ::boost::shared_ptr mpFont; - ::boost::shared_ptr mpBackground; + PresenterTheme::SharedFontDescriptor mpFont; + ::boost::shared_ptr mpBitmaps; + SharedBitmapDescriptor mpBackground; }; +typedef ::boost::shared_ptr SharedViewStyle; -class ViewStyleContainer : vector > + +class ViewStyleContainer : vector { public: void Read ( ReadContext& rReadContext, const Reference& rThemeRoot); - void AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap); + + SharedViewStyle GetViewStyle (const OUString& rsStyleName) const; private: void ProcessViewStyle( ReadContext& rReadContext, - const ::rtl::OUString& rsKey, - const ::std::vector& rValues); + const Reference& rxProperties); }; -class StyleAssociation +class ViewDescriptor { -public: - StyleAssociation ( - const OUString& rsResourceURL, - const OUString& rsStyleName); - ~StyleAssociation (void); - OUString msResourceURL; - OUString msStyleName; }; +typedef ::boost::shared_ptr SharedViewDescriptor; +typedef ::std::vector ViewDescriptorContainer; - -class StyleAssociationContainer : vector +class StyleAssociationContainer { public: void Read ( ReadContext& rReadContext, const Reference& rThemeRoot); - void AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap); + + OUString GetStyleName (const OUString& rsResourceName) const; private: + typedef map StyleAssociations; + StyleAssociations maStyleAssociations; + void ProcessStyleAssociation( ReadContext& rReadContext, const ::rtl::OUString& rsKey, @@ -270,88 +269,35 @@ class PresenterTheme::Theme public: Theme ( const OUString& rsName, - const Reference& rThemeRoot); + const Reference& rThemeRoot, + const OUString& rsNodeName); ~Theme (void); void Read ( + PresenterConfigurationAccess& rConfiguration, ReadContext& rReadContext); - void AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap); -private: OUString msThemeName; + OUString msConfigurationNodeName; ::boost::shared_ptr mpParentTheme; - ::boost::shared_ptr mpBackground; + SharedBitmapDescriptor mpBackground; PaneStyleContainer maPaneStyles; ViewStyleContainer maViewStyles; + ViewDescriptorContainer maViewDescriptors; StyleAssociationContainer maStyleAssociations; Reference mxThemeRoot; -}; - - - - -class PresenterTheme::BitmapDescriptor -{ -public: - explicit BitmapDescriptor (void); - void SetBitmap (const Reference& rxBitmap); - - sal_Int32 mnWidth; - sal_Int32 mnHeight; - sal_Int32 mnXOffset; - sal_Int32 mnYOffset; - util::Color maReplacementColor; - uno::Reference mxBitmap; - - void AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap); -}; - - - - -class PresenterTheme::BitmapContainer - : public ::std::map > -{ -public: - BitmapContainer (void); - - void AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap); -}; + ::boost::shared_ptr mpIconContainer; + typedef map FontContainer; + FontContainer maFontContainer; + SharedPaneStyle GetPaneStyle (const OUString& rsStyleName) const; + SharedViewStyle GetViewStyle (const OUString& rsStyleName) const; - - -typedef ::boost::function PropertyProviderFunction; - -class PresenterTheme::PropertyMap : public ::std::map -{ -public: - PropertyMap (void); - - void Set (const OUString& rsKey, const Any& rValue); -}; - - - - -class PresenterTheme::FontDescriptor -{ -public: - FontDescriptor (void); - ::rtl::OUString msName; - sal_Int32 mnSize; - sal_uInt32 mnColor; - ::rtl::OUString msAnchor; - - void AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap); +private: + void ProcessFont( + ReadContext& rReadContext, + const OUString& rsKey, + const Reference& rxProperties); }; @@ -365,11 +311,11 @@ PresenterTheme::PresenterTheme ( const css::uno::Reference& rxCanvas) : mxContext(rxContext), msThemeName(rsThemeName), - mpBitmapContainer(new BitmapContainer()), - mxCanvas(rxCanvas), - mpPropertyMap(new PropertyMap()) + mpTheme(), + mpBitmapContainer(), + mxCanvas(rxCanvas) { - ReadTheme(); + mpTheme = ReadTheme(); } @@ -389,21 +335,16 @@ void SAL_CALL PresenterTheme::disposing (void) -void PresenterTheme::ReadTheme (void) +::boost::shared_ptr PresenterTheme::ReadTheme (void) { + ReadContext aReadContext(mxContext, mxCanvas); + PresenterConfigurationAccess aConfiguration ( mxContext, OUString::createFromAscii("/org.openoffice.Office.extension.PresenterScreen/"), PresenterConfigurationAccess::READ_ONLY); - // Read the theme and properties. - ReadContext aReadContext(mxContext, aConfiguration, mxCanvas); - ::boost::shared_ptr pTheme (aReadContext.ReadTheme(msThemeName)); - if (pTheme.get() != NULL) - { - pTheme->Read(aReadContext); - pTheme->AddProperties(msThemeName, mpPropertyMap); - } + return aReadContext.ReadTheme(aConfiguration, msThemeName); } @@ -429,133 +370,227 @@ void PresenterTheme::ProvideCanvas (const Reference& rxCanva -Any PresenterTheme::getPropertyValue (const OUString& rsPropertyName) +OUString PresenterTheme::GetStyleName (const ::rtl::OUString& rsResourceURL) const { - PropertyMap::const_iterator iProperty (mpPropertyMap->find(rsPropertyName)); - if (iProperty != mpPropertyMap->end()) - return iProperty->second; - else - throw beans::UnknownPropertyException(); + OUString sStyleName; + ::boost::shared_ptr pTheme (mpTheme); + while (sStyleName.getLength()==0 && pTheme.get()!=NULL) + { + sStyleName = pTheme->maStyleAssociations.GetStyleName(rsResourceURL); + pTheme = pTheme->mpParentTheme; + } + return sStyleName; } -OUString PresenterTheme::GetPaneStyle (const ::rtl::OUString& rsResourceURL) const +::std::vector PresenterTheme::GetBorderSize ( + const ::rtl::OUString& rsStyleName, + const bool bOuter) const { - OUString sStyleName (PresenterHelper::msDefaultPaneStyle); - PropertyMap::const_iterator iProperty (mpPropertyMap->find(rsResourceURL)); - if (iProperty != mpPropertyMap->end()) - iProperty->second >>= sStyleName; - return sStyleName; + OSL_ASSERT(mpTheme.get() != NULL); + + SharedPaneStyle pPaneStyle (mpTheme->GetPaneStyle(rsStyleName)); + if (pPaneStyle.get() != NULL) + if (bOuter) + return pPaneStyle->maOuterBorderSize.ToVector(); + else + return pPaneStyle->maInnerBorderSize.ToVector(); + else + { + return ::std::vector(4,0); + } } -OUString PresenterTheme::GetViewStyle (const ::rtl::OUString& rsResourceURL) const +PresenterTheme::SharedFontDescriptor PresenterTheme::ReadFont ( + const Reference& rxNode, + const OUString& rsFontPath, + const PresenterTheme::SharedFontDescriptor& rpDefault) { - OUString sStyleName (PresenterHelper::msDefaultViewStyle); - PropertyMap::const_iterator iProperty (mpPropertyMap->find(rsResourceURL)); - if (iProperty != mpPropertyMap->end()) - iProperty->second >>= sStyleName; - return sStyleName; + return ReadContext::ReadFont(rxNode, rsFontPath, rpDefault); } -//===== BitmapDescriptor ====================================================== - -PresenterTheme::BitmapDescriptor::BitmapDescriptor (void) - : mnWidth(0), - mnHeight(0), - mnXOffset(0), - mnYOffset(0), - maReplacementColor(0x00000000), - mxBitmap() +bool PresenterTheme::ConvertToColor ( + const Any& rColorSequence, + sal_uInt32& rColor) { + Sequence aByteSequence; + if (rColorSequence >>= aByteSequence) + { + const sal_Int32 nByteCount (aByteSequence.getLength()); + const sal_uInt8* pArray = reinterpret_cast(aByteSequence.getConstArray()); + rColor = 0; + for (sal_Int32 nIndex=0; nIndex& rxBitmap) +::boost::shared_ptr PresenterTheme::GetNodeForViewStyle ( + const ::rtl::OUString& rsStyleName, + const PresenterConfigurationAccess::WriteMode) const { - mxBitmap = rxBitmap; - if (mxBitmap.is()) + if (mpTheme.get() == NULL) + return ::boost::shared_ptr(); + + // Open configuration for writing. + ::boost::shared_ptr pConfiguration ( + new PresenterConfigurationAccess( + mxContext, + OUString::createFromAscii("/org.openoffice.Office.extension.PresenterScreen/"), + PresenterConfigurationAccess::READ_WRITE)); + + // Get configuration node for the view style container of the current + // theme. + if (pConfiguration->GoToChild( + A2S("Presenter/Themes/") + mpTheme->msConfigurationNodeName + A2S("/ViewStyles"))) { - mnWidth = mxBitmap->getSize().Width; - mnHeight = mxBitmap->getSize().Height; - } - else - { - mnWidth = 0; - mnHeight = 0; + pConfiguration->GoToChild( + ::boost::bind(&PresenterConfigurationAccess::IsStringPropertyEqual, + rsStyleName, + A2S("StyleName"), + _2)); } + return pConfiguration; } -void PresenterTheme::BitmapDescriptor::AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap) +::rtl::OUString PresenterTheme::GetThemeName (void) const { - rpPropertyMap->Set(rsPropertyPrefix + A2S("Bitmap"), Any(mxBitmap)); - rpPropertyMap->Set(rsPropertyPrefix + A2S("Offset"), Any(awt::Point(mnXOffset,mnYOffset))); - rpPropertyMap->Set(rsPropertyPrefix + A2S("Color"), Any(maReplacementColor)); + if (mpTheme.get() != NULL) + return mpTheme->msThemeName; + else + return OUString(); } -//===== BitmapContainer ======================================================= - -PresenterTheme::BitmapContainer::BitmapContainer (void) +SharedBitmapDescriptor PresenterTheme::GetBitmap ( + const OUString& rsStyleName, + const OUString& rsBitmapName) const { + if (mpTheme.get() != NULL) + { + if (rsStyleName.getLength() == 0) + { + if (rsBitmapName == A2S("Background")) + { + ::boost::shared_ptr pTheme (mpTheme); + while (pTheme.get()!=NULL && pTheme->mpBackground.get()==NULL) + pTheme = pTheme->mpParentTheme; + if (pTheme.get() != NULL) + return pTheme->mpBackground; + else + return SharedBitmapDescriptor(); + } + } + else + { + SharedPaneStyle pPaneStyle (mpTheme->GetPaneStyle(rsStyleName)); + if (pPaneStyle.get() != NULL) + { + SharedBitmapDescriptor pBitmap (pPaneStyle->GetBitmap(rsBitmapName)); + if (pBitmap.get() != NULL) + return pBitmap; + } + + SharedViewStyle pViewStyle (mpTheme->GetViewStyle(rsStyleName)); + if (pViewStyle.get() != NULL) + { + SharedBitmapDescriptor pBitmap (pViewStyle->GetBitmap(rsBitmapName)); + if (pBitmap.get() != NULL) + return pBitmap; + } + } + } + + return SharedBitmapDescriptor(); } -void PresenterTheme::BitmapContainer::AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap) +SharedBitmapDescriptor PresenterTheme::GetBitmap ( + const OUString& rsBitmapName) const { - const_iterator iDescriptor; - for (iDescriptor=begin(); iDescriptor!=end(); ++iDescriptor) + if (mpTheme.get() != NULL) { - if (iDescriptor->second.get() == NULL) + if (rsBitmapName == A2S("Background")) { - OSL_ASSERT(false); - continue; + ::boost::shared_ptr pTheme (mpTheme); + while (pTheme.get()!=NULL && pTheme->mpBackground.get()==NULL) + pTheme = pTheme->mpParentTheme; + if (pTheme.get() != NULL) + return pTheme->mpBackground; + else + return SharedBitmapDescriptor(); + } + else + { + if (mpTheme->mpIconContainer.get() != NULL) + return mpTheme->mpIconContainer->GetBitmap(rsBitmapName); } - iDescriptor->second->AddProperties( - rsPropertyPrefix+iDescriptor->first+A2S("_"), - rpPropertyMap); } -} + return SharedBitmapDescriptor(); +} -//===== PropertyMap =========================================================== -PresenterTheme::PropertyMap::PropertyMap (void) +::boost::shared_ptr PresenterTheme::GetBitmapContainer (void) const { + if (mpTheme.get() != NULL) + return mpTheme->mpIconContainer; + else + return ::boost::shared_ptr(); } -void PresenterTheme::PropertyMap::Set (const OUString& rsKey, const Any& rValue) +PresenterTheme::SharedFontDescriptor PresenterTheme::GetFont ( + const OUString& rsStyleName) const { - iterator iItem (find(rsKey)); - if (iItem == end()) - insert(value_type(rsKey,rValue)); - else - iItem->second = rValue; + if (mpTheme.get() != NULL) + { + SharedPaneStyle pPaneStyle (mpTheme->GetPaneStyle(rsStyleName)); + if (pPaneStyle.get() != NULL) + return pPaneStyle->GetFont(); + + SharedViewStyle pViewStyle (mpTheme->GetViewStyle(rsStyleName)); + if (pViewStyle.get() != NULL) + return pViewStyle->GetFont(); + + ::boost::shared_ptr pTheme (mpTheme); + while (pTheme.get() != NULL) + { + Theme::FontContainer::const_iterator iFont (pTheme->maFontContainer.find(rsStyleName)); + if (iFont != pTheme->maFontContainer.end()) + return iFont->second; + + pTheme = pTheme->mpParentTheme; + } + } + + return SharedFontDescriptor(); } @@ -564,24 +599,71 @@ void PresenterTheme::PropertyMap::Set (const OUString& rsKey, const Any& rValue) //===== FontDescriptor ======================================================== PresenterTheme::FontDescriptor::FontDescriptor (void) - : msName(OUString::createFromAscii("Albany")), + : msFamilyName(), + msStyleName(), mnSize(12), mnColor(0x00000000), - msAnchor(OUString::createFromAscii("Left")) + msAnchor(OUString::createFromAscii("Left")), + mnXOffset(0), + mnYOffset(0) { } -void PresenterTheme::FontDescriptor::AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap) +PresenterTheme::FontDescriptor::FontDescriptor ( + const ::boost::shared_ptr& rpDescriptor) + : msFamilyName(), + msStyleName(), + mnSize(12), + mnColor(0x00000000), + msAnchor(OUString::createFromAscii("Left")), + mnXOffset(0), + mnYOffset(0) { - rpPropertyMap->Set(rsPropertyPrefix+A2S("Name"), Any(msName)); - rpPropertyMap->Set(rsPropertyPrefix+A2S("Size"), Any(mnSize)); - rpPropertyMap->Set(rsPropertyPrefix+A2S("Color"), Any(mnColor)); - rpPropertyMap->Set(rsPropertyPrefix+A2S("Anchor"), Any(msAnchor)); + if (rpDescriptor.get() != NULL) + { + msFamilyName = rpDescriptor->msFamilyName; + msStyleName = rpDescriptor->msStyleName; + mnSize = rpDescriptor->mnSize; + mnColor = rpDescriptor->mnColor; + msAnchor = rpDescriptor->msAnchor; + mnXOffset = rpDescriptor->mnXOffset; + mnYOffset = rpDescriptor->mnYOffset; + } +} + + + + +bool PresenterTheme::FontDescriptor::PrepareFont ( + const Reference& rxCanvas) +{ + if (mxFont.is()) + return true; + + if ( ! rxCanvas.is()) + return false; + + rendering::FontRequest aFontRequest; + aFontRequest.FontDescription.FamilyName = msFamilyName; + if (msFamilyName.getLength() == 0) + aFontRequest.FontDescription.FamilyName = A2S("Tahoma"); + aFontRequest.FontDescription.StyleName = msStyleName; + aFontRequest.CellSize = mnSize; + + // Make an attempt at translating the style name(s)into a corresponding + // font description. + if (msStyleName == A2S("Bold")) + aFontRequest.FontDescription.FontDescription.Weight = rendering::PanoseWeight::HEAVY; + + mxFont = rxCanvas->createFont( + aFontRequest, + Sequence(), + geometry::Matrix2D(1,0,0,1)); + + return mxFont.is(); } @@ -591,13 +673,16 @@ void PresenterTheme::FontDescriptor::AddProperties ( PresenterTheme::Theme::Theme ( const OUString& rsName, - const Reference& rxThemeRoot) + const Reference& rxThemeRoot, + const OUString& rsNodeName) : msThemeName(rsName), + msConfigurationNodeName(rsNodeName), mpParentTheme(), maPaneStyles(), maViewStyles(), maStyleAssociations(), - mxThemeRoot(rxThemeRoot) + mxThemeRoot(rxThemeRoot), + mpIconContainer() { } @@ -611,7 +696,9 @@ PresenterTheme::Theme::~Theme (void) -void PresenterTheme::Theme::Read (ReadContext& rReadContext) +void PresenterTheme::Theme::Read ( + PresenterConfigurationAccess& rConfiguration, + ReadContext& rReadContext) { PresenterConfigurationAccess::GetConfigurationNode(mxThemeRoot, A2S("ThemeName")) >>= msThemeName; @@ -622,12 +709,31 @@ void PresenterTheme::Theme::Read (ReadContext& rReadContext) >>= sParentThemeName) && sParentThemeName.getLength()>0) { - mpParentTheme = rReadContext.ReadTheme(sParentThemeName); + mpParentTheme = rReadContext.ReadTheme(rConfiguration, sParentThemeName); + } + + // Read the extension that contains the bitmaps referenced in this + // theme. + OUString sBitmapSourceExtension; + if ((PresenterConfigurationAccess::GetConfigurationNode( + mxThemeRoot, A2S("BitmapSourceExtension")) >>= sBitmapSourceExtension) + && sBitmapSourceExtension.getLength()>0) + { + rReadContext.SetBitmapSourceExtension(sBitmapSourceExtension); + } + else + { + rReadContext.SetBitmapSourceExtension(PresenterComponent::gsExtensionIdentifier); } // Background. - mpBackground - = rReadContext.ReadSingleBitmap(A2S("Background"), mxThemeRoot, A2S("Background")); + mpBackground = PresenterBitmapContainer::LoadBitmap( + mxThemeRoot, + A2S("Background"), + rReadContext.mxPresenterHelper, + rReadContext.msBasePath, + rReadContext.mxCanvas, + SharedBitmapDescriptor()); // Style associations. maStyleAssociations.Read(rReadContext, mxThemeRoot); @@ -638,30 +744,67 @@ void PresenterTheme::Theme::Read (ReadContext& rReadContext) // View styles. maViewStyles.Read(rReadContext, mxThemeRoot); + // Read bitmaps. + mpIconContainer.reset( + new PresenterBitmapContainer( + Reference( + PresenterConfigurationAccess::GetConfigurationNode(mxThemeRoot, A2S("Bitmaps")), + UNO_QUERY), + mpParentTheme.get()!=NULL + ? mpParentTheme->mpIconContainer + : ::boost::shared_ptr(), + rReadContext.mxComponentContext, + rReadContext.mxCanvas, + rReadContext.msBasePath)); + + // Read fonts. + Reference xFontNode( + PresenterConfigurationAccess::GetConfigurationNode(mxThemeRoot, A2S("Fonts")), + UNO_QUERY); + PresenterConfigurationAccess::ForAll( + xFontNode, + ::boost::bind(&PresenterTheme::Theme::ProcessFont, + this, ::boost::ref(rReadContext), _1, _2)); } -void PresenterTheme::Theme::AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap) +SharedPaneStyle PresenterTheme::Theme::GetPaneStyle (const OUString& rsStyleName) const { - if (mpParentTheme.get() != NULL) - mpParentTheme->AddProperties(rsPropertyPrefix, rpPropertyMap); + SharedPaneStyle pPaneStyle (maPaneStyles.GetPaneStyle(rsStyleName)); + if (pPaneStyle.get() != NULL) + return pPaneStyle; + else if (mpParentTheme.get() != NULL) + return mpParentTheme->GetPaneStyle(rsStyleName); + else + return SharedPaneStyle(); +} - // Background. - if (mpBackground.get() != NULL) - mpBackground->AddProperties(rsPropertyPrefix+A2S("Background_"), rpPropertyMap); - // Style associations. - maStyleAssociations.AddProperties(rsPropertyPrefix, rpPropertyMap); - // Pane styles. - maPaneStyles.AddProperties(rsPropertyPrefix, rpPropertyMap); - // View styles. - maViewStyles.AddProperties(rsPropertyPrefix, rpPropertyMap); +SharedViewStyle PresenterTheme::Theme::GetViewStyle (const OUString& rsStyleName) const +{ + SharedViewStyle pViewStyle (maViewStyles.GetViewStyle(rsStyleName)); + if (pViewStyle.get() != NULL) + return pViewStyle; + else if (mpParentTheme.get() != NULL) + return mpParentTheme->GetViewStyle(rsStyleName); + else + return SharedViewStyle(); +} + + + + +void PresenterTheme::Theme::ProcessFont( + ReadContext& rReadContext, + const OUString& rsKey, + const Reference& rxProperties) +{ + (void)rReadContext; + maFontContainer[rsKey] = ReadContext::ReadFont(rxProperties, SharedFontDescriptor()); } @@ -673,9 +816,8 @@ namespace { ReadContext::ReadContext ( const css::uno::Reference& rxContext, - PresenterConfigurationAccess& rConfiguration, const Reference& rxCanvas) - : mrConfiguration(rConfiguration), + : mxComponentContext(rxContext), mxCanvas(rxCanvas), mxPresenterHelper(), msBasePath() @@ -691,13 +833,7 @@ ReadContext::ReadContext ( } // Get base path to bitmaps. - Reference xInformationProvider ( - rxContext->getValueByName(OUString::createFromAscii( - "/singletons/com.sun.star.deployment.PackageInformationProvider")), - UNO_QUERY_THROW); - if (xInformationProvider.is()) - msBasePath = xInformationProvider->getPackageLocation(gsExtensionIdentifier); - msBasePath += OUString::createFromAscii("/"); + SetBitmapSourceExtension(PresenterComponent::gsExtensionIdentifier); } @@ -710,50 +846,13 @@ ReadContext::~ReadContext (void) -::boost::shared_ptr ReadContext::ReadBitmap ( - const OUString& rsKey, - const OUString& rsFileName, - const sal_Int32 nXOffset, - const sal_Int32 nYOffset, - const util::Color nColor) -{ - (void)rsKey; - - ::boost::shared_ptr pDescriptor( - new PresenterTheme::BitmapDescriptor()); - - if ( ! mxCanvas.is()) - return pDescriptor; - - if (mxPresenterHelper.is()) - { - - pDescriptor->mnXOffset = nXOffset; - pDescriptor->mnYOffset = nYOffset; - pDescriptor->maReplacementColor = nColor; - pDescriptor->mxBitmap = mxPresenterHelper->loadBitmap( - msBasePath + rsFileName, - mxCanvas); - } - else - { - OSL_ASSERT(mxPresenterHelper.is()); - } - return pDescriptor; -} - - - - -::boost::shared_ptr ReadContext::ReadFont ( +PresenterTheme::SharedFontDescriptor ReadContext::ReadFont ( const Reference& rxNode, - const OUString& rsFontPath) + const OUString& rsFontPath, + const PresenterTheme::SharedFontDescriptor& rpDefault) { - ::boost::shared_ptr pDescriptor ( - new PresenterTheme::FontDescriptor()); - if ( ! rxNode.is()) - return pDescriptor; + return PresenterTheme::SharedFontDescriptor(); try { @@ -763,121 +862,59 @@ ReadContext::~ReadContext (void) rsFontPath), UNO_QUERY_THROW); - PresenterConfigurationAccess::GetConfigurationNode( - xFont, - OUString::createFromAscii("FamilyName")) >>= pDescriptor->msName; - - PresenterConfigurationAccess::GetConfigurationNode( - xFont, - OUString::createFromAscii("Size")) >>= pDescriptor->mnSize; - - PresenterConfigurationAccess::GetConfigurationNode( - xFont, - OUString::createFromAscii("Color")) >>= pDescriptor->mnColor; - - PresenterConfigurationAccess::GetConfigurationNode( - xFont, - OUString::createFromAscii("Anchor")) >>= pDescriptor->msAnchor; + Reference xProperties (xFont, UNO_QUERY_THROW); + return ReadFont(xProperties, rpDefault); } catch (Exception&) { OSL_ASSERT(false); } - return pDescriptor; + return PresenterTheme::SharedFontDescriptor(); } -::boost::shared_ptr ReadContext::ReadBorderBitmaps ( - const Reference& rxNode) +PresenterTheme::SharedFontDescriptor ReadContext::ReadFont ( + const Reference& rxProperties, + const PresenterTheme::SharedFontDescriptor& rpDefault) { - ::boost::shared_ptr pContainer ( - new PresenterTheme::BitmapContainer()); - Reference xBitmapList (rxNode, UNO_QUERY); - ::std::vector aProperties (4); - aProperties[0] = OUString::createFromAscii("FileName"); - aProperties[1] = OUString::createFromAscii("XOffset"); - aProperties[2] = OUString::createFromAscii("YOffset"); - aProperties[3] = OUString::createFromAscii("ReplacementColor"); - PresenterConfigurationAccess::ForAll( - xBitmapList, - aProperties, - ::boost::bind(&ReadContext::ProcessBitmap, this, pContainer, _1, _2)); - return pContainer; -} - - - - -void ReadContext::ProcessBitmap ( - const ::boost::shared_ptr& rpContainer, - const OUString& rsKey, - const ::std::vector& rValues) -{ - if (rValues.size() != 4) - return; + ::boost::shared_ptr pDescriptor ( + new PresenterTheme::FontDescriptor(rpDefault)); + + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("FamilyName")) >>= pDescriptor->msFamilyName; + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("Style")) >>= pDescriptor->msStyleName; + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("Size")) >>= pDescriptor->mnSize; + PresenterTheme::ConvertToColor( + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("Color")), + pDescriptor->mnColor); + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("Anchor")) >>= pDescriptor->msAnchor; + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("XOffset")) >>= pDescriptor->mnXOffset; + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("YOffset")) >>= pDescriptor->mnYOffset; - OUString sFileName; - sal_Int32 nXOffset (0); - sal_Int32 nYOffset (0); - sal_uInt32 nColor (0); - rValues[0] >>= sFileName; - rValues[1] >>= nXOffset; - rValues[2] >>= nYOffset; - rValues[3] >>= nColor; - - rpContainer->insert( - PresenterTheme::BitmapContainer::value_type( - rsKey, - ReadBitmap(rsKey, sFileName, nXOffset, nYOffset, nColor))); + return pDescriptor; } -::boost::shared_ptr ReadContext::ReadSingleBitmap ( - const OUString& rsKey, - const Reference& rxTheme, - const OUString& rsRelativeNodePath) +Any ReadContext::GetByName ( + const Reference& rxNode, + const OUString& rsName) const { - if ( ! mxCanvas.is()) - return ::boost::shared_ptr(); - - Reference xBitmapNode( - PresenterConfigurationAccess::GetConfigurationNode( - rxTheme, - rsRelativeNodePath), - UNO_QUERY); - if (xBitmapNode.is()) - { - OUString sFileName; - sal_Int32 nXOffset (0); - sal_Int32 nYOffset (0); - util::Color nColor (0); - PresenterConfigurationAccess::GetConfigurationNode(xBitmapNode,A2S("FileName")) - >>= sFileName; - PresenterConfigurationAccess::GetConfigurationNode(xBitmapNode,A2S("XOffset")) - >>= nXOffset; - PresenterConfigurationAccess::GetConfigurationNode(xBitmapNode,A2S("YOffset")) - >>= nYOffset; - PresenterConfigurationAccess::GetConfigurationNode(xBitmapNode,A2S("ReplacementColor")) - >>= nColor; - return ReadBitmap( - rsKey, - sFileName, - nXOffset, - nYOffset, - nColor); - } - return ::boost::shared_ptr(); + OSL_ASSERT(rxNode.is()); + if (rxNode->hasByName(rsName)) + return rxNode->getByName(rsName); + else + return Any(); } ::boost::shared_ptr ReadContext::ReadTheme ( + PresenterConfigurationAccess& rConfiguration, const OUString& rsThemeName) { ::boost::shared_ptr pTheme; @@ -886,7 +923,7 @@ void ReadContext::ProcessBitmap ( if (sCurrentThemeName.getLength() == 0) { // No theme name given. Look up the CurrentTheme property. - mrConfiguration.GetConfigurationNode(A2S("Presenter/CurrentTheme")) >>= sCurrentThemeName; + rConfiguration.GetConfigurationNode(A2S("Presenter/CurrentTheme")) >>= sCurrentThemeName; if (sCurrentThemeName.getLength() == 0) { // Still no name. Use "DefaultTheme". @@ -895,7 +932,7 @@ void ReadContext::ProcessBitmap ( } Reference xThemes ( - mrConfiguration.GetConfigurationNode(OUString::createFromAscii("Presenter/Themes")), + rConfiguration.GetConfigurationNode(A2S("Presenter/Themes")), UNO_QUERY); if (xThemes.is()) { @@ -913,13 +950,18 @@ void ReadContext::ProcessBitmap ( >>= sThemeName; if (sThemeName == sCurrentThemeName) { - pTheme.reset(new PresenterTheme::Theme(sThemeName,xTheme)); + pTheme.reset(new PresenterTheme::Theme(sThemeName,xTheme,rsKey)); break; } } } } + if (pTheme.get() != NULL) + { + pTheme->Read(rConfiguration, *this); + } + return pTheme; } @@ -932,11 +974,10 @@ BorderSize ReadContext::ReadBorderSize (const Reference& if (rxNode.is()) { - Any aValue; - rxNode->getByName(A2S("Left")) >>= aBorderSize.mnLeft; - rxNode->getByName(A2S("Top")) >>= aBorderSize.mnTop; - rxNode->getByName(A2S("Right")) >>= aBorderSize.mnRight; - rxNode->getByName(A2S("Bottom")) >>= aBorderSize.mnBottom; + GetByName(rxNode, A2S("Left")) >>= aBorderSize.mnLeft; + GetByName(rxNode, A2S("Top")) >>= aBorderSize.mnTop; + GetByName(rxNode, A2S("Right")) >>= aBorderSize.mnRight; + GetByName(rxNode, A2S("Bottom")) >>= aBorderSize.mnBottom; } return aBorderSize; @@ -945,6 +986,15 @@ BorderSize ReadContext::ReadBorderSize (const Reference& +void ReadContext::SetBitmapSourceExtension (const OUString& rsExtensionIdentifier) +{ + // Get base path to bitmaps. + msBasePath = PresenterComponent::GetBasePath(mxComponentContext, rsExtensionIdentifier); +} + + + + //===== PaneStyleContainer ==================================================== void PaneStyleContainer::Read ( @@ -954,7 +1004,7 @@ void PaneStyleContainer::Read ( Reference xPaneStyleList ( PresenterConfigurationAccess::GetConfigurationNode( rxThemeRoot, - OUString::createFromAscii("PaneStyles")), + A2S("PaneStyles")), UNO_QUERY); if (xPaneStyleList.is()) { @@ -998,23 +1048,39 @@ void PaneStyleContainer::ProcessPaneStyle( PaneStyleContainer::const_iterator iStyle; for (iStyle=begin(); iStyle!=end(); ++iStyle) if ((*iStyle)->msStyleName.equals(sParentStyleName)) + { pStyle->mpParentStyle = *iStyle; + break; + } } Reference xFontNode (rValues[2], UNO_QUERY); - pStyle->mpFont = rReadContext.ReadFont(xFontNode, A2S("")); + pStyle->mpFont = rReadContext.ReadFont( + xFontNode, A2S(""), PresenterTheme::SharedFontDescriptor()); Reference xInnerBorderSizeNode (rValues[3], UNO_QUERY); pStyle->maInnerBorderSize = rReadContext.ReadBorderSize(xInnerBorderSizeNode); Reference xOuterBorderSizeNode (rValues[4], UNO_QUERY); pStyle->maOuterBorderSize = rReadContext.ReadBorderSize(xOuterBorderSizeNode); + if (pStyle->mpParentStyle.get() != NULL) + { + pStyle->maInnerBorderSize.Merge(pStyle->mpParentStyle->maInnerBorderSize); + pStyle->maOuterBorderSize.Merge(pStyle->mpParentStyle->maOuterBorderSize); + } + if (rReadContext.mxCanvas.is()) { - Reference xBitmapsNode (rValues[5], UNO_QUERY); - ::boost::shared_ptr pBitmaps; - pBitmaps = rReadContext.ReadBorderBitmaps(xBitmapsNode); - pStyle->mpBitmaps = pBitmaps; + Reference xBitmapsNode (rValues[5], UNO_QUERY); + pStyle->mpBitmaps.reset(new PresenterBitmapContainer( + xBitmapsNode, + pStyle->mpParentStyle.get()!=NULL + ? pStyle->mpParentStyle->mpBitmaps + : ::boost::shared_ptr(), + rReadContext.mxComponentContext, + rReadContext.mxCanvas, + rReadContext.msBasePath, + rReadContext.mxPresenterHelper)); } push_back(pStyle); @@ -1023,14 +1089,13 @@ void PaneStyleContainer::ProcessPaneStyle( -void PaneStyleContainer::AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap) +SharedPaneStyle PaneStyleContainer::GetPaneStyle (const OUString& rsStyleName) const { - for (const_iterator iStyle=begin(); iStyle!=end(); ++iStyle) - (*iStyle)->AddProperties( - rsPropertyPrefix+(*iStyle)->msStyleName+A2S("_"), - rpPropertyMap); + const_iterator iEnd (end()); + for (const_iterator iStyle=begin(); iStyle!=iEnd; ++iStyle) + if ((*iStyle)->msStyleName == rsStyleName) + return *iStyle; + return SharedPaneStyle(); } @@ -1040,10 +1105,11 @@ void PaneStyleContainer::AddProperties ( PaneStyle::PaneStyle (void) : msStyleName(), + mpParentStyle(), mpFont(), maInnerBorderSize(), maOuterBorderSize(), - mpBitmaps(new PresenterTheme::BitmapContainer()) + mpBitmaps() { } @@ -1057,32 +1123,51 @@ PaneStyle::~PaneStyle (void) -void PaneStyle::AddProperties( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap) +void PaneStyle::UpdateBorderSize (BorderSize& rBorderSize, bool bInner) { if (mpParentStyle.get() != NULL) - mpParentStyle->AddProperties(rsPropertyPrefix, rpPropertyMap); - if (mpFont.get() != NULL) - mpFont->AddProperties(rsPropertyPrefix+A2S("Font_"), rpPropertyMap); + mpParentStyle->UpdateBorderSize(rBorderSize, bInner); + + BorderSize& rThisBorderSize (bInner ? maInnerBorderSize : maOuterBorderSize); + if (rThisBorderSize.mnLeft >= 0) + rBorderSize.mnLeft = rThisBorderSize.mnLeft; + if (rThisBorderSize.mnTop >= 0) + rBorderSize.mnTop = rThisBorderSize.mnTop; + if (rThisBorderSize.mnRight >= 0) + rBorderSize.mnRight = rThisBorderSize.mnRight; + if (rThisBorderSize.mnBottom >= 0) + rBorderSize.mnBottom = rThisBorderSize.mnBottom; +} + + + + +const SharedBitmapDescriptor PaneStyle::GetBitmap (const OUString& rsBitmapName) const +{ if (mpBitmaps.get() != NULL) - mpBitmaps->AddProperties(rsPropertyPrefix+A2S("Border_"), rpPropertyMap); - - Sequence aBorderSize (4); - aBorderSize[0] = maInnerBorderSize.mnLeft; - aBorderSize[1] = maInnerBorderSize.mnTop; - aBorderSize[2] = maInnerBorderSize.mnRight; - aBorderSize[3] = maInnerBorderSize.mnBottom; - rpPropertyMap->Set( - rsPropertyPrefix+A2S("InnerBorderSize"), - Any(aBorderSize)); - aBorderSize[0] = maOuterBorderSize.mnLeft; - aBorderSize[1] = maOuterBorderSize.mnTop; - aBorderSize[2] = maOuterBorderSize.mnRight; - aBorderSize[3] = maOuterBorderSize.mnBottom; - rpPropertyMap->Set( - rsPropertyPrefix+A2S("OuterBorderSize"), - Any(aBorderSize)); + { + const SharedBitmapDescriptor pBitmap = mpBitmaps->GetBitmap(rsBitmapName); + if (pBitmap.get() != NULL) + return pBitmap; + } + + if (mpParentStyle.get() != NULL) + return mpParentStyle->GetBitmap(rsBitmapName); + else + return SharedBitmapDescriptor(); +} + + + + +PresenterTheme::SharedFontDescriptor PaneStyle::GetFont (void) const +{ + if (mpFont.get() != NULL) + return mpFont; + else if (mpParentStyle.get() != NULL) + return mpParentStyle->GetFont(); + else + return PresenterTheme::SharedFontDescriptor(); } @@ -1094,23 +1179,19 @@ void ViewStyleContainer::Read ( ReadContext& rReadContext, const Reference& rxThemeRoot) { + (void)rReadContext; + Reference xViewStyleList ( PresenterConfigurationAccess::GetConfigurationNode( rxThemeRoot, - OUString::createFromAscii("ViewStyles")), + A2S("ViewStyles")), UNO_QUERY); if (xViewStyleList.is()) { - ::std::vector aProperties (4); - aProperties[0] = OUString::createFromAscii("StyleName"); - aProperties[1] = OUString::createFromAscii("ParentStyle"); - aProperties[2] = OUString::createFromAscii("Font"); - aProperties[3] = OUString::createFromAscii("Background"); PresenterConfigurationAccess::ForAll( xViewStyleList, - aProperties, ::boost::bind(&ViewStyleContainer::ProcessViewStyle, - this, ::boost::ref(rReadContext), _1, _2)); + this, ::boost::ref(rReadContext), _2)); } } @@ -1119,25 +1200,49 @@ void ViewStyleContainer::Read ( void ViewStyleContainer::ProcessViewStyle( ReadContext& rReadContext, - const OUString& rsKey, - const ::std::vector& rValues) + const Reference& rxProperties) { - (void)rsKey; - - if (rValues.size() != 4) - return; - ::boost::shared_ptr pStyle (new ViewStyle()); - rValues[0] >>= pStyle->msStyleName; + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("StyleName")) + >>= pStyle->msStyleName; - const OUString sPathToFont; // empty string - Reference xFontNode (rValues[2], UNO_QUERY); - pStyle->mpFont = rReadContext.ReadFont(xFontNode, sPathToFont); + OUString sParentStyleName; + if (PresenterConfigurationAccess::GetProperty(rxProperties, A2S("ParentStyle")) + >>= sParentStyleName) + { + // Find parent style. + ViewStyleContainer::const_iterator iStyle; + for (iStyle=begin(); iStyle!=end(); ++iStyle) + if ((*iStyle)->msStyleName.equals(sParentStyleName)) + { + pStyle->mpParentStyle = *iStyle; + pStyle->mpFont = (*iStyle)->mpFont; + pStyle->mpBackground = (*iStyle)->mpBackground; + break; + } + } - Reference xBackgroundNode (rValues[3], UNO_QUERY); - pStyle->mpBackground = rReadContext.ReadSingleBitmap( - A2S("Background"), xBackgroundNode, A2S("")); + const OUString sPathToFont; // empty string + Reference xFontNode ( + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("Font")), UNO_QUERY); + PresenterTheme::SharedFontDescriptor pFont ( + rReadContext.ReadFont(xFontNode, sPathToFont, PresenterTheme::SharedFontDescriptor())); + if (pFont.get() != NULL) + pStyle->mpFont = pFont; + + Reference xBackgroundNode ( + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("Background")), + UNO_QUERY); + SharedBitmapDescriptor pBackground (PresenterBitmapContainer::LoadBitmap( + xBackgroundNode, + OUString(), + rReadContext.mxPresenterHelper, + rReadContext.msBasePath, + rReadContext.mxCanvas, + SharedBitmapDescriptor())); + if (pBackground.get() != NULL && pBackground->GetNormalBitmap().is()) + pStyle->mpBackground = pBackground; push_back(pStyle); } @@ -1145,23 +1250,23 @@ void ViewStyleContainer::ProcessViewStyle( -void ViewStyleContainer::AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap) +SharedViewStyle ViewStyleContainer::GetViewStyle (const OUString& rsStyleName) const { - for (const_iterator iStyle=begin(); iStyle!=end(); ++iStyle) - (*iStyle)->AddProperties( - rsPropertyPrefix+(*iStyle)->msStyleName+A2S("_"), - rpPropertyMap); + const_iterator iEnd (end()); + for (const_iterator iStyle=begin(); iStyle!=iEnd; ++iStyle) + if ((*iStyle)->msStyleName == rsStyleName) + return *iStyle; + return SharedViewStyle(); } -//===== PaneStyle ============================================================= +//===== ViewStyle ============================================================= ViewStyle::ViewStyle (void) : msStyleName(), + mpParentStyle(), mpFont(), mpBackground() { @@ -1177,16 +1282,25 @@ ViewStyle::~ViewStyle (void) -void ViewStyle::AddProperties( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap) +const SharedBitmapDescriptor ViewStyle::GetBitmap (const OUString& rsBitmapName) const +{ + if (rsBitmapName == A2S("Background")) + return mpBackground; + else + return SharedBitmapDescriptor(); +} + + + + +PresenterTheme::SharedFontDescriptor ViewStyle::GetFont (void) const { - if (mpParentStyle.get() != NULL) - mpParentStyle->AddProperties(rsPropertyPrefix, rpPropertyMap); if (mpFont.get() != NULL) - mpFont->AddProperties(rsPropertyPrefix+A2S("Font_"), rpPropertyMap); - if (mpBackground.get() != NULL) - mpBackground->AddProperties(rsPropertyPrefix+A2S("Background_"), rpPropertyMap); + return mpFont; + else if (mpParentStyle.get() != NULL) + return mpParentStyle->GetFont(); + else + return PresenterTheme::SharedFontDescriptor(); } @@ -1201,13 +1315,13 @@ void StyleAssociationContainer::Read ( Reference xStyleAssociationList ( PresenterConfigurationAccess::GetConfigurationNode( rxThemeRoot, - OUString::createFromAscii("StyleAssociations")), + A2S("StyleAssociations")), UNO_QUERY); if (xStyleAssociationList.is()) { ::std::vector aProperties (2); - aProperties[0] = OUString::createFromAscii("ResourceURL"); - aProperties[1] = OUString::createFromAscii("StyleName"); + aProperties[0] = A2S("ResourceURL"); + aProperties[1] = A2S("StyleName"); PresenterConfigurationAccess::ForAll( xStyleAssociationList, aProperties, @@ -1219,15 +1333,13 @@ void StyleAssociationContainer::Read ( -void StyleAssociationContainer::AddProperties ( - const OUString& rsPropertyPrefix, - const ::boost::shared_ptr& rpPropertyMap) +OUString StyleAssociationContainer::GetStyleName (const OUString& rsResourceName) const { - (void)rsPropertyPrefix; - for (const_iterator iAssociation=begin(); iAssociation!=end(); ++iAssociation) - rpPropertyMap->Set( - iAssociation->msResourceURL, - Any(iAssociation->msStyleName)); + StyleAssociations::const_iterator iAssociation (maStyleAssociations.find(rsResourceName)); + if (iAssociation != maStyleAssociations.end()) + return iAssociation->second; + else + return OUString(); } @@ -1249,33 +1361,13 @@ void StyleAssociationContainer::ProcessStyleAssociation( if ((rValues[0] >>= sResourceURL) && (rValues[1] >>= sStyleName)) { - push_back(StyleAssociation(sResourceURL, sStyleName)); + maStyleAssociations[sResourceURL] = sStyleName; } } -//===== StyleAssociation ====================================================== - -StyleAssociation::StyleAssociation ( - const OUString& rsResourceURL, - const OUString& rsStyleName) - : msResourceURL(rsResourceURL), - msStyleName(rsStyleName) -{ -} - - - - -StyleAssociation::~StyleAssociation (void) -{ -} - - - - } // end of anonymous namespace } } // end of namespace ::sdext::presenter -- cgit From b4c777c0594774bd6144be56b6a37c62d8da6444 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:39:17 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 08:36:10 af 1.2.4.3: #i88858# Added GetNodeForViewStyle() method. 2008/04/22 08:26:11 af 1.2.4.2: RESYNC: (1.2-1.3); FILE MERGED 2008/04/16 16:10:07 af 1.2.4.1: #i18486# Exporting FontDescriptor sub class. --- sdext/source/presenter/PresenterTheme.hxx | 70 ++++++++++++++++++++++++++----- 1 file changed, 59 insertions(+), 11 deletions(-) diff --git a/sdext/source/presenter/PresenterTheme.hxx b/sdext/source/presenter/PresenterTheme.hxx index 3cc4754e5efd..1d4e334db78d 100644 --- a/sdext/source/presenter/PresenterTheme.hxx +++ b/sdext/source/presenter/PresenterTheme.hxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterTheme.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -32,16 +32,20 @@ #ifndef SDEXT_PRESENTER_PRESENTER_THEME_HXX #define SDEXT_PRESENTER_PRESENTER_THEME_HXX +#include "PresenterBitmapContainer.hxx" #include "PresenterConfigurationAccess.hxx" +#include "PresenterTheme.hxx" #include #include +#include +#include +#include #include namespace css = ::com::sun::star; namespace sdext { namespace presenter { - /** A theme is a set of properties describing fonts, colors, and bitmaps to be used to draw background, pane borders, and view content. @@ -79,25 +83,69 @@ public: bool HasCanvas (void) const; void ProvideCanvas (const css::uno::Reference& rxCanvas); - css::uno::Any getPropertyValue (const ::rtl::OUString& rsPropertyName); - ::rtl::OUString GetPaneStyle (const ::rtl::OUString& rsResourceURL) const; - ::rtl::OUString GetViewStyle (const ::rtl::OUString& rsResourceURL) const; + ::rtl::OUString GetStyleName (const ::rtl::OUString& rsResourceURL) const; + ::std::vector GetBorderSize ( + const ::rtl::OUString& rsStyleName, + const bool bOuter) const; - class BitmapContainer; class FontDescriptor; - class BitmapDescriptor; class Theme; - class PropertyMap; + + class FontDescriptor + { + public: + explicit FontDescriptor (void); + explicit FontDescriptor (const ::boost::shared_ptr& rpDescriptor); + + ::rtl::OUString msFamilyName; + ::rtl::OUString msStyleName; + sal_Int32 mnSize; + sal_uInt32 mnColor; + ::rtl::OUString msAnchor; + sal_Int32 mnXOffset; + sal_Int32 mnYOffset; + css::uno::Reference mxFont; + + bool PrepareFont (const css::uno::Reference& rxCanvas); + }; + typedef ::boost::shared_ptr SharedFontDescriptor; + + ::rtl::OUString GetThemeName (void) const; + + SharedBitmapDescriptor GetBitmap ( + const ::rtl::OUString& rsStyleName, + const ::rtl::OUString& rsBitmapName) const; + + SharedBitmapDescriptor GetBitmap ( + const ::rtl::OUString& rsBitmapName) const; + + ::boost::shared_ptr GetBitmapContainer (void) const; + + SharedFontDescriptor GetFont ( + const ::rtl::OUString& rsStyleName) const; + + static SharedFontDescriptor ReadFont ( + const css::uno::Reference& rxNode, + const ::rtl::OUString& rsFontPath, + const SharedFontDescriptor& rDefaultFount); + + static bool ConvertToColor ( + const css::uno::Any& rColorSequence, + sal_uInt32& rColor); + + ::boost::shared_ptr GetNodeForViewStyle ( + const ::rtl::OUString& rsStyleName, + const PresenterConfigurationAccess::WriteMode) const; private: css::uno::Reference mxContext; const ::rtl::OUString msThemeName; - ::boost::shared_ptr mpBitmapContainer; + ::boost::shared_ptr mpTheme; + ::boost::shared_ptr mpBitmapContainer; css::uno::Reference mxCanvas; - ::boost::shared_ptr mpPropertyMap; - void ReadTheme (void); + ::boost::shared_ptr ReadTheme (void); }; } } // end of namespace ::sd::presenter -- cgit From 262c232ab25ef4eaac4a3045e15e04b43eecc752 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:39:28 +0000 Subject: INTEGRATION: CWS presenterscreen (1.1.2); FILE ADDED 2008/05/13 13:51:01 af 1.1.2.9: #i18486# Updated license header. 2008/04/30 08:49:21 af 1.1.2.8: #i88832# Removed debug code that was accidentally checked in. 2008/04/30 08:40:13 af 1.1.2.7: #i88832# Timing thread is not joined anymore. 2008/04/24 13:02:08 af 1.1.2.6: #i18486# Fixed Linux compilation problem. 2008/04/24 12:48:51 af 1.1.2.5: #i18486# Post user events to further avoid dead locks. 2008/04/22 13:08:10 af 1.1.2.4: #i18486# Made timer more robust. 2008/04/22 08:38:15 af 1.1.2.3: #i18486# Made timer more thread safe. 2008/04/18 14:52:29 af 1.1.2.2: #i18486# Changed implementation of PresenterTimer. 2008/04/16 15:01:24 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterTimer.cxx | 657 ++++++++++++++++++++++++++++++ 1 file changed, 657 insertions(+) create mode 100644 sdext/source/presenter/PresenterTimer.cxx diff --git a/sdext/source/presenter/PresenterTimer.cxx b/sdext/source/presenter/PresenterTimer.cxx new file mode 100644 index 000000000000..6c795eb80da2 --- /dev/null +++ b/sdext/source/presenter/PresenterTimer.cxx @@ -0,0 +1,657 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterTimer.cxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#include "PresenterTimer.hxx" +#include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; + +#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) + +namespace sdext { namespace presenter { + +namespace { +class TimerTask +{ +public: + TimerTask ( + const PresenterTimer::Task& rTask, + const TimeValue& rDueTime, + const sal_Int64 nRepeatIntervall, + const sal_Int32 nTaskId); + ~TimerTask (void) {} + + PresenterTimer::Task maTask; + TimeValue maDueTime; + const sal_Int64 mnRepeatIntervall; + const sal_Int32 mnTaskId; + bool mbIsCanceled; +}; + +typedef ::boost::shared_ptr SharedTimerTask; + + +/** Queue all scheduled tasks and process them when their time has come. +*/ +class TimerScheduler + : public ::boost::enable_shared_from_this, + public ::osl::Thread +{ +public: + static ::boost::shared_ptr Instance (void); + static void Release (void); + static SharedTimerTask CreateTimerTask ( + const PresenterTimer::Task& rTask, + const TimeValue& rDueTime, + const sal_Int64 nRepeatIntervall); + + void ScheduleTask (const SharedTimerTask& rpTask); + void CancelTask (const sal_Int32 nTaskId); + + static bool GetCurrentTime (TimeValue& rCurrentTime); + static sal_Int64 GetTimeDifference ( + const TimeValue& rTargetTime, + const TimeValue& rCurrentTime); + static void ConvertToTimeValue ( + TimeValue& rTimeValue, + const sal_Int64 nTimeDifference); + static sal_Int64 ConvertFromTimeValue ( + const TimeValue& rTimeValue); + +private: + static ::boost::shared_ptr mpInstance; + static ::osl::Mutex maInstanceMutex; + static sal_Int32 mnTaskId; + + ::osl::Mutex maTaskContainerMutex; + typedef ::std::set TaskContainer; + TaskContainer maScheduledTasks; + bool mbIsRunning; + ::osl::Mutex maCurrentTaskMutex; + SharedTimerTask mpCurrentTask; + + TimerScheduler (void); + virtual ~TimerScheduler (void); + class Deleter {public: void operator () (TimerScheduler* pScheduler) { delete pScheduler; } }; + friend class Deleter; + + virtual void SAL_CALL run (void); +}; + + + + +bool GetDateTime (oslDateTime& rDateTime); +} // end of anonymous namespace + + +//===== PresenterTimer ======================================================== + +sal_Int32 PresenterTimer::ScheduleSingleTaskRelative ( + const Task& rTask, + const sal_Int64 nDelay) +{ + return ScheduleRepeatedTask(rTask, nDelay, 0); +} + + + + +sal_Int32 PresenterTimer::ScheduleSingleTaskAbsolute ( + const Task& rTask, + const TimeValue& rDueTime) +{ + SharedTimerTask pTask (TimerScheduler::CreateTimerTask(rTask, rDueTime, 0)); + TimerScheduler::Instance()->ScheduleTask(pTask); + return pTask->mnTaskId; +} + + + + +sal_Int32 PresenterTimer::ScheduleRepeatedTask ( + const Task& rTask, + const sal_Int64 nDelay, + const sal_Int64 nIntervall) +{ + TimeValue aCurrentTime; + if (TimerScheduler::GetCurrentTime(aCurrentTime)) + { + TimeValue aDueTime; + TimerScheduler::ConvertToTimeValue( + aDueTime, + TimerScheduler::ConvertFromTimeValue (aCurrentTime) + nDelay); + SharedTimerTask pTask (TimerScheduler::CreateTimerTask(rTask, aDueTime, nIntervall)); + TimerScheduler::Instance()->ScheduleTask(pTask); + return pTask->mnTaskId; + } + + return NotAValidTaskId; +} + + + + +void PresenterTimer::CancelTask (const sal_Int32 nTaskId) +{ + return TimerScheduler::Instance()->CancelTask(nTaskId); +} + + + + +//===== TimerScheduler ======================================================== + +::boost::shared_ptr TimerScheduler::mpInstance; +::osl::Mutex TimerScheduler::maInstanceMutex; +sal_Int32 TimerScheduler::mnTaskId = PresenterTimer::NotAValidTaskId; + +::boost::shared_ptr TimerScheduler::Instance (void) +{ + ::boost::shared_ptr pInstance = mpInstance; + if (pInstance.get() == NULL) + { + ::osl::MutexGuard aGuard (maInstanceMutex); + pInstance = mpInstance; + if (pInstance.get() == NULL) + { + pInstance.reset(new TimerScheduler(), TimerScheduler::Deleter()); + OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); + mpInstance = pInstance; + } + } + else + { + OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); + } + return pInstance; +} + + + + +void TimerScheduler::Release (void) +{ + ::osl::MutexGuard aGuard (maInstanceMutex); + mpInstance.reset(); +} + + + + +TimerScheduler::TimerScheduler (void) + : maTaskContainerMutex(), + maScheduledTasks(), + mbIsRunning(false), + maCurrentTaskMutex(), + mpCurrentTask() +{ +} + + + + +TimerScheduler::~TimerScheduler (void) +{ +} + + + +SharedTimerTask TimerScheduler::CreateTimerTask ( + const PresenterTimer::Task& rTask, + const TimeValue& rDueTime, + const sal_Int64 nRepeatIntervall) +{ + return SharedTimerTask(new TimerTask(rTask, rDueTime, nRepeatIntervall, ++mnTaskId)); +} + + + + +void TimerScheduler::ScheduleTask (const SharedTimerTask& rpTask) +{ + if (rpTask.get() == NULL) + return; + if (rpTask->mbIsCanceled) + return; + + osl::MutexGuard aGuard (maTaskContainerMutex); + maScheduledTasks.insert(rpTask); + + if ( ! mbIsRunning) + { + mbIsRunning = true; + create(); + } +} + + + + +void TimerScheduler::CancelTask (const sal_Int32 nTaskId) +{ + // Set of scheduled tasks is sorted after their due times, not their + // task ids. Therefore we have to do a linear search for the task to + // cancel. + { + ::osl::MutexGuard aGuard (maTaskContainerMutex); + TaskContainer::iterator iTask (maScheduledTasks.begin()); + TaskContainer::const_iterator iEnd (maScheduledTasks.end()); + for ( ; iTask!=iEnd; ++iTask) + { + if ((*iTask)->mnTaskId == nTaskId) + { + maScheduledTasks.erase(iTask); + break; + } + } + } + + // The task that is to be canceled may be currently about to be + // processed. Mark it with a flag that a) prevents a repeating task + // from being scheduled again and b) tries to prevent its execution. + if (mpCurrentTask.get() != NULL + && mpCurrentTask->mnTaskId == nTaskId) + { + mpCurrentTask->mbIsCanceled = true; + } + + // When the last active task was canceled then the timer can be + // stopped. + if (maScheduledTasks.size() == 0) + { + mbIsRunning = false; + resume(); + // join(); + } +} + + + + +void SAL_CALL TimerScheduler::run (void) +{ + while (mbIsRunning) + { + // Get the current time. + TimeValue aCurrentTime; + if ( ! GetCurrentTime(aCurrentTime)) + { + // We can not get the current time and thus can not schedule anything. + break; + } + + // Restrict access to the maScheduledTasks member to one, mutext + // guarded, block. + SharedTimerTask pTask; + sal_Int64 nDifference; + { + ::osl::MutexGuard aGuard (maTaskContainerMutex); + + // There are no more scheduled task. Leave this loop, function and + // live of the TimerScheduler. + if (maScheduledTasks.empty()) + break; + + nDifference = GetTimeDifference( + (*maScheduledTasks.begin())->maDueTime, + aCurrentTime); + if (nDifference <= 0) + { + pTask = *maScheduledTasks.begin(); + maScheduledTasks.erase(maScheduledTasks.begin()); + } + } + + // Acquire a reference to the current task. + { + ::osl::MutexGuard aGuard (maCurrentTaskMutex); + mpCurrentTask = pTask; + } + + if (mpCurrentTask.get() == NULL) + { + // Wait until the first task becomes due. + TimeValue aTimeValue; + ConvertToTimeValue(aTimeValue, nDifference); + wait(aTimeValue); + } + else + { + // Execute task. + if ( ! mpCurrentTask->maTask.empty() + && ! mpCurrentTask->mbIsCanceled) + { + mpCurrentTask->maTask(aCurrentTime); + + // Re-schedule repeating tasks. + if (mpCurrentTask->mnRepeatIntervall > 0) + { + ConvertToTimeValue( + mpCurrentTask->maDueTime, + ConvertFromTimeValue(mpCurrentTask->maDueTime) + + mpCurrentTask->mnRepeatIntervall); + ScheduleTask(mpCurrentTask); + } + } + + } + + // Release reference to the current task. + { + ::osl::MutexGuard aGuard (maCurrentTaskMutex); + mpCurrentTask.reset(); + } + } + + Release(); +} + + + + +bool TimerScheduler::GetCurrentTime (TimeValue& rCurrentTime) +{ + TimeValue aSystemTime; + if (osl_getSystemTime(&aSystemTime)) + return osl_getLocalTimeFromSystemTime(&aSystemTime, &rCurrentTime); + return false; +} + + + + +sal_Int64 TimerScheduler::GetTimeDifference ( + const TimeValue& rTargetTime, + const TimeValue& rCurrentTime) +{ + return ConvertFromTimeValue(rTargetTime) - ConvertFromTimeValue(rCurrentTime); +} + + + + +void TimerScheduler::ConvertToTimeValue ( + TimeValue& rTimeValue, + const sal_Int64 nTimeDifference) +{ + rTimeValue.Seconds = sal::static_int_cast(nTimeDifference / 1000000000L); + rTimeValue.Nanosec = sal::static_int_cast(nTimeDifference % 1000000000L); +} + + + + +sal_Int64 TimerScheduler::ConvertFromTimeValue ( + const TimeValue& rTimeValue) +{ + return sal_Int64(rTimeValue.Seconds) * 1000000000L + rTimeValue.Nanosec; +} + + + + +//===== TimerTask ============================================================= + +namespace { + +TimerTask::TimerTask ( + const PresenterTimer::Task& rTask, + const TimeValue& rDueTime, + const sal_Int64 nRepeatIntervall, + const sal_Int32 nTaskId) + : maTask(rTask), + maDueTime(rDueTime), + mnRepeatIntervall(nRepeatIntervall), + mnTaskId(nTaskId), + mbIsCanceled(false) +{ +} + +} // end of anonymous namespace + + + + +//===== PresenterTimer ======================================================== + + +::rtl::Reference PresenterClockTimer::mpInstance; + +::rtl::Reference PresenterClockTimer::Instance ( + const css::uno::Reference& rxContext) +{ + ::osl::MutexGuard aSolarGuard (::osl::Mutex::getGlobalMutex()); + + ::rtl::Reference pTimer; + if (mpInstance.is()) + { + pTimer = mpInstance; + } + if ( ! pTimer.is()) + { + pTimer = ::rtl::Reference(new PresenterClockTimer(rxContext)); + mpInstance = pTimer; + } + return pTimer; +} + + + + +PresenterClockTimer::PresenterClockTimer (const Reference& rxContext) + : PresenterClockTimerInterfaceBase(m_aMutex), + maListeners(), + maDateTime(), + mnTimerTaskId(PresenterTimer::NotAValidTaskId), + mbIsCallbackPending(false), + mxRequestCallback() +{ + Reference xFactory ( + rxContext->getServiceManager(), UNO_QUERY); + if (xFactory.is()) + mxRequestCallback = Reference( + xFactory->createInstanceWithContext( + A2S("com.sun.star.awt.AsyncCallback"), + rxContext), + UNO_QUERY_THROW); +} + + + + +PresenterClockTimer::~PresenterClockTimer (void) +{ + if (mnTimerTaskId != PresenterTimer::NotAValidTaskId) + { + PresenterTimer::CancelTask(mnTimerTaskId); + mnTimerTaskId = PresenterTimer::NotAValidTaskId; + } + + Reference xComponent (mxRequestCallback, UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); + mxRequestCallback = NULL; +} + + + + +void PresenterClockTimer::AddListener (const SharedListener& rListener) +{ + osl::MutexGuard aGuard (maMutex); + + maListeners.push_back(rListener); + + // Create a timer task when the first listener is added. + if (mnTimerTaskId==PresenterTimer::NotAValidTaskId) + { + mnTimerTaskId = PresenterTimer::ScheduleRepeatedTask( + ::boost::bind(&PresenterClockTimer::CheckCurrentTime, this, _1), + 0, + 250000000 /*ns*/); + } +} + + + + +void PresenterClockTimer::RemoveListener (const SharedListener& rListener) +{ + osl::MutexGuard aGuard (maMutex); + + ListenerContainer::iterator iListener (::std::find( + maListeners.begin(), + maListeners.end(), + rListener)); + if (iListener != maListeners.end()) + maListeners.erase(iListener); + if (maListeners.size() == 0) + { + // We have no more clients and therefore are not interested in time changes. + if (mnTimerTaskId != PresenterTimer::NotAValidTaskId) + { + PresenterTimer::CancelTask(mnTimerTaskId); + mnTimerTaskId = PresenterTimer::NotAValidTaskId; + } + mpInstance = NULL; + } +} + + + + +oslDateTime PresenterClockTimer::GetCurrentTime (void) +{ + TimeValue aCurrentTime; + TimerScheduler::GetCurrentTime(aCurrentTime); + oslDateTime aDateTime; + osl_getDateTimeFromTimeValue(&aCurrentTime, &aDateTime); + return aDateTime; +} + + + + +sal_Int64 PresenterClockTimer::GetTimeDifference ( + const oslDateTime& rNow, + const oslDateTime& rThen) +{ + TimeValue aNow; + TimeValue aThen; + if (osl_getTimeValueFromDateTime(const_cast(&rNow),&aNow) + && osl_getTimeValueFromDateTime(const_cast(&rThen),&aThen)) + { + return TimerScheduler::GetTimeDifference(aNow, aThen); + } + else + return -1; +} + + + + +void PresenterClockTimer::CheckCurrentTime (const TimeValue& rCurrentTime) +{ + css::uno::Reference xRequestCallback; + css::uno::Reference xCallback; + { + osl::MutexGuard aGuard (maMutex); + + TimeValue aCurrentTime (rCurrentTime); + oslDateTime aDateTime; + if (osl_getDateTimeFromTimeValue(&aCurrentTime, &aDateTime)) + { + if (aDateTime.Seconds != maDateTime.Seconds + || aDateTime.Minutes != maDateTime.Minutes + || aDateTime.Seconds != maDateTime.Seconds) + { + // The displayed part of the current time has changed. + // Prepare to call the listeners. + maDateTime = aDateTime; + + // Schedule notification of listeners. + if (mxRequestCallback.is() && ! mbIsCallbackPending) + { + mbIsCallbackPending = true; + xRequestCallback = mxRequestCallback; + xCallback = this; + } + } + } + } + if (mxRequestCallback.is() && xCallback.is()) + xRequestCallback->addCallback(xCallback, Any()); +} + + + + +//----- XCallback ------------------------------------------------------------- + +void SAL_CALL PresenterClockTimer::notify (const css::uno::Any& rUserData) + throw (css::uno::RuntimeException) +{ + (void)rUserData; + + ListenerContainer aListenerCopy (maListeners); + + { + osl::MutexGuard aGuard (maMutex); + + mbIsCallbackPending = false; + + ::std::copy( + maListeners.begin(), + maListeners.end(), + ::std::back_inserter(aListenerCopy)); + } + + if (aListenerCopy.size() > 0) + { + ListenerContainer::const_iterator iListener; + ListenerContainer::const_iterator iEnd (aListenerCopy.end()); + for (iListener=aListenerCopy.begin(); iListener!=iEnd; ++iListener) + { + (*iListener)->TimeHasChanged(maDateTime); + } + } +} + + + +} } // end of namespace ::sdext::presenter -- cgit From 6a5ffdc7099c94a880fed3cd5ffd05fdbae80574 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:39:38 +0000 Subject: INTEGRATION: CWS presenterscreen (1.1.2); FILE ADDED 2008/05/13 13:51:01 af 1.1.2.7: #i18486# Updated license header. 2008/04/30 08:40:14 af 1.1.2.6: #i88832# Timing thread is not joined anymore. 2008/04/24 12:48:59 af 1.1.2.5: #i18486# Post user events to further avoid dead locks. 2008/04/22 08:38:22 af 1.1.2.4: #i18486# Made timer more thread safe. 2008/04/18 14:52:29 af 1.1.2.3: #i18486# Changed implementation of PresenterTimer. 2008/04/17 14:36:43 af 1.1.2.2: #i18486# Fixed Solaris build problems. 2008/04/16 15:01:00 af 1.1.2.1: #i18486# Initial revision. --- sdext/source/presenter/PresenterTimer.hxx | 142 ++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 sdext/source/presenter/PresenterTimer.hxx diff --git a/sdext/source/presenter/PresenterTimer.hxx b/sdext/source/presenter/PresenterTimer.hxx new file mode 100644 index 000000000000..a5c111965917 --- /dev/null +++ b/sdext/source/presenter/PresenterTimer.hxx @@ -0,0 +1,142 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PresenterTimer.hxx,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SDEXT_PRESENTER_TIMER_HXX +#define SDEXT_PRESENTER_TIMER_HXX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace css = ::com::sun::star; + +namespace sdext { namespace presenter { + +class PresenterClockInternalTimer; + +/** The timer allows tasks to be scheduled for execution at a specified time + in the future. +*/ +class PresenterTimer +{ +public: + /** A task is called with the current time. + */ + typedef ::boost::function Task; + + static const sal_Int32 NotAValidTaskId = 0; + + static sal_Int32 ScheduleSingleTaskRelative ( + const Task& rTask, + const sal_Int64 nDelay); + + static sal_Int32 ScheduleSingleTaskAbsolute ( + const Task& rTask, + const TimeValue& rDueTime); + + static sal_Int32 ScheduleRepeatedTask ( + const Task& rTask, + const sal_Int64 nFirst, + const sal_Int64 nIntervall); + + static void CancelTask (const sal_Int32 nTaskId); +}; + + + +typedef cppu::WeakComponentImplHelper1< + css::awt::XCallback + > PresenterClockTimerInterfaceBase; + +/** A timer that calls its listeners, typically clocks, every second to + update their current time value. +*/ +class PresenterClockTimer + : protected ::cppu::BaseMutex, + public PresenterClockTimerInterfaceBase +{ +public: + class Listener { public: + virtual void TimeHasChanged (const oslDateTime& rCurrentTime) = 0; + }; + typedef ::boost::shared_ptr SharedListener; + + static ::rtl::Reference Instance ( + const css::uno::Reference& rxContext); + + void AddListener (const SharedListener& rListener); + void RemoveListener (const SharedListener& rListener); + + static oslDateTime GetCurrentTime (void); + + /** Return the difference between the two different times in + nanoseconds. + */ + static sal_Int64 GetTimeDifference (const oslDateTime& rNow, const oslDateTime& rThen); + + // XCallback + + virtual void SAL_CALL notify (const css::uno::Any& rUserData) + throw (css::uno::RuntimeException); + +private: + static ::rtl::Reference mpInstance; + + ::osl::Mutex maMutex; + typedef ::std::vector ListenerContainer; + ListenerContainer maListeners; + oslDateTime maDateTime; + sal_Int32 mnTimerTaskId; + bool mbIsCallbackPending; + css::uno::Reference mxRequestCallback; + + PresenterClockTimer ( + const css::uno::Reference& rxContext); + ~PresenterClockTimer (void); + + void CheckCurrentTime (const TimeValue& rCurrentTime); +}; + + + + + +} } // end of namespace ::sdext::presenter + +#endif -- cgit From 89efcae67e166f88a0e63f51af146fdfc8e41edd Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 13 May 2008 13:39:53 +0000 Subject: INTEGRATION: CWS presenterscreen (1.2.4); FILE MERGED 2008/04/30 09:24:47 af 1.2.4.12: #i18486# Fixed compiler problem. 2008/04/24 12:49:27 af 1.2.4.11: #i18486# Post user events to further avoid dead locks. 2008/04/24 08:10:23 af 1.2.4.10: #i18486# Label::SetText() invalidates asynchronously to prevent thread locks when called from timer. 2008/04/23 13:17:33 af 1.2.4.9: #i18486# Fixed typo. 2008/04/23 11:59:53 af 1.2.4.8: #i18486# Fixed mixup of uno/rtl References and boost::shared_ptrs. 2008/04/22 13:08:39 af 1.2.4.7: #i18486# Made extension identifier platform specific. 2008/04/22 08:35:45 af 1.2.4.6: #i18486# Split initialization off the PresenterToolBar constructor. 2008/04/22 08:27:07 af 1.2.4.5: RESYNC: (1.2-1.3); FILE MERGED 2008/04/18 14:56:44 af 1.2.4.4: #i18486# Changed implementation of PresenterTimer. 2008/04/17 14:36:44 af 1.2.4.3: #i18486# Fixed Solaris build problems. 2008/04/16 16:59:13 af 1.2.4.2: #i18486# Fixed some Linux build problems. 2008/04/16 16:11:19 af 1.2.4.1: #i18486# Tool bar entries can be vertical stacks of other entries. --- sdext/source/presenter/PresenterToolBar.cxx | 2342 ++++++++++++++++++++++----- 1 file changed, 1917 insertions(+), 425 deletions(-) diff --git a/sdext/source/presenter/PresenterToolBar.cxx b/sdext/source/presenter/PresenterToolBar.cxx index a580fa590124..5156b4b230f7 100644 --- a/sdext/source/presenter/PresenterToolBar.cxx +++ b/sdext/source/presenter/PresenterToolBar.cxx @@ -8,7 +8,7 @@ * * $RCSfile: PresenterToolBar.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * * This file is part of OpenOffice.org. * @@ -32,11 +32,17 @@ #include "PresenterToolBar.hxx" #include "PresenterBitmapContainer.hxx" +#include "PresenterCanvasHelper.hxx" +#include "PresenterComponent.hxx" #include "PresenterGeometryHelper.hxx" -//#include "PresenterHelper.hxx" +#include "PresenterPaintManager.hxx" +#include "PresenterPaneBase.hxx" +#include "PresenterPaneFactory.hxx" +#include "PresenterTimer.hxx" +#include "PresenterWindowManager.hxx" +#include #include -#include #include #include #include @@ -52,9 +58,11 @@ #include #include #include - -#include +#include +#include #include +#include +#include #include using namespace ::com::sun::star; @@ -64,149 +72,368 @@ using ::rtl::OUString; #define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) +namespace sdext { namespace presenter { + +static const sal_Int32 gnGapSize (20); +static const sal_Int32 gnMinimalSeparatorSize (20); +static const sal_Int32 gnSeparatorInset (0); + namespace { -const sal_Int32 gnButtonSize = 64; -} -namespace sdext { namespace presenter { + class Text + { + public: + Text (void); + Text (const Text& rText); + Text ( + const OUString& rsText, + const PresenterTheme::SharedFontDescriptor& rpFont); + + void SetText (const OUString& rsText); + OUString GetText (void) const; + PresenterTheme::SharedFontDescriptor GetFont (void) const; + + void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState, + const awt::Rectangle& rBoundingBox, + const awt::Point& rOffset); + + geometry::RealRectangle2D GetBoundingBox ( + const Reference& rxCanvas); + + private: + OUString msText; + PresenterTheme::SharedFontDescriptor mpFont; + }; + + class ElementMode + : private ::boost::noncopyable + { + public: + ElementMode (void); -//===== PresenterToolBar::Element ============================================= + SharedBitmapDescriptor mpIcon; + OUString msAction; + Text maText; + + void ReadElementMode ( + const Reference& rxProperties, + const ::rtl::OUString& rsModeName, + ::boost::shared_ptr& rpDefaultMode, + ::sdext::presenter::PresenterToolBar::Context& rContext); + }; + typedef ::boost::shared_ptr SharedElementMode; -class PresenterToolBar::Element +} // end of anonymous namespace + + +class PresenterToolBar::Context + : private ::boost::noncopyable { public: - explicit Element ( - const Reference& rxWindowPeer); - explicit Element ( - const Reference& rxWindowPeer, - const awt::Rectangle& rBoundingBox); - virtual ~Element (void); - - virtual void SetCurrentSlide ( - const Reference& rxCurrentSlide, - const sal_Int32 nSlideCount); - virtual void SetPosSize (const awt::Rectangle& rBox); - virtual awt::Rectangle GetBoundingBox (void) const; - virtual void Paint ( - const Reference& rxCanvas, - const rendering::ViewState& rViewState) = 0; - virtual bool SetState (const bool bIsOver, const bool bIsPressed); - virtual void Invalidate (void); - virtual bool IsOutside (const awt::Rectangle& rBox); - -protected: - Reference mxWindowPeer; - awt::Rectangle maBoundingBox; + ::rtl::OUString msBasePath; + Reference mxPresenterHelper; + css::uno::Reference mxCanvas; }; -//===== PresenterToolBar::Button ============================================== +//===== PresenterToolBar::Element ============================================= -class Button : public PresenterToolBar::Element +namespace { + typedef cppu::WeakComponentImplHelper2< + css::document::XEventListener, + css::frame::XStatusListener + > ElementInterfaceBase; + + class Element + : private ::cppu::BaseMutex, + private ::boost::noncopyable, + public ElementInterfaceBase + { + public: + Element (const ::rtl::Reference& rpToolBar); + virtual ~Element (void); + + virtual void SAL_CALL disposing (void); + + virtual void SetModes ( + const SharedElementMode& rpNormalMode, + const SharedElementMode& rpMouseOverMode, + const SharedElementMode& rpSelectedMode, + const SharedElementMode& rpDisabledMode); + virtual void CurrentSlideHasChanged (void); + virtual void SetLocation (const awt::Point& rLocation); + virtual void SetSize (const geometry::RealSize2D& rSize); + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState) = 0; + awt::Size GetBoundingSize ( + const Reference& rxCanvas); + awt::Rectangle GetBoundingBox (void) const; + virtual bool SetState (const bool bIsOver, const bool bIsPressed); + virtual void Invalidate (const bool bSynchronous = true); + virtual bool IsOutside (const awt::Rectangle& rBox); + virtual bool IsFilling (void) const; + void UpdateState (void); + + OUString GetAction (void) const; + + // lang::XEventListener + + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw(css::uno::RuntimeException); + + // document::XEventListener + + virtual void SAL_CALL notifyEvent (const css::document::EventObject& rEvent) + throw(css::uno::RuntimeException); + + // frame::XStatusListener + + virtual void SAL_CALL statusChanged (const css::frame::FeatureStateEvent& rEvent) + throw(css::uno::RuntimeException); + + protected: + ::rtl::Reference mpToolBar; + awt::Point maLocation; + awt::Size maSize; + SharedElementMode mpNormal; + SharedElementMode mpMouseOver; + SharedElementMode mpSelected; + SharedElementMode mpDisabled; + SharedElementMode mpMode; + bool mbIsOver; + bool mbIsPressed; + bool mbIsSelected; + + virtual awt::Size CreateBoundingSize ( + const Reference& rxCanvas) = 0; + + bool IsEnabled (void) const; + void SetEnabledState (const bool bIsEnabled); + + private: + bool mbIsEnabled; + }; + +} // end of anonymous namespace + + +class PresenterToolBar::ElementContainerPart + : public ::std::vector > { -public: - typedef ::boost::function Callback; - - /** - @param rxWindowPeer - The window peer is used to invalidate the region of the button - to enforce its repaint. - */ - Button ( - const Reference& rxWindowPeer, - const OUString& rsText, - const PresenterBitmapContainer::BitmapSet& rIcons, - const Callback& rCallback); - - virtual void Paint ( - const Reference& rxCanvas, - const rendering::ViewState& rViewState); - virtual bool SetState (const bool bIsOver, const bool bIsPressed); - -private: - OUString msText; - bool mbIsOver; - bool mbIsPressed; - PresenterBitmapContainer::BitmapSet maIcons; - bool mbIconLoadingFailed; - Callback maCallback; }; -//===== PresenterToolBar::Label =============================================== +//===== Button ================================================================ -class Label : public PresenterToolBar::Element -{ -public: - Label ( - const Reference& rxPeer, - const util::Color& rFontColor, - const rendering::FontRequest& rRequestedFontDescriptor); - - virtual void SetCurrentSlide ( - const Reference& rxCurrentSlide, - const sal_Int32 nSlideCount); - void SetText (const OUString& rsText); - virtual void Paint ( - const Reference& rxCanvas, - const rendering::ViewState& rViewState); - -private: - OUString msText; - Reference mxFont; - util::Color maFontColor; - rendering::FontRequest maRequestedFontDescriptor; -}; +namespace { + + class Button : public Element + { + public: + static ::rtl::Reference Create ( + const ::rtl::Reference& rpToolBar); + + virtual ~Button (void); + virtual void SAL_CALL disposing (void); + + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState); + + // lang::XEventListener + + virtual void SAL_CALL disposing (const css::lang::EventObject& rEvent) + throw(css::uno::RuntimeException); + + protected: + virtual awt::Size CreateBoundingSize ( + const Reference& rxCanvas); + + private: + bool mbIsListenerRegistered; + + Button (const ::rtl::Reference& rpToolBar); + void Initialize (void); + void PaintIcon ( + const Reference& rxCanvas, + const sal_Int32 nTextHeight, + const rendering::ViewState& rViewState); + PresenterBitmapDescriptor::Mode GetMode (void) const; + }; +//===== Label ================================================================= + + class Label : public Element + { + public: + Label (const ::rtl::Reference& rpToolBar); + + void SetText (const OUString& rsText); + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState); + virtual bool SetState (const bool bIsOver, const bool bIsPressed); + + protected: + virtual awt::Size CreateBoundingSize ( + const Reference& rxCanvas); + }; + + +// Some specialized controls. + + + class ProgressLabel : public Label + { + public: + ProgressLabel (const ::rtl::Reference& rpToolBar); + virtual void CurrentSlideHasChanged (void); + }; + + class TimeFormatter + { + public: + TimeFormatter (void); + OUString FormatTime (const oslDateTime& rTime); + private: + bool mbIs24HourFormat; + bool mbIsAmPmFormat; + bool mbIsShowSeconds; + }; + + class TimeLabel : public Label + { + public: + void ConnectToTimer (void); + virtual void TimeHasChanged (const oslDateTime& rCurrentTime) = 0; + protected: + TimeLabel(const ::rtl::Reference& rpToolBar); + using Element::disposing; + virtual void SAL_CALL disposing (void); + private: + class Listener : public PresenterClockTimer::Listener + { + public: + Listener (const ::rtl::Reference& rxLabel) + : mxLabel(rxLabel) {} + virtual ~Listener (void) {} + virtual void TimeHasChanged (const oslDateTime& rCurrentTime) + { if (mxLabel.is()) mxLabel->TimeHasChanged(rCurrentTime); } + private: + ::rtl::Reference mxLabel; + }; + ::boost::shared_ptr mpListener; + }; + + class CurrentTimeLabel : public TimeLabel + { + public: + static ::rtl::Reference Create ( + const ::rtl::Reference& rpToolBar); + virtual void SetModes ( + const SharedElementMode& rpNormalMode, + const SharedElementMode& rpMouseOverMode, + const SharedElementMode& rpSelectedMode, + const SharedElementMode& rpDisabledMode); + private: + TimeFormatter maTimeFormatter; + CurrentTimeLabel (const ::rtl::Reference& rpToolBar); + virtual ~CurrentTimeLabel (void); + virtual void TimeHasChanged (const oslDateTime& rCurrentTime); + }; + + class PresentationTimeLabel : public TimeLabel + { + public: + static ::rtl::Reference Create ( + const ::rtl::Reference& rpToolBar); + virtual void SetModes ( + const SharedElementMode& rpNormalMode, + const SharedElementMode& rpMouseOverMode, + const SharedElementMode& rpSelectedMode, + const SharedElementMode& rpDisabledMode); + private: + TimeFormatter maTimeFormatter; + TimeValue maStartTimeValue; + PresentationTimeLabel (const ::rtl::Reference& rpToolBar); + virtual ~PresentationTimeLabel (void); + virtual void TimeHasChanged (const oslDateTime& rCurrentTime); + }; + + class VerticalSeparator : public Element + { + public: + explicit VerticalSeparator (const ::rtl::Reference& rpToolBar); + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState); + virtual bool IsFilling (void) const; + + protected: + virtual awt::Size CreateBoundingSize ( + const Reference& rxCanvas); + }; + + class HorizontalSeparator : public Element + { + public: + explicit HorizontalSeparator (const ::rtl::Reference& rpToolBar); + virtual void Paint ( + const Reference& rxCanvas, + const rendering::ViewState& rViewState); + virtual bool IsFilling (void) const; + + protected: + virtual awt::Size CreateBoundingSize ( + const Reference& rxCanvas); + }; +} // end of anonymous namespace + + + //===== PresenterToolBar ====================================================== PresenterToolBar::PresenterToolBar ( const Reference& rxContext, - const Reference& rxViewId, - const Reference& rxController, - const ::rtl::Reference& rpPresenterController) + const css::uno::Reference& rxWindow, + const css::uno::Reference& rxCanvas, + const ::rtl::Reference& rpPresenterController, + const Anchor eAnchor) : PresenterToolBarInterfaceBase(m_aMutex), mxComponentContext(rxContext), - mxPane(), - mxViewId(rxViewId), - mxCanvas(), maElementContainer(), - mxWindow(), - mxControl(), - mxCurrentSlide(), + mpCurrentContainerPart(), + mxWindow(rxWindow), + mxCanvas(rxCanvas), mxSlideShowController(), + mxCurrentSlide(), mpPresenterController(rpPresenterController), - msPreviousButtonBitmapURL(), - msNextButtonBitmapURL(), - mpIconContainer() + mbIsLayoutPending(false), + meAnchor(eAnchor), + maBoundingBox(), + maMinimalSize() { - try - { - Reference xCM (rxController, UNO_QUERY_THROW); - Reference xCC(xCM->getConfigurationController(),UNO_QUERY_THROW); - mxPane = Reference(xCC->getResource(rxViewId->getAnchor()), UNO_QUERY_THROW); +} - mxWindow = mxPane->getWindow(); - mxCanvas = mxPane->getCanvas(); - mpIconContainer.reset(new PresenterBitmapContainer(rxContext, mxCanvas, - A2S("PresenterScreenSettings/ToolBar/Bitmaps"))); - CreateControls(); - // Set background of tool bar. - Reference xPeer (mxWindow, UNO_QUERY); - if (xPeer.is()) - { - xPeer->setBackground( - mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL())); - } + +void PresenterToolBar::Initialize ( + const ::rtl::OUString& rsConfigurationPath) +{ + try + { + CreateControls(rsConfigurationPath); if (mxWindow.is()) { @@ -215,23 +442,21 @@ PresenterToolBar::PresenterToolBar ( mxWindow->addMouseListener(this); mxWindow->addMouseMotionListener(this); - xPeer = Reference(mxWindow, UNO_QUERY); + Reference xPeer (mxWindow, UNO_QUERY); if (xPeer.is()) xPeer->setBackground(util::Color(0xff000000)); mxWindow->setVisible(sal_True); } - - mxSlideShowController = rpPresenterController->GetSlideShowController(); + mxSlideShowController = mpPresenterController->GetSlideShowController(); UpdateSlideNumber(); - Resize(); + mbIsLayoutPending = true; } catch (RuntimeException&) { - mxViewId = NULL; + mpCurrentContainerPart.reset(); maElementContainer.clear(); - mxControl = NULL; throw; } } @@ -256,12 +481,121 @@ void SAL_CALL PresenterToolBar::disposing (void) mxWindow->removeMouseMotionListener(this); mxWindow = NULL; } - Reference xComponent (mxControl, UNO_QUERY); - if (xComponent.is()) - xComponent->dispose(); - mxControl = NULL; + + // Dispose tool bar elements. + ElementContainer::iterator iPart (maElementContainer.begin()); + ElementContainer::const_iterator iEnd (maElementContainer.end()); + for ( ; iPart!=iEnd; ++iPart) + { + OSL_ASSERT(iPart->get()!=NULL); + ElementContainerPart::iterator iElement ((*iPart)->begin()); + ElementContainerPart::const_iterator iPartEnd ((*iPart)->end()); + for ( ; iElement!=iPartEnd; ++iElement) + { + if (iElement->get() != NULL) + { + ::rtl::Reference pElement (*iElement); + Reference xComponent ( + static_cast(pElement.get()), UNO_QUERY); + if (xComponent.is()) + xComponent->dispose(); + } + } + } + + mpCurrentContainerPart.reset(); maElementContainer.clear(); - mxViewId = NULL; +} + + + + +void PresenterToolBar::InvalidateArea ( + const awt::Rectangle& rRepaintBox, + const bool bSynchronous) +{ + mpPresenterController->GetPaintManager()->Invalidate( + mxWindow, + rRepaintBox, + bSynchronous); +} + + + + +sal_Int32 PresenterToolBar::GetCurrentSlideIndex (void) +{ + if (mxSlideShowController.is()) + return mxSlideShowController->getCurrentSlideIndex(); + else + return -1; +} + + + + +sal_Int32 PresenterToolBar::GetSlideCount (void) +{ + if (mxSlideShowController.is()) + return mxSlideShowController->getSlideCount(); + else + return 0; +} + + + + +void PresenterToolBar::RequestLayout (void) +{ + mbIsLayoutPending = true; + + mpPresenterController->GetPaintManager()->Invalidate(mxWindow); +} + + + + +geometry::RealSize2D PresenterToolBar::GetSize (void) +{ + if (mbIsLayoutPending) + Layout(mxCanvas); + return geometry::RealSize2D( + maBoundingBox.X2 - maBoundingBox.X1, + maBoundingBox.Y2 - maBoundingBox.Y1); +} + + + + +geometry::RealSize2D PresenterToolBar::GetMinimalSize (void) +{ + if (mbIsLayoutPending) + Layout(mxCanvas); + return maMinimalSize; +} + + + + +::rtl::Reference PresenterToolBar::GetPresenterController (void) const +{ + return mpPresenterController; +} + + + + +Reference PresenterToolBar::GetWindow (void) const +{ + return mxWindow; +} + + + + +Reference PresenterToolBar::GetComponentContext (void) const +{ + return mxComponentContext; } @@ -285,7 +619,7 @@ void SAL_CALL PresenterToolBar::windowResized (const awt::WindowEvent& rEvent) throw (RuntimeException) { (void)rEvent; - Resize(); + mbIsLayoutPending = true; } @@ -304,6 +638,7 @@ void SAL_CALL PresenterToolBar::windowShown (const lang::EventObject& rEvent) throw (RuntimeException) { (void)rEvent; + mbIsLayoutPending = true; } @@ -326,11 +661,16 @@ void SAL_CALL PresenterToolBar::windowPaint (const css::awt::PaintEvent& rEvent) if ( ! mxCanvas.is()) return; + if ( ! mbIsPresenterViewActive) + return; + const rendering::ViewState aViewState ( geometry::AffineMatrix2D(1,0,0, 0,1,0), PresenterGeometryHelper::CreatePolygon(rEvent.UpdateRect, mxCanvas->getDevice())); - Clear(rEvent.UpdateRect, aViewState); + if (mbIsLayoutPending) + Layout(mxCanvas); + Paint(rEvent.UpdateRect, aViewState); // Make the back buffer visible. @@ -403,32 +743,12 @@ void SAL_CALL PresenterToolBar::mouseDragged (const css::awt::MouseEvent& rEvent -//----- XResourceId ----------------------------------------------------------- - -Reference SAL_CALL PresenterToolBar::getResourceId (void) - throw (RuntimeException) -{ - return mxViewId; -} - - - - -sal_Bool SAL_CALL PresenterToolBar::isAnchorOnly (void) - throw (RuntimeException) -{ - return false; -} - - - - //----- XDrawView ------------------------------------------------------------- void SAL_CALL PresenterToolBar::setCurrentPage (const Reference& rxSlide) throw (RuntimeException) { - if (mxCurrentSlide != rxSlide) + if (rxSlide != mxCurrentSlide) { mxCurrentSlide = rxSlide; UpdateSlideNumber(); @@ -449,166 +769,299 @@ Reference SAL_CALL PresenterToolBar::getCurrentPage (void) //----------------------------------------------------------------------------- -void PresenterToolBar::GotoPreviousSlide (void) +void PresenterToolBar::CreateControls ( + const ::rtl::OUString& rsConfigurationPath) { - if (mxSlideShowController.is()) - { - mxSlideShowController->gotoPreviousSlide(); - // Going to the previous slide does not trigger any event that would - // cause an update of the presenter view. Therefore request an - // update explicitly. - if (mpPresenterController.is()) - mpPresenterController->UpdateCurrentSlide(0); - } -} + if ( ! mxWindow.is()) + return; + // Expand the macro in the bitmap file names. + PresenterConfigurationAccess aConfiguration ( + mxComponentContext, + OUString::createFromAscii("/org.openoffice.Office.extension.PresenterScreen/"), + PresenterConfigurationAccess::READ_ONLY); + const OUString sBasePath (PresenterComponent::GetBasePath(mxComponentContext)); + mpCurrentContainerPart.reset(new ElementContainerPart()); + maElementContainer.clear(); + maElementContainer.push_back(mpCurrentContainerPart); -void PresenterToolBar::GotoNextEffect (void) -{ - if (mxSlideShowController.is()) + Reference xToolBarNode ( + aConfiguration.GetConfigurationNode(rsConfigurationPath), + UNO_QUERY); + if (xToolBarNode.is()) { - mxSlideShowController->gotoNextEffect(); - // When playing the next effect causes a change to the next slide - // then events are sent that cause an update of the presenter view. + Reference xEntries ( + PresenterConfigurationAccess::GetConfigurationNode(xToolBarNode, A2S("Entries")), + UNO_QUERY); + Context aContext; + aContext.msBasePath = sBasePath; + aContext.mxPresenterHelper = mpPresenterController->GetPresenterHelper(); + aContext.mxCanvas = mxCanvas; + if (xEntries.is() + && aContext.mxPresenterHelper.is() + && aContext.mxCanvas.is()) + { + PresenterConfigurationAccess::ForAll( + xEntries, + ::boost::bind(&PresenterToolBar::ProcessEntry, this, _2, ::boost::ref(aContext))); + } } } -void PresenterToolBar::GotoNextSlide (void) +void PresenterToolBar::ProcessEntry ( + const Reference& rxProperties, + Context& rContext) { - if (mxSlideShowController.is()) + if ( ! rxProperties.is()) + return; + + // Type has to be present. + OUString sType; + if ( ! (PresenterConfigurationAccess::GetProperty(rxProperties, A2S("Type")) >>= sType)) + return; + + OUString sName; + PresenterConfigurationAccess::GetProperty(rxProperties, A2S("Name")) >>= sName; + + // Read mode specific values. + SharedElementMode pNormalMode (new ElementMode()); + SharedElementMode pMouseOverMode (new ElementMode()); + SharedElementMode pSelectedMode (new ElementMode()); + SharedElementMode pDisabledMode (new ElementMode()); + pNormalMode->ReadElementMode(rxProperties, A2S("Normal"), pNormalMode, rContext); + pMouseOverMode->ReadElementMode(rxProperties, A2S("MouseOver"), pNormalMode, rContext); + pSelectedMode->ReadElementMode(rxProperties, A2S("Selected"), pNormalMode, rContext); + pDisabledMode->ReadElementMode(rxProperties, A2S("Disabled"), pNormalMode, rContext); + + // Create new element. + ::rtl::Reference pElement; + if (sType.equalsAscii("Button")) + pElement = Button::Create(this); + else if (sType.equalsAscii("CurrentTimeLabel")) + pElement = CurrentTimeLabel::Create(this); + else if (sType.equalsAscii("PresentationTimeLabel")) + pElement = PresentationTimeLabel::Create(this); + else if (sType.equalsAscii("VerticalSeparator")) + pElement = ::rtl::Reference(new VerticalSeparator(this)); + else if (sType.equalsAscii("HorizontalSeparator")) + pElement = ::rtl::Reference(new HorizontalSeparator(this)); + else if (sType.equalsAscii("Label")) + pElement = ::rtl::Reference(new Label(this)); + else if (sType.equalsAscii("ChangeOrientation")) { - mxSlideShowController->gotoNextSlide(); - // Going to the next slide does not trigger any event that would - // cause an update of the presenter view. Therefore request an - // update explicitly. - if (mpPresenterController.is()) - mpPresenterController->UpdateCurrentSlide(0); + mpCurrentContainerPart.reset(new ElementContainerPart()); + maElementContainer.push_back(mpCurrentContainerPart); + return; + } + if (pElement.is()) + { + pElement->SetModes( pNormalMode, pMouseOverMode, pSelectedMode, pDisabledMode); + pElement->UpdateState(); + if (mpCurrentContainerPart.get() != NULL) + mpCurrentContainerPart->push_back(pElement); } } -void PresenterToolBar::CreateControls (void) +void PresenterToolBar::Layout ( + const Reference& rxCanvas) { - if ( ! mxWindow.is()) + if (maElementContainer.size() == 0) return; - // Expand the macro in the bitmap file names. - Reference xInformationProvider ( - mxComponentContext->getValueByName( - A2S("/singletons/com.sun.star.deployment.PackageInformationProvider")), - UNO_QUERY); - Reference xPeer (mxWindow, UNO_QUERY); + mbIsLayoutPending = false; + + const awt::Rectangle aWindowBox (mxWindow->getPosSize()); + ElementContainer::iterator iPart; + ElementContainer::iterator iEnd (maElementContainer.end()); + ::std::vector aPartSizes (maElementContainer.size()); + geometry::RealSize2D aTotalSize (0,0); + bool bIsHorizontal (true); + sal_Int32 nIndex; + double nTotalHorizontalGap (0); + sal_Int32 nGapCount (0); + for (iPart=maElementContainer.begin(),nIndex=0; iPart!=iEnd; ++iPart,++nIndex) + { + geometry::RealSize2D aSize (CalculatePartSize(rxCanvas, *iPart, bIsHorizontal)); + + // Remember the size of each part for later. + aPartSizes[nIndex] = aSize; + + // Add gaps between elements. + if ((*iPart)->size()>1 && bIsHorizontal) + { + nTotalHorizontalGap += ((*iPart)->size() - 1) * gnGapSize; + nGapCount += (*iPart)->size()-1; + } + + // Orientation changes for each part. + bIsHorizontal = !bIsHorizontal; + // Width is accumulated. + aTotalSize.Width += aSize.Width; + // Height is the maximum height of all parts. + aTotalSize.Height = ::std::max(aTotalSize.Height, aSize.Height); + } + // Add gaps between parts. + if (maElementContainer.size() > 1) + { + nTotalHorizontalGap += (maElementContainer.size() - 1) * gnGapSize; + nGapCount += maElementContainer.size()-1; + } + + // Calculate the minimal size so that the window size of the tool bar + // can be adapted accordingly. + maMinimalSize = aTotalSize; + maMinimalSize.Width += nTotalHorizontalGap; + + // Calculate the gaps between elements. + double nGapWidth (0); + if (nGapCount > 0) + { + if (aTotalSize.Width + nTotalHorizontalGap > aWindowBox.Width) + nTotalHorizontalGap = aWindowBox.Width - aTotalSize.Width; + nGapWidth = nTotalHorizontalGap / nGapCount; + } + + // Determine the location of the left edge. + double nX (0); + switch (meAnchor) + { + case Left : nX = 0; break; + case Center: nX = (aWindowBox.Width - aTotalSize.Width - nTotalHorizontalGap) / 2; break; + case Right: nX = aWindowBox.Width - aTotalSize.Width - nTotalHorizontalGap; break; + } - maElementContainer.push_back(boost::shared_ptr(new Button( - xPeer, - A2S("Back"), - mpIconContainer->GetButtons(A2S("PreviousSlide")), - ::boost::bind(&PresenterToolBar::GotoPreviousSlide,this)))); + // Place the parts. + double nY ((aWindowBox.Height - aTotalSize.Height) / 2); + bIsHorizontal = true; - maElementContainer.push_back(boost::shared_ptr(new Label( - xPeer, - mpPresenterController->GetViewFontColor(mxViewId->getResourceURL()), - mpPresenterController->GetViewFontRequest(mxViewId->getResourceURL())))); + maBoundingBox.X1 = nX; + maBoundingBox.Y1 = nY; + maBoundingBox.X2 = nX + aTotalSize.Width + nTotalHorizontalGap; + maBoundingBox.Y2 = nY + aTotalSize.Height; - maElementContainer.push_back(boost::shared_ptr(new Button( - xPeer, - A2S("Next\nEffect"), - mpIconContainer->GetButtons(A2S("NextEffect")), - ::boost::bind(&PresenterToolBar::GotoNextEffect,this)))); + for (iPart=maElementContainer.begin(), nIndex=0; iPart!=iEnd; ++iPart,++nIndex) + { + geometry::RealRectangle2D aBoundingBox( + nX, nY, + nX+aPartSizes[nIndex].Width, nY+aTotalSize.Height); + + // Add space for gaps between elements. + if ((*iPart)->size() > 1) + if (bIsHorizontal) + aBoundingBox.X2 += ((*iPart)->size()-1) * nGapWidth; + + LayoutPart(rxCanvas, *iPart, aBoundingBox, aPartSizes[nIndex], bIsHorizontal); + bIsHorizontal = !bIsHorizontal; + nX += aBoundingBox.X2 - aBoundingBox.X1 + nGapWidth; + } - maElementContainer.push_back(boost::shared_ptr(new Button( - xPeer, - A2S("Next\nSlide"), - mpIconContainer->GetButtons(A2S("NextSlide")), - ::boost::bind(&PresenterToolBar::GotoNextSlide,this)))); + // The whole window has to be repainted. + mpPresenterController->GetPaintManager()->Invalidate(mxWindow); } -void PresenterToolBar::Resize (void) +geometry::RealSize2D PresenterToolBar::CalculatePartSize ( + const Reference& rxCanvas, + const SharedElementContainerPart& rpPart, + const bool bIsHorizontal) { + geometry::RealSize2D aTotalSize (0,0); + if (mxWindow.is()) { const awt::Rectangle aWindowBox (mxWindow->getPosSize()); - if (mxControl.is()) - mxControl->setPosSize(0,0, aWindowBox.Width, aWindowBox.Height, awt::PosSize::POSSIZE); // Calculate the summed width of all elements. - sal_Int32 nTotalControlWidth (0); - sal_Int32 nMaximalHeight (0); - sal_Int32 nElementCount (0); - ElementContainer::iterator iElement; - for (iElement=maElementContainer.begin(); iElement!=maElementContainer.end(); ++iElement) + ElementContainerPart::const_iterator iElement; + for (iElement=rpPart->begin(); iElement!=rpPart->end(); ++iElement) { - if (iElement->get() != NULL) + if (iElement->get() == NULL) + continue; + + const awt::Size aBSize ((*iElement)->GetBoundingSize(rxCanvas)); + if (bIsHorizontal) { - ++nElementCount; - nTotalControlWidth += (*iElement)->GetBoundingBox().Width; - const sal_Int32 nHeight ((*iElement)->GetBoundingBox().Height); - if (nHeight > nMaximalHeight) - nMaximalHeight = nHeight; + aTotalSize.Width += aBSize.Width; + if (aBSize.Height > aTotalSize.Height) + aTotalSize.Height = aBSize.Height; } - } - - // Calculate the gaps between elements. - sal_Int32 nGapSize = (aWindowBox.Width - nTotalControlWidth) / 3; - if (nGapSize > 10) - nGapSize = 10; - - sal_Int32 nX = (aWindowBox.Width - (nTotalControlWidth + (nElementCount-1)*nGapSize)) / 2; - sal_Int32 nY = (aWindowBox.Height - nMaximalHeight) / 2; - - // Place the elements. - for (iElement=maElementContainer.begin(); iElement!=maElementContainer.end(); ++iElement) - { - if (iElement->get() != NULL) + else { - const awt::Rectangle aBox ((*iElement)->GetBoundingBox()); - (*iElement)->SetPosSize(awt::Rectangle(nX,nY, aBox.Width, aBox.Height)); - - nX += aBox.Width + nGapSize; + aTotalSize.Height += aBSize.Height; + if (aBSize.Width > aTotalSize.Width) + aTotalSize.Width = aBSize.Width; } } - - // The whole window has to be repainted. - Reference xPeer (mxWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->invalidate(awt::InvalidateStyle::CHILDREN); } + return aTotalSize; } -void PresenterToolBar::Clear ( - const awt::Rectangle& rUpdateBox, - const rendering::ViewState& rViewState) +void PresenterToolBar::LayoutPart ( + const Reference& rxCanvas, + const SharedElementContainerPart& rpPart, + const geometry::RealRectangle2D& rBoundingBox, + const geometry::RealSize2D& rPartSize, + const bool bIsHorizontal) { - OSL_ASSERT(mxCanvas.is()); + double nGap (0); + if (rpPart->size() > 1) + { + if (bIsHorizontal) + nGap = (rBoundingBox.X2 - rBoundingBox.X1 - rPartSize.Width) / (rpPart->size()-1); + else + nGap = (rBoundingBox.Y2 - rBoundingBox.Y1 - rPartSize.Height) / (rpPart->size()-1); + } - rendering::RenderState aRenderState( - geometry::AffineMatrix2D(1,0,0, 0,1,0), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE); - const sal_Int32 nColor ( - mpPresenterController->GetViewBackgroundColor(mxViewId->getResourceURL())); - aRenderState.DeviceColor[0] = ((nColor&0x00ff0000) >> 16) / 255.0; - aRenderState.DeviceColor[1] = ((nColor&0x0000ff00) >> 8) / 255.0; - aRenderState.DeviceColor[2] = ((nColor&0x000000ff) >> 0) / 255.0; + // Place the elements. + double nX (rBoundingBox.X1); + double nY (rBoundingBox.Y1); + + ElementContainerPart::const_iterator iElement; + ElementContainerPart::const_iterator iEnd (rpPart->end()); + for (iElement=rpPart->begin(); iElement!=iEnd; ++iElement) + { + if (iElement->get() == NULL) + continue; - Reference xRectangle ( - PresenterGeometryHelper::CreatePolygon(rUpdateBox, mxCanvas->getDevice())); - if (xRectangle.is()) - mxCanvas->fillPolyPolygon(xRectangle, rViewState, aRenderState); + const awt::Size aElementSize ((*iElement)->GetBoundingSize(rxCanvas)); + if (bIsHorizontal) + { + if ((*iElement)->IsFilling()) + { + nY = rBoundingBox.Y1; + (*iElement)->SetSize(geometry::RealSize2D(aElementSize.Width, rBoundingBox.Y2 - rBoundingBox.Y1)); + } + else + nY = rBoundingBox.Y1 + (rBoundingBox.Y2-rBoundingBox.Y1 - aElementSize.Height) / 2; + (*iElement)->SetLocation(awt::Point(sal_Int32(0.5 + nX), sal_Int32(0.5 + nY))); + nX += aElementSize.Width + nGap; + } + else + { + if ((*iElement)->IsFilling()) + { + nX = rBoundingBox.X1; + (*iElement)->SetSize(geometry::RealSize2D(rBoundingBox.X2 - rBoundingBox.X1, aElementSize.Height)); + } + else + nX = rBoundingBox.X1 + (rBoundingBox.X2-rBoundingBox.X1 - aElementSize.Width) / 2; + (*iElement)->SetLocation(awt::Point(sal_Int32(0.5 + nX), sal_Int32(0.5 + nY))); + nY += aElementSize.Height + nGap; + } + } } @@ -620,13 +1073,19 @@ void PresenterToolBar::Paint ( { OSL_ASSERT(mxCanvas.is()); - ElementContainer::iterator iElement; - for (iElement=maElementContainer.begin(); iElement!=maElementContainer.end(); ++iElement) + ElementContainer::iterator iPart; + ElementContainer::const_iterator iEnd (maElementContainer.end()); + for (iPart=maElementContainer.begin(); iPart!=iEnd; ++iPart) { - if (iElement->get() != NULL) + ElementContainerPart::iterator iElement; + ElementContainerPart::const_iterator iPartEnd ((*iPart)->end()); + for (iElement=(*iPart)->begin(); iElement!=iPartEnd; ++iElement) { - if ( ! (*iElement)->IsOutside(rUpdateBox)) - (*iElement)->Paint(mxCanvas, rViewState); + if (iElement->get() != NULL) + { + if ( ! (*iElement)->IsOutside(rUpdateBox)) + (*iElement)->Paint(mxCanvas, rViewState); + } } } } @@ -638,20 +1097,19 @@ void PresenterToolBar::UpdateSlideNumber (void) { if( mxSlideShowController.is() ) { - ElementContainer::iterator iElement; - for (iElement=maElementContainer.begin(); - iElement!=maElementContainer.end(); - ++iElement) + ElementContainer::iterator iPart; + ElementContainer::const_iterator iEnd (maElementContainer.end()); + for (iPart=maElementContainer.begin(); iPart!=iEnd; ++iPart) { - if (iElement->get() != NULL) - (*iElement)->SetCurrentSlide(mxCurrentSlide, mxSlideShowController->getSlideCount()); + ElementContainerPart::iterator iElement; + ElementContainerPart::const_iterator iPartEnd ((*iPart)->end()); + for (iElement=(*iPart)->begin(); iElement!=iPartEnd; ++iElement) + { + if (iElement->get() != NULL) + (*iElement)->CurrentSlideHasChanged(); + } } } - - // All elements may have to be repainted. - Reference xPeer (mxWindow, UNO_QUERY); - if (xPeer.is()) - xPeer->invalidate(awt::InvalidateStyle::CHILDREN); } @@ -662,23 +1120,27 @@ void PresenterToolBar::CheckMouseOver ( const bool bOverWindow, const bool bMouseDown) { - ElementContainer::iterator iElement; - for (iElement=maElementContainer.begin(); - iElement!=maElementContainer.end(); - ++iElement) + ElementContainer::iterator iPart; + ElementContainer::const_iterator iEnd (maElementContainer.end()); + for (iPart=maElementContainer.begin(); iPart!=iEnd; ++iPart) { - if (iElement->get() == NULL) - continue; - - awt::Rectangle aBox ((*iElement)->GetBoundingBox()); - const bool bIsOver = bOverWindow - && aBox.X <= rEvent.X - && aBox.Width+aBox.X-1 >= rEvent.X - && aBox.Y <= rEvent.Y - && aBox.Height+aBox.Y-1 >= rEvent.Y; - (*iElement)->SetState( - bIsOver, - bIsOver && rEvent.Buttons!=0 && bMouseDown && rEvent.ClickCount>0); + ElementContainerPart::iterator iElement; + ElementContainerPart::const_iterator iPartEnd ((*iPart)->end()); + for (iElement=(*iPart)->begin(); iElement!=iPartEnd; ++iElement) + { + if (iElement->get() == NULL) + continue; + + awt::Rectangle aBox ((*iElement)->GetBoundingBox()); + const bool bIsOver = bOverWindow + && aBox.X <= rEvent.X + && aBox.Width+aBox.X-1 >= rEvent.X + && aBox.Y <= rEvent.Y + && aBox.Height+aBox.Y-1 >= rEvent.Y; + (*iElement)->SetState( + bIsOver, + bIsOver && rEvent.Buttons!=0 && bMouseDown && rEvent.ClickCount>0); + } } } @@ -700,149 +1162,288 @@ void PresenterToolBar::ThrowIfDisposed (void) const -//===== PresenterToolBar::Element ============================================= +//===== PresenterToolBarView ================================================== -PresenterToolBar::Element::Element (const Reference& rxWindowPeer) - : mxWindowPeer(rxWindowPeer), - maBoundingBox() +PresenterToolBarView::PresenterToolBarView ( + const Reference& rxContext, + const Reference& rxViewId, + const Reference& rxController, + const ::rtl::Reference& rpPresenterController) + : PresenterToolBarViewInterfaceBase(m_aMutex), + mxPane(), + mxViewId(rxViewId), + mxWindow(), + mxCanvas(), + mpPresenterController(rpPresenterController), + mxSlideShowController(rpPresenterController->GetSlideShowController()), + mpToolBar() { + try + { + Reference xCM (rxController, UNO_QUERY_THROW); + Reference xCC(xCM->getConfigurationController(),UNO_QUERY_THROW); + mxPane = Reference(xCC->getResource(rxViewId->getAnchor()), UNO_QUERY_THROW); + + mxWindow = mxPane->getWindow(); + mxCanvas = mxPane->getCanvas(); + + mpToolBar = new PresenterToolBar( + rxContext, + mxWindow, + mxCanvas, + rpPresenterController, + PresenterToolBar::Center); + mpToolBar->Initialize(A2S("PresenterScreenSettings/ToolBars/ToolBar")); + + if (mxWindow.is()) + { + mxWindow->addPaintListener(this); + + Reference xPeer (mxWindow, UNO_QUERY); + if (xPeer.is()) + xPeer->setBackground(util::Color(0xff000000)); + + mxWindow->setVisible(sal_True); + } + } + catch (RuntimeException&) + { + mxViewId = NULL; + throw; + } } -PresenterToolBar::Element::Element ( - const Reference& rxWindowPeer, - const awt::Rectangle& rBoundingBox) - : mxWindowPeer(rxWindowPeer), - maBoundingBox(rBoundingBox) +PresenterToolBarView::~PresenterToolBarView (void) { } -PresenterToolBar::Element::~Element (void) +void SAL_CALL PresenterToolBarView::disposing (void) { + Reference xComponent (static_cast(mpToolBar.get()), UNO_QUERY); + mpToolBar = NULL; + if (xComponent.is()) + xComponent->dispose(); + + if (mxWindow.is()) + { + mxWindow->removePaintListener(this); + mxWindow = NULL; + } + mxCanvas = NULL; + mxViewId = NULL; + mxPane = NULL; + mpPresenterController = NULL; + mxSlideShowController = NULL; + } -void PresenterToolBar::Element::SetCurrentSlide ( - const Reference& rxCurrentSlide, - const sal_Int32 nSlideCount) +::rtl::Reference PresenterToolBarView::GetPresenterToolBar (void) const { - (void)rxCurrentSlide; - (void)nSlideCount; + return mpToolBar; } -void PresenterToolBar::Element::SetPosSize (const awt::Rectangle& rBox) +//----- XPaintListener -------------------------------------------------------- + +void SAL_CALL PresenterToolBarView::windowPaint (const css::awt::PaintEvent& rEvent) + throw (RuntimeException) { - maBoundingBox = rBox; + awt::Rectangle aWindowBox (mxWindow->getPosSize()); + mpPresenterController->GetCanvasHelper()->Paint( + mpPresenterController->GetViewBackground(mxViewId->getResourceURL()), + mxCanvas, + rEvent.UpdateRect, + awt::Rectangle(0,0,aWindowBox.Width, aWindowBox.Height), + awt::Rectangle()); } -awt::Rectangle PresenterToolBar::Element::GetBoundingBox (void) const +//----- lang::XEventListener ------------------------------------------------- + +void SAL_CALL PresenterToolBarView::disposing (const lang::EventObject& rEventObject) + throw (RuntimeException) { - return maBoundingBox; + if (rEventObject.Source == mxWindow) + mxWindow = NULL; } -bool PresenterToolBar::Element::SetState ( - const bool bIsOver, - const bool bIsPressed) +//----- XResourceId ----------------------------------------------------------- + +Reference SAL_CALL PresenterToolBarView::getResourceId (void) + throw (RuntimeException) +{ + return mxViewId; +} + + + + +sal_Bool SAL_CALL PresenterToolBarView::isAnchorOnly (void) + throw (RuntimeException) { - (void)bIsOver; - (void)bIsPressed; return false; } -void PresenterToolBar::Element::Invalidate (void) +//----- XDrawView ------------------------------------------------------------- + +void SAL_CALL PresenterToolBarView::setCurrentPage (const Reference& rxSlide) + throw (RuntimeException) { - if (mxWindowPeer.is()) - mxWindowPeer->invalidateRect(maBoundingBox, awt::InvalidateStyle::UPDATE); + Reference xToolBar (static_cast(mpToolBar.get()), UNO_QUERY); + if (xToolBar.is()) + xToolBar->setCurrentPage(rxSlide); } -bool PresenterToolBar::Element::IsOutside (const awt::Rectangle& rBox) +Reference SAL_CALL PresenterToolBarView::getCurrentPage (void) + throw (RuntimeException) { - if (rBox.X >= maBoundingBox.X+maBoundingBox.Width) - return true; - else if (rBox.Y >= maBoundingBox.Y+maBoundingBox.Height) - return true; - else if (maBoundingBox.X >= rBox.X+rBox.Width) - return true; - else if (maBoundingBox.Y >= rBox.Y+rBox.Height) - return true; - else - return false; + return NULL; } -//===== PresenterToolBar::Button ============================================== +//----------------------------------------------------------------------------- -Button::Button ( - const Reference& rxWindowPeer, - const OUString& rsText, - const PresenterBitmapContainer::BitmapSet& rIcons, - const Callback& rCallback) - : Element(rxWindowPeer, awt::Rectangle(0,0,gnButtonSize,gnButtonSize)), - msText(rsText), +void PresenterToolBarView::ThrowIfDisposed (void) const + throw (::com::sun::star::lang::DisposedException) +{ + if (rBHelper.bDisposed || rBHelper.bInDispose) + { + throw lang::DisposedException ( + OUString(RTL_CONSTASCII_USTRINGPARAM( + "PresenterToolBarView has already been disposed")), + const_cast(static_cast(this))); + } +} + + + + +//===== PresenterToolBar::Element ============================================= + +namespace { + +Element::Element ( + const ::rtl::Reference& rpToolBar) + : ElementInterfaceBase(m_aMutex), + mpToolBar(rpToolBar), + maLocation(), + maSize(), + mpNormal(), + mpMouseOver(), + mpSelected(), + mpDisabled(), + mpMode(), mbIsOver(false), mbIsPressed(false), - maIcons(rIcons), - mbIconLoadingFailed(false), - maCallback(rCallback) + mbIsSelected(false), + mbIsEnabled(true) { + if (mpToolBar.get() != NULL) + { + OSL_ASSERT(mpToolBar->GetPresenterController().is()); + OSL_ASSERT(mpToolBar->GetPresenterController()->GetWindowManager().is()); + } } -void Button::Paint ( - const Reference& rxCanvas, - const rendering::ViewState& rViewState) +Element::~Element (void) { - OSL_ASSERT(rxCanvas.is()); +} - Reference xBitmap; - if (mbIsPressed) - xBitmap = maIcons.mxButtonDownIcon; - else if (mbIsOver) - xBitmap = maIcons.mxMouseOverIcon; - else - xBitmap = maIcons.mxNormalIcon; - if (xBitmap.is()) - { - const rendering::RenderState aRenderState( - geometry::AffineMatrix2D(1,0,maBoundingBox.X, 0,1,maBoundingBox.Y), - NULL, - Sequence(3), - rendering::CompositeOperation::OVER); - rxCanvas->drawBitmap(xBitmap, rViewState, aRenderState); - } + + +void Element::SetModes ( + const SharedElementMode& rpNormalMode, + const SharedElementMode& rpMouseOverMode, + const SharedElementMode& rpSelectedMode, + const SharedElementMode& rpDisabledMode) +{ + mpNormal = rpNormalMode; + mpMouseOver = rpMouseOverMode; + mpSelected = rpSelectedMode; + mpDisabled = rpDisabledMode; + mpMode = rpNormalMode; +} + + + + +void Element::disposing (void) +{ +} + + + + +awt::Size Element::GetBoundingSize ( + const Reference& rxCanvas) +{ + maSize = CreateBoundingSize(rxCanvas); + return maSize; +} + + + + +awt::Rectangle Element::GetBoundingBox (void) const +{ + return awt::Rectangle(maLocation.X,maLocation.Y, maSize.Width, maSize.Height); +} + + + + +void Element::CurrentSlideHasChanged (void) +{ + UpdateState(); +} + + + + +void Element::SetLocation (const awt::Point& rLocation) +{ + maLocation = rLocation; +} + + + +void Element::SetSize (const geometry::RealSize2D& rSize) +{ + maSize = awt::Size(sal_Int32(0.5+rSize.Width), sal_Int32(0.5+rSize.Height)); } -bool Button::SetState ( +bool Element::SetState ( const bool bIsOver, const bool bIsPressed) { @@ -852,11 +1453,43 @@ bool Button::SetState ( mbIsOver = bIsOver; mbIsPressed = bIsPressed; - if (bModified) - Invalidate(); + // When the element is disabled then ignore mouse over or selection. + // When the element is selected then ignore mouse over. + if ( ! mbIsEnabled) + mpMode = mpDisabled; + else if (mbIsSelected) + mpMode = mpSelected; + else if (mbIsOver) + mpMode = mpMouseOver; + else + mpMode = mpNormal; + + if (bClicked && mbIsEnabled) + { + if (mpMode.get() != NULL) + { + do + { + if (mpMode->msAction.getLength() <= 0) + break; + + if (mpToolBar.get() == NULL) + break; + + if (mpToolBar->GetPresenterController().get() == NULL) + break; + + mpToolBar->GetPresenterController()->DispatchUnoCommand(mpMode->msAction); + mpToolBar->RequestLayout(); + } + while (false); + } - if (bClicked) - maCallback(); + } + else if (bModified) + { + Invalidate(); + } return bModified; } @@ -864,104 +1497,963 @@ bool Button::SetState ( -//===== PresenterToolBar::Label =============================================== +void Element::Invalidate (const bool bSynchronous) +{ + OSL_ASSERT(mpToolBar.is()); + mpToolBar->InvalidateArea(GetBoundingBox(), bSynchronous); +} + + + + +bool Element::IsOutside (const awt::Rectangle& rBox) +{ + if (rBox.X >= maLocation.X+maSize.Width) + return true; + else if (rBox.Y >= maLocation.Y+maSize.Height) + return true; + else if (maLocation.X >= rBox.X+rBox.Width) + return true; + else if (maLocation.Y >= rBox.Y+rBox.Height) + return true; + else + return false; +} + -Label::Label ( - const Reference& rxWindowPeer, - const util::Color& rFontColor, - const rendering::FontRequest& rFontDescriptor) - : Element(rxWindowPeer, awt::Rectangle(0,0,100,gnButtonSize)), - msText(), - mxFont(), - maFontColor(rFontColor), - maRequestedFontDescriptor(rFontDescriptor) + +bool Element::IsEnabled (void) const { - maRequestedFontDescriptor.CellSize = gnButtonSize / 2; + return mbIsEnabled; } -void Label::SetCurrentSlide ( - const Reference& rxCurrentSlide, - const sal_Int32 nSlideCount) +void Element::SetEnabledState (const bool bIsEnabled) { - try - { - Reference xSlideProperties (rxCurrentSlide, UNO_QUERY_THROW); - const Any aSlideNumber (xSlideProperties->getPropertyValue( - OUString::createFromAscii("Number"))); - sal_Int32 nSlideNumber (0); - if (aSlideNumber >>= nSlideNumber) - { - SetText( - OUString::valueOf(nSlideNumber) - + OUString::createFromAscii(" / ") - + OUString::valueOf(nSlideCount)); - } - } - catch (RuntimeException&) + mbIsEnabled = bIsEnabled; +} + + + + +bool Element::IsFilling (void) const +{ + return false; +} + + + + +void Element::UpdateState (void) +{ + OSL_ASSERT(mpToolBar.get() != NULL); + OSL_ASSERT(mpToolBar->GetPresenterController().get() != NULL); + + if (mpMode.get() == NULL) + return; + + util::URL aURL (mpToolBar->GetPresenterController()->CreateURLFromString(mpMode->msAction)); + Reference xDispatch (mpToolBar->GetPresenterController()->GetDispatch(aURL)); + if (xDispatch.is()) { + xDispatch->addStatusListener(this, aURL); + xDispatch->removeStatusListener(this, aURL); } } -void Label::SetText (const OUString& rsText) +//----- lang::XEventListener -------------------------------------------------- + +void SAL_CALL Element::disposing (const css::lang::EventObject& rEvent) + throw(css::uno::RuntimeException) { - msText = rsText; - Invalidate(); + (void)rEvent; } -void Label::Paint ( - const Reference& rxCanvas, - const rendering::ViewState& rViewState) +//----- document::XEventListener ---------------------------------------------- + +void SAL_CALL Element::notifyEvent (const css::document::EventObject& rEvent) + throw(css::uno::RuntimeException) { - OSL_ASSERT(rxCanvas.is()); + (void)rEvent; + UpdateState(); +} - if ( ! mxFont.is()) - mxFont = rxCanvas->createFont( - maRequestedFontDescriptor, - Sequence(), - geometry::Matrix2D(1,0,0,1)); - if (mxFont.is()) - { - rendering::StringContext aContext (msText, 0, msText.getLength()); - Reference xLayout ( - mxFont->createTextLayout(aContext, rendering::TextDirection::WEAK_LEFT_TO_RIGHT, 0)); - geometry::RealRectangle2D aBox (xLayout->queryTextBounds()); - const double nTextWidth = aBox.X2 - aBox.X1; - const double nTextHeight = aBox.Y2 - aBox.Y1; - const double nY = maBoundingBox.Y + (maBoundingBox.Height - nTextHeight)/2 - + 3*nTextHeight/4; - const double nX = maBoundingBox.X + (maBoundingBox.Width - nTextWidth)/2; +//----- frame::XStatusListener ------------------------------------------------ - rendering::RenderState aRenderState( - geometry::AffineMatrix2D(1,0,nX, 0,1,nY), - NULL, - Sequence(3), - rendering::CompositeOperation::SOURCE); - aRenderState.DeviceColor[0] = ((maFontColor&0x00ff0000)>>16) / 255.0; - aRenderState.DeviceColor[1] = ((maFontColor&0x0000ff00)>>8) / 255.0; - aRenderState.DeviceColor[2] = (maFontColor&0x000000ff) / 255.0; +void SAL_CALL Element::statusChanged (const css::frame::FeatureStateEvent& rEvent) + throw(css::uno::RuntimeException) +{ + bool bIsSelected (mbIsSelected); + bool bIsEnabled (rEvent.IsEnabled); + rEvent.State >>= bIsSelected; - rxCanvas->drawText( - aContext, - mxFont, - rViewState, - aRenderState, - rendering::TextDirection::WEAK_LEFT_TO_RIGHT); + if (bIsSelected != mbIsSelected || bIsEnabled != mbIsEnabled) + { + mbIsEnabled = bIsEnabled; + mbIsSelected = bIsSelected; + SetState(mbIsOver, mbIsPressed); + mpToolBar->RequestLayout(); } } +} // end of anonymous namespace + + + + +//===== ElementMode =========================================================== + +namespace { + +ElementMode::ElementMode (void) + : mpIcon(), + msAction(), + maText() +{ +} + + + + +void ElementMode::ReadElementMode ( + const Reference& rxElementProperties, + const OUString& rsModeName, + ::boost::shared_ptr& rpDefaultMode, + ::sdext::presenter::PresenterToolBar::Context& rContext) +{ + try + { + Reference xNode ( + PresenterConfigurationAccess::GetProperty(rxElementProperties, rsModeName), + UNO_QUERY); + Reference xProperties ( + PresenterConfigurationAccess::GetNodeProperties(xNode, OUString())); + if ( ! xProperties.is() && rpDefaultMode.get()!=NULL) + { + // The mode is not specified. Use the given, possibly empty, + // default mode instead. + mpIcon = rpDefaultMode->mpIcon; + msAction = rpDefaultMode->msAction; + maText = rpDefaultMode->maText; + } + + // Read action. + if ( ! (PresenterConfigurationAccess::GetProperty(xProperties, A2S("Action")) >>= msAction)) + if (rpDefaultMode.get()!=NULL) + msAction = rpDefaultMode->msAction; + + // Read text and font + OUString sText (rpDefaultMode.get()!=NULL ? rpDefaultMode->maText.GetText() : OUString()); + PresenterConfigurationAccess::GetProperty(xProperties, A2S("Text")) >>= sText; + Reference xFontNode ( + PresenterConfigurationAccess::GetProperty(xProperties, A2S("Font")), UNO_QUERY); + PresenterTheme::SharedFontDescriptor pFont (PresenterTheme::ReadFont( + xFontNode, + A2S(""), + rpDefaultMode.get()!=NULL + ? rpDefaultMode->maText.GetFont() + : PresenterTheme::SharedFontDescriptor())); + maText = Text(sText,pFont); + + // Read bitmaps to display as icons. + Reference xIconNode ( + PresenterConfigurationAccess::GetProperty(xProperties, A2S("Icon")), UNO_QUERY); + mpIcon = PresenterBitmapContainer::LoadBitmap( + xIconNode, + A2S(""), + rContext.mxPresenterHelper, + rContext.msBasePath, + rContext.mxCanvas, + rpDefaultMode.get()!=NULL ? rpDefaultMode->mpIcon : SharedBitmapDescriptor()); + } + catch(Exception&) + { + OSL_ASSERT(false); + } +} + +} // end of anonymous namespace + + + + +//===== Button ================================================================ + +namespace { + +::rtl::Reference Button::Create ( + const ::rtl::Reference& rpToolBar) +{ + ::rtl::Reference