summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-07-25 19:00:50 +0000
committerPaul Buetow <paul@buetow.org>2008-07-25 19:00:50 +0000
commit452b509dcb50eec5fb4d3111ff455e03bcc52efe (patch)
tree018e4c3c66058328944b6453c89882f982888adf
parenta11b4b6b70d87777aa951814f261cecbf876efee (diff)
foo
-rw-r--r--LaTeX/chapters/simulator.tex207
-rw-r--r--LaTeX/diplomarbeit.pdf3745
2 files changed, 2347 insertions, 1605 deletions
diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex
index a224801..921d2cd 100644
--- a/LaTeX/chapters/simulator.tex
+++ b/LaTeX/chapters/simulator.tex
@@ -592,7 +592,6 @@ Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesse
\label{fig:TwoPhaseCommitProto}
\end{figure}
-
Das Zwei-Phasen Commit Protokoll ist eine Erweiterung des Ein-Phasen Commit Protokolls. Der Server statet zun\"{a}chst eine Anfrage an alle beteiligten Clients, ob festgeschrieben werden soll. Jeder Client antwortet dann mit true oder false. Der Server fragt so oft periodisch nach, bis ein Ergebnis aller Clients vorliegt. Nach Erhalt aller Abstimmungen \"{u}berpr\"{u}ft der Server, ob alle mit true abgestimmt haben. F\"{u}r den Fall dass mindestens ein Client mit false abgestimmt hat, wird der Festschreibevorgang abgebrochen und als globales Abstimmungsergebnis false verschickt. Wenn alle jedoch mit true abstimmten, soll festgeschrieben werden. Dabei wird das globale Abstimmungsergebnis true verschickt. Das globale Abstimmungsergebnis wird periodisch so oft erneuert verschickt, bis von jedem Client eine Best\"{a}tigung des Erhalts vorliegt.
\begin{table}
@@ -696,7 +695,7 @@ In dem Beispiel (Abbildung \ref{fig:TwoPhaseCommitProto}) sind P1 und P3 Clients
\centering
\fbox{
\begin{tabular}{c|c|l}
- \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Logg} \\
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Loggnachricht} \\
\hline
004434 & 1 & Abstimmung true versendet\\
\hline
@@ -755,8 +754,212 @@ Und folgende Clientvariable kann unter den Prozesseinstellungen unter dem Punkt
\subsection{Der ungen\"{u}gende (Basic) Multicast}
+\begin{figure}[htbp]
+ \centering
+ \fbox{\includegraphics[width=10cm]{images/ss-protokoll-basic-multicast}}
+ \caption{Das Basic-Multicast Protokoll}
+ \label{fig:BasicMulticastProto}
+\end{figure}
+
+Das Basic-Multicast Protokoll ist sehr einfach aufgebaut. In dem Beispiel auf Abbildung \ref{fig:BasicMulticastProto} sind P1 und P3 Server und P2 der Client. Bei diesem Protokoll startet der Client immer die Anfrage, was bei diesem Protokoll eine einfache Multicast-Nachricht ist, die jeder Server empfangen kann. Wie in Tabelle \ref{tb:BasicMulticastTasks} aufgef\"{u}hrt verschickt P2 alle 2500ms jeweils eine Multicast-Nachricht, die alle voneinander v\"{o}llig unabh\"{a}ngig sind. P1 kann jedoch erst nach 2500ms Multicast-Nachrichten empfangen, da er vorher das Protokoll nicht unterst\"{u}tzt w\"{a}hrend P3 von 3000ms bis 6000ms abgest\"{u}rzt ist und auch keine Nachrichten empfangen kann. Da die Einstellung ``Nur relevante Nachrichten anzeigen'' aktiviert ist, wird die erste Multicast-Nachricht von P2 an P1 nicht dargestellt. Bei jedem Prozess wurde die Nachrichtenverlustwahrscheinlichkeit auf 30 Prozent gesetzt, worauf alle in dieser Simulation verschickten Nachrichten mit einer Wahrscheinlichkeit von 30 Prozent ausfallen. Hier ging die 3. Multicast-Nachricht auf den Weg zu P3- und die 5. sowie 6. Nachricht auf den Weg zu P1 verloren.
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Ereignis} \\
+ \hline
+ 00000 & 2 & Basic Multicast Client aktivieren\\
+ 00000 & 3 & Basic Multicast Server aktivieren\\
+ 00000 & 2 & Basic Multicast Clientanfrage starten\\
+ 02500 & 1 & Basic Multicast Server aktivieren\\
+ 02500 & 2 & Basic Multicast Clientanfrage starten\\
+ 03000 & 3 & Prozessabsturz\\
+ 05000 & 2 & Basic Multicast Clientanfrage starten\\
+ 06000 & 3 & Prozesswiederbelebung\\
+ 07500 & 2 & Basic Multicast Clientanfrage starten\\
+ 10000 & 2 & Basic Multicast Clientanfrage starten\\
+ 12500 & 2 & Basic Multicast Clientanfrage starten
+ \end{tabular}
+ }
+ \caption{Programmierte Basic-Multicast Ereignisse}
+ \label{tb:BasicMulticastTasks}
+\end{table}
+
\subsection{Der zuverl\"{a}ssige (Reliable) Multicast}
+\begin{figure}[htbp]
+ \centering
+ \fbox{\includegraphics[width=10cm]{images/ss-protokoll-reliable-multicast}}
+ \caption{Das Reliable-Multicast Protokoll}
+ \label{fig:ReliableMulticastProto}
+\end{figure}
+
+Bei dem zuverl\"{a}ssigen (Reliable) Multicast verschickt der Client so oft periodisch seine Multicast-Nachricht, bis er von allen beteiligten Servern eine Best\"{a}tigung erhalten hat. Nach jedem erneuten Versuch vergisst der Client, von welchen Servern er bereits eine Best\"{a}tigung erhalten hat, womit jeder erneuter Versuch von allen Teilnehmern aufs Neue best\"{a}tigt werden muss. In dem Beispiel (Abbildung \ref{fig:ReliableMulticastProto}, Tabelle \ref{tb:ReliableMulticastTasks}, sowie den Loggs in den Tabellen \ref{tb:ReliableMulticastLoggs} und \ref{tb:ReliableMulticastLoggs2}) ist P2 der Multicast-verschickende Client, w\"{a}hrend P1 und P3 die Server sind. Bei 0ms initiiert der Client seine Multicast-Nachricht. Die Nachrichtenverlustwahrscheinlichkeiten sind \"{u}berall auf 30 Prozent eingestellt.
+
+In diesem Beispiel ben\"{o}tigt der Client bis zur korrekten Auslieferung eines zuverl\"{a}ssigen Multicasts genau 5 Versuche:
+
+\begin{enumerate}
+ \setlength{\itemsep}{-2mm}
+ \item Versuch:
+ \begin{itemize}
+ \setlength{\itemsep}{-2.5mm}
+ \item P1 unterst\"{u}tzt das Reliable-Multicast Protokoll noch nicht, und kann somit weder Multicast-Nachricht erhalten noch eine Best\"{a}tigung verschicken.
+ \item P3 empf\"{a}ngt die Multicast-Nachricht, jedoch geht seine Best\"{a}tigungsnachricht verloren.
+ \end{itemize}
+ \item Versuch:
+ \begin{itemize}
+ \setlength{\itemsep}{-2.5mm}
+ \item P1: Die Multicast-Nachricht geht unterwegs zu P1 verloren.
+ \item P3: Die Multicast-Nachricht erreicht P3, aber P3 ist abgest\"{u}rzt und kann somit keine Nachricht verarbeiten.
+ \end{itemize}
+ \item Versuch:
+ \begin{itemize}
+ \setlength{\itemsep}{-2.5mm}
+ \item P1 empf\"{a}ngt die Multicast-Nachricht und seine Best\"{a}tigung kommt wie geplant bei P2 an.
+ \item P3: Die Multicast-Nachricht geht unterwegs zu P3 verloren.
+ \end{itemize}
+ \item Versuch:
+ \begin{itemize}
+ \setlength{\itemsep}{-2.5mm}
+ \item P1 empf\"{a}ngt die Multicast-Nachricht und seine Best\"{a}tigung kommt wie geplant bei P2 an.
+ \item P3: Die Multicast-Nachricht erreicht P3, aber P3 ist abgest\"{u}rzt und kann somit keine Nachricht verarbeiten.
+ \end{itemize}
+ \item Versuch:
+ \begin{itemize}
+ \item P1 empf\"{a}ngt die Multicast-Nachricht und seine Best\"{a}tigung kommt wie geplant bei P2 an.
+ \setlength{\itemsep}{-2.5mm}
+ \item P3 empf\"{a}ngt die Multicast-Nachricht und seine Best\"{a}tigung kommt wie geplant bei P2 an.
+ \end{itemize}
+\end{enumerate}
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Ereignis} \\
+ \hline
+ 00000 & 3 & Reliable Multicast Server aktivieren\\
+ 00000 & 2 & Reliable Multicast Client aktivieren\\
+ 00000 & 2 & Reliable Multicast Clientanfrage starten\\
+ 02500 & 1 & Reliable Multicast Server aktivieren\\
+ 03000 & 3 & Prozessabsturz\\
+ 10000 & 3 & Prozesswiederbelebung\\
+ \end{tabular}
+ }
+ \caption{Programmierte Reliable-Multicast Ereignisse}
+ \label{tb:ReliableMulticastTasks}
+\end{table}
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Loggnachricht} \\
+ \hline
+000000 & & Simulation gestartet\\
+\hline
+000000 & 2 & Reliable Multicast Client aktiviert\\
+\hline
+000000 & 2 & Nachricht versendet; ID: 280; Protokoll: Reliable Multicast;\\
+ & & Boolean: isMulticast=true\\
+\hline
+000000 & 3 & Reliable Multicast Server aktiviert\\
+\hline
+001590 & 3 & Nachricht erhalten; ID: 280; Protokoll: Reliable Multicast\\
+\hline
+001590 & 3 & Nachricht versendet; ID: 281; Protokoll: Reliable Multicast\\
+ & & Integer: pid=3; Boolean: isAck=true\\
+\hline
+001590 & 3 & ACK versendet\\
+\hline
+002500 & 1 & Reliable Multicast Server aktiviert\\
+\hline
+002500 & 2 & Nachricht versendet; ID: 282; Protokoll: Reliable Multicast\\
+ & & Boolean: isMulticast=true\\
+\hline
+003000 & 3 & Abgestrzt\\
+\hline
+005000 & 2 & Nachricht versendet; ID: 283; Protokoll: Reliable Multicast\\
+ & & Boolean: isMulticast=true\\
+\hline
+005952 & 1 & Nachricht erhalten; ID: 283; Protokoll: Reliable Multicast\\
+\hline
+005952 & 1 & Nachricht versendet; ID: 284; Protokoll: Reliable Multicast\\
+ & & Integer: pid=1; Boolean: isAck=true\\
+\hline
+005952 & 1 & ACK versendet\\
+\hline
+007500 & 2 & Nachricht versendet; ID: 285; Protokoll: Reliable Multicast\\
+ & & Boolean: isMulticast=true\\
+\hline
+007937 & 2 & Nachricht erhalten; ID: 284; Protokoll: Reliable Multicast\\
+\hline
+007937 & 2 & ACK von Prozess 1 erhalten!\\
+\hline
+008469 & 1 & Nachricht erhalten; ID: 285; Protokoll: Reliable Multicast\\
+\hline
+008469 & 1 & Nachricht versendet; ID: 286; Protokoll: Reliable Multicast\\
+ & & Integer: pid=1; Boolean: isAck=true\\
+\hline
+008469 & 1 & ACK erneuert versendet\\
+\hline
+010000 & 2 & Nachricht versendet; ID: 287; Protokoll: Reliable Multicast\\
+ & & Boolean: isMulticast=true\\
+\hline
+010000 & 3 & Wiederbelebt\\
+\hline
+010395 & 2 & Nachricht erhalten; ID: 286; Protokoll: Reliable Multicast\\
+\hline
+010995 & 3 & Nachricht erhalten; ID: 287; Protokoll: Reliable Multicast\\
+\hline
+010995 & 3 & Nachricht versendet; ID: 288; Protokoll: Reliable Multicast\\
+ & & Integer: pid=3; Boolean: isAck=true\\
+\hline
+010995 & 3 & ACK erneuert versendet\\
+\hline
+011213 & 1 & Nachricht erhalten; ID: 287; Protokoll: Reliable Multicast\\
+\hline
+011213 & 1 & Nachricht versendet; ID: 289; Protokoll: Reliable Multicast\\
+ & & Integer: pid=1; Boolean: isAck=true\\
+ \end{tabular}
+ }
+ \caption{Auszug aus der Loggausgabe des Reliable-Multicast Beispiels}
+ \label{tb:ReliableMulticastLoggs}
+\end{table}
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Loggnachricht} \\
+ \hline
+011213 & 1 & ACK erneuert versendet\\
+\hline
+011813 & 2 & Nachricht erhalten; ID: 288; Protokoll: Reliable Multicast\\
+\hline
+011813 & 2 & ACK von Prozess 3 erhalten!\\
+\hline
+011813 & 2 & ACKs von allen beteiligten Prozessen erhalten!\\
+\hline
+012047 & 2 & Nachricht erhalten; ID: 289; Protokoll: Reliable Multicast\\
+\hline
+015000 & & Simulation beendet\\
+ \end{tabular}
+ }
+ \caption{Auszug aus der Loggausgabe des Reliable-Multicast Beispiels (2)}
+ \label{tb:ReliableMulticastLoggs2}
+\end{table}
+
+\subsubsection{Protokollvariablen}
+
+Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesseinstellungen unter dem Punkt ``Reliable Multicast Server'' konfiguriert werden k\"{o}nnen:
+
+\begin{itemize}
+ \item \textbf{Zeit bis erneuerter Anfrage} \textit{(Long, 2500)}: Gibt die Anzahl von Millisekunden an, die gewartet werden sollen, bis der Muticast erneuert verschickt wird.
+ \item \textbf{PIDs beteiliger Prozesse} \textit{(Integer[], [1,3])}: Dieser Vektor aus Integerwerten beinhaltet alle PIDs der Serverprozesse, die die Multicast-Nachricht erhalten sollen.
+\end{itemize}
+
\section{Weitere Beispiele}
\subsection{Vektor- und Lamportzeitstempel}
diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf
index 1029475..0c841eb 100644
--- a/LaTeX/diplomarbeit.pdf
+++ b/LaTeX/diplomarbeit.pdf
@@ -443,7 +443,7 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
180 0 obj <<
-/Length 2174
+/Length 2179
/Filter /FlateDecode
>>
stream
@@ -452,8 +452,7 @@ x]۸+ti_7fh
C/c0<\yk JMa}m
J/먔ʲj'XXNOR,U)W|{ >p8q\}y.1J0TJ6 Gf]]XCqXZgoJ9aeڱs/YʰىKQ]HE2IyxOӱ[qCwo5_Jk ?殔YNJy-`+L>vo),)<丹B.d
¤I3%zjeO\ƉPfn,yU[  }!yy\=HafUi´ftH'hQ(^=HbTY`bbЋ ГoX/hyK\6 JPM_e,*|8 #<ai'bbz+mB7r%@7!OP Yp%Iu5_=Oeۼ]+=1CN.LzUau0ىK!]7kyGN\#ws:nuyלݦZ@Pr.Гî o/d2Ѕg nk~ 5.J$:O \1ԾQ.ʪ):*p/X?UY?Fy{+XW_>q9n"2]y C|c0R]a]̝5^ eFx$r7&e݄X&OuA绉weݔ۪?<n;(ւ~u~\չu5fcW0kq\_Y|0|pZ|<>م(79d8<>ڏہ4<|~w!km
-qXI= db{Wu3 ӨAqs-Az 4;rkU*6oP6Oa\,ebSW\z#ĆEpG7r5jv!Wfkߠ\ku{(`B&NzUo0r>!T!͵TȡfQ59QlA8<U|?FƒͶ./sotKۘ+AVizUsDqs.f)fB.hw Q tV/l1Mya*r C/?j_<6" }
-endstream
+qXI= db{Wu3 ӨAqs-Az 4;rkU*6oP6Oa\,ebSW\z#ĆEpG7r5jv!Wfkߠ\ku{(`B&NzUo0r>!T!͵TȡfQ59QlA8<U|?FƒͶ./sotKۘ+AVizUsDqs.f)fB.hw Q tV/l1Mya*r C/?j_<6" }
endobj
179 0 obj <<
/Type /Page
@@ -649,13 +648,15 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
210 0 obj <<
-/Length 1282
+/Length 1283
/Filter /FlateDecode
>>
stream
-xKs6\R x\4͸Ӆ'BYcHt2/ $(S% ;Hu{xH ?I@5Ϥf怐n{Nzmą~ssod#n(D8qԛ?a]/+rϊO7_
-q>P4W"+C2ߚ?ij&sgϓk$yRdhU!_rUPܖM[fszDk$4/w')Ӳwdˬ rht8M*ߤS.6bc4WW}_z8_?(˶<=+J9#E9h)L&C{:p4N:ȗM$]D2c-a'=}e\!թ
-_6$ӟxU}Ɍ%O<.gybnldtPݗL Z8f^A@R1>52g,jxp)8ceoYbY!BX(D::yɵY4qyӯ#NU{.lD/Y8\hٳ Tvwׇ錀y%fc/J8e3f4`gDN%L%[96]KY\^_}k1.!K}ЩR(%2<q]0G`<p5GܢCg]PfÇj"8mk;!j/3j,5SlUMS_
+xYMs6WHLӌ;=xߚd9D'> $TN3e[, A?XpA)\ .=x\򛢈l/ĤT
+3VjVu`(w,(UwM_|H2RyJВs!z@Q5[_Xk͆q2s09^,RůUX2mܔM[f}:Xj-VV(6{T$+.1)aOێ5Щ^%XIJg юȑ IzTdN8ΊwuUޗt-^p AゑlQ1&d<%Isd]sRMO?tt ƙn;-夓d~762?9iA7@-c{ކov+h„wգ!lUk??ufJir9ڞP"ƤuޡZbЙJ
+Q`bIQ9T+ D~RΚ3%u`δq9SmX)*ŜV}FFKe &9Wx`c=+OmY4^h޲L)cɵۣ!lj'^e笗l^F\zɶgSA3QD׻m=u=#$
+ZLcr1d,{3s`ͤQ1=όD0d#7}$syy} kq
+[9Q9FQ7 OF0cqSm G.0t`~(xYWWه3ۦ,()U[mNif[MZգ!lʪ֔c/ǪL0N\.gT3Sy |kqRG.Pw -oU?Gh2fK.-R\.gT۳rOZg]
endobj
209 0 obj <<
/Type /Page
@@ -771,18 +772,22 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
231 0 obj <<
-/Length 2298
+/Length 2413
/Filter /FlateDecode
>>
stream
-xݛ[۸)h?qs٢Ev[>xƊ-D#ӗH%2SmҙAX792LP@bPD_ ?A+d5r@ݼ$|V I(eF?aa $/0"k]Y8n~_ul}Wn{S\lHHv (F,;2w@A#(d@fHTR@`s7zc!7o1mNRեh7K]Xj5{ysztAX4k8bzU*09`Hqd:,FIB;2!
-D*,'JE fI mRbR3PX`Ŕ
-\Je.21X
-^֡HTYZletXVӲX]+nTN/SLuTS|znE\ʱ%Ld'.`^S%c#Y-*Tk}u%]xrUb]/hp(B_fKF'JE$~~`߆E"ax Ek1bEl88:B|{~tufUm6XQ T89Uw SjQ%c-p6L[:(J­NLΛr_}Pɩ*khߝPM/Mg`h4}Y4EZ,iDõ-o,Gͮ# :FdirJȜALbce3ݘ)f/ ΄9Ug,Н;{txB5:
-f4u:tn2yg9ҽ|::ve1lڍifv.ɘLIfU`ۣ/р<õDebfWE[(+sVls7owკ1'9 9U&*J)'n%*YLd5.Ae:*@JqR,o4Lh W R*Y\*s~Ƌk4-tõX:T`,tB7;<7.e3lVf٢g'22u1#zѣ dCd
-iWHuNfShQ*5IWif3/y>δV
-߮}kx# k.3jv>A}/ɔ-=>+$Y۟yHɪRn)|)E3\8d1P}Ihe}Mbo˵{ACaO# {}Y'{hZi k[΢f)^f^O__3#r0,ݘ *m}=A4;uõ-?)5:U|s*˜yҺyC|S=>m[PyδV(8Z,Ph`-Xtl
-Kds+ ;ՑW3q͛cwl.n܃Ii__RCUirNb蝛ώUl&TF)gI17=pnõ,a!
+xݜK<~l  `$fs$CvctTMV{µ^~nR&H8؈BfR=~p.R֙RNZ@kE4 gOPYP4͇^OϷU}o՚૲[هݾjVۋ77}ޅ4S=)XF[Y!el$OG  VXK"\:76`ךu "h^5UWqTVl?7{~[r߽ܜ ^>OΉIV
+L})b4 bHMHp=o=2#'L|F\:* F1RR(a [ 1 Dd0:U]OgᾬqB!)IJUN宆l
+2f8sEԳ,1Ѩ b`V+X|w<W_Ld tO Fc@
+AAD fN'WׁMzs:]>,.~->mBvեh%E k3ǂt6mpRw-ot7(첞̫M/um7X=Q a.DHV9)DI4C-q]'TOԩO6'vvgb0dF_y.X^G[@1+rr(sϙ
+|V΢0B.`Eϣ]"P2*{EZeˊ c}nnn޺Y72[41zi0/bQ)*JCO9\T'ua A;xJr.YǠ Z5M]5-~OO9}u;uOes/3#InFLN* m0o,NP&Np&'1vN :}ii>՝~ t.L pvS;tA G
+^ĢҖrf*fȖ6T779vn!p{75^Aҭ틇,agXV}Ք
+Y:mv|Qm<1Srm۱`L@vˡMj:,tpYRw-t`ea4c:nԼ]uCU^NN<e'B*̼U.-Kp2r &'k2DAaŴAZ\q0R_+aXoܵAvBDKUNmRc=z2S]J02*A\<S \Op?77[4@^\DeIݵ102CFl+ f:ꡛ;<76oS۟ >6:upuRwI橃.IuF86Z|/pv)+g\vbx8}-͑X'p"Ʈگg  6[z3O(G Oe)G65f.ix\* {B fgk=%v>[rלGZлj][ |u'{[4dE}$oߒ|޷$Ae ˖8sec\D Ֆ(s 7 2ؾtn}H:[Q+b]'<e)Ko~.Orgd?oS#^MsZ_F(T"11{~菵>*MXYKpPeqQf<nz6
+nw<WWƉ[Ra N0 5 5u5v`]U+kDN9bծjNf߄N}91vqeu׆De0QoӕPI;ĉ= QjLo ,AƊg{R0qKOHwE]G?ۃ͟յ<*
+ev`K$uM0{tP
+Vp
+1"".h`"M_mūCHo#p2b}Ai3P#WsAŸ0#q6|\H`{3!?V]W/V3ʉ~AX둺s'`e $[0O_nn\*eĄ]5SE E,X儺%aX;3*R\]T˸cV
+6<w|6|~3Lyb TՉka/qx@Bk!1-S8/0r6_0nendstream
endobj
230 0 obj <<
/Type /Page
@@ -790,306 +795,353 @@ endobj
/Resources 229 0 R
/MediaBox [0 0 595.2757 841.8898]
/Parent 170 0 R
-/Annots [ 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 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 ]
+/Annots [ 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 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 ]
>> endobj
234 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 612.1049 362.1613 624.5021]
+/Rect [89.9113 611.9185 362.1613 624.3158]
/Subtype /Link
/A << /S /GoTo /D (figure.1.1) >>
>> endobj
235 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 596.2674 216.2652 606.5749]
+/Rect [89.9113 596.0598 216.2652 606.3673]
/Subtype /Link
/A << /S /GoTo /D (figure.1.2) >>
>> endobj
236 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 578.3402 232.5541 588.6476]
+/Rect [89.9113 578.1113 232.5541 588.4188]
/Subtype /Link
/A << /S /GoTo /D (figure.1.3) >>
>> endobj
237 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 550.4503 308.2461 560.7578]
+/Rect [89.9113 550.2002 308.2461 560.5076]
/Subtype /Link
/A << /S /GoTo /D (figure.2.1) >>
>> endobj
238 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 532.523 174.0418 542.5775]
+/Rect [89.9113 532.2517 174.0418 542.3061]
/Subtype /Link
/A << /S /GoTo /D (figure.2.2) >>
>> endobj
239 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 514.5958 221.0165 524.9033]
+/Rect [89.9113 514.3032 221.0165 524.6107]
/Subtype /Link
/A << /S /GoTo /D (figure.2.3) >>
>> endobj
240 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 496.7676 270.6867 506.723]
+/Rect [89.9113 496.4537 270.6867 506.4092]
/Subtype /Link
/A << /S /GoTo /D (figure.2.4) >>
>> endobj
241 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 476.5196 379.3299 489.0488]
+/Rect [89.9113 476.1844 379.3299 488.7137]
/Subtype /Link
/A << /S /GoTo /D (figure.2.5) >>
>> endobj
242 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 460.8141 295.6977 471.1216]
+/Rect [89.9113 460.4577 295.6977 470.7652]
/Subtype /Link
/A << /S /GoTo /D (figure.2.6) >>
>> endobj
243 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 440.6651 299.3375 453.1944]
+/Rect [89.9113 440.2875 299.3375 452.8167]
/Subtype /Link
/A << /S /GoTo /D (figure.2.7) >>
>> endobj
244 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 422.7379 274.4041 435.2671]
+/Rect [89.9113 422.339 274.4041 434.8682]
/Subtype /Link
/A << /S /GoTo /D (figure.2.8) >>
>> endobj
245 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 404.8106 373.512 417.0869]
+/Rect [89.9113 404.3905 373.512 416.6667]
/Subtype /Link
/A << /S /GoTo /D (figure.2.9) >>
>> endobj
246 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 386.8834 197.5677 399.4126]
+/Rect [89.9113 386.442 197.5677 398.9712]
/Subtype /Link
/A << /S /GoTo /D (figure.2.10) >>
>> endobj
247 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 369.0882 279.4962 381.4854]
+/Rect [89.9113 368.6255 279.4962 381.0227]
/Subtype /Link
/A << /S /GoTo /D (figure.2.11) >>
>> endobj
248 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 351.161 269.8394 363.5582]
+/Rect [89.9113 350.677 269.8394 363.0742]
/Subtype /Link
/A << /S /GoTo /D (figure.2.12) >>
>> endobj
249 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 333.1017 337.4369 345.6309]
+/Rect [89.9113 332.5965 337.4369 345.1258]
/Subtype /Link
/A << /S /GoTo /D (figure.2.13) >>
>> endobj
250 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 315.1745 374.5351 327.7037]
+/Rect [89.9113 314.648 374.5351 327.1773]
/Subtype /Link
/A << /S /GoTo /D (figure.2.14) >>
>> endobj
251 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 297.2472 236.2388 309.5235]
+/Rect [89.9113 296.6995 236.2388 308.9758]
/Subtype /Link
/A << /S /GoTo /D (figure.2.15) >>
>> endobj
252 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 279.32 276.2296 291.8492]
+/Rect [89.9113 278.751 276.2296 291.2803]
/Subtype /Link
/A << /S /GoTo /D (figure.2.16) >>
>> endobj
253 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 263.6145 268.2227 273.922]
+/Rect [89.9113 263.0243 268.2227 273.3318]
/Subtype /Link
/A << /S /GoTo /D (figure.2.17) >>
>> endobj
254 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 243.4655 331.9705 255.9948]
+/Rect [89.9113 242.8541 331.9705 255.3833]
/Subtype /Link
/A << /S /GoTo /D (figure.2.18) >>
>> endobj
255 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 225.5383 421.9497 238.0675]
+/Rect [89.9113 224.9056 421.9497 237.4348]
/Subtype /Link
/A << /S /GoTo /D (figure.2.19) >>
>> endobj
256 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 207.6111 391.2528 220.1403]
+/Rect [89.9113 206.9571 391.2528 219.4863]
/Subtype /Link
/A << /S /GoTo /D (figure.2.20) >>
>> endobj
257 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 191.9056 283.2249 202.2131]
+/Rect [89.9113 191.2304 283.2249 201.5378]
/Subtype /Link
/A << /S /GoTo /D (figure.2.21) >>
>> endobj
258 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 173.9784 290.4401 184.2858]
+/Rect [89.9113 173.2819 290.4401 183.5894]
/Subtype /Link
/A << /S /GoTo /D (figure.2.22) >>
>> endobj
+259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 155.3334 259.38 165.3878]
+/Subtype /Link
+/A << /S /GoTo /D (figure.2.23) >>
+>> endobj
+260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 137.3849 271.9953 147.4394]
+/Subtype /Link
+/A << /S /GoTo /D (figure.2.24) >>
+>> endobj
232 0 obj <<
/D [230 0 R /XYZ 74.4095 793.4011 null]
>> endobj
233 0 obj <<
-/D [230 0 R /XYZ 74.4095 638.2325 null]
+/D [230 0 R /XYZ 74.4095 638.0674 null]
>> endobj
229 0 obj <<
/Font << /F26 166 0 R /F28 169 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-286 0 obj <<
-/Length 1283
+290 0 obj <<
+/Length 1541
/Filter /FlateDecode
>>
stream
-x͙Yo6)h5cx=nEQ]=D+ uǶOߡPE:6Kxf!2,@Zi+f%p:
-%-ED.!J>XrݹܙrJR<%Văib!JZMX j0kGDU7 <P<'T V8R Nb1:O,&3t<b;b41Y,jKb&boֲ(:6.oݿCSɰn2wSkmQXwEIBf{Tɰ_%&£->;7N {YS S7ki/B[sXd
-M/kdV)I cIDzE4ah!EXo&$zY-wD&PTf~j!PUJ+ߪ$W1Wq+1U,e$Dz+u&We걁 /z_}SM}C „ᙟƿJn{sݥ 8QfnSf-D!ߴovŶ\z2u,ܞ᳈CBp:LOEz55i`/{~ `U[̮;(օ{Yazp@O?,>UJ0@d̒7EVTY %3h؋3̥,{.YU=Y-6hOvJ
-A Tf?@C(:ǭk+)z3t9;ɾ3Uendstream
+x͚Ko6:Z@8nE[88b um7CIT($h7H$s<?p8)0Bqı2 .)XO\".~x
+δ򤕛hFsa./GeA)Ҙw}<.(êcr]j<TU.9|IUK\׻/^>:bpOE p!8!Q#ZA.
+wޓa02Xb*@H(CVVͬ*ɻRMIdUϗU9JO~J RLE;bY7WC nWu/ַo}/0#2V9S$CTp#bX#y&crlDR4=->(aڐ QYK="׻=|RSVsrJEo 
+*QL_D1bf9Cw#6QȞĢ2HHs,:Eֱia7 KsWz1n\n{]0kEb)
+?Yg ܰfd6J[j!<  pԴ2$
+9ڜYK"5b?>a[&S[Ib\#P+g)ai0',588C
++#̙3 nfn?}(a-Y0f,C,EJiJk 5\8WiT qfsf-WLC\}rvk(7`Ÿ!4-OUN^_}?Q:]ԴVpn&3k!RO}=QW
+NːdeϤEIk W3ʭpW"IOkq`
+?+g„mp2T`EJJ Yy<.HN;(&Yu<79]'`Tsq[u/^]n*7;˪SW` T̋<\&#s*g}g#G2YG\Qш-YG}Q:=jNli WY$s)@3@SIA%t`B$W`TQmDgqە.gz>׶-A\D/Fk~ߺ%+%#+-9tאdE1Is_ fY<Wz~m\=0~p'םUNk64fcR#Y?9IH,UǕ<^r86lJB{FQT1z$c 5uDwY|)P2rv|_ʼnZ5iqXIkhqZ>Pd Z_F؉`ôpf6x?endstream
endobj
-285 0 obj <<
+289 0 obj <<
/Type /Page
-/Contents 286 0 R
-/Resources 284 0 R
+/Contents 290 0 R
+/Resources 288 0 R
/MediaBox [0 0 595.2757 841.8898]
/Parent 170 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 ]
+/Annots [ 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 ]
>> endobj
-289 0 obj <<
+293 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 611.9728 397.7864 624.5021]
/Subtype /Link
/A << /S /GoTo /D (table.2.1) >>
>> endobj
-290 0 obj <<
+294 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 594.0456 204.0679 606.3218]
/Subtype /Link
/A << /S /GoTo /D (table.2.2) >>
>> endobj
-291 0 obj <<
+295 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 576.1184 298.4028 588.3946]
/Subtype /Link
/A << /S /GoTo /D (table.2.3) >>
>> endobj
-292 0 obj <<
+296 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 558.1911 338.3936 570.7204]
/Subtype /Link
/A << /S /GoTo /D (table.2.4) >>
>> endobj
-293 0 obj <<
+297 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 540.2639 330.3868 552.7932]
/Subtype /Link
/A << /S /GoTo /D (table.2.5) >>
>> endobj
-294 0 obj <<
+298 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 522.3367 394.1345 534.8659]
/Subtype /Link
/A << /S /GoTo /D (table.2.6) >>
>> endobj
-295 0 obj <<
+299 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 504.4094 481.6833 516.9387]
/Subtype /Link
/A << /S /GoTo /D (table.2.7) >>
>> endobj
-296 0 obj <<
+300 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 486.4822 375.1181 498.7584]
/Subtype /Link
/A << /S /GoTo /D (table.2.8) >>
>> endobj
-297 0 obj <<
+301 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 468.555 345.3889 481.0842]
/Subtype /Link
/A << /S /GoTo /D (table.2.9) >>
>> endobj
-298 0 obj <<
+302 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 450.6277 352.6041 463.157]
/Subtype /Link
/A << /S /GoTo /D (table.2.10) >>
>> endobj
-299 0 obj <<
+303 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 432.7005 438.9102 445.2298]
/Subtype /Link
/A << /S /GoTo /D (table.2.11) >>
>> endobj
-300 0 obj <<
+304 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [89.9113 414.7733 455.4081 427.3025]
/Subtype /Link
/A << /S /GoTo /D (table.2.12) >>
>> endobj
-287 0 obj <<
-/D [285 0 R /XYZ 74.4095 793.4011 null]
+305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 396.846 321.544 409.1223]
+/Subtype /Link
+/A << /S /GoTo /D (table.2.13) >>
>> endobj
-288 0 obj <<
-/D [285 0 R /XYZ 74.4095 643.0213 null]
+306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 378.9188 334.1594 391.195]
+/Subtype /Link
+/A << /S /GoTo /D (table.2.14) >>
>> endobj
-284 0 obj <<
+307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 360.9916 420.4655 373.2678]
+/Subtype /Link
+/A << /S /GoTo /D (table.2.15) >>
+>> endobj
+308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 343.0643 436.9633 355.5936]
+/Subtype /Link
+/A << /S /GoTo /D (table.2.16) >>
+>> endobj
+291 0 obj <<
+/D [289 0 R /XYZ 74.4095 793.4011 null]
+>> endobj
+292 0 obj <<
+/D [289 0 R /XYZ 74.4095 643.0213 null]
+>> endobj
+288 0 obj <<
/Font << /F26 166 0 R /F28 169 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-316 0 obj <<
+328 0 obj <<
/Length 1086
/Filter /FlateDecode
>>
@@ -1097,84 +1149,84 @@ stream
xڭVKo8W(7ޚY9lc%A[,`;CJ"͡d8/~YD"#L*`,4ڂtD*m0#MqάzV(1%BsbVS*ξ+ 76fdNm{EU=V[.>{*5JΡg.5v%1cL+,W˹ĉ49%q,N0\űV@b#FIZ3F"-mB?Vqj KxuSʫܵ:+]0
TA˒uֹI‡hSC&!q U5P|/]/A<lE w,h3Wmezܝ(,s*Rmۨ'?5X$cq8ZR1![12Ykkƪ59v13U^2?J( tѴHnu㪭 LFT/?Vz3XmazlYFBp2,'Ne\Aav?<yc (APծ Ch{ Gܢ+O b)oiqKSph]azN];1(oj ;,Rp֑Kg ہB_[| L<z
endobj
-315 0 obj <<
+327 0 obj <<
/Type /Page
-/Contents 316 0 R
-/Resources 314 0 R
+/Contents 328 0 R
+/Resources 326 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 319 0 R
-/Annots [ 318 0 R ]
+/Parent 331 0 R
+/Annots [ 330 0 R ]
>> endobj
-313 0 obj <<
+325 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
/PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/verteiltes-system.pdf)
/PTEX.PageNumber 1
-/PTEX.InfoDict 320 0 R
+/PTEX.InfoDict 332 0 R
/Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000]
/BBox [0.00000000 0.00000000 366.00000000 180.00000000]
/Resources <<
/ProcSet [ /PDF /Text ]
/ExtGState <<
-/R7 321 0 R
->>/Font << /R8 322 0 R >>
+/R7 333 0 R
+>>/Font << /R8 334 0 R >>
>>
-/Length 323 0 R
+/Length 335 0 R
/Filter /FlateDecode
>>
stream
xVMo1 W8N+qҲ
Ue`v4A$2Tn^Y␩8FMlT!Yr )tA,((Py'C,U/8UD [Iߖ3Ocz\Da4M&Ri֡d*ԒeP^EXf 7MdIɏ F'C9w: Κ#n;?q7/u~W<c(mZC.!ABz/K|֑]_z񯣠u+LyJX`
endobj
-320 0 obj
+332 0 obj
<<
/Producer (GPL Ghostscript 8.61)
/CreationDate (D:20080725141001Z00'00')
/ModDate (D:20080725141001Z00'00')
>>
endobj
-321 0 obj
+333 0 obj
<<
/Type /ExtGState
/OPM 1
>>
endobj
-322 0 obj
+334 0 obj
<<
/BaseFont /Helvetica
/Type /Font
/Subtype /Type1
>>
endobj
-323 0 obj
+335 0 obj
714
endobj
-318 0 obj <<
+330 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 0]
/Rect [76.4707 384.3703 108.3246 394.4247]
/Subtype /Link
/A << /S /GoTo /D (cite.Tanenbaum) >>
>> endobj
-317 0 obj <<
-/D [315 0 R /XYZ 74.4095 793.4011 null]
+329 0 obj <<
+/D [327 0 R /XYZ 74.4095 793.4011 null]
>> endobj
6 0 obj <<
-/D [315 0 R /XYZ 74.4095 771.7323 null]
+/D [327 0 R /XYZ 74.4095 771.7323 null]
>> endobj
10 0 obj <<
-/D [315 0 R /XYZ 74.4095 564.7986 null]
+/D [327 0 R /XYZ 74.4095 564.7986 null]
>> endobj
-259 0 obj <<
-/D [315 0 R /XYZ 213.3171 155.4996 null]
+261 0 obj <<
+/D [327 0 R /XYZ 213.3171 155.4996 null]
>> endobj
-314 0 obj <<
+326 0 obj <<
/Font << /F26 166 0 R /F28 169 0 R /F61 214 0 R >>
-/XObject << /Im2 313 0 R >>
+/XObject << /Im2 325 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-328 0 obj <<
+340 0 obj <<
/Length 1579
/Filter /FlateDecode
>>
@@ -1188,30 +1240,30 @@ xڭXmo6_23| ovk7`[ XrLD$9ͯ[N lHѐwwSDGDy^Q^(
J7gd><;֬)2\o ]F _b"pMh%A?[˾?PY zQCLNLAwMmNe!e/o7C[Auz2&JdΔ*A'rK~}ģ@ϼ ;a&
8J=SZʃ~o'0
endobj
-327 0 obj <<
+339 0 obj <<
/Type /Page
-/Contents 328 0 R
-/Resources 326 0 R
+/Contents 340 0 R
+/Resources 338 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 319 0 R
-/Annots [ 330 0 R ]
+/Parent 331 0 R
+/Annots [ 342 0 R ]
>> endobj
-325 0 obj <<
+337 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 332 0 R
+/PTEX.InfoDict 344 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 333 0 R
->>/Font << /R8 334 0 R >>
+/R7 345 0 R
+>>/Font << /R8 346 0 R >>
>>
-/Length 335 0 R
+/Length 347 0 R
/Filter /FlateDecode
>>
stream
@@ -1219,54 +1271,54 @@ xTn0 +xl{p%RE[$F/A,E"N~Ejx0"g槮Ӣ>yTFc5P
(C!R;}tI6<o}/[˿w?K\2x ,

endobj
-332 0 obj
+344 0 obj
<<
/Producer (GPL Ghostscript 8.61)
/CreationDate (D:20080725141001Z00'00')
/ModDate (D:20080725141001Z00'00')
>>
endobj
-333 0 obj
+345 0 obj
<<
/Type /ExtGState
/OPM 1
>>
endobj
-334 0 obj
+346 0 obj
<<
/BaseFont /Helvetica
/Type /Font
/Subtype /Type1
>>
endobj
-335 0 obj
+347 0 obj
452
endobj
-330 0 obj <<</