From 49766c20b9c73278fdf2b0078dc57cfb407f8e98 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 10 Aug 2008 20:33:16 +0000 Subject: written stuff, fixed uml --- LaTeX/argouml.zargo | Bin 51666 -> 51736 bytes LaTeX/bib/references.bib | 33 +- LaTeX/chapters/implementierung.tex | 40 +- LaTeX/diplomarbeit.pdf | 6895 ++++++++++++++++++------------------ LaTeX/images/core.eps | 248 +- LaTeX/images/events.eps | 94 +- LaTeX/images/exceptions.eps | 22 +- LaTeX/images/prefs-editors.eps | 24 +- LaTeX/images/prefs.eps | 24 +- LaTeX/images/protocols.eps | 22 +- LaTeX/images/serialize.eps | 287 +- LaTeX/images/simulator.eps | 78 +- LaTeX/images/utils.eps | 232 +- 13 files changed, 4055 insertions(+), 3944 deletions(-) diff --git a/LaTeX/argouml.zargo b/LaTeX/argouml.zargo index d64b591..b33e86f 100644 Binary files a/LaTeX/argouml.zargo and b/LaTeX/argouml.zargo differ diff --git a/LaTeX/bib/references.bib b/LaTeX/bib/references.bib index 6639067..d40758d 100644 --- a/LaTeX/bib/references.bib +++ b/LaTeX/bib/references.bib @@ -1,29 +1,6 @@ -@misc{Tanenbaum, - author={Andrew Tanenbaum}, - title={Verteilte Systeme - Grundlagen und Paradigmen}, - year={2003}, - howpublished={Buch}, - note={2. Autor Marten van Steen; ISBN: 3-8273-7057-4} -} -@misc{Vorlesung, - author={Martin Omann}, - title={Vorlesung ``Verteilte Systeme'' an der FH Aachen}, - year={2007}, - howpublished={Vorlesung}, - note={} -} -@misc{OOS, - author={Heinrich Fassbender}, - title={``Objektorientierte Softwareentwicklung'' an der FH Aachen}, - year={2006}, - howpublished={Vorlesung}, - note={} -} -@misc{Games, - author={David Brackeen}, - title={Developing Games in Java}, - year={2003}, - howpublished={Buch}, - note={ISBN-13: 978-1592730056} -} +@misc{Games, author={David Brackeen}, title={Developing Games in Java}, year={2003}, howpublished={Buch}, note={ISBN-13: 978-1592730056} } +@misc{OOS, author={Heinrich Fassbender}, title={``Objektorientierte Softwareentwicklung'' an der FH Aachen}, year={2006}, howpublished={Vorlesung}, note={} } +@misc{Richtlinien, author={Heinrich Fassbender}, title={Programmierrichtlinien ``Objektorientierte Softwareentwicklung'' an der FH Aachen}, year={2008}, howpublished={Internet}, note={http://www.fassbender.fh-aachen.de/Downloads/OOS/Programmierrichtlinien.pdf} } +@misc{Tanenbaum, author={Andrew Tanenbaum}, title={Verteilte Systeme - Grundlagen und Paradigmen}, year={2003}, howpublished={Buch}, note={2. Autor Marten van Steen; ISBN: 3-8273-7057-4} } +@misc{Vorlesung, author={Martin Omann}, title={Vorlesung ``Verteilte Systeme'' an der FH Aachen}, year={2007}, howpublished={Vorlesung}, note={Mitschrift: ftp://ftp.buetow.org/pub/studium/FHAC\_VS-SS07/Mitschrift/verteilte-systeme.pdf} } diff --git a/LaTeX/chapters/implementierung.tex b/LaTeX/chapters/implementierung.tex index 8a8f508..9b4379e 100644 --- a/LaTeX/chapters/implementierung.tex +++ b/LaTeX/chapters/implementierung.tex @@ -115,7 +115,7 @@ Die Klasse \textit{VSSimulatorEditor} dient f\"{u}r das Editieren der globalen S \subsection{Funktionsweise von Ereignissen} -F\"{u}r jedes Ereignis existiert eine dazugeh\"{o}rige Klasse, welche die auszuf\"{u}hrenden Aktionen implementiert. Eine Instanz davon wird, f\"{u}r eine sp\"{a}tere Ausf\"{u}hrung, in einem \textit{VSTask}-Objekt verpackt dem Task-Manager \"{u}bergeben. Auf den Task-Manager wird sp\"{a}ter noch genauer eingegangen. +F\"{u}r jedes Ereignis existiert eine dazugeh\"{o}rige Klasse, welche die auszuf\"{u}hrenden Aktionen implementiert. Eine Instanz davon wird f\"{u}r eine sp\"{a}tere Ausf\"{u}hrung dem Task-Manager \"{u}bergeben. Auf den Task-Manager wird sp\"{a}ter noch genauer eingegangen. \begin{figure}[h] \centering \includegraphics[width=13.5cm]{images/events} @@ -168,6 +168,8 @@ Jede Ereiginsklasse hat au \item \textit{protected VSAbstractProcess process}: Eine Referenz auf das Prozessobjekt des jeweiligen Prozesses, auf welches das Ereignis angewendet wird. \end{itemize} +Da \textit{VSAbstractEvent} die Klasse \textit{VSSerializablePrefs} erweitert, k\"{o}nnen alle Ereignisse mit allen ihren Variablen serialisiert werden. Hierauf wird sp\"{a}ter nochmal eingegangen. + \subsection{Beispielimplementierung eines Ereignisses} Im Folgenden wird als Beispiel die Implementierung des Prozessabsturzereignisses \textit{VSProcessCrashEvent} behandelt. Da die dazugeh\"{o}rige Klasse keine Attribute besitzt, verbleibt hier auch die \textit{initCopy}-Methode mit leerem Rumpf. Jede Ereignisklasse muss in \textit{onInit()} mit \textit{setClassname} den eigenen Klassennamen mitteilen. In \textit{onStart()} wird das eigentliche Ereignis ausgef\"{u}hrt. Hier wird obligatorisch \"{u}berpr\"{u}ft, ob der Prozess bereits abgest\"{u}rzt (hier eigentlich nicht Notwendig, verbessert aber die Lesbarkeit der Logik) ist und gegebenenfalls wird der Prozess dann zum Absturz bewegt. @@ -535,7 +537,7 @@ Das Paket \textit{simulator} (vereinfacht auf Abbildung \ref{fig:PackageProtocol Beim Starten des Simulators wird auf die Main-Methode, welche sich in \textit{VSMain} befindet, aufgerufen. Sie instanziiert ein \textit{VSDefaultPrefs}-Objekt, wo alle Standardeinstellungen des Simulators abgelegt sind. Anschlieend wird ein \textit{VSSimulatorFrame} erzeugt, welches ein Simulatorfenster (wie bereits schon auf Abbildung \ref{fig:NeuesFenster} zu sehen war) implementiert. Das Simulatorfenster erstellt f\"{u}r jede neue Simulation jeweils ein Objekt von \textit{VSSimulator}. Jede Simulation hat im Simulationsfenster einen eigenen Tab. Auf Abbildung \ref{fig:NeuErstellteSimulation} wurde bereits eine neue Simulation erstellt, wo auch unten links der dazugeh\"{o}rige Tab mit der Beschriftung ``Simulator 1'' zu sehen ist. Jede Simulation besitzt dabei eine eigene Simulationsnummer, die bei jeder neuen Simulation um eins inkrementiert wird. Jedes \textit{VSSimulator}-Objekt greift auf \textit{VSSimulatorVisualization} zur\"{u}ck, was die Simulationsvisualisierung (Abbildung \ref{fig:Visualisierung}) implementiert. -\textit{VSSimulatorVisualization} greift auf Java's Grafikbibliothek Java2D zur\"{u}ck und ist aus Performancegr\"{u}nden mit dem Simulationsverlauf stark verzahnt. Klassenattribute, dessen Wert sich nie \"{a}ndert, wurden stets als \textit{final} deklariert. Attribute, die von Konfigurationen oder Einstellungen abh\"{a}ngig sind, die sich nur nach Konfigurations\"{a}nderung oder Vergr\"{o}ern beziehungsweise Verkleinern des Simulationsfensters \"{a}ndern (Werte, die f\"{u}r die Berechnung des Sekunden-Gatters notwendig sind), werden nur wenn es n\"{o}tig ist neu berechnet. +\textit{VSSimulatorVisualization} greift auf Java's Grafikbibliothek Java2D zur\"{u}ck und ist aus Performancegr\"{u}nden mit dem Simulationsverlauf stark verzahnt \cite{Games}. Klassenattribute, dessen Wert sich nie \"{a}ndert, wurden stets als \textit{final} deklariert. Attribute, die von Konfigurationen oder Einstellungen abh\"{a}ngig sind, die sich nur nach Konfigurations\"{a}nderung oder Vergr\"{o}ern beziehungsweise Verkleinern des Simulationsfensters \"{a}ndern (Werte, die f\"{u}r die Berechnung des Sekunden-Gatters notwendig sind), werden nur wenn es n\"{o}tig ist neu berechnet. \begin{figure}[h] \centering @@ -584,6 +586,8 @@ Jede Simulation besitzt somit seinen eigenen Simulationsthread. Bei mehreren par \section{Serialisierung und Deserialisierung von Simulationen} +\subsection{Funktionsweise} + Der Anwender kann eine erstellte Simulation im Datei-Men\"{u} speichern und/oder eine bereits abgespeicherte Simulation laden. Hierbei wird von den aus Java angebotenen M\"{o}glichkeit Objekte zu Serialisieren gebrauch gemacht. Im Paket \textit{serialize} (Abbildung \ref{fig:PackageSerialize}) befinden sich Helfer, die bei einer Serialisierung und einer Deserialisierung einer Simulation unter die Arme greifen. Der Simulator serialisiert nur notwendige Daten, und nicht jedes existierende Objekt. Alle Serialisierbaren Klassen implementieren das Interface \textit{VSSerializable} mit folgenden zwei Methoden: @@ -593,9 +597,7 @@ Der Simulator serialisiert nur notwendige Daten, und nicht jedes existierende Ob \item \textit{public void deserialize(VSSerialize serialize, ObjectInputStream ois)}: Diese Methode wird bei jedem Deserialisierungsvorgang aufgerufen (beim Laden einer Simulation). \end{itemize} -Die Methoden \textit{serialize} und \textit{deserialize} erhalten neben einen Dateistream auch ein \textit{VSSerialize}-Objekt. F\"{u}r jeden (De)serialisierungsvorgang wird ein \textit{VSSerialize}-Objekt erzeugt, welches dabei Hilft die ben\"{o}tigten Aktionen durchzuf\"{u}hren. Eine zu serialisierende Simulation besteht aus vielen voneinander abh\"{a}ngigen Objekten. Jedes Objekt kann dabei Referenzen auf andere Objekte besitzen. W\"{u}rde jedes Objekt komplett serialisiert werden, so w\"{u}rden Objekte, auf denen mehrere Referenzen existieren, in mehrfacher Ausf\"{u}hrung behandelt (in eine Datei abgespeichert) werden. Bei Kreissverweisen (Objekt A hat eine Referenz auf Objekt B und Objekt B hat eine Referenz auf Objekt A als Attribut gespeichert) w\"{u}rde die Serialisierung sogar in einer Endlosschleife enden. - -\textit{VSSerialize} hilft hierbei dies zu vermeiden und merkt sich Informationen von allen bereits serialisierten Objekten, sodass jedes Objekt nur genau einmal serialisiert wird. Bei der Deserialisierung werden alle Objekte wieder automatisch mit den richtigen Referenzen ausgestattet, wobei kein Objekt doppelt deserialisiert wird. +Die Methoden \textit{serialize} und \textit{deserialize} erhalten neben einen Dateistream auch ein \textit{VSSerialize}-Objekt. F\"{u}r jeden (De)serialisierungsvorgang wird ein \textit{VSSerialize}-Objekt erzeugt, welches dabei Hilft die ben\"{o}tigten Aktionen durchzuf\"{u}hren. Eine zu serialisierende Simulation besteht aus vielen voneinander abh\"{a}ngigen Objekten. Jedes Objekt kann dabei Referenzen auf andere Objekte besitzen. W\"{u}rde jedes Objekt komplett serialisiert werden, so w\"{u}rden Objekte, auf denen mehrere Referenzen existieren, in mehrfacher Ausf\"{u}hrung behandelt (in eine Datei abgespeichert) werden. Bei Kreissverweisen (Objekt A hat eine Referenz auf Objekt B und Objekt B hat eine Referenz auf Objekt A als Attribut gespeichert) w\"{u}rde die Serialisierung sogar in einer Endlosschleife enden. \textit{VSSerialize} hilft hierbei dies zu vermeiden und merkt sich Informationen von allen bereits serialisierten Objekten, sodass jedes Objekt nur genau einmal serialisiert wird. Bei der Deserialisierung werden alle Objekte wieder automatisch mit den richtigen Referenzen ausgestattet, wobei kein Objekt doppelt deserialisiert wird. \begin{figure}[h] \centering @@ -604,8 +606,12 @@ Die Methoden \textit{serialize} und \textit{deserialize} erhalten neben einen Da \label{fig:PackageSerialize} \end{figure} +Alle Klassen, die \textit{VSSerializePrefs} erweitern, k\"{o}nnen automatisch s\"{a}mtliche Einstellungen komfortabel serialisieren und deserialiseren. Beispielsweise speichert ein Simulator (\textit{VSSimulator}) alle seine globalen Simulationseinstellungen bei einer Serialisierung automatisch ab. Bei den Prozessen und den Ereignissen (und somit auch Protokollen) gilt selbiges analog. + Abgespeicherte Simulationen sollen auch mit zuk\"{u}nftigen Versionen des Simulators kompatibel bleiben. Deshalb werden alle Objekte derjenigen Klassen, die \textit{VSSerializable} implementieren, nicht komplett serialisiert. Bei der Serialisierung werden nur relevante Klassenattriute, die der Simulationsprogrammierung- und nicht bispielsweise GUI-komponenten angeh\"{o}ren, serialisiert. +\subsection{Beispielimplementierung einer \textit{serialize}-Methode} + Der folgende Quelltext-Ausschnitt zeigt eine Beispielimplementierung von \textit{serialize}: \begin{code} @@ -628,20 +634,9 @@ Das zu serialisierende Objekt besitzt hier lediglich zwei Attribute, die seriali Wenn der Anwender \textit{Datei $\rightarrow$ Simulation speichern} w\"{a}hlt, dann wird zun\"{a}chst ein \textit{VSSerialize}-Objekt erstellt. Ausgehend davon wird \textit{serialize} auf \textit{VSSimulator} ausgef\"{u}hrt (siehe Serialisierungssequenz auf Abbildung \ref{fig:SequenceSerialize}). Das Simulator-Objekt f\"{u}hrt \textit{serialize} wiederum auf das \textit{VSSimulatorVisualization}-Objekt aus. Dort wird jeder Prozess inklusive alle Protokollobjekte serialisiert. Anschliessend folgt der Task-Manager inklusive allen programmierten Ereignissen. -\begin{figure} - \centering - \rotatebox{90}{% - \includegraphics[width=22cm]{images/sequence-serialize} - } - \caption{Serialisierungssequenz} - \label{fig:SequenceSerialize} -\end{figure} - \section{Helferklassen und Klassen f\"{u}r Ausnahmebehandlungen} -Es wurden noch nicht die Klassen der Pakete \textit{utils} (Abbildung \ref{fig:PackageUtils}) sowie \textit{exceptions} (Abbildung \ref{fig:PackageExceptions}) vorgestellt. \textit{utils} fasst lediglich einige Helferklassen zusammen, die vom restlichen Quelltext verwendet werden. - \begin{figure}[h] \centering \includegraphics[width=11cm]{images/utils} @@ -649,6 +644,8 @@ Es wurden noch nicht die Klassen der Pakete \textit{utils} (Abbildung \ref{fig:P \label{fig:PackageUtils} \end{figure} +Es wurden noch nicht die Klassen der Pakete \textit{utils} (Abbildung \ref{fig:PackageUtils}) sowie \textit{exceptions} (Abbildung \ref{fig:PackageExceptions}) vorgestellt. \textit{utils} fasst lediglich einige Helferklassen zusammen, die vom restlichen Quelltext verwendet werden. + \begin{itemize} \item \textit{VSFrame}: Alle Objekte, die ein eigenes Swing-Fenster besitzen, erben von der Klasse \textit{VSFrame}. Sie stellt sicher, dass neue Fenster an der richtigen Position der Bildf\"{a}che platziert werden und dass Unterfenster (Fenster, die aus einem anderen Fenster aus ge\"{o}ffnet wurden) automatisch mitgeschlossen werden, sobald ihre ``Erzeugerfenster'' geschlossen werden. \item \textit{VSAboutFrame}: Dieses Fenster implementiert die ``About-Anzeige'' die im Simulator \"{u}ber das Datei-Men\"{u} aufgerufen werden kann. @@ -669,9 +666,18 @@ Es wurden noch nicht die Klassen der Pakete \textit{utils} (Abbildung \ref{fig:P Im Paket \textit{exceptions} befinden sich lediglich einige Objekte die f\"{u}r Ausnahmebehandlungen verwendet werden. \textit{VSNotCopyableException} wird w\"{a}hrend einem Kopierversuch eines nicht-kopierbaren Ereignis geworfen. \textit{VSNegatieNumberException} wird geworfen, wenn intern negative Zahlen dort auftreten wo sie es nicht sollten. Wenn ein Editorobjekt die Benutzereingabe einer Integer-Vektor-Variable nicht parsen kann, so greifen es auf \textit{VSParseIntegerVectorException} zur\"{u}ck. +\begin{figure} + \centering + \rotatebox{90}{% + \includegraphics[width=22cm]{images/sequence-serialize} + } + \caption{Serialisierungssequenz} + \label{fig:SequenceSerialize} +\end{figure} + \section{Programmierrichtlinien} -Die Programmierrichtlinien entsprechen in den meisten F\"{a}llen denen aus der Vorlesung \cite{OOS}. Die Main-Methode befindet sich in der Klasse \textit{simulator.VSMain}. +Die Programmierrichtlinien \cite{Richtlinien} entsprechen in den meisten F\"{a}llen denen aus der Vorlesung \cite{OOS}. Die Main-Methode befindet sich in der Klasse \textit{simulator.VSMain}. \begin{itemize} \item Alle Klassen- und Interfacenamen beginnen mit groen Buchstaben, w\"{a}hrend alle Variablen-, Methoden- und Attributnamen mit kleinen Buchstaben beginnen. Namen finaler Variablen und Attribute sind komplett in Grobuchstaben gehalten. diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf index 6458511..185bedf 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf @@ -264,45 +264,57 @@ endobj (\376\377\0003\000.\0006\000\040\000S\000e\000r\000i\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000u\000n\000d\000\040\000D\000e\000s\000e\000r\000i\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000v\000o\000n\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000e\000n) endobj 181 0 obj -<< /S /GoTo /D (section.3.7) >> +<< /S /GoTo /D (subsection.3.6.1) >> endobj 184 0 obj -(\376\377\0003\000.\0007\000\040\000H\000e\000l\000f\000e\000r\000k\000l\000a\000s\000s\000e\000n\000\040\000u\000n\000d\000\040\000K\000l\000a\000s\000s\000e\000n\000\040\000f\000\374\000r\000\040\000A\000u\000s\000n\000a\000h\000m\000e\000b\000e\000h\000a\000n\000d\000l\000u\000n\000g\000e\000n) +(\376\377\0003\000.\0006\000.\0001\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000s\000w\000e\000i\000s\000e) endobj 185 0 obj -<< /S /GoTo /D (section.3.8) >> +<< /S /GoTo /D (subsection.3.6.2) >> endobj 188 0 obj -(\376\377\0003\000.\0008\000\040\000P\000r\000o\000g\000r\000a\000m\000m\000i\000e\000r\000r\000i\000c\000h\000t\000l\000i\000n\000i\000e\000n) +(\376\377\0003\000.\0006\000.\0002\000\040\000B\000e\000i\000s\000p\000i\000e\000l\000i\000m\000p\000l\000e\000m\000e\000n\000t\000i\000e\000r\000u\000n\000g\000\040\000e\000i\000n\000e\000r\000\040\000s\000e\000r\000i\000a\000l\000i\000z\000e\000-\000M\000e\000t\000h\000o\000d\000e) endobj 189 0 obj -<< /S /GoTo /D (section.3.9) >> +<< /S /GoTo /D (section.3.7) >> endobj 192 0 obj -(\376\377\0003\000.\0009\000\040\000E\000n\000t\000w\000i\000c\000k\000l\000u\000n\000g\000s\000u\000m\000g\000e\000b\000u\000n\000g) +(\376\377\0003\000.\0007\000\040\000H\000e\000l\000f\000e\000r\000k\000l\000a\000s\000s\000e\000n\000\040\000u\000n\000d\000\040\000K\000l\000a\000s\000s\000e\000n\000\040\000f\000\374\000r\000\040\000A\000u\000s\000n\000a\000h\000m\000e\000b\000e\000h\000a\000n\000d\000l\000u\000n\000g\000e\000n) endobj 193 0 obj -<< /S /GoTo /D (chapter.4) >> +<< /S /GoTo /D (section.3.8) >> endobj 196 0 obj -(\376\377\0004\000\040\000A\000u\000s\000b\000l\000i\000c\000k) +(\376\377\0003\000.\0008\000\040\000P\000r\000o\000g\000r\000a\000m\000m\000i\000e\000r\000r\000i\000c\000h\000t\000l\000i\000n\000i\000e\000n) endobj 197 0 obj -<< /S /GoTo /D (appendix.A) >> +<< /S /GoTo /D (section.3.9) >> endobj 200 0 obj -(\376\377\000A\000\040\000A\000k\000r\000o\000n\000y\000m\000e) +(\376\377\0003\000.\0009\000\040\000E\000n\000t\000w\000i\000c\000k\000l\000u\000n\000g\000s\000u\000m\000g\000e\000b\000u\000n\000g) endobj 201 0 obj -<< /S /GoTo /D (appendix.B) >> +<< /S /GoTo /D (chapter.4) >> endobj 204 0 obj -(\376\377\000B\000\040\000L\000i\000t\000e\000r\000a\000t\000u\000r\000v\000e\000r\000z\000e\000i\000c\000h\000n\000i\000s) +(\376\377\0004\000\040\000A\000u\000s\000b\000l\000i\000c\000k) endobj 205 0 obj -<< /S /GoTo /D [206 0 R /Fit ] >> +<< /S /GoTo /D (appendix.A) >> +endobj +208 0 obj +(\376\377\000A\000\040\000A\000k\000r\000o\000n\000y\000m\000e) +endobj +209 0 obj +<< /S /GoTo /D (appendix.B) >> +endobj +212 0 obj +(\376\377\000B\000\040\000L\000i\000t\000e\000r\000a\000t\000u\000r\000v\000e\000r\000z\000e\000i\000c\000h\000n\000i\000s) +endobj +213 0 obj +<< /S /GoTo /D [214 0 R /Fit ] >> endobj -209 0 obj << +217 0 obj << /Length 827 /Filter /FlateDecode >> @@ -311,14 +323,14 @@ xڍUMs ι>wyW 7Ve{'} n4~' ,T$Z%UԭoVH!/"4`( %Ҙ给b|UhWEKZ^ gZR@!~r1d*RvXʧhu,L!q5Dk;N(̞+ ŨF&qeXd˩ʝgZN p.ͩ2):os>0]e{JK|hF"{gj,wy*fxIϫ608J|-_`_K_!sPӱ bk{>>3(~Zuh엗qDh\P@4w1ωuȷgH%Աf`.O{F,s>`ϮbtEEiOԡӀpFu<|9ҊPypΎ|L^K S rt!8c'4(ܳendstream endobj -206 0 obj << +214 0 obj << /Type /Page -/Contents 209 0 R -/Resources 208 0 R +/Contents 217 0 R +/Resources 216 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 218 0 R +/Parent 226 0 R >> endobj -207 0 obj << +215 0 obj << /Type /XObject /Subtype /Image /Width 500 @@ -479,38 +491,38 @@ j'F 5M%jKqizlO<ԕ#C~%(4p<]gʟ~c ]'?Ӹ)E- sOyGKrm{/ n-ptuk.#I"vq1HF4G"X!)̷ƪmu/XFoON&3a> g)yC_mm|+!`a >_W?P04ȹW\5??h]UC͒$pS؁ʟtrendstream endobj -210 0 obj << -/D [206 0 R /XYZ 74.4095 769.8898 null] +218 0 obj << +/D [214 0 R /XYZ 74.4095 769.8898 null] >> endobj -211 0 obj << -/D [206 0 R /XYZ 74.4095 769.8898 null] +219 0 obj << +/D [214 0 R /XYZ 74.4095 769.8898 null] >> endobj -208 0 obj << -/Font << /F26 214 0 R /F28 217 0 R >> -/XObject << /Im1 207 0 R >> +216 0 obj << +/Font << /F26 222 0 R /F28 225 0 R >> +/XObject << /Im1 215 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -221 0 obj << +229 0 obj << /Length 69 /Filter /FlateDecode >> stream x3T0BCs=KSsKc P!9@!(eUcbbgbjf`ՅKXoendstream endobj -220 0 obj << +228 0 obj << /Type /Page -/Contents 221 0 R -/Resources 219 0 R +/Contents 229 0 R +/Resources 227 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 218 0 R +/Parent 226 0 R >> endobj -222 0 obj << -/D [220 0 R /XYZ 74.4095 793.4011 null] +230 0 obj << +/D [228 0 R /XYZ 74.4095 793.4011 null] >> endobj -219 0 obj << +227 0 obj << /ProcSet [ /PDF ] >> endobj -225 0 obj << +233 0 obj << /Length 892 /Filter /FlateDecode >> @@ -523,41 +535,41 @@ q 5&l,P>n-|ZS+Uy(6Ѫ%)>r3[Ib/џmi˸巄 Y{C1 D\q{oJ6H/ tV+9ԯi 0=m'{[wS?D@endstream endobj -224 0 obj << +232 0 obj << /Type /Page -/Contents 225 0 R -/Resources 223 0 R +/Contents 233 0 R +/Resources 231 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 218 0 R +/Parent 226 0 R >> endobj -226 0 obj << -/D [224 0 R /XYZ 74.4095 793.4011 null] +234 0 obj << +/D [232 0 R /XYZ 74.4095 793.4011 null] >> endobj -223 0 obj << -/Font << /F26 214 0 R /F28 217 0 R >> +231 0 obj << +/Font << /F26 222 0 R /F28 225 0 R >> /ProcSet [ /PDF /Text ] >> endobj -229 0 obj << +237 0 obj << /Length 69 /Filter /FlateDecode >> stream x3T0BCs=KSsKc P!9@!(eUcbbgbjf`ՅKXoendstream endobj -228 0 obj << +236 0 obj << /Type /Page -/Contents 229 0 R -/Resources 227 0 R +/Contents 237 0 R +/Resources 235 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 218 0 R +/Parent 226 0 R >> endobj -230 0 obj << -/D [228 0 R /XYZ 74.4095 793.4011 null] +238 0 obj << +/D [236 0 R /XYZ 74.4095 793.4011 null] >> endobj -227 0 obj << +235 0 obj << /ProcSet [ /PDF ] >> endobj -233 0 obj << +241 0 obj << /Length 791 /Filter /FlateDecode >> @@ -566,41 +578,41 @@ xڕVMs P(Ϫ('DP^Mzͪ=L `<@٬CǬyYoE[@wo[QUb'Ԕ1@1a=lN k/`j'p_؍&U 3* P!> endobj -234 0 obj << -/D [232 0 R /XYZ 74.4095 793.4011 null] +242 0 obj << +/D [240 0 R /XYZ 74.4095 793.4011 null] >> endobj -231 0 obj << -/Font << /F26 214 0 R /F28 217 0 R /F35 237 0 R >> +239 0 obj << +/Font << /F26 222 0 R /F28 225 0 R /F35 245 0 R >> /ProcSet [ /PDF /Text ] >> endobj -240 0 obj << +248 0 obj << /Length 69 /Filter /FlateDecode >> stream x3T0BCs=KSsKc P!9@!(eUcbbgbjf`ՅKXoendstream endobj -239 0 obj << +247 0 obj << /Type /Page -/Contents 240 0 R -/Resources 238 0 R +/Contents 248 0 R +/Resources 246 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 218 0 R +/Parent 226 0 R >> endobj -241 0 obj << -/D [239 0 R /XYZ 74.4095 793.4011 null] +249 0 obj << +/D [247 0 R /XYZ 74.4095 793.4011 null] >> endobj -238 0 obj << +246 0 obj << /ProcSet [ /PDF ] >> endobj -244 0 obj << +252 0 obj << /Length 2474 /Filter /FlateDecode >> @@ -614,408 +626,421 @@ Flԙ02M b 5Qgb1Z^1u}AC1!e)xW#, W%b{,ؾb:(Q493LtԙRz&"/ʨRlts(cіwN??ZN}6tb]& _O/asϳ0q*1iL0cWㅹ[s.H:,xu.Cw:^uՑ8> Ɗ߯, N *P A,d*hFbz{*I;VCIO*U3Ӱc2O5?u!Ӕnx~f߱y|h/z#4*IT /%Bga>FSݨi;cs=u=֠9}L 6eN e{̳i.Wez=ZwD am]=:sd+[J+4lv0ڧs 1 17ݏ΄OU`/K۲/'p+)CC{F4BaJ7ă@CFF[k6Qg@R @/+ss0^|ouyw>>|s˦oCAg,\cݷW]* X"b*PlY44bU6u,%Bg?6h[y]˟mϵtj"r6ȕ8 ґ*ى|E2Xhg("[ ӏbCι3 BGkV:"+]BcHn`#7yJx-E_w 1bȢy5КihQgQed!2O.}Ьŷ_?\>q=y>Tc-\#q5DT6I2eiӢr@,hbk)Qg(,T^u;Ʒޗ}hYdKȈmA3UU9XcOhcݨ1w X!!\z3(?`:4XK|&쬤W9/²endstream endobj -243 0 obj << +251 0 obj << /Type /Page -/Contents 244 0 R -/Resources 242 0 R +/Contents 252 0 R +/Resources 250 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 276 0 R -/Annots [ 247 0 R 248 0 R 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R ] +/Parent 284 0 R +/Annots [ 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R ] >> endobj -247 0 obj << +255 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [73.4132 607.8694 132.1982 618.3978] /Subtype /Link /A << /S /GoTo /D (chapter.1) >> >> endobj -248 0 obj << +256 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 591.2455 150.1131 599.7295] /Subtype /Link /A << /S /GoTo /D (section.1.1) >> >> endobj -249 0 obj << +257 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 570.8377 156.4611 581.42] /Subtype /Link /A << /S /GoTo /D (section.1.2) >> >> endobj -250 0 obj << +258 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [73.4132 544.8461 147.4677 553.4916] /Subtype /Link /A << /S /GoTo /D (chapter.2) >> >> endobj -251 0 obj << +259 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 524.555 252.1763 535.0296] /Subtype /Link /A << /S /GoTo /D (section.2.1) >> >> endobj -252 0 obj << +260 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 506.0392 172.6274 516.3075] /Subtype /Link /A << /S /GoTo /D (section.2.2) >> >> endobj -253 0 obj << +261 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 487.4157 151.3326 497.7917] /Subtype /Link /A << /S /GoTo /D (section.2.3) >> >> endobj -254 0 obj << +262 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 468.8999 163.3025 479.2759] /Subtype /Link /A << /S /GoTo /D (section.2.4) >> >> endobj -255 0 obj << +263 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 450.4917 219.7364 460.7601] /Subtype /Link /A << /S /GoTo /D (subsection.2.4.1) >> >> endobj -256 0 obj << +264 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 431.8683 237.2476 442.4505] /Subtype /Link /A << /S /GoTo /D (subsection.2.4.2) >> >> endobj -257 0 obj << +265 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 413.3525 280.8776 423.7285] /Subtype /Link /A << /S /GoTo /D (subsection.2.4.3) >> >> endobj -258 0 obj << +266 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 394.8367 269.5888 405.2127] /Subtype /Link /A << /S /GoTo /D (subsection.2.4.4) >> >> endobj -259 0 obj << +267 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 378.1321 149.1627 386.6968] /Subtype /Link /A << /S /GoTo /D (section.2.5) >> >> endobj -260 0 obj << +268 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 357.9127 245.963 368.3873] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.1) >> >> endobj -261 0 obj << +269 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 339.2892 371.1808 349.6652] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.2) >> >> endobj -265 0 obj << +273 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 321.0462 291.7104 331.1494] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.3) >> >> endobj -266 0 obj << +274 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 302.2576 480.6634 312.8399] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.4) >> >> endobj -267 0 obj << +275 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 283.7418 413.8211 294.324] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.5) >> >> endobj -268 0 obj << +276 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 265.226 413.0998 275.8082] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.6) >> >> endobj -269 0 obj << +277 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 246.983 362.8821 257.2924] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.7) >> >> endobj -270 0 obj << +278 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 228.4672 367.7659 238.7766] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.8) >> >> endobj -271 0 obj << +279 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 209.6785 353.8335 220.2608] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.9) >> >> endobj -272 0 obj << +280 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 191.1627 366.1259 201.745] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.10) >> >> endobj -273 0 obj << +281 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 172.7546 178.9666 183.0229] /Subtype /Link /A << /S /GoTo /D (section.2.6) >> >> endobj -274 0 obj << +282 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 154.2388 325.7265 164.7134] /Subtype /Link /A << /S /GoTo /D (subsection.2.6.1) >> >> endobj -275 0 obj << +283 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 135.6153 362.035 146.1976] /Subtype /Link /A << /S /GoTo /D (subsection.2.6.2) >> >> endobj -245 0 obj << -/D [243 0 R /XYZ 74.4095 793.4011 null] +253 0 obj << +/D [251 0 R /XYZ 74.4095 793.4011 null] >> endobj -246 0 obj << -/D [243 0 R /XYZ 74.4095 638.5029 null] +254 0 obj << +/D [251 0 R /XYZ 74.4095 638.5029 null] >> endobj -242 0 obj << -/Font << /F26 214 0 R /F28 217 0 R /F63 264 0 R >> +250 0 obj << +/Font << /F26 222 0 R /F28 225 0 R /F63 272 0 R >> /ProcSet [ /PDF /Text ] >> endobj -279 0 obj << -/Length 2092 +287 0 obj << +/Length 2233 /Filter /FlateDecode >> stream -x[6+ti53M۴> ǫյ‡P%J8(M@ Ǐ@K,2#Ve -xX?7k+/^g7OZ,'VkݼθVxQm׻͒Eq{WViwOtv$ך?))l46Tw*+Ip6]4Me1&6yۥ ˕zUY,W?wžeqTw2Rd{JD*3IuCLŔQS -A+AbjZI2&yYnq*&|y<h+ˆ7ӠqΈ- }Mh}_Z;iШWۓ#XnB$99s>r/fN<56<^QܟEX1>5cJH,hlRXbV`wB~J2&`։qI(D -ZˋWWc|2DXLxǫ՘yL1}pL}EyNZ[oǢ6ө(ztz*MЩ\60;G0IZM%z]Ն&Y"zg/G>;HDwvn<+SD(+R<<*mN4< ]W%TsShS9 *T4j)P1ׁ)xWdqnr߄OϏ8i 3|;)"ZrNVU"pWyDwޓ<^&O̒ZXBEu'jmf·%Tn'E MIѫtϣ{{P'j5EەDS<ol3~ш Zd;݊Ns6V ~ϒE*  UZDꕕ\*S$z'7Y41pjBs;r8=4*j5zjmf*rEf[_^sѷZ, zUb#B0"-փ|\ 2 ` @ @ìwBSP5}5/˽ݺ.oe+OaW]I e׫^s-VoXb DVcL5RFy4'4^S~Az" 'VT<]it;G?UmCNX7W鉥U%F U xA5 f# Lrw?-YBq8QOB2, IJOpfǕ898fnI2ڹҔ[ 0pZ!- :ubi$uȈ EyS^Ỗmq9ӃPde(|R6$4բPCZ~[jGOχ;"2T݇H58)ojV<Fl]E"*Rc3Pl$ƣ&"y0Z'i AC+qz3ƾLߗw)x +S>)d+Rkf`NoD>֖yNcvl9JWBZ)Ϥ#L*$y TNWy}Z]cy^2$v/ƯzcSvǵH +vQlx'$@pEc8LP0<>߿V"h,v\"0/<1팲Сh*7UfS`8pģUi 27ZpEdM)/.zw%%cR{כ]Md]|#>:'-r$/r}kiL[+oxz*Ɍ}ltg<\i!3>">/4&r4ILiJJxE1w`}ҢrT(`RBV*,T<]u~a[>2\YI,twdlTY5K/;ǣUI@s [QMoer[ڬzEkD8xQ'm~` ~&gVQp'4l^S?=P@wGK +Z׸pE$U.2/ov|=]st,ӎEh`ciT wۖ߭eC0*bPL3Yą@p +VT'!f>gPۊMHdq1U1j#GmWӛZ8_.M=,b\~˭BYR%is +t<:gI0{˧b:m;dc>cE\c{! o'h +udG&vP&AQ\9|PUI&Mv~}pR{U.?Ou2(K|ɐ:RrSxiC*0^;UJCl22 mxݨt }1r2 Ÿiy`8vp2*7WM8S\ru/>۫8fpl 7~%\kͨ:b&vՇDF|; 5n yUUMLXCGendstream endobj -278 0 obj << +286 0 obj << /Type /Page -/Contents 279 0 R -/Resources 277 0 R +/Contents 287 0 R +/Resources 285 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 276 0 R -/Annots [ 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R ] +/Parent 284 0 R +/Annots [ 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 312 0 R 313 0 R 314 0 R ] >> endobj -281 0 obj << +289 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [73.4132 756.786 177.5405 767.3144] /Subtype /Link /A << /S /GoTo /D (chapter.3) >> >> endobj -282 0 obj << +290 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 738.8587 216.6336 749.2347] /Subtype /Link /A << /S /GoTo /D (section.3.1) >> >> endobj -283 0 obj << +291 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 720.9315 215.4148 731.3075] /Subtype /Link /A << /S /GoTo /D (subsection.3.1.1) >> >> endobj -284 0 obj << +292 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 703.1119 190.4974 713.3802] /Subtype /Link /A << /S /GoTo /D (subsection.3.1.2) >> >> endobj -285 0 obj << +293 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 685.077 151.3326 695.453] /Subtype /Link /A << /S /GoTo /D (section.3.2) >> >> endobj -286 0 obj << +294 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 667.1498 265.653 677.5258] /Subtype /Link /A << /S /GoTo /D (subsection.3.2.1) >> >> endobj -287 0 obj << +295 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 649.2225 308.7178 659.5985] /Subtype /Link /A << /S /GoTo /D (subsection.3.2.2) >> >> endobj -288 0 obj << +296 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 631.2953 334.173 641.8776] /Subtype /Link /A << /S /GoTo /D (section.3.3) >> >> endobj -289 0 obj << +297 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 615.1793 199.5985 623.7441] /Subtype /Link /A << /S /GoTo /D (subsection.3.3.1) >> >> endobj -290 0 obj << +298 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 595.4408 336.6387 606.0231] /Subtype /Link /A << /S /GoTo /D (subsection.3.3.2) >> >> endobj -291 0 obj << +299 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 579.3248 149.1627 587.8896] /Subtype /Link /A << /S /GoTo /D (section.3.4) >> >> endobj -292 0 obj << +300 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 561.3976 275.6593 569.9624] /Subtype /Link /A << /S /GoTo /D (subsection.3.4.1) >> >> endobj -293 0 obj << +301 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 541.6591 301.5626 552.0351] /Subtype /Link /A << /S /GoTo /D (subsection.3.4.2) >> >> endobj -294 0 obj << +302 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 523.7319 327.3494 534.3141] /Subtype /Link /A << /S /GoTo /D (subsection.3.4.3) >> >> endobj -295 0 obj << +303 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 505.8046 253.8798 516.3869] /Subtype /Link /A << /S /GoTo /D (section.3.5) >> >> endobj -296 0 obj << +304 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 489.6886 199.5985 498.2534] /Subtype /Link /A << /S /GoTo /D (subsection.3.5.1) >> >> endobj -297 0 obj << +305 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 469.9502 273.8479 480.3262] /Subtype /Link /A << /S /GoTo /D (subsection.3.5.2) >> >> endobj -298 0 obj << +306 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 452.0229 319.4854 462.6052] /Subtype /Link /A << /S /GoTo /D (section.3.6) >> >> endobj -299 0 obj << +307 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.4855 435.9069 199.5985 444.4717] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.6.1) >> +>> endobj +308 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 434.0957 330.353 444.678] +/Rect [107.4855 416.1685 331.8281 426.5445] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.6.2) >> +>> endobj +309 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [86.8628 398.2412 330.353 408.8235] /Subtype /Link /A << /S /GoTo /D (section.3.7) >> >> endobj -300 0 obj << +310 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 416.1685 199.1048 426.5445] +/Rect [86.8628 380.314 199.1048 390.69] /Subtype /Link /A << /S /GoTo /D (section.3.8) >> >> endobj -301 0 obj << +311 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 398.2412 203.8034 408.6173] +/Rect [86.8628 362.3868 203.8034 372.7628] /Subtype /Link /A << /S /GoTo /D (section.3.9) >> >> endobj -302 0 obj << +312 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.4132 373.2306 125.6888 381.8761] +/Rect [73.4132 337.3761 125.6888 346.0216] /Subtype /Link /A << /S /GoTo /D (chapter.4) >> >> endobj -303 0 obj << +313 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.4132 344.593 132.3418 354.7897] +/Rect [73.4132 308.7386 132.3418 318.9352] /Subtype /Link /A << /S /GoTo /D (appendix.A) >> >> endobj -304 0 obj << +314 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.4132 319.4434 174.1512 328.0889] +/Rect [73.4132 283.5889 174.1512 292.2344] /Subtype /Link /A << /S /GoTo /D (appendix.B) >> >> endobj -280 0 obj << -/D [278 0 R /XYZ 74.4095 793.4011 null] +288 0 obj << +/D [286 0 R /XYZ 74.4095 793.4011 null] >> endobj -277 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> +285 0 obj << +/Font << /F63 272 0 R /F26 222 0 R /F28 225 0 R >> /ProcSet [ /PDF /Text ] >> endobj -307 0 obj << +317 0 obj << /Length 2373 /Filter /FlateDecode >> @@ -1037,352 +1062,353 @@ c Lˀ%e ΏU>/9ϯNg;yսy*HlwC&+V*|_AI$ pcm TAXwQu2T5"nӃ)CL]݉t`t=:BtΟ/L.BS%ҩrq:ssߌw_g=~ozx0)jw("4>8@f6|8',P"l|Z]%Q&hzwm = \ﺋ7w'es*uxb&V::${+ GIGT FAtoCB&f`y^6yꎭU}jppf2="4 ܛK%J~VE2,Zm@K`Ě Ȣq(T7'?5"E'&6*agU< #HWK|\d^z!#뿕I}N*闁%K0~MSCq1rhwg^ov\ʇFUJeG/pm$CG=(ԀQ06T>_WV1JV"}z!(1ű**eHH^LKvB _#o_ 0`4cm-@.p?rͱLUo#l+ /erGklw\endstream endobj -306 0 obj << +316 0 obj << /Type /Page -/Contents 307 0 R -/Resources 305 0 R +/Contents 317 0 R +/Resources 315 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 276 0 R -/Annots [ 310 0 R 311 0 R 312 0 R 313 0 R 314 0 R 315 0 R 316 0 R 317 0 R 318 0 R 319 0 R 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R 325 0 R 326 0 R 327 0 R 328 0 R 329 0 R 330 0 R 331 0 R 332 0 R 333 0 R 334 0 R 335 0 R 336 0 R ] +/Parent 284 0 R +/Annots [ 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R 325 0 R 326 0 R 327 0 R 328 0 R 329 0 R 330 0 R 331 0 R 332 0 R 333 0 R 334 0 R 335 0 R 336 0 R 337 0 R 338 0 R 339 0 R 340 0 R 341 0 R 342 0 R 343 0 R 344 0 R 345 0 R 346 0 R ] >> endobj -310 0 obj << +320 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 614.0499 190.237 622.821] /Subtype /Link /A << /S /GoTo /D (figure.1.1) >> >> endobj -311 0 obj << +321 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 596.1014 203.516 604.8725] /Subtype /Link /A << /S /GoTo /D (figure.1.2) >> >> endobj -312 0 obj << +322 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 568.1903 265.2216 576.9613] /Subtype /Link /A << /S /GoTo /D (figure.2.1) >> >> endobj -313 0 obj << +323 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 550.3225 155.8157 558.8066] /Subtype /Link /A << /S /GoTo /D (figure.2.2) >> >> endobj -314 0 obj << +324 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 532.2933 194.1104 541.0644] /Subtype /Link /A << /S /GoTo /D (figure.2.3) >> >> endobj -315 0 obj << +325 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 514.3448 234.6025 522.9096] /Subtype /Link /A << /S /GoTo /D (figure.2.4) >> >> endobj -316 0 obj << +326 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 494.5851 323.1705 505.1674] /Subtype /Link /A << /S /GoTo /D (figure.2.5) >> >> endobj -317 0 obj << +327 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 478.4479 254.9919 487.2189] /Subtype /Link /A << /S /GoTo /D (figure.2.6) >> >> endobj -318 0 obj << +328 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 458.6881 257.9592 469.2704] /Subtype /Link /A << /S /GoTo /D (figure.2.7) >> >> endobj -319 0 obj << +329 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 440.7397 318.4276 451.1157] /Subtype /Link /A << /S /GoTo /D (figure.2.8) >> >> endobj -320 0 obj << +330 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 422.7912 237.633 433.3734] /Subtype /Link /A << /S /GoTo /D (figure.2.9) >> >> endobj -321 0 obj << +331 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 404.8427 174.9945 415.4249] /Subtype /Link /A << /S /GoTo /D (figure.2.10) >> >> endobj -322 0 obj << +332 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 387.0018 241.7841 397.4764] /Subtype /Link /A << /S /GoTo /D (figure.2.11) >> >> endobj -323 0 obj << +333 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 369.0533 233.9117 379.528] /Subtype /Link /A << /S /GoTo /D (figure.2.12) >> >> endobj -324 0 obj << +334 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 352.8084 239.3991 361.5795] /Subtype /Link /A << /S /GoTo /D (figure.2.13) >> >> endobj -325 0 obj << +335 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 333.0487 289.0185 343.631] /Subtype /Link /A << /S /GoTo /D (figure.2.14) >> >> endobj -326 0 obj << +336 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 315.1002 319.2616 325.6825] /Subtype /Link /A << /S /GoTo /D (figure.2.15) >> >> endobj -327 0 obj << +337 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 297.1517 206.5199 307.5277] /Subtype /Link /A << /S /GoTo /D (figure.2.16) >> >> endobj -328 0 obj << +338 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 279.2032 239.1211 289.7855] /Subtype /Link /A << /S /GoTo /D (figure.2.17) >> >> endobj -329 0 obj << +339 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 263.066 205.4709 271.6308] /Subtype /Link /A << /S /GoTo /D (figure.2.18) >> >> endobj -330 0 obj << +340 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 243.3063 284.5622 253.8885] /Subtype /Link /A << /S /GoTo /D (figure.2.19) >> >> endobj -331 0 obj << +341 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 225.3578 357.9149 235.94] /Subtype /Link /A << /S /GoTo /D (figure.2.20) >> >> endobj -332 0 obj << +342 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 207.4093 332.8902 217.9915] /Subtype /Link /A << /S /GoTo /D (figure.2.21) >> >> endobj -333 0 obj << +343 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 191.272 244.8239 200.0431] /Subtype /Link /A << /S /GoTo /D (figure.2.22) >> >> endobj -334 0 obj << +344 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 173.3235 250.7058 182.0946] /Subtype /Link /A << /S /GoTo /D (figure.2.23) >> >> endobj -335 0 obj << +345 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 155.375 225.385 163.9398] /Subtype /Link /A << /S /GoTo /D (figure.2.24) >> >> endobj -336 0 obj << +346 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 137.4265 235.6693 145.9913] /Subtype /Link /A << /S /GoTo /D (figure.2.25) >> >> endobj -308 0 obj << -/D [306 0 R /XYZ 74.4095 793.4011 null] +318 0 obj << +/D [316 0 R /XYZ 74.4095 793.4011 null] >> endobj -309 0 obj << -/D [306 0 R /XYZ 74.4095 639.0049 null] +319 0 obj << +/D [316 0 R /XYZ 74.4095 639.0049 null] >> endobj -305 0 obj << -/Font << /F26 214 0 R /F28 217 0 R >> +315 0 obj << +/Font << /F26 222 0 R /F28 225 0 R >> /ProcSet [ /PDF /Text ] >> endobj -366 0 obj << -/Length 1573 +376 0 obj << +/Length 1572 /Filter /FlateDecode >> stream -xKo6:XV|c@%am+}Һ(;%-%#' -Z$YZk43\ǓL1ZdVY'om7Ʒٷ?L *z- gWoW]y.vЫ|Qq(W?={~Շ"e@<-7%%KL$!?.._yϘmq8ڲ,g  [o2X?FS;Sun< nY :fV3Qb@>`c8duF [zY[*W1+:8^д:̱fmU~:sf|(Ĵ5!ᘍN [ԸcO &h<P! -F3j!5ž^(wSq<7"3H!/nvwuq8 #fIDj0Ϝ(bbZ1Hh_)Q)=ICo :5uԐ2l3 ug䠖E>u>E50%j2]érC ZKRFNg7\Yp&Jg5#IaP/xD'7!H5Cö́.iAam  Uc7Ȟ}nh ? j&~Cc0ˆ$ؔؤࡷZ,ޝQUz`=8؝[<ŵ iv63)&}i̟P)=ICo TW8gu/7ͫj{O,Th-TǂZ}ou.ϻf?oRdR[rdE )͝Q2oG`5_LU_9:cNF3u,.,CT)=TICo 6*u f$QXTvO.<LZ MlV3y'/px2uIWL$֦[.9&RnqQxywFt]ӿ!̄˔ʁV2R)`JV虧*ϣ+ΪNǧl_Cfuendstream +xKoFM:-x)SFt:P! +C#5Z|_(wS~<7X$nw>kH  @&UY䍋ԩ~9ϓ$R,* 摊z&Cn쌪,%HR~ؖko;U5 䥵rPdʸr欳IHsmfv7ZR3޴o17uDx7->8F6Ǒ"B] ]$7jÇ> 5%t5)t쭆ZOCME]5 LECye u@Q LILWp*yCp;KUqՊ&Z+R0 (gtV3iN䂠 f^0 KjP8`etAF~Ae]Xd5|U&6Xmh*lhM M +{79uQ +߳5`Ogpx/HlbL`nI_'lJlR[M6&t@tFlh~olwM5 3_e##,|?6C_,vq4O]>?PkK! %f}{'!J &KOT%s;8 yA87 .šo-IXi<~V3$2pgibo5jx2꒶ ~}"ymCˊnWm wݻNWFq1eR"<^eZd/fBo_l2I)_@)_쭦tzR-p eCsy>)g^| y6tݓ`AphBhJW%.rє!kQ3jhRhE&{~sp!+\af1LYcYchR3ѴбJi7MF]2|(jۉixs@kޏ+ xeCauO)!r)rFtz+ +0CJ'*~om-KL=ϣ+֪JO0Efuendstream endobj -365 0 obj << +375 0 obj << /Type /Page -/Contents 366 0 R -/Resources 364 0 R +/Contents 376 0 R +/Resources 374 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 276 0 R -/Annots [ 368 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R ] +/Parent 284 0 R +/Annots [ 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R ] >> endobj -368 0 obj << +378 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 756.8936 187.9328 767.1619] /Subtype /Link /A << /S /GoTo /D (figure.2.26) >> >> endobj -369 0 obj << +379 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 738.9663 179.8813 749.2347] /Subtype /Link /A << /S /GoTo /D (figure.2.27) >> >> endobj -370 0 obj << +380 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 720.9315 267.6428 731.5137] /Subtype /Link /A << /S /GoTo /D (figure.2.28) >> >> endobj -371 0 obj << +381 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 693.1492 172.9861 703.6238] /Subtype /Link /A << /S /GoTo /D (figure.3.1) >> >> endobj -372 0 obj << +382 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 675.222 202.2519 685.6966] /Subtype /Link /A << /S /GoTo /D (figure.3.2) >> >> endobj -373 0 obj << +383 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 658.9983 233.9432 667.5631] /Subtype /Link /A << /S /GoTo /D (figure.3.3) >> >> endobj -374 0 obj << +384 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 641.0711 189.7217 649.6359] /Subtype /Link /A << /S /GoTo /D (figure.3.4) >> >> endobj -375 0 obj << +385 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 623.1439 170.4263 631.7087] /Subtype /Link /A << /S /GoTo /D (figure.3.5) >> >> endobj -376 0 obj << +386 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 603.4054 357.6869 613.9877] /Subtype /Link /A << /S /GoTo /D (figure.3.6) >> >> endobj -377 0 obj << +387 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 585.5858 254.8524 595.8542] /Subtype /Link /A << /S /GoTo /D (figure.3.7) >> >> endobj -378 0 obj << +388 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 569.3622 249.4056 577.927] /Subtype /Link /A << /S /GoTo /D (figure.3.8) >> >> endobj -379 0 obj << +389 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 551.4349 190.0803 559.9997] /Subtype /Link /A << /S /GoTo /D (figure.3.9) >> >> endobj -380 0 obj << +390 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 533.5077 296.1243 542.0725] /Subtype /Link /A << /S /GoTo /D (figure.3.10) >> >> endobj -381 0 obj << +391 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 513.7692 202.4313 524.3515] +/Rect [86.8628 515.5805 168.9961 524.1452] /Subtype /Link /A << /S /GoTo /D (figure.3.11) >> >> endobj -382 0 obj << +392 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 497.6532 168.9961 506.218] +/Rect [86.8628 495.9497 195.644 506.218] /Subtype /Link /A << /S /GoTo /D (figure.3.12) >> >> endobj -383 0 obj << +393 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 478.0224 195.644 488.2908] +/Rect [86.8628 477.9148 202.4313 488.497] /Subtype /Link /A << /S /GoTo /D (figure.3.13) >> >> endobj -367 0 obj << -/D [365 0 R /XYZ 74.4095 793.4011 null] +377 0 obj << +/D [375 0 R /XYZ 74.4095 793.4011 null] >> endobj -364 0 obj << -/Font << /F63 264 0 R /F28 217 0 R >> +374 0 obj << +/Font << /F63 272 0 R /F28 225 0 R >> /ProcSet [ /PDF /Text ] >> endobj -402 0 obj << +412 0 obj << /Length 1853 /Filter /FlateDecode >> @@ -1398,158 +1424,158 @@ U2 f ugܟGΨ<g=; L,S(V;ZU4oX-o݇7AjGkgT=(d^AtK+¸Np5V=u'v/V_7_wbQKN{&Qo{ 7OV'r],C_v-y99[(埪8_gYu܂Vi}"|O7kpq&2,w֪YZ<ֳڨ-[izFW$1sZBN>YD+Z+!K/gD|mendstream endobj -401 0 obj << +411 0 obj << /Type /Page -/Contents 402 0 R -/Resources 400 0 R +/Contents 412 0 R +/Resources 410 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 276 0 R -/Annots [ 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R 410 0 R 411 0 R 412 0 R 413 0 R 414 0 R 415 0 R 416 0 R 417 0 R 418 0 R 419 0 R 420 0 R 421 0 R 422 0 R 423 0 R ] +/Parent 284 0 R +/Annots [ 415 0 R 416 0 R 417 0 R 418 0 R 419 0 R 420 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R ] >> endobj -405 0 obj << +415 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 612.425 338.2165 623.0073] /Subtype /Link /A << /S /GoTo /D (table.2.1) >> >> endobj -406 0 obj << +416 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 594.4978 298.9616 605.0801] /Subtype /Link /A << /S /GoTo /D (table.2.2) >> >> endobj -407 0 obj << +417 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 576.5706 180.2935 586.9466] /Subtype /Link /A << /S /GoTo /D (table.2.3) >> >> endobj -408 0 obj << +418 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 558.6433 257.1971 569.0193] /Subtype /Link /A << /S /GoTo /D (table.2.4) >> >> endobj -409 0 obj << +419 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 540.7161 289.7984 551.2984] /Subtype /Link /A << /S /GoTo /D (table.2.5) >> >> endobj -410 0 obj << +420 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 522.7889 256.1481 533.1649] /Subtype /Link /A << /S /GoTo /D (table.2.6) >> >> endobj -411 0 obj << +421 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 504.8616 335.2394 515.4439] /Subtype /Link /A << /S /GoTo /D (table.2.7) >> >> endobj -412 0 obj << +422 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 486.9344 406.6109 497.5167] /Subtype /Link /A << /S /GoTo /D (table.2.8) >> >> endobj -413 0 obj << +423 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 469.0072 319.7369 479.3832] /Subtype /Link /A << /S /GoTo /D (table.2.9) >> >> endobj -414 0 obj << +424 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 451.0799 295.5011 461.6622] /Subtype /Link /A << /S /GoTo /D (table.2.10) >> >> endobj -415 0 obj << +425 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 433.1527 301.3831 443.735] /Subtype /Link /A << /S /GoTo /D (table.2.11) >> >> endobj -416 0 obj << +426 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 415.2255 371.7415 425.8077] /Subtype /Link /A << /S /GoTo /D (table.2.12) >> >> endobj -417 0 obj << +427 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 397.2982 385.1908 407.8805] /Subtype /Link /A << /S /GoTo /D (table.2.13) >> >> endobj -418 0 obj << +428 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 379.371 276.0623 389.747] /Subtype /Link /A << /S /GoTo /D (table.2.14) >> >> endobj -419 0 obj << +429 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 361.4438 286.3466 371.8198] /Subtype /Link /A << /S /GoTo /D (table.2.15) >> >> endobj -420 0 obj << +430 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 343.5165 356.705 353.8925] /Subtype /Link /A << /S /GoTo /D (table.2.16) >> >> endobj -421 0 obj << +431 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 325.5893 370.1543 336.1716] /Subtype /Link /A << /S /GoTo /D (table.2.17) >> >> endobj -422 0 obj << +432 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 299.5107 177.8368 308.0754] /Subtype /Link /A << /S /GoTo /D (table.3.1) >> >> endobj -423 0 obj << +433 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 281.5834 345.4789 290.3545] /Subtype /Link /A << /S /GoTo /D (table.3.2) >> >> endobj -403 0 obj << -/D [401 0 R /XYZ 74.4095 793.4011 null] +413 0 obj << +/D [411 0 R /XYZ 74.4095 793.4011 null] >> endobj -404 0 obj << -/D [401 0 R /XYZ 74.4095 643.0739 null] +414 0 obj << +/D [411 0 R /XYZ 74.4095 643.0739 null] >> endobj -400 0 obj << -/Font << /F26 214 0 R /F28 217 0 R /F63 264 0 R >> +410 0 obj << +/Font << /F26 222 0 R /F28 225 0 R /F63 272 0 R >> /ProcSet [ /PDF /Text ] >> endobj -445 0 obj << +455 0 obj << /Length 1758 /Filter /FlateDecode >> @@ -1563,35 +1589,35 @@ xڍXKo /2|Cb&"6eKBz?g9z{ %i%GS>Z NCAlȓ)WKi648r2'NBr}O=M~v%4,\9󄙮5n8ie~Asg~0=Uh4R+މ k*e֣̣uixzQ&犡&f61،pׅSZPs硅z=ĸĶ6ΕA{ܥ5;f .jGr_fNO^c38>/L4AI}\;duX3a!Խ]^jc~4(G#6.Zrd*c[k/!V+Ymx&|>r;s :*n|s9eeg EI7W巇,A#:7F~ȉ~e?s_endstream endobj -444 0 obj << +454 0 obj << /Type /Page -/Contents 445 0 R -/Resources 443 0 R +/Contents 455 0 R +/Resources 453 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 276 0 R -/Annots [ 447 0 R ] +/Parent 284 0 R +/Annots [ 457 0 R ] >> endobj -447 0 obj << +457 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [75.9058 417.1708 102.2418 425.7356] /Subtype /Link /A << /S /GoTo /D (cite.Tanenbaum) >> >> endobj -446 0 obj << -/D [444 0 R /XYZ 74.4095 793.4011 null] +456 0 obj << +/D [454 0 R /XYZ 74.4095 793.4011 null] >> endobj 6 0 obj << -/D [444 0 R /XYZ 74.4095 771.7323 null] +/D [454 0 R /XYZ 74.4095 771.7323 null] >> endobj 10 0 obj << -/D [444 0 R /XYZ 74.4095 570.9064 null] +/D [454 0 R /XYZ 74.4095 570.9064 null] >> endobj -443 0 obj << -/Font << /F26 214 0 R /F28 217 0 R /F63 264 0 R >> +453 0 obj << +/Font << /F26 222 0 R /F28 225 0 R /F63 272 0 R >> /ProcSet [ /PDF /Text ] >> endobj -453 0 obj << +463 0 obj << /Length 1854 /Filter /FlateDecode >> @@ -1602,30 +1628,30 @@ xڭX %#.zD.\]W ך~}=Erax]iwxuWo_PU;"M,X|YJĀԡB'l~rX< K/R pX@ƞc; MHS{BwQP1L^ydBPFZBj> endobj -449 0 obj << +459 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/client-server.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 460 0 R +/PTEX.InfoDict 470 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 382.00000000 112.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 461 0 R ->>/Font << /R8 462 0 R >> +/R7 471 0 R +>>/Font << /R8 472 0 R >> >> -/Length 463 0 R +/Length 473 0 R /Filter /FlateDecode >> stream @@ -1633,60 +1659,60 @@ x ªcGTl/.]/=荧Age]i1OexʠpqQ<=:KeCljeXlu aVH;8O-KiD-w2ǃkC8p ]Z뱵@Աb7i {QB{7bw"C|ܥ|<[@_ۼO.~f-g/8撁4<냳( |`ԗtj>RvO%oXBǼ۟u^s |Q?۝ITL0 /?DZendstream endobj -460 0 obj +470 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080810204214Z00'00') -/ModDate (D:20080810204214Z00'00') +/CreationDate (D:20080810222722Z00'00') +/ModDate (D:20080810222722Z00'00') >> endobj -461 0 obj +471 0 obj << /Type /ExtGState /OPM 1 >> endobj -462 0 obj +472 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -463 0 obj +473 0 obj 460 endobj -456 0 obj << +466 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [439.9225 458.2842 454.378 468.8664] /Subtype /Link /A << /S /GoTo /D (figure.1.1) >> >> endobj -454 0 obj << -/D [452 0 R /XYZ 74.4095 793.4011 null] +464 0 obj << +/D [462 0 R /XYZ 74.4095 793.4011 null] >> endobj 14 0 obj << -/D [452 0 R /XYZ 74.4095 771.7323 null] +/D [462 0 R /XYZ 74.4095 771.7323 null] >> endobj -455 0 obj << -/D [452 0 R /XYZ 74.4095 659.2541 null] +465 0 obj << +/D [462 0 R /XYZ 74.4095 659.2541 null] >> endobj -337 0 obj << -/D [452 0 R /XYZ 288.3666 523.6815 null] +347 0 obj << +/D [462 0 R /XYZ 288.3666 523.6815 null] >> endobj -457 0 obj << -/D [452 0 R /XYZ 74.4095 396.6881 null] +467 0 obj << +/D [462 0 R /XYZ 74.4095 396.6881 null] >> endobj -458 0 obj << -/D [452 0 R /XYZ 74.4095 235.3536 null] +468 0 obj << +/D [462 0 R /XYZ 74.4095 235.3536 null] >> endobj -451 0 obj << -/Font << /F63 264 0 R /F26 214 0 R /F28 217 0 R >> -/XObject << /Im2 449 0 R >> +461 0 obj << +/Font << /F63 272 0 R /F26 222 0 R /F28 225 0 R >> +/XObject << /Im2 459 0 R >> /ProcSet [ /PDF /Text ] >> endobj -466 0 obj << +476 0 obj << /Length 1352 /Filter /FlateDecode >> @@ -1700,73 +1726,73 @@ U