diff --git a/docs/thesis/content/abstract.tex b/docs/thesis/content/abstract.tex index 6202bfa..c6568da 100644 --- a/docs/thesis/content/abstract.tex +++ b/docs/thesis/content/abstract.tex @@ -9,10 +9,10 @@ \chapter*{Kivonat}\addcontentsline{toc}{chapter}{Kivonat} Adott egy tanszéken fejlesztett felhőalapú elosztott rendszer, melynek eszközei madárhangok azonosítására képesek. -Ha a rendszer úgy észleli, hogy az egyik álatala vezérelt eszköz mikrofonja felvételén madárhang található, +Ha a rendszer úgy észleli, hogy az egyik általa vezérelt eszköz mikrofonja felvételén madárhang található, akkor riasztást kezdeményez az eszközön ezzel elijesztve a madarat ezáltal megóvva a növényzetet. -A rendszernek több kisebb komponense van, amelyek rengeteg adatot dolgoznak fel és nincs jelenleg egy olyan egységes grafikus felület ahol a rendszer teljes állapotát +A rendszernek több kisebb komponense van, amelyek rengeteg adatot dolgoznak fel és nincs jelenleg egy olyan egységes grafikus felület, ahol a rendszer teljes állapotát át lehetne tekinteni, ahol a feldolgozott adatokat vizualizálni lehetne. A piacon létezik már több olyan szoftver csomag, amely hasonló problémákra próbál megoldást nyújtani, de ezek sem mindig diff --git a/docs/thesis/content/birdmap-backend.tex b/docs/thesis/content/birdmap-backend.tex index 2f89fff..beff425 100644 --- a/docs/thesis/content/birdmap-backend.tex +++ b/docs/thesis/content/birdmap-backend.tex @@ -7,11 +7,11 @@ Ebben a fejezetben bemutatom a szerveroldal architektúráját, felépítését. %---------------------------------------------------------------------------- \section{Architektúra} %---------------------------------------------------------------------------- -A szerveroldal fejlesztésénél a háromrétegú architektúrát alkalmaztam, melynek lényege, hogy az alkalmazást logikailag három elkülönülő részre bontjuk: +A szerveroldal fejlesztésénél a három rétegú architektúrát alkalmaztam, melynek lényege, hogy az alkalmazást logikailag három elkülönülő részre bontjuk: \begin{itemize} \item \textbf{Adatelérési réteg}. Ez a rész felel a tárolt entitások modell definícióiért, illetve azoknak a kiolvasásáért, tárolásáért egy adatbázisból vagy fájlrendszerből. - \item \textbf{Megjelenítési réteg}. Ezen réteg feladata a kliensoldal közvetlek kiszolgálása. Bármilyen irányú kommunikáció a kliensek felé ezen a rétegen keresztül történik. - \item \textbf{Üzleti logikai réteg}. Minden ami nem a közvetlen kommunikációért, megjelenítésért vagy adat elérésért, tárolásért felel, az ide kerül. + \item \textbf{Megjelenítési réteg}. Ezen réteg feladata a kliensoldal közvetlen kiszolgálása. Bármilyen irányú kommunikáció a kliensek felé ezen a rétegen keresztül történik. + \item \textbf{Üzleti logikai réteg}. Minden, ami nem a közvetlen kommunikációért, megjelenítésért vagy adat elérésért, tárolásért felel, az ide kerül. A fenti két réteg között helyezkedik el és feladata a különböző folyamatok értékelése és futtatása, valamint az adatok feldolgozása. \end{itemize} @@ -79,15 +79,15 @@ melyeknek szintén van egy modellje \verb+Sensor+ néven. Ennek szintén van azo amely a hangüzenetek metaadatait reprezentálja. Többek között tartalmazza a kihelyezett eszköz egyedi azonosítóját és a hangüzenet keltének dátumát. Ugyan itt található meg a \verb+User+ és \verb+Service+ entitások létrehozásáért, olvasásáért, szerkesztéséért és törléséért felelős szolgáltatások is. -Valamint itt található még az autentikációért felelős szolgáltatás is. A felhasználók jelszavainak tárolására a HMAC (Hash-based Message Authentication Code) algorithmust, +Valamint itt található még az autentikációért felelős szolgáltatás is. A felhasználók jelszavainak tárolására a HMAC (Hash-based Message Authentication Code) algoritmust, pontosabban annak a \verb+HMACSHA512+ \cite{hmacsha512} C\# implementációját használtam. Minden jelszóhoz generálok egy egyedi kulcsot és azzal egy hash-t, majd ezeket tárolom a \verb+User+ modell \verb+PasswordSalt+ és \verb+PasswordHash+ mezőiben. Amikor egy felhasználó be akar jelentkezni először megvizsgálom, hogy egyáltalán létezik-e az adatbázisban az adott nevű felhasználó, ha igen, akkor a megadott jelszóból az imént említett folyamattal generált kulcsot és hash-t összehasonlítom az adatbázisban tárolttal. -Azért hasznos íly módon, és nem mondjuk egyszerű szöveges formában tárolni a felhasználók jelszavát, mert így a felhasználón kívül senki sem tudja, hogy mi volt az eredeti jelszava, -az algorithmus egyirányú volta miatt\footnotemark. Ha véletlenül rossz kezekbe kerülne az adatbázis tartalma, akkor sem fognak tudni bejeletkezni a felhasználók adataival. +Azért hasznos ily módon, és nem mondjuk egyszerű szöveges formában tárolni a felhasználók jelszavát, mert így a felhasználón kívül senki sem tudja, hogy mi volt az eredeti jelszava, +az algoritmus egyirányú volta miatt\footnotemark. Ha véletlenül rossz kezekbe kerülne az adatbázis tartalma, akkor sem fognak tudni bejeletkezni a felhasználók adataival. \footnotetext{Generálni egyszerű és gyors. Visszafejteni közel lehetetlen.} %---------------------------------------------------------------------------- @@ -100,10 +100,10 @@ frissüljön a felület. Egy másik szerveroldalon használt szolgáltatás a Birbnetes MQTT kommunikációért felelős szolgáltatás, mely felregisztrál a \ref{subsect:birdnetes-ai-service}-as alfejezetben bemutatott AI Service által publikált üzenetekre. -Ezekben az üzenetekben található a hanganyagok egyedi azonosítója, illetve azok seregélytől való származásának valószínüsége. +Ezekben az üzenetekben található a hanganyagok egyedi azonosítója, illetve azok seregélytől való származásának valószínűsége. Ha a szolgáltatás kap egy ilyen üzenetet akkor lekérdezi a \ref{subsect:birdnetes-input-service}-es alfejezetben bemutatott Input Service-től a hanganyag azonosítójához tartozó metaadatokat. -Ezekből felhasználva a kihelyezett eszköz azonosítóját, a hanganyag beérkezésének dátumát és az említett valószínüséget új üzenetek készülnek, melyeket egy pufferben tárolódnak. +Ezekből felhasználva a kihelyezett eszköz azonosítóját, a hanganyag beérkezésének dátumát és az említett valószínűséget új üzenetek készülnek, melyeket egy pufferben tárolódnak. Ezt a folyamatot a \ref{fig:birdmap-mqtt-service}-es ábra szemlélteti. \begin{figure}[!ht] @@ -114,7 +114,7 @@ Ezt a folyamatot a \ref{fig:birdmap-mqtt-service}-es ábra szemlélteti. \end{figure} A puffer tartalmát másodperces gyakorisággal elküldöm a klienseknek a SignalR segítségével. -Azért van szükség a puffer használatára, mert az MQTT-n érkezett üzenetek gyakorisága akár miliszekundum nagyságrendű is lehet. +Azért van szükség a puffer használatára, mert az MQTT-n érkezett üzenetek gyakorisága akár milliszekundum nagyságrendű is lehet. Míg a szerver képes is az üzeneteket feldolgozni, ha ezeket rögtön tovább küldeném a kliensek felé, azok nem biztos, hogy képesek lennének rá. %---------------------------------------------------------------------------- @@ -125,8 +125,8 @@ Itt történik a \ref{subsect:seeding} fejezetben leírt adatbázis seedelése i Többek között a naplózás is itt kerül inicializálásra, mely az NLog saját konfigurációs fájljával történik. Meg lehet adni különböző szűrőket és kimeneteket, amellyel szelektálni lehet, hogy az egyes naplózott események hova kerüljenek. -Például az MQTT szolgáltalás napló bejegyzéseit a \ref{lst:nlog-config} lista alapján szűrtem. -Minden \verb+Debug+ szintől nagyobb és \verb+Error+ szinttől kisebb bejegyzés, mely tartalmazza az \verb+Mqtt+ kulcsszót az \verb+mqttFile+ azonosítójú fájlba kerül. +Például az MQTT szolgáltatás napló bejegyzéseit a \ref{lst:nlog-config} lista alapján szűrtem. +Minden \verb+Debug+ szinttől nagyobb és \verb+Error+ szinttől kisebb bejegyzés, mely tartalmazza az \verb+Mqtt+ kulcsszót az \verb+mqttFile+ azonosítójú fájlba kerül. \begin{lstlisting}[style=xml, caption=Az NLog.config fájl egy részlete, label=lst:nlog-config] @@ -184,14 +184,14 @@ A kontrollerek határozzák meg, hogy a szerveroldalon milyen végpontokat, mily } \end{lstlisting} -A jogosultságok kezelését a JSON Web Token-ekkel oldottam meg. A fejlasználó bejelentkezéskor kap egy ilyen token-t, +A jogosultságok kezelését a JSON Web Token-ekkel oldottam meg. A felhasználó bejelentkezéskor kap egy ilyen token-t, amelyben tárolom a hozzá tartozó szerepet. A \ref{lst:devices-controller}-as listában látszik, hogy hogyan használom ezeket a szerepeket. A \verb+DevicesController+ végpontjait alapértelmezetten \verb+User+ és \verb+Admin+ jogosultságú felhasználó hívhatja, az "api/devices/online" végpontot azonban csak \verb+Admin+ jogosultságú. -Hasonló képpen oldottam meg ezt a többi kontrollernél is. A \verb+User+ felhasználók csak olyan végpontokat hívhat, mely kizárolag az állapotok olvasásával jár. +Hasonlóképpen oldottam meg ezt a többi kontrollernél is. A \verb+User+ felhasználók csak olyan végpontokat hívhat, mely kizárólag az állapotok olvasásával jár. Az \verb+Admin+ felhasználók hívhatnak bármilyen végpontot. A szerveroldalon négy különböző kontroller található, melyek mindegyikének alapvető feladata az üzleti logikát megvalósító szolgáltatások használata, a működés naplózás, -illetve az imént említett végpontok authorizálása és kiszolgálása. Ezeken kívül a kontrollerek speciális feladata a következő: +illetve az imént említett végpontok autorizálása és kiszolgálása. Ezeken kívül a kontrollerek speciális feladata a következő: \begin{itemize} \item Az \textbf{AuthController} felel a felhasználók bejelentkezésének lebonyolításáért, a JSON Web Token elkészítéséért. Az \verb+[Authorize]+ helyett itt az \verb+[AllowAnonymous]+ attribútum van használva, mellyel azt lehet jelezni, hogy a végpont bejelentkezés nélkül is hívható. \item A \textbf{ServiceController} felel az alkalmazás által használt külső szolgáltatások állapotának lekérdezhetőségéért. Ilyenek például a Birbnetes rendszer vagy az MQTT szolgáltatás állapota. @@ -200,7 +200,7 @@ illetve az imént említett végpontok authorizálása és kiszolgálása. Ezeke \end{itemize} Az adatbázisból érkező adatok gyakran túl sok vagy túl kevés információt tartalmaznak ahhoz, hogy kiolvasás után rögtön elküldjem a kliensoldalnak. -Például amikor a felhasználó bejelentkezik a kiolvasott \verb+User+ objektum tartalmazza annak jelszavát (hash-elt formában), viszont nem tartalmazza az authorizációhoz használt token adatait. +Például amikor a felhasználó bejelentkezik a kiolvasott \verb+User+ objektum tartalmazza annak jelszavát (hash-elt formában), viszont nem tartalmazza az autorizációhoz használt token adatait. Ennek a megoldására adatátviteli objektumokat hoztam létre, melyek csak azokat a mezőket tartalmazzák amelyekre a felhasználónak szüksége van. Az adatbázisból kiolvasott objektum hasznos részeit és egyéb használni kívánt információt átmásolom az átviteli objektumba. Majd ezt küldöm el a kliensoldal felé. diff --git a/docs/thesis/content/birdmap-frontend.tex b/docs/thesis/content/birdmap-frontend.tex index 7f43e7e..7c9f538 100644 --- a/docs/thesis/content/birdmap-frontend.tex +++ b/docs/thesis/content/birdmap-frontend.tex @@ -9,7 +9,7 @@ Ebben a fejezetben bemutatom a kliensoldal architektúráját. Ismertetem a kül %---------------------------------------------------------------------------- Az alkalmazásnak minden oldala egy külön React komponens, mely mindegyikének saját mappája van a főkönyvtár alatt, ahol az egyes oldalak által használt szolgáltatások és egyéb komponensek találhatóak. -A közöses használt szolgáltatások és komponensek a common mappába kerültek. +A közösen használt szolgáltatások és komponensek a common mappába kerültek. A kliensoldal belépési pontja az \verb+App.js+ fájlban található \verb+App+ komponens. Itt egy React \verb+Switch+-ben fel van sorolva az összes oldal komponense azok elérési útvonalai szerint. @@ -28,7 +28,7 @@ Az a komponens jelenik meg a felületen, amelyiknek \verb+path+ mező értéke m \end{lstlisting} -Hozzáférés szempontjából három fajta oldalt különböztetünk meg: +Hozzáférés szempontjából háromfajta oldalt különböztetünk meg: \begin{itemize} \item \textbf{Publikus oldal}. Az oldal bejelentkezés nélkül is látogatható. \item \textbf{Privát oldal}. Az oldal csak bejelentkezés után látogatható. @@ -40,10 +40,10 @@ Paraméterében át lehet adni egy másik megjeleníteni kívánt komponenst, me Mivel minden komponens ebbe az bázis komponensbe van csomagolva, így akárhova navigálunk az oldalon a felület mindig egységes marad. A másik komponens a \verb+PredicateRoute+, melynek paraméterében meg lehet adni egy feltételt, illetve egy másik komponenst. -Ha a feltétel hamis akkor átírányítja a felhasználót a bejelentkező oldalra, ha igaz akkor megjeleníti a \verb+DefaultLayout+-ba csomagolt komponenst. +Ha a feltétel hamis akkor átirányítja a felhasználót a bejelentkező oldalra, ha igaz akkor megjeleníti a \verb+DefaultLayout+-ba csomagolt komponenst. Publikus oldalnál a feltétel mindig igaz. Privátnál a feltétel a bejelentkezéshez van kötve. -Az admin oldal feltétele egyrészt szintén a bejelentkezés, másrészt a felhasználó \verb+Admin+ jogolsultsága. +Az admin oldal feltétele egyrészt szintén a bejelentkezés, másrészt a felhasználó \verb+Admin+ jogosultsága. Ezt a folyamatot próbálja szemléltetni a \ref{fig:birdmap-frontend-architecture}-es ábra. Legfelül sárgával vannak feltüntetve a hívható végpontok, alattuk a hozzájuk kapcsolt megjelenítendő komponensek, azok alatt pedig a hozzáférést szabályozó komponensek. @@ -59,13 +59,13 @@ Legfelül sárgával vannak feltüntetve a hívható végpontok, alattuk a hozz %---------------------------------------------------------------------------- A szerveroldallal való kommunikációt rendkívül egyszerűen tudtam implementálni köszönhetően a \ref{subsect:backend-swagger}-as fejezetben bemutatott Swagger oldalnak és annak, hogy az NSwag Studio-val \cite{nswag-studio} a C\#-on kívül lehet TypeScript\footnotemark klienseket is generálni a leíró fájlból. -Így készültek el a kommponensek kommunikációért felelős szolgáltatásai. +Így készültek el a komponensek kommunikációért felelős szolgáltatásai. \footnotetext{JavaScript-re épített statikus típusdefiníciókat tartalmazó nyelv. JavaScript és TypeScript együtt is használható.} %---------------------------------------------------------------------------- \section{Komponensek} %---------------------------------------------------------------------------- -Ebben a szakaszban ismertete az egyes oldalak komponenseit és azok alkomponenseit, +Ebben a szakaszban ismertetem az egyes oldalak komponenseit és azok alkomponenseit, illetve a navigációért felelős fejlécet. %---------------------------------------------------------------------------- \subsection{Navigáció} @@ -100,7 +100,7 @@ A generált szerverrel kommunikáló szolgáltatás be van csomagolva egy közö Ennek célja, hogy a bejelentkezés eredményét több komponens is olvashassa, hiszen az alkalmazás felületét alapvetően megkülönbözteti, egyrészt a bejelentkezés sikeressége, másrészt a bejelentkezett felhasználó jogosultsági köre. -Sikeres bejelentkezés után a szerver elküldi a felhasználó szerepét, illetve a hozzáférési token-t, amelyre a kliens többi szolgáltatásának is szüksége lesz a kommunkációhoz. +Sikeres bejelentkezés után a szerver elküldi a felhasználó szerepét, illetve a hozzáférési token-t, amelyre a kliens többi szolgáltatásának is szüksége lesz a kommunikációhoz. Ezeket az oldal \verb+sessionStorage+-ában\footnotemark tárolom és a becsomagolt szolgáltatáson keresztül elérhetőek. Kijelentkezni a navigációs fejlécben található profil ikonra való kattintással lehet. @@ -190,7 +190,7 @@ Az állapotok változása esetén a \verb+DevicesContextProvider+-nek köszönhe %---------------------------------------------------------------------------- Ezekkel a diagramokkal az a célom, hogy az eszközök által küldött észleléseket időrendben vizualizáljam. Megvalósításukhoz az Apexcharts Heatmap típusú diagramját használtam. -A \ref{fig:dashboard-heatmap-second}-as ábrán látható diagram az elmúlt egy percben küldött, másodpercenként a legnagyobb, hangüzenetekből képzett valószínűségeket ábrozolja. +A \ref{fig:dashboard-heatmap-second}-as ábrán látható diagram az elmúlt egy percben küldött, másodpercenként a legnagyobb, hangüzenetekből képzett valószínűségeket ábrázolja. A \ref{fig:dashboard-heatmap-minute}-es ábrán látható diagram pedig az elmúlt egy órában percenként a legnagyobbakat. \begin{figure}[!ht] \centering @@ -226,12 +226,12 @@ Az egyes oszlopok három részre vannak bontva az üzenetek öt tized, hét tize %---------------------------------------------------------------------------- \subsubsection{Üzenetek gyakorisága} %---------------------------------------------------------------------------- -Az oldalon található utolsó diagram egy vonal diagammn, melynek célja, hogy ábrázolja a rendszer által küldött üzenetek számát másodpercenként. +Az oldalon található utolsó diagram egy vonal diagram, melynek célja, hogy ábrázolja a rendszer által küldött üzenetek számát másodpercenként. A \ref{fig:dashboard-messages-line}-es ábrán látható a komponens. A vízszintes tengelyen a legelső érték az alkalmazás által először észlelt üzenet időpontja. Az utolsó érték a legutoljára észlelt időpontja. A függőleges tengelyen az adott másodpercben érkező üzenetek száma van ábrázolva. -Az előzőekkel ellentétben itt az adatok nincsennek szűrve a hangüzenet valószínűsége alapján, +Az előzőkkel ellentétben itt az adatok nincsennek szűrve a hangüzenet valószínűsége alapján, tehát a rendszer által küldött összes üzenet látható. \begin{figure}[!ht] \centering @@ -243,11 +243,11 @@ tehát a rendszer által küldött összes üzenet látható. %---------------------------------------------------------------------------- \subsection{Devices} %---------------------------------------------------------------------------- -Ez az oldal lehetővé teszi a felhasználók számára az eszközök állapotának áttekintését, \verb+Admin+ felhasználók számára azok menedszelését is. +Ez az oldal lehetővé teszi a felhasználók számára az eszközök állapotának áttekintését, \verb+Admin+ felhasználók számára azok menedzselését is. Az eszközök dinamikusan jelennek meg a \verb+DevicesContextProvider+ adatai alapján, melyek megjelenítésére a Material UI \verb+Accrordion+ komponensét használom. Ennek fejlécében az eszköz neve, egyedi azonosítója és státusza található. A lenyíló részben pedig az eszköz által használt szenzorok neve, azonosítója és státusza. -\verb+Admin+ felhasználók számára a felület két fajta gombbal bővül, mellyekkel be és ki lehet kapcsolni az egyes eszközöket, szenzorokat. -Az \verb+Accordion+-ok felett található egy külön panel, mellyel egyszerre lehet kezelni az összes eszközt és azok szenzorait. +\verb+Admin+ felhasználók számára a felület két fajta gombbal bővül, melyekkel be és ki lehet kapcsolni az egyes eszközöket, szenzorokat. +Az \verb+Accordion+-ok felett található egy külön panel, mellyel egyszerre lehet kezelni az összes eszközt és azok szenzorjait. A Devices oldal felülete a \ref{fig:frontend-devices}-es ábrán, az \verb+Admin+ felhasználók számára nyújtott plusz funkciók a \ref{fig:frontend-devices-admin}-as ábrán láthatók. \begin{figure}[!ht] @@ -272,14 +272,14 @@ Ezt használva megjelenítem a rendszer összes eszközét azok koordinátái sz A kék színű ikonok jelölik a bekapcsolt állapotban lévő, a sárga a kikapcsolt állapotban lévő, a piros pedig a hibás állapotban lévő eszközöket. Ha a felhasználó az egerét az ikonok fölé helyezi, megjelenik egy szövegdoboz, melyben az eszköz azonosítója és státusza látható. -Az ikonra kattinta a felhasználó a Devices oldalra kerül, ahol megnyílik a kattintott eszköz \verb+Accordion+-ja. +Az ikonra kattintva a felhasználó a Devices oldalra kerül, ahol megnyílik a kattintott eszköz \verb+Accordion+-ja. A \verb+DevicesContext+ tartalmazza az eszközök által küldött üzenetek adatait, melyeknek a 0.5 valószínűségtől nagyobb részhalmazát a hőtérkép által kezelhető adatokká konvertálok. Egyrészt szükség van az előbb is említett földrajzi koordinátákra, melyeket az üzenetek eszköz azonosítója alapján határozok meg. Másrészt szükség van egy súly értékre, mely a pont színezésének pirosságát határozza meg. Ezt az értéket az üzenetek valószínűség értékével tettem egyenlővé. -Minnél több magasabb valószínűségű riasztás érkezik egy adott eszköztől, a körülötte lévő terület annál pirosabb lesz. +Minél több magasabb valószínűségű riasztás érkezik egy adott eszköztől, a körülötte lévő terület annál pirosabb lesz. A \ref{fig:frontend-heatmap}-ös ábra mutatja a térkép működését miközben 4 eszköz is seregélyeket észelt. diff --git a/docs/thesis/content/birdmap-introduction.tex b/docs/thesis/content/birdmap-introduction.tex index 9e4c7e8..76f1e28 100644 --- a/docs/thesis/content/birdmap-introduction.tex +++ b/docs/thesis/content/birdmap-introduction.tex @@ -13,7 +13,7 @@ A jellemző adatvizualizációs megoldások közül az alábbi hármat találtam \begin{itemize} \item \textbf{Hőtérkép}. Hasznos lenne egy olyan felület, ahol az eszközök GPS koordinátái és a seregély detektálást jelző üzenetek alapján, meg lehetne jeleníteni a seregélyek hozzávetőleges előfordulásának helyeit és gyakoriságát egy térképen, hőtérképes formában. \item \textbf{Eszközállapotok}. Jelenleg a Command and Control mikroszolgáltatás felé indított kéréseken kívül, nincs lehetőség a kihelyezett eszközök állapotának vizsgálatára. Szükség lenne egy olyan felületre, ahol ezek állapotai láthatóak, esetleg dinamikusan is frissülnek. - \item \textbf{Diagramok}. A hőtérképen kívül egyéb olyan diagramok is hasznosak lehetnek, ahol látható például, hogy melyik eszköz melyik percben észlelt madárhangot vagy, hogy egy eszköz összesen hány madárhangot észelt. Minnél több információ, annál jobb. + \item \textbf{Diagramok}. A hőtérképen kívül egyéb olyan diagramok is hasznosak lehetnek, ahol látható például, hogy melyik eszköz melyik percben észlelt madárhangot vagy, hogy egy eszköz összesen hány madárhangot észlelt. Minél több információ, annál jobb. \end{itemize} Ezeken kívül fontos követelmény volt még, hogy az alkalmazásom futtatható legyen Linux környezetben is, hogy az telepíthető legyen a Birbnetes Kubernetes \cite{kubernetes} klaszterébe. diff --git a/docs/thesis/content/birdmap-kubernetes.tex b/docs/thesis/content/birdmap-kubernetes.tex index 19f87d0..edb9527 100644 --- a/docs/thesis/content/birdmap-kubernetes.tex +++ b/docs/thesis/content/birdmap-kubernetes.tex @@ -6,7 +6,7 @@ Az éles rendszerrel való kommunikáció megvalósításához készítenem kell Ehhez először készítettem egy Dockerfile-t \cite{dockerfile}, mely az image-ek automatikus elkészítését teszi lehetővé. Utasításokat lehet benne felsorolni, melyekkel a konténer környezetét kell felépíteni. Meg lehet adni kiindulópontokat, mely az image alapjául szolgál. -Erre a célra én az ASP.NET futtatokörnyeztét használtam, mely tartalmazza az alkalmazás futtatásához szükséges parancsokat. +Erre a célra én az ASP.NET futtatókörnyeztét használtam, mely tartalmazza az alkalmazás futtatásához szükséges parancsokat. Ezek után a Dockerfile utasításait használva bemásolom a \verb+Release+ konfigurációval fordított alkalmazásomat a konténer egy mappájába, majd a belépési pont utasítással megadom az alkalmazás indításához szükséges parancsot. Ezt futtatva sikeresen elkészül a Docker image. diff --git a/docs/thesis/content/birdmap-technologies.tex b/docs/thesis/content/birdmap-technologies.tex index 3ad45b2..3beb20c 100644 --- a/docs/thesis/content/birdmap-technologies.tex +++ b/docs/thesis/content/birdmap-technologies.tex @@ -38,7 +38,7 @@ A Visual Studio \cite{vs} a Microsoft fejlesztőkörnyezete. Jól alkalmazható %---------------------------------------------------------------------------- \subsection{Visual Studio Code} %---------------------------------------------------------------------------- -Egy másik Microsoft termék, viszont a fentivel ellentétben a Visual Studio Code \cite{vs-code} inkább szövegszerkeztő, mint fejlesztőkörnyezet. +Egy másik Microsoft termék, viszont a fentivel ellentétben a Visual Studio Code \cite{vs-code} inkább szövegszerkesztő, mint fejlesztőkörnyezet. Ennek köszönhetően jelentősen gyorsabb és egyszerűbb a használata. Különféle bővítmények használatával nagyon jó program nyelv támogatottságot lehet elérni. Többek között ezen okok miatt preferáltam a kliensoldal fejlesztésére. @@ -53,20 +53,20 @@ amivel már foglalkoztam korábban, amivel gyorsabban és rutinosabban megy a fe Másrészt nemrég jelent meg a .NET új 5-ös verziója, melynek használatával jelentős teljesítmény javulást ígértek több területen is, és úgy gondoltam, hogy ez a projekt tökéletes lenne ennek próbatételére. -Mindemellett a .NET teljesen platformüggetlen, mely az egyik legfontosabb követelmény volt az alkalmazással szemben. +Mindemellett a .NET teljesen platformfüggetlen, mely az egyik legfontosabb követelmény volt az alkalmazással szemben. %---------------------------------------------------------------------------- \subsection{ASP.NET Core} %---------------------------------------------------------------------------- Az ASP.NET Core a .NET család ingyenes, nyílt forráskódú webes keretrendszere. Gyors és moduláris fejlesztést tesz lehetővé, mely főként a csomagkezelő rendszerének, a NuGet-nek \cite{nuget} köszönhető. -Használatána egyik előnye, hogy ugyan az a C\# kód tud futni a szerver éa a kliens oldalon, de támogat más kliens oldali keretrendszereket is, mint például az Angular-t, a Vue.js-t +Használatának egyik előnye, hogy ugyan az a C\# kód tud futni a szerver és a kliens oldalon, de támogat más kliens oldali keretrendszereket is, mint például az Angular-t, a Vue.js-t vagy a React.js-t. %---------------------------------------------------------------------------- \subsection{Entity Framework Core} %---------------------------------------------------------------------------- -Az Entity Framework Core (röviden EF Core) egy objektum-relációs leképező keretrendszer a .NET-hez. Az adatbázissal való kommunikációt könnyítését szolgálja. +Az Entity Framework Core (röviden EF Core) egy objektum-relációs leképző keretrendszer a .NET-hez. Az adatbázissal való kommunikációt könnyítését szolgálja. Használatával C\#-ban lehet adatbázis lekérdezéseket írni a LINQ (Language-Integrated Query) szoftvercsomag segítségével. %---------------------------------------------------------------------------- @@ -117,7 +117,7 @@ Használatának egyik előnye, hogy automatizált az állapot kezelés, tehát h A Material \cite{material} elsősorban egy kezelőfelület tervezési útmutató a Google által, melyet követve szép és minőségi felületeket lehet készíteni. A Material UI \cite{material-ui} egy szoftvercsomag, mely ezeket az útmutatásokat követő egyszerű React komponenseket tartalmaz. -Alkalmazásával könnyő esztétikus felhasználói felületeket készíteni, minimalizált a CSS használattal. +Alkalmazásával könnyű esztétikus felhasználói felületeket készíteni, minimalizált a CSS használattal. %---------------------------------------------------------------------------- \subsection{Apexcharts} @@ -132,5 +132,5 @@ A Google szinte összes termékének van API-ja, ami lehetővé teszi a programo A Google Maps sincs másképp és mivel ennek interfésze külön támogatja a hőtérképes réteg használatát is, nem gondoltam, hogy ettől jobb eszközt tudnék találni a feladat megvalósítására. A Google Maps API-t, ami alapvetően csak egy JavaScript csomag, rengetegen újracsomagolják, hogy különböző részét, különböző keretrendszerekben is lehessen használni. -Ezek közül én a Google Map React \cite{google-map-react}-et választottam, egyrészt mert támogatja a hőtérképes réteg használatát, +Ezek közül én a Google Map React-et \cite{google-map-react} választottam, egyrészt mert támogatja a hőtérképes réteg használatát, másrészt mert lehetővé teszi a térképen való React komponensek renderelését az alapértelmezett markerek helyett. \ No newline at end of file diff --git a/docs/thesis/content/birdmap-test.tex b/docs/thesis/content/birdmap-test.tex index 0f2f69a..67e721e 100644 --- a/docs/thesis/content/birdmap-test.tex +++ b/docs/thesis/content/birdmap-test.tex @@ -14,16 +14,16 @@ melyeket az alábbi szekciókban ismertetek. \section{Helyettesítő szolgáltatások} %---------------------------------------------------------------------------- Az alkalmazásom szerver oldali szolgáltatásai a Birbnetes Command and Control (a kódban Device) és Input Service-ekkel azok OpenAPI leíróiból generált interfészein keresztül kommunikál. -Ezen intefészek mögé bármilyen implementáció regisztrálható, mely helyettesíti az éles rendszer működését. +Ezen interfészek mögé bármilyen implementáció regisztrálható, mely helyettesíti az éles rendszer működését. -Készítettem egy osztályt \verb+DummyDeviceAndInputService+ néven, mely a szerver indulásakor mű eszközadatokat generál egy lokális változóval állítható darabszámban, +Készítettem egy osztályt \verb+DummyDeviceAndInputService+ néven, mely a szerver indulásakor mű eszköz adatokat generál egy lokális változóval állítható darabszámban, majd ezeket egy belső listában tárolja. Az eszközök státuszát és koordinátáit egy véletlenszám generátor segítségével határozom meg. Az osztály implementálja a Device Service interfészét, melynek metódusai az imént említett mű eszközlista elemeivel dolgoznak, azok státuszát olvassák és módosítják. Illetve implementálja az Input Service interfészét, melynek metódusa bármilyen paraméterből kapott egyedi azonosító esetén visszaad egy véletlenszerűen kiválasztott bekapcsolt státuszú eszközt a listából. -Az alkalmazás által regisztrált és ezáltal használt intefész implementációi a konfigurációs fájl egy logikai értéke alapján cserélhető az éles és a helyettesítő között, +Az alkalmazás által regisztrált és ezáltal használt interfész implementációi a konfigurációs fájl egy logikai értéke alapján cserélhető az éles és a helyettesítő között, a \ref{lst:dummy-service-registration}-es listában látható módon. \newpage \begin{lstlisting}[style=csharp, caption=A helyettesítő és az éles szolgáltatások regisztrálásának logikája, label=lst:dummy-service-registration] @@ -50,7 +50,7 @@ Indítható vele MQTT szerver, feliratkozó kliens és publikáló kliens is. Ezek meglétével az alkalmazás képes az üzenetek manuális publikálására egy a felületen beállítható témában. Én azonban szerettem volna az üzeneteket automatikusan bizonyos időközönként küldeni, ezért átalakítottam az alkalmazást az igényeimnek megfelelően a \ref{fig:mqtt-tester}-es ábrán látható módon. -Elhelyeztem a fejlületen egy csúszkát, mellyel az üzenet küldés intervalluma állítható, illetve két új gombot, +Elhelyeztem a felületen egy csúszkát, mellyel az üzenet küldés intervalluma állítható, illetve két új gombot, melyekkel az üzenet küldő időzítő indítható és megállítható. Az alkalmazás képes üzenetek adatainak generálására, mellyel az AI Service által publikált üzenetek modelljeivel azonos adatokat generálok. \begin{figure}[!ht] diff --git a/docs/thesis/content/birdnetes-introduction.tex b/docs/thesis/content/birdnetes-introduction.tex index d9df2df..11d16e3 100644 --- a/docs/thesis/content/birdnetes-introduction.tex +++ b/docs/thesis/content/birdnetes-introduction.tex @@ -33,8 +33,8 @@ Ez több okból is hasznos: A mikroszolgáltatások (microservices) nem sok mindenben különböznek egy általános szolgáltatástól. Ugyan úgy valamilyen kéréseket kiszolgáló egységek, legyen az web kérések kiszolgálása HTTP-n keresztül vagy akár parancssori utasítások feldolgozása. Az egyetlen fő különbség az a szolgáltatások felelősségköre. -A mikroszolgáltatások fejlesztésénél a fejlesztők elsősorban arra törekednek, hogy egy komponensnek minnél kevesebb feladata és függősége legyen, -ezzel megnő a tesztelhetőség és könyebb a skálázhatóság. +A mikroszolgáltatások fejlesztésénél a fejlesztők elsősorban arra törekednek, hogy egy komponensnek minél kevesebb feladata és függősége legyen, +ezzel megnő a tesztelhetőség és könnyebb a skálázhatóság. %---------------------------------------------------------------------------- \subsubsection{Konténerek} @@ -52,7 +52,7 @@ Kihasználja és ötvözi az imént említett technológiák előnyeit, hogy egy Használatával felgyorsulhat és automatizált lehet az egyes konténerek telepítése, futtatása, de talán a legfőbb előnye, hogy segítségével könnyedén megoldható a rendszert ért terhelési igények szerinti dinamikus skálázódás. Azok a mikroszolgáltatások, amikre a rendszernek épp nincs szüksége, minimális erőforrást igényelnek a szerveren, -így nem kell utánnuk annyit fizetni sem. Ezzel ellentétben, ha valamely szolgáltatás után hirtelen megnő az igény, +így nem kell utánuk annyit fizetni sem. Ezzel ellentétben, ha valamely szolgáltatás után hirtelen megnő az igény, akkor az könnyedén duplikálható. %---------------------------------------------------------------------------- @@ -61,14 +61,14 @@ akkor az könnyedén duplikálható. %---------------------------------------------------------------------------- Az MQTT (Message Queue Telemetry Transport) az egy kliens-szerver publish/subscribe üzenetküldő protokoll. Könnyű implementálni és alacsony a sávszélesség igénye, mellyel tökéletes jelöltje a Machine to Machine (M2M), illetve az Internet of Things (IoT) kommunikáció megvalósítására. -Működéséhez szükség van egy szerverre, amelynek feladata a beérkező üzenetek továbbküldése témák alapján. Egyes kliensek fel tudnak iratkozni bizonyos témákra, míg más kliensek publikálnak +Működéséhez szükség van egy szerverre, amelynek feladata a beérkező üzenetek tovább küldése témák alapján. Egyes kliensek fel tudnak iratkozni bizonyos témákra, míg más kliensek publikálnak és a szerver levezényli a két fél között a kommunikációt. %---------------------------------------------------------------------------- \subsection{OpenAPI} %---------------------------------------------------------------------------- Az OpenAPI egy nyilvános alkalmazás-programozási leíró, amely a fejlesztők számára hozzáférést biztosít egy másik alkalmazáshoz. -Az API-k lírják és meghatározzák, hogy egy alkalmazás hogyan kommunikálhat egy másikkal, +Az API-k leírják és meghatározzák, hogy egy alkalmazás hogyan kommunikálhat egy másikkal, melyet használva a fejlesztők könnyedén képesek a kommunikációra képes kódot írni vagy generálni. %---------------------------------------------------------------------------- @@ -109,7 +109,7 @@ Tartalmaznak még egy hangszórót is, mely a madarak elijesztését szolgálja. A kihelyezett IoT eszközök által felvett hangfájlok ezen a komponensen keresztül érkeznek be a rendszerbe. Itt történik a hanganyaghoz tartozó metaadatok lementése az Input Service saját relációs adatbázisába. Ilyenek például a beküldő eszköz azonosítója, a beérkezés dátuma vagy a hangüzenet rendszerszintű egyedi azonosítója. -Amint a szolgáltatás a berékezett üzenettel kapcsolatban elvégezte az összes feladatát, +Amint a szolgáltatás a beérkezett üzenettel kapcsolatban elvégezte az összes feladatát, publikál egy üzenetet egy másik üzenetsorra a többi kliensnek feldolgozásra. %---------------------------------------------------------------------------- @@ -130,6 +130,6 @@ Ha igen, akkor az üzenetsoron küld egy riasztás parancsot a hanganyagot küld %---------------------------------------------------------------------------- \subsubsection{Command and Control Service} %---------------------------------------------------------------------------- -A Command and Control Service az előzőekkel ellentétben egyáltalán nem vesz részt a minták fogadásában, feldolgozásában vagy kezelésében. -Felelősége az eszközök és azok szenzorai állapotának menedzselése és követése. +A Command and Control Service az előzőkkel ellentétben egyáltalán nem vesz részt a minták fogadásában, feldolgozásában vagy kezelésében. +Felelősége az eszközök és azok szenzorjai állapotának menedzselése és követése. Ezen keresztül lehet az egyes eszközöket ki- és bekapcsolni. \ No newline at end of file diff --git a/docs/thesis/content/introduction.tex b/docs/thesis/content/introduction.tex index f1ae55e..a00f373 100644 --- a/docs/thesis/content/introduction.tex +++ b/docs/thesis/content/introduction.tex @@ -3,7 +3,7 @@ %---------------------------------------------------------------------------- Szőlőtulajdonosoknak éves szinten jelentős kárt okoznak a seregélyek, akik előszeretettel választják táplálékul a megtermelt szőlőt. Erre a problémára dolgoztak ki a tanszéken diáktársaim egy felhőalapú konténerizált rendszert, a Birbnetes-t -mely a természetben elkelyezett eszközökkel kommunikál, azokat vezérli. +mely a természetben elhelyezett eszközökkel kommunikál, azokat vezérli. Az eszközök bizonyos időközönként hangfelvételt készítenek a környezetükről, majd valamilyen formában elküldik ezeket a felvételeket a központi rendszernek, amely egy erre a célra kifejlesztett mesterséges intelligenciát használva eldönti @@ -15,17 +15,17 @@ berendezését, hogy elijessze a madarakat. \section{Probléma} %---------------------------------------------------------------------------- A jelen rendszer használata során nincs vizuális visszacsatolás az esetleges riasztásokról azok gyakoriságáról -és a rendszer állapotáról sem. Különböző diagnosztikai eszközök ugyan implementálva lettek mint például +és a rendszer állapotáról sem. Különböző diagnosztikai eszközök ugyan implementálva lettek, mint például a naplózás vagy a hiba bejelentés, de ezek használata nehézkes, nem kézenfekvő. -Szükség van egy olyan megoldásra amivel egy helyen és egyszerűen lehet kezelni és felügyelni a rendszer egyes elemeit. +Szükség van egy olyan megoldásra, amivel egy helyen és egyszerűen lehet kezelni és felügyelni a rendszer egyes elemeit. %---------------------------------------------------------------------------- \section{Megoldás} %---------------------------------------------------------------------------- -A jelen szakdolgozat egy olyan webes alkalmazás elkészítését dokumentálja, melyel a felhasználók képesek +A jelen szakdolgozat egy olyan webes alkalmazás elkészítését dokumentálja, mellyel a felhasználók képesek a természetben elhelyezett eszközök állapotát vizsgálni, azokat akár ki és bekapcsolni igény szerint. Az egyes rendszer eseményeket vizsgálva a szoftver statisztikákat készít, melyeket különböző diagramokon ábrázolok. -Ilyen statisztikák például, hogy időben melyik eszköz mikor észlelt madár hangot, vagy hogy hány hang üzenet érkezik +Ilyen statisztikák például, hogy időben melyik eszköz mikor észlelt madárhangot, vagy hogy hány hang üzenet érkezik az eszközöktől másodpercenként. %---------------------------------------------------------------------------- @@ -33,7 +33,8 @@ az eszközöktől másodpercenként. %---------------------------------------------------------------------------- A szakdolgozatom első részében, a \ref{chapt:birdnetes-introduction}. fejezetben, bemutatom a vizualizálni kívánt rendszer felépítését, az egyes komponensek közötti kapcsolatokat, valamint a vizualizációs szempontból releváns technológiákat, amire a rendszer épült. -A 3. fejezetben ismertetem a jelenleg az iparban is használt mikroszolgáltatás működését vizualizáló alternatívákat, majd a saját megoldásom tervezetét, az arra vonatkozó elvárásokat. -A 4. fejezetben az alkalmazásom által használt technológiákat mutatom be, ezzel előkészítve az 5. és 6. fejezetet, ahol ismertetem a szerver- és kliensalkalmazások felépítését. -A 7. és 8. fejezet az alkalmazás teszteléséről és telepítéséről szól. +A \ref{chapt:birdmap-introduction} fejezetben ismertetem a jelenleg az iparban is használt mikroszolgáltatás működését vizualizáló alternatívákat, majd a saját megoldásom tervezetét, az arra vonatkozó elvárásokat. +A \ref{chapt:birdmap-technologies} fejezetben az alkalmazásom által használt technológiákat mutatom be, +ezzel előkészítve az \ref{chapt:birdmap-backend} és \ref{chapt:birdmap-frontend} fejezetet, ahol ismertetem a szerver- és kliensalkalmazások felépítését. +A \ref{chapt:birdmap-test} és \ref{chapt:birdnetes-kubernetes} fejezet az alkalmazás teszteléséről és telepítéséről szól. Az utolsó fejezetben értékelem a munkám eredményét, levonom a tapasztalatokat és bemutatok néhány továbbfejlesztési lehetőséget. \ No newline at end of file diff --git a/docs/thesis/content/summary.tex b/docs/thesis/content/summary.tex index 75239df..064716c 100644 --- a/docs/thesis/content/summary.tex +++ b/docs/thesis/content/summary.tex @@ -5,7 +5,7 @@ Úgy gondolom, hogy az alkalmazásom elérte a célját. Egy használható felületet nyújt a Birbnetes mikroszolgáltatás rendszere működésének vizualizálására. A fejlesztés közben jelentős figyelmet fordítottam arra, hogy az alkalmazás felületi és kód komponensei között is -minimalizáltak legyenek a függőségek, így a rendszerben történő változások esetén azok könnyen cseréhetőek, bővíthetőek. +minimalizáltak legyenek a függőségek, így a rendszerben történő változások esetén azok könnyen cserélhetőek, bővíthetőek. %---------------------------------------------------------------------------- \section{Továbbfejlesztési lehetőségek} %---------------------------------------------------------------------------- diff --git a/docs/thesis/thesis.pdf b/docs/thesis/thesis.pdf index 096a108..c83ede0 100644 --- a/docs/thesis/thesis.pdf +++ b/docs/thesis/thesis.pdf @@ -477,9 +477,9 @@ endobj /Filter /FlateDecode >> stream -xڅSMo0Wz\ Z*Ј ]hI/Z$əypr$g?o Bf ,C̘PPuU.Rfy?d񹔊 fqz[g7$Y+ 3S2J0^ZR{ޞR0 ˜iq[ѽ0m{x7|C>ӯ5~9t#jbJXRaJMצm]7L]4feTt?cR%+:׆Fq)%K"E-c׼aQpԓ&3c=D\Zήm \V.tJz w6t^hvJ0c5T  0%IeDT;QI%eR=ˍvLk -[1#RP Lz5lcs*#/hI_ ֫M?ɍ/!3z -Gn7KM% zx*`%OG 7ԇ^K$y \Ӗ,ovl +xڅSMo0Wz_ Z*Ј ݸhI/Z$əypr$g?o Bf ,C̘P*\Ks)q뀼\JRqz&`Jf%UMs4LsA)駽0fZiVt/5L[/Rq>C>ӯ5~9t#jbJXRaJMצm}7L]4feTt?cS%+*׆Fq)%K"E-c\7yâ 'i;N'Mg{*+ +\Zξm \V. [-{!(H+zZF&QD%LI#ZZqX|n,cZ]TXnjKB10!װ+AaC^rFn_94ӿ/@2Wv ܟƗzk +Zl+?6oO5@> stream xڍVn6}߯УxQFԵӢ"@mZYJ\w.m6@rrf8h8ۼQeʲ$=DȤ*QJuUE-U/^~$J"*`?^ڣݫ,FX'KISQ9HoLǡ-(Wp>wn!ET,'8;W,8D[jk#6ڭTSf`l _ـǶ۫"~5{hEI9h09Ϻ#Fj8M?v=ݒ_C4M#Vy0|O"ݝ0ɳ=@уGۡTh_M4ae! gL-'W )=^a40NУhDڬ cm@Έ׀2gRf=@j/k*2a7 ]yf)$ltMHl(ڠ(e@r vH(ere!WNG;v2񕒖CW (gY~ҵvu,`i'Y={?C3Zt`f*kf}ƨ"A[)hϘqK<*)*x;1h0m$>%b耞Xv88 %'rѹitQDL&Z)2d)0̼+gص'.mFtGOVD3, G<xr4 уz|N+y͝7'/E -XkO2J$l]mq%R 6o$ @* -xe"Sipo>!*hk"qQl~gKeeUyge|gBȼ:^Ts; v +XkO2J$l]mq%R T6o$ @* +xe"Sipo>!*hk"qQl~gKeeUyge|gBȼ:^Ts; j endstream endobj 416 0 obj @@ -1483,7 +1483,7 @@ endobj /ProcSet [ /PDF /Text ] >> endobj -428 0 obj +434 0 obj << /Length 1635 /Filter /FlateDecode @@ -1500,55 +1500,60 @@ D 5)Ղ.6-R01|UZMzю]~;o))YJSr$7etG0XpY5:0flѦť2^ "@g_Μ 25sfڠh+-wFqz%`/Mc'>Ms?Qpr endstream endobj -427 0 obj +433 0 obj << /Type /Page -/Contents 428 0 R -/Resources 426 0 R +/Contents 434 0 R +/Resources 432 0 R /MediaBox [0 0 595.276 841.89] /Parent 424 0 R >> endobj 10 0 obj << -/D [427 0 R /XYZ 99.213 762.508 null] +/D [433 0 R /XYZ 99.213 762.508 null] >> endobj 14 0 obj << -/D [427 0 R /XYZ 99.213 409.018 null] +/D [433 0 R /XYZ 99.213 409.018 null] >> endobj 18 0 obj << -/D [427 0 R /XYZ 99.213 277.848 null] +/D [433 0 R /XYZ 99.213 277.848 null] >> endobj -426 0 obj +432 0 obj << /Font << /F35 320 0 R /F32 319 0 R >> /ProcSet [ /PDF /Text ] >> endobj -431 0 obj +437 0 obj << -/Length 880 +/Length 916 /Filter /FlateDecode >> stream -xuUKo0 Wf3`+[Ҩkl@LJ<€)!*(q?KOpf=qT }w<%:%7,-$fNca. [L24NNJSzX4N%?yH:w4]*[VQ0;ڀyvņ95Q"k |X&q%ץVyTq?5 +x}VKo0 Wg[~ +84ZK-P"$"?A"fȃ$DV-(MDPIgUahʋ4|\DfJB'Il7zpҒM'gF-m@4H⨊*-T)xN"4N#% Zޣ/ߢ0T)%7M>-gNYMCЈw唽rn {#il܇ 7$l1e^(qeܪF'EA}ÏY +i/ [\ z՞i^DQ8X۰XmAC6xRˮ%pgi6Pp|HЭ@SA5BS +ЪWFӺA%a=nT> endobj 425 0 obj @@ -1560,18 +1565,72 @@ endobj /A << /S /GoTo /D (chapter.2) >> >> endobj -22 0 obj +426 0 obj << -/D [430 0 R /XYZ 99.213 762.508 null] +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [384.227 688.324 391.674 699.952] +/A << /S /GoTo /D (chapter.3) >> +>> +endobj +427 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [408.63 655.453 416.077 667.082] +/A << /S /GoTo /D (chapter.4) >> +>> +endobj +428 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [427.655 639.018 435.102 650.647] +/A << /S /GoTo /D (chapter.5) >> >> endobj 429 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [448.898 639.018 456.345 650.647] +/A << /S /GoTo /D (chapter.6) >> +>> +endobj +430 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.965 622.583 393.413 634.212] +/A << /S /GoTo /D (chapter.7) >> +>> +endobj +431 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [410.532 622.583 417.979 634.212] +/A << /S /GoTo /D (chapter.8) >> +>> +endobj +22 0 obj +<< +/D [436 0 R /XYZ 99.213 762.508 null] +>> +endobj +435 0 obj +<< /Font << /F35 320 0 R /F32 319 0 R >> /ProcSet [ /PDF /Text ] >> endobj -437 0 obj +443 0 obj << /Length 1862 /Filter /FlateDecode @@ -1588,17 +1647,17 @@ V 2;ʥwЂix][~wp5qց ص,cgg~3e(h{HorhdGғou<屷 u,/c7Bt endstream endobj -436 0 obj +442 0 obj << /Type /Page -/Contents 437 0 R -/Resources 435 0 R +/Contents 443 0 R +/Resources 441 0 R /MediaBox [0 0 595.276 841.89] /Parent 424 0 R -/Annots [ 432 0 R 433 0 R 434 0 R ] +/Annots [ 438 0 R 439 0 R 440 0 R ] >> endobj -432 0 obj +438 0 obj << /Type /Annot /Subtype /Link @@ -1607,7 +1666,7 @@ endobj /A << /S /GoTo /D (cite.birdnetes-tdk) >> >> endobj -433 0 obj +439 0 obj << /Type /Annot /Subtype /Link @@ -1616,7 +1675,7 @@ endobj /A << /S /GoTo /D (cite.birdnetes-thesis) >> >> endobj -434 0 obj +440 0 obj << /Type /Annot /Subtype /Link @@ -1627,31 +1686,31 @@ endobj endobj 26 0 obj << -/D [436 0 R /XYZ 99.213 762.508 null] +/D [442 0 R /XYZ 99.213 762.508 null] >> endobj 30 0 obj << -/D [436 0 R /XYZ 99.213 454.94 null] +/D [442 0 R /XYZ 99.213 454.94 null] >> endobj 34 0 obj << -/D [436 0 R /XYZ 99.213 341.379 null] +/D [442 0 R /XYZ 99.213 341.379 null] +>> +endobj +447 0 obj +<< +/D [442 0 R /XYZ 115.8 94.088 null] >> endobj 441 0 obj << -/D [436 0 R /XYZ 115.8 94.088 null] ->> -endobj -435 0 obj -<< -/Font << /F35 320 0 R /F32 319 0 R /F61 438 0 R /F62 439 0 R /F33 318 0 R /F74 440 0 R /F63 442 0 R >> +/Font << /F35 320 0 R /F32 319 0 R /F61 444 0 R /F62 445 0 R /F33 318 0 R /F74 446 0 R /F63 448 0 R >> /ProcSet [ /PDF /Text ] >> endobj -449 0 obj +455 0 obj << /Length 2421 /Filter /FlateDecode @@ -1665,17 +1724,17 @@ xڍYM BޤXY AvK BS/UH]3hNق6Z[iPߔ~+y1>ɺw[NR˕p2o#~`b4m4+=6 W`ӝ}S ռٟWOknnp8V8GrxdaxPhnΝw"w.sƃ7vV9DGjy+3CxPi sX8ysN_='MՕR/2{7#uRG_>UR:ҳL$QjGw 䢋i +m.&>LP3;[H ,1\GC+ҡ}|~ *G-$.2̠@|oUWwJXȧ^_A+^wzim}r'iow endstream endobj -448 0 obj +454 0 obj << /Type /Page -/Contents 449 0 R -/Resources 447 0 R +/Contents 455 0 R +/Resources 453 0 R /MediaBox [0 0 595.276 841.89] /Parent 424 0 R -/Annots [ 445 0 R 446 0 R ] +/Annots [ 451 0 R 452 0 R ] >> endobj -445 0 obj +451 0 obj << /Type /Annot /Subtype /Link @@ -1684,7 +1743,7 @@ endobj /A << /S /GoTo /D (cite.docker) >> >> endobj -446 0 obj +452 0 obj << /Type /Annot /Subtype /Link @@ -1695,36 +1754,36 @@ endobj endobj 38 0 obj << -/D [448 0 R /XYZ 99.213 762.508 null] +/D [454 0 R /XYZ 99.213 762.508 null] >> endobj 42 0 obj << -/D [448 0 R /XYZ 99.213 628.507 null] +/D [454 0 R /XYZ 99.213 628.507 null] >> endobj 46 0 obj << -/D [448 0 R /XYZ 99.213 491.151 null] +/D [454 0 R /XYZ 99.213 491.151 null] >> endobj 50 0 obj << -/D [448 0 R /XYZ 99.213 320.925 null] +/D [454 0 R /XYZ 99.213 320.925 null] >> endobj 54 0 obj << -/D [448 0 R /XYZ 99.213 168.771 null] +/D [454 0 R /XYZ 99.213 168.771 null] >> endobj -447 0 obj +453 0 obj << /Font << /F33 318 0 R /F32 319 0 R /F35 320 0 R >> /ProcSet [ /PDF /Text ] >> endobj -459 0 obj +465 0 obj << /Length 1462 /Filter /FlateDecode @@ -1738,18 +1797,18 @@ I YrK쥄q QIDŽ΀G(`lz5= qUf\#F4ghƿ$ 'TQwK&i>Sv=_iZ 7ڏXXq8O>L>Mz\[%U EoYKvy䗨r~0ɀS,Q;Kn< w㦧ֳc=3%+jP;ό8iu/>V^yŔƌZ+,`I@àߵ /ni(XkXPUK!Z^~0qZ~_?dT3r6r]P5z~< ~F~a Vm,I;`R(C~@YLv[@\CY endstream endobj -458 0 obj +464 0 obj << /Type /Page -/Contents 459 0 R -/Resources 457 0 R +/Contents 465 0 R +/Resources 463 0 R /MediaBox [0 0 595.276 841.89] /Parent 424 0 R -/Group 454 0 R -/Annots [ 452 0 R 456 0 R ] +/Group 460 0 R +/Annots [ 458 0 R 462 0 R ] >> endobj -453 0 obj +459 0 obj << /Type /XObject /Subtype /Image @@ -1757,7 +1816,7 @@ endobj /Height 565 /BitsPerComponent 8 /ColorSpace /DeviceRGB -/SMask 461 0 R +/SMask 467 0 R /Length 30192 /Filter /FlateDecode >> @@ -1862,7 +1921,7 @@ g (%D'_X(%(%J 9G888"PJ@){$ endstream endobj -461 0 obj +467 0 obj << /Type /XObject /Subtype /Image @@ -1877,10 +1936,10 @@ stream x1 g Og> endstream endobj -454 0 obj +460 0 obj <> endobj -452 0 obj +458 0 obj << /Type /Annot /Subtype /Link @@ -1889,7 +1948,7 @@ endobj /A << /S /GoTo /D (figure.caption.4) >> >> endobj -456 0 obj +462 0 obj << /Type /Annot /Subtype /Link @@ -1900,32 +1959,32 @@ endobj endobj 58 0 obj << -/D [458 0 R /XYZ 99.213 762.508 null] +/D [464 0 R /XYZ 99.213 762.508 null] >> endobj 62 0 obj << -/D [458 0 R /XYZ 99.213 626.871 null] +/D [464 0 R /XYZ 99.213 626.871 null] >> endobj -460 0 obj +466 0 obj << -/D [458 0 R /XYZ 99.213 513.43 null] +/D [464 0 R /XYZ 99.213 513.43 null] >> endobj 66 0 obj << -/D [458 0 R /XYZ 99.213 156.138 null] +/D [464 0 R /XYZ 99.213 156.138 null] >> endobj -457 0 obj +463 0 obj << /Font << /F35 320 0 R /F32 319 0 R /F33 318 0 R >> -/XObject << /Im2 453 0 R >> +/XObject << /Im2 459 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -464 0 obj +470 0 obj << /Length 1545 /Filter /FlateDecode @@ -1943,42 +2002,42 @@ iW (L4ם;8k`%\j\)EEZ0uK> endobj 70 0 obj << -/D [463 0 R /XYZ 99.213 701.293 null] +/D [469 0 R /XYZ 99.213 701.293 null] >> endobj 74 0 obj << -/D [463 0 R /XYZ 99.213 563.937 null] +/D [469 0 R /XYZ 99.213 563.937 null] >> endobj 78 0 obj << -/D [463 0 R /XYZ 99.213 459.451 null] +/D [469 0 R /XYZ 99.213 459.451 null] >> endobj 82 0 obj << -/D [463 0 R /XYZ 99.213 371.4 null] +/D [469 0 R /XYZ 99.213 371.4 null] >> endobj -462 0 obj +468 0 obj << /Font << /F32 319 0 R /F33 318 0 R >> /ProcSet [ /PDF /Text ] >> endobj -469 0 obj +475 0 obj << /Length 1763 /Filter /FlateDecode @@ -1995,17 +2054,17 @@ PY \NoRHeg쯴< endstream endobj -468 0 obj +474 0 obj << /Type /Page -/Contents 469 0 R -/Resources 467 0 R +/Contents 475 0 R +/Resources 473 0 R /MediaBox [0 0 595.276 841.89] -/Parent 465 0 R -/Annots [ 466 0 R ] +/Parent 471 0 R +/Annots [ 472 0 R ] >> endobj -466 0 obj +472 0 obj << /Type /Annot /Subtype /Link @@ -2016,21 +2075,21 @@ endobj endobj 86 0 obj << -/D [468 0 R /XYZ 99.213 762.508 null] +/D [474 0 R /XYZ 99.213 762.508 null] >> endobj 90 0 obj << -/D [468 0 R /XYZ 99.213 526.185 null] +/D [474 0 R /XYZ 99.213 526.185 null] >> endobj -467 0 obj +473 0 obj << -/Font << /F35 320 0 R /F32 319 0 R /F62 439 0 R /F33 318 0 R /F74 440 0 R /F63 442 0 R >> +/Font << /F35 320 0 R /F32 319 0 R /F62 445 0 R /F33 318 0 R /F74 446 0 R /F63 448 0 R >> /ProcSet [ /PDF /Text ] >> endobj -482 0 obj +488 0 obj << /Length 1656 /Filter /FlateDecode @@ -2044,17 +2103,17 @@ xڍ 6:,(STNaeȗ. HqoXDbu摯Ώ=o> endobj -472 0 obj +478 0 obj << /Type /XObject /Subtype /Image @@ -2584,7 +2643,7 @@ x ڞ,eX5Uo4` >CR5ySHu[ ?OF0UxΦǏOUr<16X-OU$8,_x17{Jޅˁy endstream endobj -470 0 obj +476 0 obj << /Type /Annot /Subtype /Link @@ -2593,7 +2652,7 @@ endobj /A << /S /GoTo /D (cite.grafana) >> >> endobj -471 0 obj +477 0 obj << /Type /Annot /Subtype /Link @@ -2602,7 +2661,7 @@ endobj /A << /S /GoTo /D (figure.caption.5) >> >> endobj -474 0 obj +480 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -2610,7 +2669,7 @@ endobj /Subtype/Link/A<> >> endobj -485 0 obj +491 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -2618,7 +2677,7 @@ endobj /Subtype/Link/A<> >> endobj -475 0 obj +481 0 obj << /Type /Annot /Subtype /Link @@ -2627,7 +2686,7 @@ endobj /A << /S /GoTo /D (cite.kibana) >> >> endobj -476 0 obj +482 0 obj << /Type /Annot /Subtype /Link @@ -2636,7 +2695,7 @@ endobj /A << /S /GoTo /D (Hfootnote.2) >> >> endobj -478 0 obj +484 0 obj << /Type /Annot /Subtype /Link @@ -2647,42 +2706,42 @@ endobj endobj 94 0 obj << -/D [481 0 R /XYZ 99.213 762.508 null] +/D [487 0 R /XYZ 99.213 762.508 null] >> endobj 98 0 obj << -/D [481 0 R /XYZ 99.213 690.49 null] +/D [487 0 R /XYZ 99.213 690.49 null] >> endobj -483 0 obj +489 0 obj << -/D [481 0 R /XYZ 99.213 564.856 null] +/D [487 0 R /XYZ 99.213 564.856 null] >> endobj 102 0 obj << -/D [481 0 R /XYZ 99.213 254.63 null] +/D [487 0 R /XYZ 99.213 254.63 null] >> endobj 106 0 obj << -/D [481 0 R /XYZ 99.213 147.54 null] +/D [487 0 R /XYZ 99.213 147.54 null] +>> +endobj +492 0 obj +<< +/D [487 0 R /XYZ 115.8 84.03 null] >> endobj 486 0 obj << -/D [481 0 R /XYZ 115.8 84.03 null] ->> -endobj -480 0 obj -<< -/Font << /F35 320 0 R /F32 319 0 R /F33 318 0 R /F75 484 0 R /F61 438 0 R /F74 440 0 R /F63 442 0 R >> -/XObject << /Im3 472 0 R >> +/Font << /F35 320 0 R /F32 319 0 R /F33 318 0 R /F75 490 0 R /F61 444 0 R /F74 446 0 R /F63 448 0 R >> +/XObject << /Im3 478 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -492 0 obj +498 0 obj << /Length 413 /Filter /FlateDecode @@ -2692,17 +2751,17 @@ xڍSMO (R.,XJ#k;Xgpf}xyw-QBo]ߤE׹ endstream endobj -491 0 obj +497 0 obj << /Type /Page -/Contents 492 0 R -/Resources 490 0 R +/Contents 498 0 R +/Resources 496 0 R /MediaBox [0 0 595.276 841.89] -/Parent 465 0 R -/Group 454 0 R +/Parent 471 0 R +/Group 460 0 R >> endobj -477 0 obj +483 0 obj << /Type /XObject /Subtype /Image @@ -2710,7 +2769,7 @@ endobj /Height 1062 /BitsPerComponent 8 /ColorSpace /DeviceRGB -/SMask 495 0 R +/SMask 501 0 R /Length 290013 /Filter /FlateDecode >> @@ -4205,7 +4264,7 @@ B" !Ï endstream endobj -495 0 obj +501 0 obj << /Type /XObject /Subtype /Image @@ -4220,7 +4279,7 @@ stream x  oiF endstream endobj -479 0 obj +485 0 obj << /Type /XObject /Subtype /Image @@ -4228,7 +4287,7 @@ endobj /Height 1496 /BitsPerComponent 8 /ColorSpace /DeviceRGB -/SMask 496 0 R +/SMask 502 0 R /Length 323199 /Filter /FlateDecode >> @@ -5313,7 +5372,7 @@ uY>5Kl- jXU`8VW;jZulh >V7QŨX1͋jH HuYajLkXk_y ^_rVu $$$$$$$$$$$$$$$$$$$$$$$$)Koݐ endstream endobj -496 0 obj +502 0 obj << /Type /XObject /Subtype /Image @@ -5331,24 +5390,24 @@ n YlA}>w? RVq7 ?cp q>;umܼF!'{̷ani{ⶾ(n?Ouyq=dkC䚸ueB:nrR$|-qmݥ;y7Iɉ9mTp[[q} ?k :nr'/'ܡ&K5׆[[>78)nq)B7Muڸ9nrb|&ܸp-np#9nq%po& eeh/qÎ(F 7>EtqZx~6d/q89nanM!n nI:n~ LKh?װ]|>7nwӛ}l{ooOLv8{^7<]8gv;x̂Ѱ?rMܮ:a786itrk|7 L'nUcsrt=d۰j[zQ]aސqxIp8qLsfvTs_~·p8ə1d?`x;p˙s)Kp8nqGD?R HOqG~p8G8ׇ_ endstream endobj -493 0 obj +499 0 obj << -/D [491 0 R /XYZ 99.213 769.283 null] +/D [497 0 R /XYZ 99.213 769.283 null] >> endobj -494 0 obj +500 0 obj << -/D [491 0 R /XYZ 99.213 368.159 null] +/D [497 0 R /XYZ 99.213 368.159 null] >> endobj -490 0 obj +496 0 obj << /Font << /F33 318 0 R /F32 319 0 R >> -/XObject << /Im4 477 0 R /Im5 479 0 R >> +/XObject << /Im4 483 0 R /Im5 485 0 R >> /ProcSet [ /PDF /Text /ImageC /ImageI ] >> endobj -504 0 obj +510 0 obj << /Length 1492 /Filter /FlateDecode @@ -5367,17 +5426,17 @@ g H^aOe@g^%z1"cߵP+Ge^}sV\Q,!8>8`|C endstream endobj -503 0 obj +509 0 obj << /Type /Page -/Contents 504 0 R -/Resources 502 0 R +/Contents 510 0 R +/Resources 508 0 R /MediaBox [0 0 595.276 841.89] -/Parent 465 0 R -/Annots [ 497 0 R 498 0 R 500 0 R 501 0 R ] +/Parent 471 0 R +/Annots [ 503 0 R 504 0 R 506 0 R 507 0 R ] >> endobj -497 0 obj +503 0 obj << /Type /Annot /Subtype /Link @@ -5386,7 +5445,7 @@ endobj /A << /S /GoTo /D (cite.git) >> >> endobj -498 0 obj +504 0 obj << /Type /Annot /Subtype /Link @@ -5395,7 +5454,7 @@ endobj /A << /S /GoTo /D (cite.trello) >> >> endobj -500 0 obj +506 0 obj << /Type /Annot /Subtype /Link @@ -5404,7 +5463,7 @@ endobj /A << /S /GoTo /D (cite.vs) >> >> endobj -501 0 obj +507 0 obj << /Type /Annot /Subtype /Link @@ -5415,41 +5474,41 @@ endobj endobj 110 0 obj << -/D [503 0 R /XYZ 99.213 762.508 null] +/D [509 0 R /XYZ 99.213 762.508 null] >> endobj 114 0 obj << -/D [503 0 R /XYZ 99.213 509.75 null] +/D [509 0 R /XYZ 99.213 509.75 null] >> endobj 118 0 obj << -/D [503 0 R /XYZ 99.213 426.939 null] +/D [509 0 R /XYZ 99.213 426.939 null] >> endobj 122 0 obj << -/D [503 0 R /XYZ 99.213 324.091 null] +/D [509 0 R /XYZ 99.213 324.091 null] >> endobj 126 0 obj << -/D [503 0 R /XYZ 99.213 217 null] +/D [509 0 R /XYZ 99.213 217 null] >> endobj 130 0 obj << -/D [503 0 R /XYZ 99.213 144.901 null] +/D [509 0 R /XYZ 99.213 144.901 null] >> endobj -502 0 obj +508 0 obj << /Font << /F35 320 0 R /F32 319 0 R >> /ProcSet [ /PDF /Text ] >> endobj -512 0 obj +518 0 obj << /Length 1669 /Filter /FlateDecode @@ -5465,17 +5524,17 @@ xڍWK Fӧ}tO9D9dߵx Zmwvˌ\Aǘ p,1~cv`91IPBEףd f|A9\&[mOSkåяpN u3gƘ_q[7X1 &B[-7|ǘ cW{+aq)%OI+HM u~B} endstream endobj -511 0 obj +517 0 obj << /Type /Page -/Contents 512 0 R -/Resources 510 0 R +/Contents 518 0 R +/Resources 516 0 R /MediaBox [0 0 595.276 841.89] -/Parent 465 0 R -/Annots [ 509 0 R ] +/Parent 471 0 R +/Annots [ 515 0 R ] >> endobj -499 0 obj +505 0 obj << /Type /XObject /Subtype /Image @@ -5792,7 +5851,7 @@ t },Sw|wu/7mU~Ǘv _qedL`۾K\˖G_k6I;7&tzLC]uȭ+퍉Wسtƾ9؆ㇳ,>"8ٳX̋?*Ͽ|=GO|[lw`0x罡zѱɪMoy@`۾赉WmbQb,/GU"]Diol6Aʞq??0p)~ūlض/pm:o:c|H튛ӯmW5]Mo-=؎O?}d}[z i*] &Ze7&VHq}?d骍DmƤ_lZFO峺¶ Tycm!ܟ+GA;~|QVQ WFXro[[!wg? TmZFPND1xU6!>'y q̓l~ qbMNۖ%` <%B"jLU塦N[3Pmu[a[$1 nPQ[v -vu(Y` Zf}t7,`6T`[PbdKYmj2fMPlkk67܊=#0߂ټ7J|,2nC91}Ol[[@@llA@[[ll[[@@llAi O>PmUkxT@B endstream endobj -509 0 obj +515 0 obj << /Type /Annot /Subtype /Link @@ -5801,34 +5860,34 @@ endobj /A << /S /GoTo /D (cite.nuget) >> >> endobj -513 0 obj +519 0 obj << -/D [511 0 R /XYZ 99.213 769.283 null] +/D [517 0 R /XYZ 99.213 769.283 null] >> endobj 134 0 obj << -/D [511 0 R /XYZ 99.213 475.57 null] +/D [517 0 R /XYZ 99.213 475.57 null] >> endobj 138 0 obj << -/D [511 0 R /XYZ 99.213 263.399 null] +/D [517 0 R /XYZ 99.213 263.399 null] >> endobj 142 0 obj << -/D [511 0 R /XYZ 99.213 141.994 null] +/D [517 0 R /XYZ 99.213 141.994 null] >> endobj -510 0 obj +516 0 obj << /Font << /F33 318 0 R /F32 319 0 R /F35 320 0 R >> -/XObject << /Im6 499 0 R >> +/XObject << /Im6 505 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -524 0 obj +530 0 obj << /Length 2102 /Filter /FlateDecode @@ -5845,17 +5904,17 @@ K tC> endobj -515 0 obj +521 0 obj << /Type /Annot /Subtype /Link @@ -5864,7 +5923,7 @@ endobj /A << /S /GoTo /D (cite.jwt) >> >> endobj -516 0 obj +522 0 obj << /Type /Annot /Subtype /Link @@ -5873,7 +5932,7 @@ endobj /A << /S /GoTo /D (cite.signalr) >> >> endobj -517 0 obj +523 0 obj << /Type /Annot /Subtype /Link @@ -5882,7 +5941,7 @@ endobj /A << /S /GoTo /D (cite.mqttnet-github) >> >> endobj -518 0 obj +524 0 obj << /Type /Annot /Subtype /Link @@ -5891,7 +5950,7 @@ endobj /A << /S /GoTo /D (subsection.2.1.2) >> >> endobj -519 0 obj +525 0 obj << /Type /Annot /Subtype /Link @@ -5900,7 +5959,7 @@ endobj /A << /S /GoTo /D (cite.nlog) >> >> endobj -520 0 obj +526 0 obj << /Type /Annot /Subtype /Link @@ -5911,41 +5970,41 @@ endobj endobj 146 0 obj << -/D [523 0 R /XYZ 99.213 717.728 null] +/D [529 0 R /XYZ 99.213 717.728 null] >> endobj 150 0 obj << -/D [523 0 R /XYZ 99.213 547.018 null] +/D [529 0 R /XYZ 99.213 547.018 null] >> endobj 154 0 obj << -/D [523 0 R /XYZ 99.213 458.484 null] +/D [529 0 R /XYZ 99.213 458.484 null] >> endobj 158 0 obj << -/D [523 0 R /XYZ 99.213 386.385 null] +/D [529 0 R /XYZ 99.213 386.385 null] >> endobj 162 0 obj << -/D [523 0 R /XYZ 99.213 263.807 null] +/D [529 0 R /XYZ 99.213 263.807 null] >> endobj 166 0 obj << -/D [523 0 R /XYZ 99.213 168.802 null] +/D [529 0 R /XYZ 99.213 168.802 null] >> endobj -522 0 obj +528 0 obj << /Font << /F32 319 0 R /F35 320 0 R >> /ProcSet [ /PDF /Text ] >> endobj -536 0 obj +542 0 obj << /Length 1460 /Filter /FlateDecode @@ -5960,17 +6019,17 @@ B |;vF5<)[sl~B1g#8xn}~R$x׽ cX<7}ۃ ҷF>8j;)<l-[NZL,%p`e3~‰ؗ"1%f2%Tҗn$ag{d'zI|NhIQ7S\8:@#vU=^#`xf-SIo闞 :LS ?O3O> endobj -521 0 obj +527 0 obj << /Type /Annot /Subtype /Link @@ -5979,7 +6038,7 @@ endobj /A << /S /GoTo /D (cite.material) >> >> endobj -531 0 obj +537 0 obj << /Type /Annot /Subtype /Link @@ -5988,7 +6047,7 @@ endobj /A << /S /GoTo /D (cite.material-ui) >> >> endobj -532 0 obj +538 0 obj << /Type /Annot /Subtype /Link @@ -5997,7 +6056,7 @@ endobj /A << /S /GoTo /D (cite.apexcharts) >> >> endobj -533 0 obj +539 0 obj << /Type /Annot /Subtype /Link @@ -6008,26 +6067,26 @@ endobj endobj 170 0 obj << -/D [535 0 R /XYZ 99.213 762.508 null] +/D [541 0 R /XYZ 99.213 762.508 null] >> endobj 174 0 obj << -/D [535 0 R /XYZ 99.213 644.942 null] +/D [541 0 R /XYZ 99.213 644.942 null] >> endobj 178 0 obj << -/D [535 0 R /XYZ 99.213 542.094 null] +/D [541 0 R /XYZ 99.213 542.094 null] >> endobj -534 0 obj +540 0 obj << /Font << /F35 320 0 R /F32 319 0 R >> /ProcSet [ /PDF /Text ] >> endobj -543 0 obj +549 0 obj << /Length 1734 /Filter /FlateDecode @@ -6040,38 +6099,38 @@ xڝX 1^ϰ^̃[fǺ?:ƹDGݒ)\n68XX$EOy찋%`~|/VJ;OXde VۅVXQփD.:i=TYm8>"F,GiKt0QZp3vV+ժ=\z޺V8C!Rh-O?) endstream endobj -542 0 obj +548 0 obj << /Type /Page -/Contents 543 0 R -/Resources 541 0 R +/Contents 549 0 R +/Resources 547 0 R /MediaBox [0 0 595.276 841.89] -/Parent 525 0 R +/Parent 531 0 R >> endobj 182 0 obj << -/D [542 0 R /XYZ 99.213 762.508 null] +/D [548 0 R /XYZ 99.213 762.508 null] >> endobj 186 0 obj << -/D [542 0 R /XYZ 99.213 524.064 null] +/D [548 0 R /XYZ 99.213 524.064 null] >> endobj 190 0 obj << -/D [542 0 R /XYZ 99.213 209.112 null] ->> -endobj -541 0 obj -<< -/Font << /F35 320 0 R /F32 319 0 R /F62 439 0 R /F33 318 0 R /F75 484 0 R >> -/ProcSet [ /PDF /Text ] +/D [548 0 R /XYZ 99.213 209.112 null] >> endobj 547 0 obj << +/Font << /F35 320 0 R /F32 319 0 R /F62 445 0 R /F33 318 0 R /F75 490 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +553 0 obj +<< /Length 2714 /Filter /FlateDecode >> @@ -6087,17 +6146,17 @@ fr |ܗnw=\zTb_"G?C/w\[)7s?)F4+ܼh7YpL>Isl>R":-P)F_H8i@i;6~icq+3Xy6V3պ$ؑ5O3N N z:O݇OE;~#C<<0ӤmZd.26ꪒi}Ëdm3aE,B|{tTwd$0H?S" PFV!Ν-&fTKػhlVi.pu0'!~5_؁ endstream endobj -546 0 obj +552 0 obj << /Type /Page -/Contents 547 0 R -/Resources 545 0 R +/Contents 553 0 R +/Resources 551 0 R /MediaBox [0 0 595.276 841.89] -/Parent 525 0 R -/Annots [ 544 0 R ] +/Parent 531 0 R +/Annots [ 550 0 R ] >> endobj -544 0 obj +550 0 obj << /Type /Annot /Subtype /Link @@ -6108,131 +6167,131 @@ endobj endobj 194 0 obj << -/D [546 0 R /XYZ 99.213 762.508 null] ->> -endobj -548 0 obj -<< -/D [546 0 R /XYZ 99.213 654.23 null] ->> -endobj -549 0 obj -<< -/D [546 0 R /XYZ 116.149 656.351 null] ->> -endobj -550 0 obj -<< -/D [546 0 R /XYZ 116.149 644.87 null] ->> -endobj -551 0 obj -<< -/D [546 0 R /XYZ 116.149 633.39 null] ->> -endobj -552 0 obj -<< -/D [546 0 R /XYZ 116.149 621.91 null] ->> -endobj -553 0 obj -<< -/D [546 0 R /XYZ 116.149 610.429 null] +/D [552 0 R /XYZ 99.213 762.508 null] >> endobj 554 0 obj << -/D [546 0 R /XYZ 116.149 598.949 null] +/D [552 0 R /XYZ 99.213 654.23 null] >> endobj 555 0 obj << -/D [546 0 R /XYZ 116.149 587.468 null] +/D [552 0 R /XYZ 116.149 656.351 null] >> endobj 556 0 obj << -/D [546 0 R /XYZ 116.149 575.988 null] +/D [552 0 R /XYZ 116.149 644.87 null] >> endobj 557 0 obj << -/D [546 0 R /XYZ 116.149 564.507 null] +/D [552 0 R /XYZ 116.149 633.39 null] >> endobj 558 0 obj << -/D [546 0 R /XYZ 116.149 553.027 null] +/D [552 0 R /XYZ 116.149 621.91 null] >> endobj 559 0 obj << -/D [546 0 R /XYZ 116.149 541.547 null] +/D [552 0 R /XYZ 116.149 610.429 null] >> endobj 560 0 obj << -/D [546 0 R /XYZ 116.149 530.066 null] +/D [552 0 R /XYZ 116.149 598.949 null] >> endobj 561 0 obj << -/D [546 0 R /XYZ 116.149 518.586 null] +/D [552 0 R /XYZ 116.149 587.468 null] >> endobj 562 0 obj << -/D [546 0 R /XYZ 116.149 507.105 null] +/D [552 0 R /XYZ 116.149 575.988 null] >> endobj 563 0 obj << -/D [546 0 R /XYZ 116.149 495.625 null] +/D [552 0 R /XYZ 116.149 564.507 null] >> endobj 564 0 obj << -/D [546 0 R /XYZ 116.149 484.145 null] +/D [552 0 R /XYZ 116.149 553.027 null] >> endobj 565 0 obj << -/D [546 0 R /XYZ 116.149 472.664 null] +/D [552 0 R /XYZ 116.149 541.547 null] >> endobj 566 0 obj << -/D [546 0 R /XYZ 116.149 461.184 null] +/D [552 0 R /XYZ 116.149 530.066 null] >> endobj 567 0 obj << -/D [546 0 R /XYZ 116.149 449.703 null] +/D [552 0 R /XYZ 116.149 518.586 null] >> endobj 568 0 obj << -/D [546 0 R /XYZ 116.149 438.223 null] +/D [552 0 R /XYZ 116.149 507.105 null] +>> +endobj +569 0 obj +<< +/D [552 0 R /XYZ 116.149 495.625 null] +>> +endobj +570 0 obj +<< +/D [552 0 R /XYZ 116.149 484.145 null] +>> +endobj +571 0 obj +<< +/D [552 0 R /XYZ 116.149 472.664 null] +>> +endobj +572 0 obj +<< +/D [552 0 R /XYZ 116.149 461.184 null] +>> +endobj +573 0 obj +<< +/D [552 0 R /XYZ 116.149 449.703 null] +>> +endobj +574 0 obj +<< +/D [552 0 R /XYZ 116.149 438.223 null] >> endobj 198 0 obj << -/D [546 0 R /XYZ 99.213 324.232 null] +/D [552 0 R /XYZ 99.213 324.232 null] >> endobj 202 0 obj << -/D [546 0 R /XYZ 99.213 203.774 null] +/D [552 0 R /XYZ 99.213 203.774 null] >> endobj -545 0 obj +551 0 obj << -/Font << /F35 320 0 R /F32 319 0 R /F75 484 0 R /F74 440 0 R /F33 318 0 R >> +/Font << /F35 320 0 R /F32 319 0 R /F75 490 0 R /F74 446 0 R /F33 318 0 R >> /ProcSet [ /PDF /Text ] >> endobj -579 0 obj +585 0 obj << /Length 3010 /Filter /FlateDecode @@ -6252,17 +6311,17 @@ h& ePS}p'0|9ނ:͈SLG3n4ӟAvYEd]Ɲ(xctv_i<7GA P"to/P؉xs_]|n2&Hڨus+77q 426r ɔpi)7FQ*$W>FtŌv)ೝ`.?L%x!0oT:amqy@bFE//H\~ endstream endobj -578 0 obj +584 0 obj << /Type /Page -/Contents 579 0 R -/Resources 577 0 R +/Contents 585 0 R +/Resources 583 0 R /MediaBox [0 0 595.276 841.89] -/Parent 525 0 R -/Annots [ 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R ] +/Parent 531 0 R +/Annots [ 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R ] >> endobj -570 0 obj +576 0 obj << /Type /Annot /Subtype /Link @@ -6271,7 +6330,7 @@ endobj /A << /S /GoTo /D (cite.hmacsha512) >> >> endobj -571 0 obj +577 0 obj << /Type /Annot /Subtype /Link @@ -6280,7 +6339,7 @@ endobj /A << /S /GoTo /D (Hfootnote.3) >> >> endobj -572 0 obj +578 0 obj << /Type /Annot /Subtype /Link @@ -6289,7 +6348,7 @@ endobj /A << /S /GoTo /D (subsubsection.2.2.1.3) >> >> endobj -573 0 obj +579 0 obj << /Type /Annot /Subtype /Link @@ -6298,7 +6357,7 @@ endobj /A << /S /GoTo /D (subsubsection.2.2.1.2) >> >> endobj -574 0 obj +580 0 obj << /Type /Annot /Subtype /Link @@ -6309,21 +6368,21 @@ endobj endobj 206 0 obj << -/D [578 0 R /XYZ 99.213 471.201 null] +/D [584 0 R /XYZ 99.213 471.201 null] >> endobj -580 0 obj +586 0 obj << -/D [578 0 R /XYZ 115.8 128.295 null] +/D [584 0 R /XYZ 115.8 128.295 null] >> endobj -577 0 obj +583 0 obj << -/Font << /F32 319 0 R /F75 484 0 R /F61 438 0 R /F35 320 0 R /F74 440 0 R /F63 442 0 R >> +/Font << /F32 319 0 R /F75 490 0 R /F61 444 0 R /F35 320 0 R /F74 446 0 R /F63 448 0 R >> /ProcSet [ /PDF /Text ] >> endobj -588 0 obj +594 0 obj << /Length 2026 /Filter /FlateDecode @@ -6337,18 +6396,18 @@ Q 桉cc49]N 1~g+GS-m^ `ƣk!Lp4dAI]OھP&7` (3!i㟽-` A77f$ތ9L (p(fa^^@Pۙ"_kz:f"Uٶ1 caJ[~WE1T#(NA iP7 endstream endobj -587 0 obj +593 0 obj << /Type /Page -/Contents 588 0 R -/Resources 586 0 R +/Contents 594 0 R +/Resources 592 0 R /MediaBox [0 0 595.276 841.89] -/Parent 525 0 R -/Group 454 0 R -/Annots [ 576 0 R 583 0 R ] +/Parent 531 0 R +/Group 460 0 R +/Annots [ 582 0 R 589 0 R ] >> endobj -575 0 obj +581 0 obj << /Type /XObject /Subtype /Image @@ -6356,7 +6415,7 @@ endobj /Height 564 /BitsPerComponent 8 /ColorSpace /DeviceRGB -/SMask 603 0 R +/SMask 609 0 R /Length 26573 /Filter /FlateDecode >> @@ -6456,7 +6515,7 @@ F H+UiV@ZVi@ZiViEZiV@ZViV@ZViEZ@ZVi@ZiV@ZiV@ZViV@ZV77H+ci@ZiV@ZiV@ZViEZiV@Zn K-7 endstream endobj -603 0 obj +609 0 obj << /Type /XObject /Subtype /Image @@ -6498,7 +6557,7 @@ N NI`Ҧ$4ʁ(@ endstream endobj -576 0 obj +582 0 obj << /Type /Annot /Subtype /Link @@ -6507,7 +6566,7 @@ endobj /A << /S /GoTo /D (subsection.5.2.2) >> >> endobj -583 0 obj +589 0 obj << /Type /Annot /Subtype /Link @@ -6516,95 +6575,95 @@ endobj /A << /S /GoTo /D (lstlisting.5.2) >> >> endobj -582 0 obj +588 0 obj << -/D [587 0 R /XYZ 99.213 769.283 null] +/D [593 0 R /XYZ 99.213 769.283 null] >> endobj 210 0 obj << -/D [587 0 R /XYZ 99.213 497.431 null] ->> -endobj -589 0 obj -<< -/D [587 0 R /XYZ 99.213 336.886 null] ->> -endobj -590 0 obj -<< -/D [587 0 R /XYZ 99.213 327.123 null] ->> -endobj -591 0 obj -<< -/D [587 0 R /XYZ 99.213 329.962 null] ->> -endobj -592 0 obj -<< -/D [587 0 R /XYZ 99.213 320.497 null] ->> -endobj -593 0 obj -<< -/D [587 0 R /XYZ 99.213 311.033 null] ->> -endobj -594 0 obj -<< -/D [587 0 R /XYZ 99.213 301.568 null] +/D [593 0 R /XYZ 99.213 497.431 null] >> endobj 595 0 obj << -/D [587 0 R /XYZ 99.213 292.104 null] +/D [593 0 R /XYZ 99.213 336.886 null] >> endobj 596 0 obj << -/D [587 0 R /XYZ 99.213 282.639 null] +/D [593 0 R /XYZ 99.213 327.123 null] >> endobj 597 0 obj << -/D [587 0 R /XYZ 99.213 273.175 null] +/D [593 0 R /XYZ 99.213 329.962 null] >> endobj 598 0 obj << -/D [587 0 R /XYZ 99.213 263.71 null] +/D [593 0 R /XYZ 99.213 320.497 null] >> endobj 599 0 obj << -/D [587 0 R /XYZ 99.213 254.246 null] +/D [593 0 R /XYZ 99.213 311.033 null] >> endobj 600 0 obj << -/D [587 0 R /XYZ 99.213 244.781 null] +/D [593 0 R /XYZ 99.213 301.568 null] >> endobj 601 0 obj << -/D [587 0 R /XYZ 99.213 235.317 null] +/D [593 0 R /XYZ 99.213 292.104 null] >> endobj 602 0 obj << -/D [587 0 R /XYZ 99.213 225.852 null] +/D [593 0 R /XYZ 99.213 282.639 null] >> endobj -586 0 obj +603 0 obj << -/Font << /F33 318 0 R /F32 319 0 R /F35 320 0 R /F75 484 0 R >> -/XObject << /Im7 575 0 R >> -/ProcSet [ /PDF /Text /ImageC ] +/D [593 0 R /XYZ 99.213 273.175 null] +>> +endobj +604 0 obj +<< +/D [593 0 R /XYZ 99.213 263.71 null] +>> +endobj +605 0 obj +<< +/D [593 0 R /XYZ 99.213 254.246 null] +>> +endobj +606 0 obj +<< +/D [593 0 R /XYZ 99.213 244.781 null] +>> +endobj +607 0 obj +<< +/D [593 0 R /XYZ 99.213 235.317 null] >> endobj 608 0 obj << +/D [593 0 R /XYZ 99.213 225.852 null] +>> +endobj +592 0 obj +<< +/Font << /F33 318 0 R /F32 319 0 R /F35 320 0 R /F75 490 0 R >> +/XObject << /Im7 581 0 R >> +/ProcSet [ /PDF /Text /ImageC ] +>> +endobj +614 0 obj +<< /Length 2056 /Filter /FlateDecode >> @@ -6616,17 +6675,17 @@ x i$*Enw4?rT\(UJTVXח/btDW3oM_s{F­HYoAb}Z_y]N>3_3[!RLڤ=?MA endstream endobj -607 0 obj +613 0 obj << /Type /Page -/Contents 608 0 R -/Resources 606 0 R +/Contents 614 0 R +/Resources 612 0 R /MediaBox [0 0 595.276 841.89] -/Parent 624 0 R -/Annots [ 584 0 R 585 0 R 605 0 R ] +/Parent 630 0 R +/Annots [ 590 0 R 591 0 R 611 0 R ] >> endobj -604 0 obj +610 0 obj << /Type /XObject /Subtype /Image @@ -6760,7 +6819,7 @@ zˑ :܈#sRT"N4F HRt:v%?SL4Fr4KmEDDDDDDDDD*],\""""""""""?BD,"""""""""" ,D""""""""""?BD,"""""""""" ,D""""""""""?Bd)#"""""""""x?/y*IHXZ.z\t:J iAJ"hTy\EK&D"D"L&Ƃ HZhsϙK611 6omh~Ƴ ĒD:?7K<99Au\yk]pz F}ybO2 ܈Ce.h33k%Kw~NRdrήx{hX]g;d*j] TMA"-~| H$ X4sqh?ONNNLLbݽ@)=OLL4%wبP>7{<<<^|sXA/kM|7^C̴d&'3Ew)ksu˵L>ϵ϶ݨ}#}?k˵`){/:k_gGcgY hp<>۱=WgY W7;Mיs׾N? endstream endobj -584 0 obj +590 0 obj << /Type /Annot /Subtype /Link @@ -6769,7 +6828,7 @@ endobj /A << /S /GoTo /D (cite.nswag) >> >> endobj -585 0 obj +591 0 obj << /Type /Annot /Subtype /Link @@ -6778,7 +6837,7 @@ endobj /A << /S /GoTo /D (cite.swagger-ui) >> >> endobj -605 0 obj +611 0 obj << /Type /Annot /Subtype /Link @@ -6789,97 +6848,97 @@ endobj endobj 214 0 obj << -/D [607 0 R /XYZ 99.213 762.508 null] ->> -endobj -609 0 obj -<< -/D [607 0 R /XYZ 99.213 673.583 null] ->> -endobj -218 0 obj -<< -/D [607 0 R /XYZ 99.213 376.906 null] ->> -endobj -610 0 obj -<< -/D [607 0 R /XYZ 99.213 311.973 null] ->> -endobj -611 0 obj -<< -/D [607 0 R /XYZ 116.149 314.094 null] ->> -endobj -612 0 obj -<< -/D [607 0 R /XYZ 116.149 302.614 null] ->> -endobj -613 0 obj -<< -/D [607 0 R /XYZ 116.149 291.134 null] ->> -endobj -614 0 obj -<< -/D [607 0 R /XYZ 116.149 279.653 null] +/D [613 0 R /XYZ 99.213 762.508 null] >> endobj 615 0 obj << -/D [607 0 R /XYZ 116.149 268.173 null] +/D [613 0 R /XYZ 99.213 673.583 null] +>> +endobj +218 0 obj +<< +/D [613 0 R /XYZ 99.213 376.906 null] >> endobj 616 0 obj << -/D [607 0 R /XYZ 116.149 256.692 null] +/D [613 0 R /XYZ 99.213 311.973 null] >> endobj 617 0 obj << -/D [607 0 R /XYZ 116.149 245.212 null] +/D [613 0 R /XYZ 116.149 314.094 null] >> endobj 618 0 obj << -/D [607 0 R /XYZ 116.149 233.731 null] +/D [613 0 R /XYZ 116.149 302.614 null] >> endobj 619 0 obj << -/D [607 0 R /XYZ 116.149 222.251 null] +/D [613 0 R /XYZ 116.149 291.134 null] >> endobj 620 0 obj << -/D [607 0 R /XYZ 116.149 210.771 null] +/D [613 0 R /XYZ 116.149 279.653 null] >> endobj 621 0 obj << -/D [607 0 R /XYZ 116.149 199.29 null] +/D [613 0 R /XYZ 116.149 268.173 null] >> endobj 622 0 obj << -/D [607 0 R /XYZ 116.149 187.81 null] +/D [613 0 R /XYZ 116.149 256.692 null] >> endobj 623 0 obj << -/D [607 0 R /XYZ 116.149 176.329 null] +/D [613 0 R /XYZ 116.149 245.212 null] >> endobj -606 0 obj +624 0 obj << -/Font << /F35 320 0 R /F32 319 0 R /F33 318 0 R /F74 440 0 R /F75 484 0 R >> -/XObject << /Im8 604 0 R >> +/D [613 0 R /XYZ 116.149 233.731 null] +>> +endobj +625 0 obj +<< +/D [613 0 R /XYZ 116.149 222.251 null] +>> +endobj +626 0 obj +<< +/D [613 0 R /XYZ 116.149 210.771 null] +>> +endobj +627 0 obj +<< +/D [613 0 R /XYZ 116.149 199.29 null] +>> +endobj +628 0 obj +<< +/D [613 0 R /XYZ 116.149 187.81 null] +>> +endobj +629 0 obj +<< +/D [613 0 R /XYZ 116.149 176.329 null] +>> +endobj +612 0 obj +<< +/Font << /F35 320 0 R /F32 319 0 R /F33 318 0 R /F74 446 0 R /F75 490 0 R >> +/XObject << /Im8 610 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -630 0 obj +636 0 obj << /Length 2479 /Filter /FlateDecode @@ -6897,17 +6956,17 @@ b dR\b;h6.V l4S>,'$DVmHsh߫Ä￾sG٢H!'e isj06Ћqq78*1S)|Pm=4P7i+6n !f K/y)|5KW32}Ӕ>HטFB1Lq>>?Ibl6pS7vu~ok챌peJ`,dOPV%Q?})b`%'8k6Zׯ 䛥ZV(0.d{Yon^Vg. endstream endobj -629 0 obj +635 0 obj << /Type /Page -/Contents 630 0 R -/Resources 628 0 R +/Contents 636 0 R +/Resources 634 0 R /MediaBox [0 0 595.276 841.89] -/Parent 624 0 R -/Annots [ 627 0 R ] +/Parent 630 0 R +/Annots [ 633 0 R ] >> endobj -627 0 obj +633 0 obj << /Type /Annot /Subtype /Link @@ -6916,13 +6975,13 @@ endobj /A << /S /GoTo /D (cite.automapper) >> >> endobj -628 0 obj +634 0 obj << -/Font << /F32 319 0 R /F75 484 0 R /F62 439 0 R /F33 318 0 R >> +/Font << /F32 319 0 R /F75 490 0 R /F62 445 0 R /F33 318 0 R >> /ProcSet [ /PDF /Text ] >> endobj -634 0 obj +640 0 obj << /Length 1293 /Filter /FlateDecode @@ -6935,93 +6994,93 @@ x Pe?1}= su!Je4msflC)Nſ8eY|2'3v9SlLRX6>|^5맬EuUXi4dR 2N-qw`(%Vv弭C{ p[!(FgOF'夯jKOj)QJ$t$pBqy XSqQ*fmT S1h+m[bUٳ=cgg  WR[Z?`88zt6iyp\m>8Cm}ƚ6#˚wrmC$#[>;EQ ͗ev<(R%QHJLsdrr3-lpBq%1`6R6HmCIL{[SB&XEtܣtHFp=X}G:VYB͑kL@Zmt&|H endstream endobj -633 0 obj -<< -/Type /Page -/Contents 634 0 R -/Resources 632 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 624 0 R ->> -endobj -635 0 obj -<< -/D [633 0 R /XYZ 99.213 762.508 null] ->> -endobj -636 0 obj -<< -/D [633 0 R /XYZ 116.149 763.03 null] ->> -endobj -637 0 obj -<< -/D [633 0 R /XYZ 116.149 751.549 null] ->> -endobj -638 0 obj -<< -/D [633 0 R /XYZ 116.149 740.069 null] ->> -endobj 639 0 obj << -/D [633 0 R /XYZ 116.149 728.589 null] ->> -endobj -640 0 obj -<< -/D [633 0 R /XYZ 116.149 717.108 null] +/Type /Page +/Contents 640 0 R +/Resources 638 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 630 0 R >> endobj 641 0 obj << -/D [633 0 R /XYZ 116.149 705.628 null] +/D [639 0 R /XYZ 99.213 762.508 null] >> endobj 642 0 obj << -/D [633 0 R /XYZ 116.149 694.147 null] +/D [639 0 R /XYZ 116.149 763.03 null] >> endobj 643 0 obj << -/D [633 0 R /XYZ 116.149 682.667 null] +/D [639 0 R /XYZ 116.149 751.549 null] >> endobj 644 0 obj << -/D [633 0 R /XYZ 116.149 671.186 null] +/D [639 0 R /XYZ 116.149 740.069 null] >> endobj 645 0 obj << -/D [633 0 R /XYZ 116.149 659.706 null] +/D [639 0 R /XYZ 116.149 728.589 null] >> endobj 646 0 obj << -/D [633 0 R /XYZ 116.149 648.226 null] +/D [639 0 R /XYZ 116.149 717.108 null] >> endobj 647 0 obj << -/D [633 0 R /XYZ 116.149 636.745 null] +/D [639 0 R /XYZ 116.149 705.628 null] >> endobj 648 0 obj << -/D [633 0 R /XYZ 116.149 625.265 null] +/D [639 0 R /XYZ 116.149 694.147 null] >> endobj -632 0 obj +649 0 obj << -/Font << /F74 440 0 R /F75 484 0 R /F33 318 0 R /F32 319 0 R >> -/ProcSet [ /PDF /Text ] +/D [639 0 R /XYZ 116.149 682.667 null] +>> +endobj +650 0 obj +<< +/D [639 0 R /XYZ 116.149 671.186 null] +>> +endobj +651 0 obj +<< +/D [639 0 R /XYZ 116.149 659.706 null] >> endobj 652 0 obj << +/D [639 0 R /XYZ 116.149 648.226 null] +>> +endobj +653 0 obj +<< +/D [639 0 R /XYZ 116.149 636.745 null] +>> +endobj +654 0 obj +<< +/D [639 0 R /XYZ 116.149 625.265 null] +>> +endobj +638 0 obj +<< +/Font << /F74 446 0 R /F75 490 0 R /F33 318 0 R /F32 319 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +658 0 obj +<< /Length 2295 /Filter /FlateDecode >> @@ -7034,17 +7093,17 @@ x À\F|22Ğ&wjp>'?PVd67j_fgr 쫧񡮣|YTYp$WY VT门`kaz}N֌\]3_48c+8zvb5.-gF"x endstream endobj -651 0 obj +657 0 obj << /Type /Page -/Contents 652 0 R -/Resources 650 0 R +/Contents 658 0 R +/Resources 656 0 R /MediaBox [0 0 595.276 841.89] -/Parent 624 0 R -/Annots [ 649 0 R ] +/Parent 630 0 R +/Annots [ 655 0 R ] >> endobj -649 0 obj +655 0 obj << /Type /Annot /Subtype /Link @@ -7055,71 +7114,71 @@ endobj endobj 222 0 obj << -/D [651 0 R /XYZ 99.213 762.508 null] +/D [657 0 R /XYZ 99.213 762.508 null] >> endobj 226 0 obj << -/D [651 0 R /XYZ 99.213 524.064 null] ->> -endobj -653 0 obj -<< -/D [651 0 R /XYZ 99.213 354.05 null] ->> -endobj -654 0 obj -<< -/D [651 0 R /XYZ 116.149 356.171 null] ->> -endobj -655 0 obj -<< -/D [651 0 R /XYZ 116.149 344.691 null] ->> -endobj -656 0 obj -<< -/D [651 0 R /XYZ 116.149 333.211 null] ->> -endobj -657 0 obj -<< -/D [651 0 R /XYZ 116.149 321.73 null] ->> -endobj -658 0 obj -<< -/D [651 0 R /XYZ 116.149 310.25 null] +/D [657 0 R /XYZ 99.213 524.064 null] >> endobj 659 0 obj << -/D [651 0 R /XYZ 116.149 298.769 null] +/D [657 0 R /XYZ 99.213 354.05 null] >> endobj 660 0 obj << -/D [651 0 R /XYZ 116.149 287.289 null] +/D [657 0 R /XYZ 116.149 356.171 null] >> endobj 661 0 obj << -/D [651 0 R /XYZ 116.149 275.809 null] +/D [657 0 R /XYZ 116.149 344.691 null] >> endobj 662 0 obj << -/D [651 0 R /XYZ 116.149 264.328 null] +/D [657 0 R /XYZ 116.149 333.211 null] >> endobj -650 0 obj +663 0 obj << -/Font << /F35 320 0 R /F32 319 0 R /F75 484 0 R /F74 440 0 R /F33 318 0 R /F62 439 0 R >> +/D [657 0 R /XYZ 116.149 321.73 null] +>> +endobj +664 0 obj +<< +/D [657 0 R /XYZ 116.149 310.25 null] +>> +endobj +665 0 obj +<< +/D [657 0 R /XYZ 116.149 298.769 null] +>> +endobj +666 0 obj +<< +/D [657 0 R /XYZ 116.149 287.289 null] +>> +endobj +667 0 obj +<< +/D [657 0 R /XYZ 116.149 275.809 null] +>> +endobj +668 0 obj +<< +/D [657 0 R /XYZ 116.149 264.328 null] +>> +endobj +656 0 obj +<< +/Font << /F35 320 0 R /F32 319 0 R /F75 490 0 R /F74 446 0 R /F33 318 0 R /F62 445 0 R >> /ProcSet [ /PDF /Text ] >> endobj -670 0 obj +676 0 obj << /Length 1723 /Filter /FlateDecode @@ -7140,18 +7199,18 @@ b S!#} ~%R/?YY endstream endobj -669 0 obj +675 0 obj << /Type /Page -/Contents 670 0 R -/Resources 668 0 R +/Contents 676 0 R +/Resources 674 0 R /MediaBox [0 0 595.276 841.89] -/Parent 624 0 R -/Group 454 0 R -/Annots [ 663 0 R 665 0 R 666 0 R 667 0 R ] +/Parent 630 0 R +/Group 460 0 R +/Annots [ 669 0 R 671 0 R 672 0 R 673 0 R ] >> endobj -664 0 obj +670 0 obj << /Type /XObject /Subtype /Image @@ -7159,7 +7218,7 @@ endobj /Height 789 /BitsPerComponent 8 /ColorSpace /DeviceRGB -/SMask 673 0 R +/SMask 679 0 R /Length 28628 /Filter /FlateDecode >> @@ -7234,7 +7293,7 @@ O {~vIm*?*ΏΏ 7]Rvv!k*?*Ώjj&]]Hmʏʯڅ%k:?:?6`hHmʏʯڅ5_G KjPQu~vv!k*?*ΏgV.]xF&:?:?|uV]]mR5_G<޽{SSJ3gRs5Z)v饗R]tQCCKRSScPHmʏʯC\s5-< k*?*Ώ9ԷohBjT~T~r(P=s3g4[jT~_!vCM^SA6y 5M^8S&3kLm@>S&3kLm@>S&3kLm@>S&3kLm@>S&3kLm@>S&3kLm@>S&䖼@l endstream endobj -673 0 obj +679 0 obj << /Type /XObject /Subtype /Image @@ -7279,7 +7338,7 @@ G ~4I/vSQg;HfB;WD>Aj&|Qg;ɨ)5S]T˳VGTԊ6>W##pH\1>W##pH\1>W##pH\1>W##pH\1>W##pH\1>W##pH\1>W##pH\ endstream endobj -663 0 obj +669 0 obj << /Type /Annot /Subtype /Link @@ -7288,7 +7347,7 @@ endobj /A << /S /GoTo /D (figure.caption.12) >> >> endobj -665 0 obj +671 0 obj << /Type /Annot /Subtype /Link @@ -7297,7 +7356,7 @@ endobj /A << /S /GoTo /D (subsection.5.4.1) >> >> endobj -666 0 obj +672 0 obj << /Type /Annot /Subtype /Link @@ -7306,7 +7365,7 @@ endobj /A << /S /GoTo /D (cite.nswag-studio) >> >> endobj -667 0 obj +673 0 obj << /Type /Annot /Subtype /Link @@ -7315,29 +7374,29 @@ endobj /A << /S /GoTo /D (Hfootnote.4) >> >> endobj -671 0 obj +677 0 obj << -/D [669 0 R /XYZ 99.213 579.896 null] +/D [675 0 R /XYZ 99.213 579.896 null] >> endobj 230 0 obj << -/D [669 0 R /XYZ 99.213 234.229 null] +/D [675 0 R /XYZ 99.213 234.229 null] >> endobj -672 0 obj +678 0 obj << -/D [669 0 R /XYZ 115.8 129.258 null] +/D [675 0 R /XYZ 115.8 129.258 null] >> endobj -668 0 obj +674 0 obj << -/Font << /F32 319 0 R /F75 484 0 R /F33 318 0 R /F35 320 0 R /F61 438 0 R /F74 440 0 R /F63 442 0 R >> -/XObject << /Im9 664 0 R >> +/Font << /F32 319 0 R /F75 490 0 R /F33 318 0 R /F35 320 0 R /F61 444 0 R /F74 446 0 R /F63 448 0 R >> +/XObject << /Im9 670 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -679 0 obj +685 0 obj << /Length 1250 /Filter /FlateDecode @@ -7348,18 +7407,18 @@ l yB_8 >\a9_MuW\ڔ:2-R鸭7tWoQ/L'yьZ0 Jmłvekͩ53.~fwmN̈q21:wX|x(i9 r0-$5Kq,y:bEoVl+sY2 +~2?ΦYz: p\b^<J^B'>۟SX,$Lq2A^:\,J\wTŰCO&tt/' )2aLOڑ*H<uC\ \4$B*q.q4 9o1(5c"=Ü8 "鍕FH|T-v0txą5:<4Dn !W"{Q   i_ ! *|,P%jAt\!!AB˄F 0(Δ(+HؘCU@d.HZ2> endobj -674 0 obj +680 0 obj << /Type /XObject /Subtype /Image @@ -7367,7 +7426,7 @@ endobj /Height 132 /BitsPerComponent 8 /ColorSpace /DeviceRGB -/SMask 682 0 R +/SMask 688 0 R /Length 6489 /Filter /FlateDecode >> @@ -7385,7 +7444,7 @@ S ˬܥ!F_b39U*_TZ˿^ˏ8__]㪬Q$J(y)Rf Ǖ.թ*݆x t)YTY_^2KZW9)tKJ N>OB;Eʫ. N]u_QU 6Ji#,ɛ_&W*l.%ҡXq/P:P: эP:P:N9 endstream endobj -682 0 obj +688 0 obj << /Type /XObject /Subtype /Image @@ -7400,7 +7459,7 @@ stream x  oã endstream endobj -676 0 obj +682 0 obj << /Type /XObject /Subtype /Image @@ -7443,7 +7502,7 @@ R _ƧNka6m6cۆ-n}w[.tUnJu `j` K}n-nӂVC_|`ۀ %: u$S̭>!6o:> endobj 238 0 obj << -/D [678 0 R /XYZ 99.213 690.49 null] +/D [684 0 R /XYZ 99.213 690.49 null] >> endobj -680 0 obj +686 0 obj << -/D [678 0 R /XYZ 99.213 579.17 null] +/D [684 0 R /XYZ 99.213 579.17 null] >> endobj 242 0 obj << -/D [678 0 R /XYZ 99.213 380.116 null] +/D [684 0 R /XYZ 99.213 380.116 null] >> endobj -681 0 obj +687 0 obj << -/D [678 0 R /XYZ 99.213 318.101 null] +/D [684 0 R /XYZ 99.213 318.101 null] >> endobj -677 0 obj +683 0 obj << -/Font << /F35 320 0 R /F32 319 0 R /F75 484 0 R /F33 318 0 R >> -/XObject << /Im10 674 0 R /Im11 676 0 R >> +/Font << /F35 320 0 R /F32 319 0 R /F75 490 0 R /F33 318 0 R >> +/XObject << /Im10 680 0 R /Im11 682 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -690 0 obj +696 0 obj << /Length 1907 /Filter /FlateDecode @@ -7502,17 +7561,17 @@ Ne t9dV9^n-I@o%(o=/IL endstream endobj -689 0 obj +695 0 obj << /Type /Page -/Contents 690 0 R -/Resources 688 0 R +/Contents 696 0 R +/Resources 694 0 R /MediaBox [0 0 595.276 841.89] -/Parent 693 0 R -/Annots [ 683 0 R 684 0 R 686 0 R ] +/Parent 699 0 R +/Annots [ 689 0 R 690 0 R 692 0 R ] >> endobj -685 0 obj +691 0 obj << /Type /XObject /Subtype /Image @@ -7562,7 +7621,7 @@ Gj rQ endstream endobj -683 0 obj +689 0 obj << /Type /Annot /Subtype /Link @@ -7571,7 +7630,7 @@ endobj /A << /S /GoTo /D (Hfootnote.5) >> >> endobj -684 0 obj +690 0 obj << /Type /Annot /Subtype /Link @@ -7580,7 +7639,7 @@ endobj /A << /S /GoTo /D (figure.caption.15) >> >> endobj -686 0 obj +692 0 obj << /Type /Annot /Subtype /Link @@ -7591,32 +7650,32 @@ endobj endobj 246 0 obj << -/D [689 0 R /XYZ 99.213 602.682 null] +/D [695 0 R /XYZ 99.213 602.682 null] >> endobj -691 0 obj +697 0 obj << -/D [689 0 R /XYZ 99.213 540.283 null] +/D [695 0 R /XYZ 99.213 540.283 null] >> endobj 250 0 obj << -/D [689 0 R /XYZ 99.213 215.346 null] +/D [695 0 R /XYZ 99.213 215.346 null] >> endobj -692 0 obj +698 0 obj << -/D [689 0 R /XYZ 115.8 86.481 null] +/D [695 0 R /XYZ 115.8 86.481 null] >> endobj -688 0 obj +694 0 obj << -/Font << /F32 319 0 R /F75 484 0 R /F61 438 0 R /F35 320 0 R /F33 318 0 R /F74 440 0 R /F63 442 0 R >> -/XObject << /Im12 685 0 R >> +/Font << /F32 319 0 R /F75 490 0 R /F61 444 0 R /F35 320 0 R /F33 318 0 R /F74 446 0 R /F63 448 0 R >> +/XObject << /Im12 691 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -700 0 obj +706 0 obj << /Length 2079 /Filter /FlateDecode @@ -7642,17 +7701,17 @@ Nj~ wz8_BƯrG0ӣ?&΢U/mw!:k֋[#$<21LAԮ7UnFOO@ERf"xl H11,4 D{~~/~WȫJ,U$oL<?[л1i%G?`M&q$ `gUm$ʗ$/_>.a :ުׯKvNdo">uRA endstream endobj -699 0 obj +705 0 obj << /Type /Page -/Contents 700 0 R -/Resources 698 0 R +/Contents 706 0 R +/Resources 704 0 R /MediaBox [0 0 595.276 841.89] -/Parent 693 0 R -/Annots [ 687 0 R 695 0 R ] +/Parent 699 0 R +/Annots [ 693 0 R 701 0 R ] >> endobj -696 0 obj +702 0 obj << /Type /XObject /Subtype /Image @@ -7727,7 +7786,7 @@ r RJ)Rۮ X sa5ZRJ)m}RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)R? endstream endobj -687 0 obj +693 0 obj << /Type /Annot /Subtype /Link @@ -7736,7 +7795,7 @@ endobj /A << /S /GoTo /D (lstlisting.6.1) >> >> endobj -695 0 obj +701 0 obj << /Type /Annot /Subtype /Link @@ -7747,27 +7806,27 @@ endobj endobj 254 0 obj << -/D [699 0 R /XYZ 99.213 700.908 null] +/D [705 0 R /XYZ 99.213 700.908 null] >> endobj 258 0 obj << -/D [699 0 R /XYZ 99.213 466.964 null] +/D [705 0 R /XYZ 99.213 466.964 null] >> endobj -701 0 obj +707 0 obj << -/D [699 0 R /XYZ 99.213 304.701 null] +/D [705 0 R /XYZ 99.213 304.701 null] >> endobj -698 0 obj +704 0 obj << -/Font << /F32 319 0 R /F75 484 0 R /F35 320 0 R /F33 318 0 R >> -/XObject << /Im13 696 0 R >> +/Font << /F32 319 0 R /F75 490 0 R /F35 320 0 R /F33 318 0 R >> +/XObject << /Im13 702 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -711 0 obj +717 0 obj << /Length 1569 /Filter /FlateDecode @@ -7779,17 +7838,17 @@ xڝWK ǘ:3e Ƴ!יd@;R0:H2щ)-Ţ1emL6&-$йꄰŏ%3љ ErG;CJL}*qRRT%u t endstream endobj -710 0 obj +716 0 obj << /Type /Page -/Contents 711 0 R -/Resources 709 0 R +/Contents 717 0 R +/Resources 715 0 R /MediaBox [0 0 595.276 841.89] -/Parent 693 0 R -/Annots [ 697 0 R 703 0 R ] +/Parent 699 0 R +/Annots [ 703 0 R 709 0 R ] >> endobj -702 0 obj +708 0 obj << /Type /XObject /Subtype /Image @@ -7807,7 +7866,7 @@ M XqI^ r "v "+b b" "+b b@ bE,"D,"Vi#o]@mawqZOPϕo.Pa<!==u_POݓ,PxD,"@ b+b@XD, bE,"X D@"ŁkI<{>bo^7se#?@튇x0x`$ }ĖS:T "+b b" "+b b@ bE,"D,"V b@ bl @z"8#;\.y#Geffff"2#5#8#;gϞ,EdFj&x-A9bKfn3333DYz 6وLY33334|~Џ-\.v%HS6~fDp&`?37,,˰nXmoowd#[vFvXD "+b b" "+b b" "+b b@ bE,"D,"V#8=3=^UC(8 bӎبoA"p +Nޙ]w]Ko&cI`I&u/ĭ'z,*?C$b0a_ud "KUR]ڱGX bT鹴c-XS"Kge&^"D,"Nr&^"D,"N4^8~ b}zF&^"D,"Z<=E,N[cyl8EĊXXũ7yw ^J'+>+bܛ(N&.N=Wߊӳc[cyWqw~)KͩJ"Wjl:s:LŁ{ b'b@ bE,"D,"V b@ bE,"D,XD@@ĊXD,XD@@ĊXD,XD#6vttaHOgdg:;;ݰ'33وݰ'3-_QmG>xּz+2"3R3k [خ%ˈR&/n33335/²Ti좔53333Kv_YM2#P endstream endobj -704 0 obj +710 0 obj << /Type /XObject /Subtype /Image @@ -7924,7 +7983,7 @@ i w %җ`"<]BɄK.l۶~6REQEQY"q%җ`"<&RRN$REQEEN&Μ9sȑ}((DK/ H,((LX:^WTTt圜̌3EQEQZ"q%җ`"#߲tEQEQ΄WRR~W2EQEQХg-yO$j )("'*yUEQEQbV t1-S )("$NEQEQbVE,((LXJQEQE-GYPEQE )(((((((((((((((((((((((((((((((((((((((((((((((((*o endstream endobj -697 0 obj +703 0 obj << /Type /Annot /Subtype /Link @@ -7933,7 +7992,7 @@ endobj /A << /S /GoTo /D (figure.caption.17) >> >> endobj -703 0 obj +709 0 obj << /Type /Annot /Subtype /Link @@ -7942,29 +8001,29 @@ endobj /A << /S /GoTo /D (figure.caption.18) >> >> endobj -712 0 obj +718 0 obj << -/D [710 0 R /XYZ 99.213 614.36 null] +/D [716 0 R /XYZ 99.213 614.36 null] >> endobj 262 0 obj << -/D [710 0 R /XYZ 99.213 336.053 null] +/D [716 0 R /XYZ 99.213 336.053 null] >> endobj -713 0 obj +719 0 obj << -/D [710 0 R /XYZ 99.213 228.93 null] +/D [716 0 R /XYZ 99.213 228.93 null] >> endobj -709 0 obj +715 0 obj << -/Font << /F32 319 0 R /F75 484 0 R /F33 318 0 R >> -/XObject << /Im14 702 0 R /Im15 704 0 R >> +/Font << /F32 319 0 R /F75 490 0 R /F33 318 0 R >> +/XObject << /Im14 708 0 R /Im15 710 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -716 0 obj +722 0 obj << /Length 987 /Filter /FlateDecode @@ -7980,17 +8039,17 @@ j] x;!GT'Wy \_n (I2Lo4rYs5e vu8s/c=f&Og/75]Mx6qaB];" Fg,oh2q^O5g$v6#ƨ| nI{F}zsg ~OTjhFχjkND3$" DHj endstream endobj -715 0 obj +721 0 obj << /Type /Page -/Contents 716 0 R -/Resources 714 0 R +/Contents 722 0 R +/Resources 720 0 R /MediaBox [0 0 595.276 841.89] -/Parent 693 0 R -/Annots [ 705 0 R 706 0 R ] +/Parent 699 0 R +/Annots [ 711 0 R 712 0 R ] >> endobj -707 0 obj +713 0 obj << /Type /XObject /Subtype /Image @@ -8087,7 +8146,7 @@ L~J 7~wRg*B!B!B>J}i. !B!B!PgbZV /<'B!B!Bu!B!B!B!B!B!B!B!B!B!B!B!B!B-r endstream endobj -708 0 obj +714 0 obj << /Type /XObject /Subtype /Image @@ -8237,7 +8296,7 @@ a ?n;Iᮦsp\taiӺ>nH:iѭu>9V-iLXvX:=sd3eۨvթhd`Iq(f=S#C'w#|4wTןc~OX#nuB֟ېN .$;QןQ'N!Bq+4B!'!B!9< !B!BCB< !B!$BI!B/Ϙp}$`\יw py:t ` O `0x<' ` O `0x<' ` O `0xrl{`?(t:mYrvW@-W(n mVU5> >> endobj -706 0 obj +712 0 obj << /Type /Annot /Subtype /Link @@ -8257,28 +8316,28 @@ endobj endobj 266 0 obj << -/D [715 0 R /XYZ 99.213 762.508 null] ->> -endobj -717 0 obj -<< -/D [715 0 R /XYZ 99.213 655.027 null] ->> -endobj -718 0 obj -<< -/D [715 0 R /XYZ 99.213 450.267 null] ->> -endobj -714 0 obj -<< -/Font << /F33 318 0 R /F32 319 0 R >> -/XObject << /Im16 707 0 R /Im17 708 0 R >> -/ProcSet [ /PDF /Text /ImageC ] +/D [721 0 R /XYZ 99.213 762.508 null] >> endobj 723 0 obj << +/D [721 0 R /XYZ 99.213 655.027 null] +>> +endobj +724 0 obj +<< +/D [721 0 R /XYZ 99.213 450.267 null] +>> +endobj +720 0 obj +<< +/Font << /F33 318 0 R /F32 319 0 R >> +/XObject << /Im16 713 0 R /Im17 714 0 R >> +/ProcSet [ /PDF /Text /ImageC ] +>> +endobj +729 0 obj +<< /Length 674 /Filter /FlateDecode >> @@ -8290,17 +8349,17 @@ s ^CF?8$1NO_V ~*EE #u D$v endstream endobj -722 0 obj +728 0 obj << /Type /Page -/Contents 723 0 R -/Resources 721 0 R +/Contents 729 0 R +/Resources 727 0 R /MediaBox [0 0 595.276 841.89] -/Parent 693 0 R -/Annots [ 719 0 R ] +/Parent 699 0 R +/Annots [ 725 0 R ] >> endobj -720 0 obj +726 0 obj << /Type /XObject /Subtype /Image @@ -8452,7 +8511,7 @@ j/ č%!}ԍ4$>z1۾d2"ys?.̶,阀LF&&iLԶ7]jffff[4јtL@&#<4MUUeYEODc1_&qDc]د?diťEu~g,L endstream endobj -719 0 obj +725 0 obj << /Type /Annot /Subtype /Link @@ -8463,22 +8522,22 @@ endobj endobj 270 0 obj << -/D [722 0 R /XYZ 99.213 762.508 null] +/D [728 0 R /XYZ 99.213 762.508 null] >> endobj -724 0 obj +730 0 obj << -/D [722 0 R /XYZ 99.213 687.897 null] +/D [728 0 R /XYZ 99.213 687.897 null] >> endobj -721 0 obj +727 0 obj << /Font << /F33 318 0 R /F32 319 0 R >> -/XObject << /Im18 720 0 R >> +/XObject << /Im18 726 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -729 0 obj +735 0 obj << /Length 842 /Filter /FlateDecode @@ -8493,17 +8552,17 @@ $R %tT endstream endobj -728 0 obj +734 0 obj << /Type /Page -/Contents 729 0 R -/Resources 727 0 R +/Contents 735 0 R +/Resources 733 0 R /MediaBox [0 0 595.276 841.89] -/Parent 693 0 R -/Annots [ 725 0 R ] +/Parent 699 0 R +/Annots [ 731 0 R ] >> endobj -726 0 obj +732 0 obj << /Type /XObject /Subtype /Image @@ -8660,7 +8719,7 @@ BiCit 1ƚ'}wݩJ)RJ@PH\RJ)ԨRJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)U~?d-Yo endstream endobj -725 0 obj +731 0 obj << /Type /Annot /Subtype /Link @@ -8671,22 +8730,22 @@ endobj endobj 274 0 obj << -/D [728 0 R /XYZ 99.213 762.508 null] +/D [734 0 R /XYZ 99.213 762.508 null] >> endobj -730 0 obj +736 0 obj << -/D [728 0 R /XYZ 99.213 624.278 null] +/D [734 0 R /XYZ 99.213 624.278 null] >> endobj -727 0 obj +733 0 obj << /Font << /F33 318 0 R /F32 319 0 R >> -/XObject << /Im19 726 0 R >> +/XObject << /Im19 732 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -737 0 obj +743 0 obj << /Length 1210 /Filter /FlateDecode @@ -8701,17 +8760,17 @@ VXtu @C{-+=ij\K/R,6`GM/PE93s.6cP(|Q4V/?)u% endstream endobj -736 0 obj +742 0 obj << /Type /Page -/Contents 737 0 R -/Resources 735 0 R +/Contents 743 0 R +/Resources 741 0 R /MediaBox [0 0 595.276 841.89] -/Parent 740 0 R -/Annots [ 731 0 R 732 0 R ] +/Parent 746 0 R +/Annots [ 737 0 R 738 0 R ] >> endobj -733 0 obj +739 0 obj << /Type /XObject /Subtype /Image @@ -8825,7 +8884,7 @@ ig. K*l.?t5T9UzFTfJ#h'XTNh$IrV4E1YqO> iMVU+|#&TGM,¾۠]>e=yGu"?7\4<&EǚxEܞsf_W`[]Q䟯3r ׫k6C](/1+>w׵9a'OKW^02y7Ci$k'{%Ѯ+}Rz5/jlI&(ŏ$Ӝ$$9Sl/D.DN9)klݾ;ʏy.YZΘ$Kmtl-Oqy{\j{v~;G3W/\P7}-_)/9 6aewJ[-/&0+7(0~xku6_xߨRyevYƶ3^ۦmIyV$I2&Hs_w֜sѮCwLbgv90'՘"s,{0qtw[OXj`*wh<36Wp)]T#$$HI$$$I2 I2dd$,$HYH$$ If!I@LL $$@B $$I2 I2dd$,$HYH$$I2I2$$I2 I2dd$,$HYH$$ If!I@L K $$@LL $$I2 I2dd$,$HYH$$I2I2$$I2 I2dd$`: endstream endobj -734 0 obj +740 0 obj << /Type /XObject /Subtype /Image @@ -8913,7 +8972,7 @@ V dk7YKogJmgKt65\渦IۮP]JƩۑ]\ݷ.U:HG11j3uWVg=A](y&>w$w![.h8 _.TCx~Gw[Dv(j騼/8?~KTMw~?ю/[*iL_ |^X+3Goncs Ӆ3Ju̵F[?H8_ͤ]x33_G&xAuɞ=|c0yzrvY]|gǾ;q=O貂decU?1$y&YL\C90+[m`b$n\lW ]c8_ qEձגgJc}2=HZ?.>=dw6u݊>2fMX+9Vsјcj&2{=ܪ3{2='IJr|MYH߽3{R2լ$nPWcwBiab.ک.B.1y&H$fOJQsߕt'; hbr LѤhgkչTǭln㳒Qb˓m/kn|~w,(6H7?Wg&udl>s36g|>Vǟ7r|"/c…"o'<3{w&)mp0cg&o?enO5v4[\GV)>IfITX2IGu=63Rmih~JD0Ι~gܟjhPљ6.e>rZDLE]gzŔvN.E-/z̫,y^qz> >> endobj -732 0 obj +738 0 obj << /Type /Annot /Subtype /Link @@ -8933,28 +8992,28 @@ endobj endobj 278 0 obj << -/D [736 0 R /XYZ 99.213 762.508 null] +/D [742 0 R /XYZ 99.213 762.508 null] >> endobj -738 0 obj +744 0 obj << -/D [736 0 R /XYZ 99.213 572.851 null] ->> -endobj -739 0 obj -<< -/D [736 0 R /XYZ 99.213 286.679 null] ->> -endobj -735 0 obj -<< -/Font << /F35 320 0 R /F32 319 0 R /F75 484 0 R /F33 318 0 R >> -/XObject << /Im20 733 0 R /Im21 734 0 R >> -/ProcSet [ /PDF /Text /ImageC ] +/D [742 0 R /XYZ 99.213 572.851 null] >> endobj 745 0 obj << +/D [742 0 R /XYZ 99.213 286.679 null] +>> +endobj +741 0 obj +<< +/Font << /F35 320 0 R /F32 319 0 R /F75 490 0 R /F33 318 0 R >> +/XObject << /Im20 739 0 R /Im21 740 0 R >> +/ProcSet [ /PDF /Text /ImageC ] +>> +endobj +751 0 obj +<< /Length 1610 /Filter /FlateDecode >> @@ -8969,17 +9028,17 @@ Ug ML>vE/JDq21OST{rēhIMB04Gw' ։7 !7wOPyR:Zґ"`&#ïRvFO03W~xbE(W"l̗%q8zAD> endobj -742 0 obj +748 0 obj << /Type /XObject /Subtype /Image @@ -26543,7 +26602,7 @@ D gu'痗?#ohnwZ-:χc$*t{%?>ϓIZpJwφ k %NƐ ?(yB]h l)mdGQ h 7:(?FFwc(i:~iN7,Z__ITTUzOdPs{?S!t;Χ`nA6leJt!?i@!~#{FhNt r0'AN(MjFX%k4`HE4ȱF !2e!Óvݙ'ݝr.AA}b;/ڣqg hp438|a;'H029#H__}yz9h/_Pu9=#J|r:EKFNR 4 "8 颏HXNglu 7j1˝!Y881(A/(CMd8:hwv'5Kxp:ly(47Q6Ǘ_Z0_"r9 endstream endobj -741 0 obj +747 0 obj << /Type /Annot /Subtype /Link @@ -26554,22 +26613,22 @@ endobj endobj 282 0 obj << -/D [744 0 R /XYZ 99.213 762.508 null] +/D [750 0 R /XYZ 99.213 762.508 null] >> endobj -746 0 obj +752 0 obj << -/D [744 0 R /XYZ 99.213 457.805 null] +/D [750 0 R /XYZ 99.213 457.805 null] >> endobj -743 0 obj +749 0 obj << -/Font << /F35 320 0 R /F32 319 0 R /F75 484 0 R /F33 318 0 R >> -/XObject << /Im22 742 0 R >> +/Font << /F35 320 0 R /F32 319 0 R /F75 490 0 R /F33 318 0 R >> +/XObject << /Im22 748 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -750 0 obj +756 0 obj << /Length 1800 /Filter /FlateDecode @@ -26585,17 +26644,17 @@ t --\s,Jp(f{XÍGc"RwR4|#(w?a\?l7Yc•CXWEc|# )4 Vu\_oqs endstream endobj -749 0 obj +755 0 obj << /Type /Page -/Contents 750 0 R -/Resources 748 0 R +/Contents 756 0 R +/Resources 754 0 R /MediaBox [0 0 595.276 841.89] -/Parent 740 0 R -/Annots [ 747 0 R ] +/Parent 746 0 R +/Annots [ 753 0 R ] >> endobj -747 0 obj +753 0 obj << /Type /Annot /Subtype /Link @@ -26606,21 +26665,21 @@ endobj endobj 286 0 obj << -/D [749 0 R /XYZ 99.213 762.508 null] +/D [755 0 R /XYZ 99.213 762.508 null] >> endobj 290 0 obj << -/D [749 0 R /XYZ 99.213 425.453 null] +/D [755 0 R /XYZ 99.213 425.453 null] >> endobj -748 0 obj +754 0 obj << -/Font << /F35 320 0 R /F32 319 0 R /F75 484 0 R >> +/Font << /F35 320 0 R /F32 319 0 R /F75 490 0 R >> /ProcSet [ /PDF /Text ] >> endobj -758 0 obj +764 0 obj << /Length 2127 /Filter /FlateDecode @@ -26637,18 +26696,18 @@ W T-C[/4MP*ps%ZUVnZT5Qjǎ2|+x"xbmBk-~BHMS87,fb 31̉"?|ƙfa> endobj -755 0 obj +761 0 obj << /Type /XObject /Subtype /Image @@ -26656,7 +26715,7 @@ endobj /Height 207 /BitsPerComponent 8 /ColorSpace /DeviceRGB -/SMask 770 0 R +/SMask 776 0 R /Length 5736 /Filter /FlateDecode >> @@ -26683,7 +26742,7 @@ K3̓ fuU?BnU2oQ^("ߙM' J* #Ӿb0jݧ?'5dlO- zl`}xghL8y endstream endobj -770 0 obj +776 0 obj << /Type /XObject /Subtype /Image @@ -26698,7 +26757,7 @@ stream xmH@j5 endstream endobj -752 0 obj +758 0 obj << /Type /Annot /Subtype /Link @@ -26707,7 +26766,7 @@ endobj /A << /S /GoTo /D (cite.mqttnet-examples) >> >> endobj -753 0 obj +759 0 obj << /Type /Annot /Subtype /Link @@ -26716,7 +26775,7 @@ endobj /A << /S /GoTo /D (cite.mqttnet-winforms) >> >> endobj -754 0 obj +760 0 obj << /Type /Annot /Subtype /Link @@ -26725,79 +26784,79 @@ endobj /A << /S /GoTo /D (figure.caption.26) >> >> endobj -751 0 obj +757 0 obj << -/D [757 0 R /XYZ 99.213 762.508 null] ->> -endobj -759 0 obj -<< -/D [757 0 R /XYZ 116.149 763.03 null] ->> -endobj -760 0 obj -<< -/D [757 0 R /XYZ 116.149 751.549 null] ->> -endobj -761 0 obj -<< -/D [757 0 R /XYZ 116.149 740.069 null] ->> -endobj -762 0 obj -<< -/D [757 0 R /XYZ 116.149 728.589 null] ->> -endobj -763 0 obj -<< -/D [757 0 R /XYZ 116.149 717.108 null] ->> -endobj -764 0 obj -<< -/D [757 0 R /XYZ 116.149 705.628 null] +/D [763 0 R /XYZ 99.213 762.508 null] >> endobj 765 0 obj << -/D [757 0 R /XYZ 116.149 694.147 null] +/D [763 0 R /XYZ 116.149 763.03 null] >> endobj 766 0 obj << -/D [757 0 R /XYZ 116.149 682.667 null] +/D [763 0 R /XYZ 116.149 751.549 null] >> endobj 767 0 obj << -/D [757 0 R /XYZ 116.149 671.186 null] +/D [763 0 R /XYZ 116.149 740.069 null] >> endobj 768 0 obj << -/D [757 0 R /XYZ 116.149 659.706 null] ->> -endobj -294 0 obj -<< -/D [757 0 R /XYZ 99.213 591.036 null] +/D [763 0 R /XYZ 116.149 728.589 null] >> endobj 769 0 obj << -/D [757 0 R /XYZ 99.213 375.324 null] +/D [763 0 R /XYZ 116.149 717.108 null] >> endobj -756 0 obj +770 0 obj << -/Font << /F74 440 0 R /F75 484 0 R /F33 318 0 R /F32 319 0 R /F35 320 0 R >> -/XObject << /Im23 755 0 R >> +/D [763 0 R /XYZ 116.149 705.628 null] +>> +endobj +771 0 obj +<< +/D [763 0 R /XYZ 116.149 694.147 null] +>> +endobj +772 0 obj +<< +/D [763 0 R /XYZ 116.149 682.667 null] +>> +endobj +773 0 obj +<< +/D [763 0 R /XYZ 116.149 671.186 null] +>> +endobj +774 0 obj +<< +/D [763 0 R /XYZ 116.149 659.706 null] +>> +endobj +294 0 obj +<< +/D [763 0 R /XYZ 99.213 591.036 null] +>> +endobj +775 0 obj +<< +/D [763 0 R /XYZ 99.213 375.324 null] +>> +endobj +762 0 obj +<< +/Font << /F74 446 0 R /F75 490 0 R /F33 318 0 R /F32 319 0 R /F35 320 0 R >> +/XObject << /Im23 761 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -777 0 obj +783 0 obj << /Length 1840 /Filter /FlateDecode @@ -26808,17 +26867,17 @@ F PI e* z$Q;^ZV}4ӈ d%tYf`A;+YLNRސ11Q棍$iFwأjEOerEw{hiC-$^װrk}e=zA(, GELMg:AS!Ti@cxW:$2PU`LDj?wVɻZ혾D+)WRH<j^"\p1'\Y yqagRxu4+ABswK+UǼQ"!-pȕ](ד؟rL@+|n*;$1}/.~N H.P: qLk@d<KT]LWUD%# Vٸ.t?/I?D|TEAIBRM횮z|z?cWX endstream endobj -776 0 obj +782 0 obj << /Type /Page -/Contents 777 0 R -/Resources 775 0 R +/Contents 783 0 R +/Resources 781 0 R /MediaBox [0 0 595.276 841.89] -/Parent 740 0 R -/Annots [ 773 0 R 774 0 R ] +/Parent 746 0 R +/Annots [ 779 0 R 780 0 R ] >> endobj -773 0 obj +779 0 obj << /Type /Annot /Subtype /Link @@ -26827,7 +26886,7 @@ endobj /A << /S /GoTo /D (cite.dockerfile) >> >> endobj -774 0 obj +780 0 obj << /Type /Annot /Subtype /Link @@ -26838,16 +26897,16 @@ endobj endobj 298 0 obj << -/D [776 0 R /XYZ 99.213 762.508 null] +/D [782 0 R /XYZ 99.213 762.508 null] >> endobj -775 0 obj +781 0 obj << -/Font << /F35 320 0 R /F32 319 0 R /F75 484 0 R >> +/Font << /F35 320 0 R /F32 319 0 R /F75 490 0 R >> /ProcSet [ /PDF /Text ] >> endobj -782 0 obj +788 0 obj << /Length 1183 /Filter /FlateDecode @@ -26862,32 +26921,32 @@ v ^Fzs $l4x6oN)|rqNva(.D!H]YJlWwkuPtK9zb M%inQQ: U endstream endobj -781 0 obj +787 0 obj << /Type /Page -/Contents 782 0 R -/Resources 780 0 R +/Contents 788 0 R +/Resources 786 0 R /MediaBox [0 0 595.276 841.89] -/Parent 740 0 R +/Parent 746 0 R >> endobj 302 0 obj << -/D [781 0 R /XYZ 99.213 762.508 null] +/D [787 0 R /XYZ 99.213 762.508 null] >> endobj 306 0 obj << -/D [781 0 R /XYZ 99.213 474.759 null] +/D [787 0 R /XYZ 99.213 474.759 null] >> endobj -780 0 obj +786 0 obj << /Font << /F35 320 0 R /F32 319 0 R >> /ProcSet [ /PDF /Text ] >> endobj -797 0 obj +803 0 obj << /Length 1287 /Filter /FlateDecode @@ -26902,17 +26961,17 @@ z HUl{8L?:.n 9;QwH1ysLMEr* endstream endobj -796 0 obj +802 0 obj << /Type /Page -/Contents 797 0 R -/Resources 795 0 R +/Contents 803 0 R +/Resources 801 0 R /MediaBox [0 0 595.276 841.89] -/Parent 804 0 R -/Annots [ 783 0 R 784 0 R 785 0 R 786 0 R 799 0 R 787 0 R 800 0 R 788 0 R 789 0 R 801 0 R 790 0 R 802 0 R 791 0 R 792 0 R 793 0 R 803 0 R ] +/Parent 810 0 R +/Annots [ 789 0 R 790 0 R 791 0 R 792 0 R 805 0 R 793 0 R 806 0 R 794 0 R 795 0 R 807 0 R 796 0 R 808 0 R 797 0 R 798 0 R 799 0 R 809 0 R ] >> endobj -783 0 obj +789 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26920,7 +26979,7 @@ endobj /Subtype/Link/A<> >> endobj -784 0 obj +790 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26928,7 +26987,7 @@ endobj /Subtype/Link/A<> >> endobj -785 0 obj +791 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26936,7 +26995,7 @@ endobj /Subtype/Link/A<> >> endobj -786 0 obj +792 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26944,7 +27003,7 @@ endobj /Subtype/Link/A<> >> endobj -799 0 obj +805 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26952,7 +27011,7 @@ endobj /Subtype/Link/A<> >> endobj -787 0 obj +793 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26960,7 +27019,7 @@ endobj /Subtype/Link/A<> >> endobj -800 0 obj +806 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26968,7 +27027,7 @@ endobj /Subtype/Link/A<> >> endobj -788 0 obj +794 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26976,7 +27035,7 @@ endobj /Subtype/Link/A<> >> endobj -789 0 obj +795 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26984,7 +27043,7 @@ endobj /Subtype/Link/A<> >> endobj -801 0 obj +807 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -26992,7 +27051,7 @@ endobj /Subtype/Link/A<> >> endobj -790 0 obj +796 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27000,7 +27059,7 @@ endobj /Subtype/Link/A<> >> endobj -802 0 obj +808 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27008,7 +27067,7 @@ endobj /Subtype/Link/A<> >> endobj -791 0 obj +797 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27016,7 +27075,7 @@ endobj /Subtype/Link/A<> >> endobj -792 0 obj +798 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27024,7 +27083,7 @@ endobj /Subtype/Link/A<> >> endobj -793 0 obj +799 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27032,7 +27091,7 @@ endobj /Subtype/Link/A<> >> endobj -803 0 obj +809 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27040,78 +27099,78 @@ endobj /Subtype/Link/A<> >> endobj -798 0 obj +804 0 obj << -/D [796 0 R /XYZ 99.213 762.508 null] +/D [802 0 R /XYZ 99.213 762.508 null] >> endobj -537 0 obj +543 0 obj << -/D [796 0 R /XYZ 104.667 625.632 null] +/D [802 0 R /XYZ 104.667 625.632 null] +>> +endobj +456 0 obj +<< +/D [802 0 R /XYZ 104.667 583.795 null] +>> +endobj +784 0 obj +<< +/D [802 0 R /XYZ 104.667 541.958 null] +>> +endobj +536 0 obj +<< +/D [802 0 R /XYZ 104.667 483.687 null] +>> +endobj +511 0 obj +<< +/D [802 0 R /XYZ 104.667 441.85 null] +>> +endobj +546 0 obj +<< +/D [802 0 R /XYZ 104.667 400.013 null] +>> +endobj +587 0 obj +<< +/D [802 0 R /XYZ 104.667 358.177 null] +>> +endobj +533 0 obj +<< +/D [802 0 R /XYZ 104.667 299.905 null] +>> +endobj +532 0 obj +<< +/D [802 0 R /XYZ 104.667 241.633 null] +>> +endobj +520 0 obj +<< +/D [802 0 R /XYZ 99.213 199.796 null] >> endobj 450 0 obj << -/D [796 0 R /XYZ 104.667 583.795 null] +/D [802 0 R /XYZ 99.213 141.525 null] >> endobj -778 0 obj +495 0 obj << -/D [796 0 R /XYZ 104.667 541.958 null] +/D [802 0 R /XYZ 99.213 116.123 null] >> endobj -530 0 obj +801 0 obj << -/D [796 0 R /XYZ 104.667 483.687 null] ->> -endobj -505 0 obj -<< -/D [796 0 R /XYZ 104.667 441.85 null] ->> -endobj -540 0 obj -<< -/D [796 0 R /XYZ 104.667 400.013 null] ->> -endobj -581 0 obj -<< -/D [796 0 R /XYZ 104.667 358.177 null] ->> -endobj -527 0 obj -<< -/D [796 0 R /XYZ 104.667 299.905 null] ->> -endobj -526 0 obj -<< -/D [796 0 R /XYZ 104.667 241.633 null] ->> -endobj -514 0 obj -<< -/D [796 0 R /XYZ 99.213 199.796 null] ->> -endobj -444 0 obj -<< -/D [796 0 R /XYZ 99.213 141.525 null] ->> -endobj -489 0 obj -<< -/D [796 0 R /XYZ 99.213 116.123 null] ->> -endobj -795 0 obj -<< -/Font << /F35 320 0 R /F32 319 0 R /F75 484 0 R >> +/Font << /F35 320 0 R /F32 319 0 R /F75 490 0 R >> /ProcSet [ /PDF /Text ] >> endobj -821 0 obj +827 0 obj << /Length 1422 /Filter /FlateDecode @@ -27126,17 +27185,17 @@ nn ^^0L}̻Fja=D3:*#q<f`4yz? endstream endobj -820 0 obj +826 0 obj << /Type /Page -/Contents 821 0 R -/Resources 819 0 R +/Contents 827 0 R +/Resources 825 0 R /MediaBox [0 0 595.276 841.89] -/Parent 804 0 R -/Annots [ 794 0 R 805 0 R 822 0 R 806 0 R 823 0 R 807 0 R 824 0 R 808 0 R 809 0 R 810 0 R 811 0 R 812 0 R 813 0 R 814 0 R 825 0 R 815 0 R 816 0 R 817 0 R ] +/Parent 810 0 R +/Annots [ 800 0 R 811 0 R 828 0 R 812 0 R 829 0 R 813 0 R 830 0 R 814 0 R 815 0 R 816 0 R 817 0 R 818 0 R 819 0 R 820 0 R 831 0 R 821 0 R 822 0 R 823 0 R ] >> endobj -794 0 obj +800 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27144,7 +27203,7 @@ endobj /Subtype/Link/A<> >> endobj -805 0 obj +811 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27152,7 +27211,7 @@ endobj /Subtype/Link/A<> >> endobj -822 0 obj +828 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27160,7 +27219,7 @@ endobj /Subtype/Link/A<> >> endobj -806 0 obj +812 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27168,7 +27227,7 @@ endobj /Subtype/Link/A<> >> endobj -823 0 obj +829 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27176,7 +27235,7 @@ endobj /Subtype/Link/A<> >> endobj -807 0 obj +813 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27184,7 +27243,7 @@ endobj /Subtype/Link/A<> >> endobj -824 0 obj +830 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27192,7 +27251,7 @@ endobj /Subtype/Link/A<> >> endobj -808 0 obj +814 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27200,7 +27259,7 @@ endobj /Subtype/Link/A<> >> endobj -809 0 obj +815 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27208,7 +27267,7 @@ endobj /Subtype/Link/A<> >> endobj -810 0 obj +816 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27216,7 +27275,7 @@ endobj /Subtype/Link/A<> >> endobj -811 0 obj +817 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27224,7 +27283,7 @@ endobj /Subtype/Link/A<> >> endobj -812 0 obj +818 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27232,7 +27291,7 @@ endobj /Subtype/Link/A<> >> endobj -813 0 obj +819 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27240,7 +27299,7 @@ endobj /Subtype/Link/A<> >> endobj -814 0 obj +820 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27248,7 +27307,7 @@ endobj /Subtype/Link/A<> >> endobj -825 0 obj +831 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27256,7 +27315,7 @@ endobj /Subtype/Link/A<> >> endobj -815 0 obj +821 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27264,7 +27323,7 @@ endobj /Subtype/Link/A<> >> endobj -816 0 obj +822 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27272,7 +27331,7 @@ endobj /Subtype/Link/A<> >> endobj -817 0 obj +823 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27280,88 +27339,88 @@ endobj /Subtype/Link/A<> >> endobj -528 0 obj +534 0 obj << -/D [820 0 R /XYZ 99.213 767.985 null] +/D [826 0 R /XYZ 99.213 767.985 null] >> endobj -771 0 obj +777 0 obj << -/D [820 0 R /XYZ 99.213 726.148 null] +/D [826 0 R /XYZ 99.213 726.148 null] >> endobj -772 0 obj +778 0 obj << -/D [820 0 R /XYZ 99.213 684.311 null] ->> -endobj -625 0 obj -<< -/D [820 0 R /XYZ 99.213 642.475 null] ->> -endobj -569 0 obj -<< -/D [820 0 R /XYZ 99.213 567.768 null] ->> -endobj -779 0 obj -<< -/D [820 0 R /XYZ 99.213 509.496 null] ->> -endobj -538 0 obj -<< -/D [820 0 R /XYZ 99.213 467.659 null] ->> -endobj -443 0 obj -<< -/D [820 0 R /XYZ 99.213 409.388 null] ->> -endobj -626 0 obj -<< -/D [820 0 R /XYZ 99.213 367.551 null] ->> -endobj -508 0 obj -<< -/D [820 0 R /XYZ 99.213 325.714 null] ->> -endobj -529 0 obj -<< -/D [820 0 R /XYZ 99.213 267.442 null] ->> -endobj -507 0 obj -<< -/D [820 0 R /XYZ 99.213 242.041 null] ->> -endobj -539 0 obj -<< -/D [820 0 R /XYZ 99.213 183.769 null] +/D [826 0 R /XYZ 99.213 684.311 null] >> endobj 631 0 obj << -/D [820 0 R /XYZ 99.213 158.368 null] +/D [826 0 R /XYZ 99.213 642.475 null] >> endobj -487 0 obj +575 0 obj << -/D [820 0 R /XYZ 99.213 132.966 null] +/D [826 0 R /XYZ 99.213 567.768 null] >> endobj -819 0 obj +785 0 obj << -/Font << /F32 319 0 R /F75 484 0 R >> +/D [826 0 R /XYZ 99.213 509.496 null] +>> +endobj +544 0 obj +<< +/D [826 0 R /XYZ 99.213 467.659 null] +>> +endobj +449 0 obj +<< +/D [826 0 R /XYZ 99.213 409.388 null] +>> +endobj +632 0 obj +<< +/D [826 0 R /XYZ 99.213 367.551 null] +>> +endobj +514 0 obj +<< +/D [826 0 R /XYZ 99.213 325.714 null] +>> +endobj +535 0 obj +<< +/D [826 0 R /XYZ 99.213 267.442 null] +>> +endobj +513 0 obj +<< +/D [826 0 R /XYZ 99.213 242.041 null] +>> +endobj +545 0 obj +<< +/D [826 0 R /XYZ 99.213 183.769 null] +>> +endobj +637 0 obj +<< +/D [826 0 R /XYZ 99.213 158.368 null] +>> +endobj +493 0 obj +<< +/D [826 0 R /XYZ 99.213 132.966 null] +>> +endobj +825 0 obj +<< +/Font << /F32 319 0 R /F75 490 0 R >> /ProcSet [ /PDF /Text ] >> endobj -831 0 obj +837 0 obj << /Length 485 /Filter /FlateDecode @@ -27372,17 +27431,17 @@ xڭ g"OVB+S~-*N|;c6ƙ0ϙ^&G[uMe^\G޴è1zЩ7tF"FӋ9g#gy✝q0`Wbvnm#rAj޻gjZ]$Jͫ?qLlӄ ΄ m_&@o)+ۮ_m;tܸާ 9Dĸmç24ROͻ(n$]?PdM_?L endstream endobj -830 0 obj +836 0 obj << /Type /Page -/Contents 831 0 R -/Resources 829 0 R +/Contents 837 0 R +/Resources 835 0 R /MediaBox [0 0 595.276 841.89] -/Parent 804 0 R -/Annots [ 818 0 R 826 0 R 827 0 R 828 0 R ] +/Parent 810 0 R +/Annots [ 824 0 R 832 0 R 833 0 R 834 0 R ] >> endobj -818 0 obj +824 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27390,7 +27449,7 @@ endobj /Subtype/Link/A<> >> endobj -826 0 obj +832 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27398,7 +27457,7 @@ endobj /Subtype/Link/A<> >> endobj -827 0 obj +833 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27406,7 +27465,7 @@ endobj /Subtype/Link/A<> >> endobj -828 0 obj +834 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] @@ -27414,66 +27473,66 @@ endobj /Subtype/Link/A<> >> endobj -488 0 obj +494 0 obj << -/D [830 0 R /XYZ 99.213 767.985 null] +/D [836 0 R /XYZ 99.213 767.985 null] >> endobj -451 0 obj +457 0 obj << -/D [830 0 R /XYZ 99.213 726.148 null] +/D [836 0 R /XYZ 99.213 726.148 null] >> endobj -506 0 obj +512 0 obj << -/D [830 0 R /XYZ 99.213 667.876 null] +/D [836 0 R /XYZ 99.213 667.876 null] >> endobj -694 0 obj +700 0 obj << -/D [830 0 R /XYZ 99.213 642.475 null] +/D [836 0 R /XYZ 99.213 642.475 null] >> endobj -829 0 obj +835 0 obj << -/Font << /F32 319 0 R /F75 484 0 R >> +/Font << /F32 319 0 R /F75 490 0 R >> /ProcSet [ /PDF /Text ] >> endobj -833 0 obj +839 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj -834 0 obj +840 0 obj [571 571 856.4 856.4 513.9 285.5 387.5 856.4 513.9 856.4 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 799.4 799.4 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.4 571 742.3 770.7 770.7 1056.1 770.7 770.7 628.1 285.5 513.9 285.5 555.6 770.7 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.4 571 513.9 571 542.4 402 405.4 399.7 571 542.4 742.3 542.4 542.4 456.8 513.9 285.5 513.9 555.6 171.3 770.7 770.7 742.3 742.3 785 699.4 699.4 806.5 642.3 642.3 642.3 770.7 770.7 770.7 799.4 756.4 756.4 571 571 571 742.3 742.3 770.7 770.7 770.7 628.1 628.1 628.1 862 371 571 498.5 513.9 513.9 456.8 456.8 571 457.2 457.2 513.9 285.5 285.5 345.4 571 571 520.5 513.9 402 402 405.4 405.4 405.4 399.7 399.7 571 571 542.4 456.8 456.8 456.8 571 285.5 485.3 770.7 770.7 770.7 770.7 770.7 770.7 770.7 927.8 742.3 699.4 699.4 699.4 699.4 371 371 371 371 785 770.7 799.4 799.4 799.4 799.4 799.4 1042 799.4 770.7 770.7 770.7 770.7 770.7 642.3 1142 513.9 513.9 513.9 513.9 513.9 513.9 742.3 456.8 457.2 457.2 457.2 457.2 285.5 285.5 285.5 285.5 513.9 571 513.9 513.9 513.9 513.9 513.9 799.4 513.9 571 571 571 571] endobj -835 0 obj +841 0 obj [611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1] endobj -837 0 obj +843 0 obj [777.8] endobj -838 0 obj +844 0 obj [531.3 531.3] endobj -839 0 obj +845 0 obj [272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 761.6 761.6 761.6 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.2 734 353.2 503 761.2 611.8 897.2 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 500 272 555.6 734 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8] endobj -840 0 obj +846 0 obj [768.9 627.2 896.7 743.3 766.7 678.3 766.7 729.4 562.2 715.5 743.3 743.3 998.9 743.3 743.3 613.3 306.7 500 306.7 555.5 743.3 306.7 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.5 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.5 408.9 500 277.8 500 555.5 178.9 743.3 743.3 715.5 715.5 755 678.3 678.3 773.6 627.2 627.2 627.2 743.3 743.3 743.3 766.7 729.4 729.4 562.2 562.2 562.2 715.5 715.5 743.3 743.3 743.3 613.3 613.3 613.3 872 385.5 511.1 490 511.1 511.1 460 460 511.1 460 460 460 255.5 255.5 319.4 562.2 562.2 497.9 511.1 421.7 421.7 408.9 408.9 408.9 332.2 332.2 536.7 536.7 485.5 408.9 408.9 408.9 582.7 306.7 511.1 769.1 743.3 743.3 743.3 743.3 743.3 743.3 882.8 715.5 678.3 678.3 678.3 678.3 385.5 385.5 385.5 385.5 755 743.3 766.7 766.7 766.7 766.7 766.7 985 766.7 743.3 743.3 743.3 743.3 743.3 627.2 1124.4 511.1 511.1 511.1 511.1 511.1 511.1 715.5 460 460 460 460 460 306.7 306.7] endobj -841 0 obj +847 0 obj [611.1 786.1 813.9 813.9 1105.5 813.9 813.9 669.4 319.4 500 319.4 555.5 813.9 319.4 613.3 580 591.1 624.5 557.8 535.5 641.1 613.3 302.2 424.4 635.5 513.3 746.6 613.3 635.5 557.8 635.5 602.2 457.8 591.1 613.3 613.3 835.6 613.3 613.3 502.2] endobj -842 0 obj +848 0 obj [437.5 437.5 562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 894.4 875 894.4 531.3 875 849.5 799.8 812.5 862.3 738.4 707.2 884.3 879.6 419 581 880.7 675.9 1067.2 879.6 844.9 768.5 844.9 839.2 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 575 312.5 555.6 849.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.8 312.5 937.5 625 562.5 625 593.8 459.5 443.7 437.5 625 593.8 812.5 593.8 593.8 500 575 319.4 575 555.6 187.5 849.5 849.5 812.5 812.5 862.3 738.4 738.4 884.3 675.9 675.9 675.9 879.6 879.6 879.6 844.9 839.2 839.2 625 625 625 782.4 782.4 864.6 864.6 849.5 687.5 687.5 687.5 958.1 419 625 678.5 546.9 546.9 500 500 625 513.3 513.3 562.5 312.5 312.5 378.1 625 625 578 562.5 459.5 459.5 443.7 443.7 443.7 437.5 437.5 625 625 593.8 500 500 500 625 342.6 531.3 849.5 849.5 849.5 849.5 849.5 849.5 849.5 1018.5 812.5 738.4 738.4 738.4 738.4 419 419 419 419 862.3 879.6 844.9 844.9 844.9 844.9 844.9 1143.5 875 864.6 864.6 864.6 864.6 849.5 707.2 1250 546.9 546.9 546.9 546.9 546.9 546.9 812.5 500 513.3 513.3 513.3 513.3 312.5 312.5 312.5 312.5 562.5 625 562.5 562.5 562.5 562.5 562.5 875 562.5 625 625 625 625] endobj -843 0 obj +849 0 obj [583.3 555.5 555.5 833.3 833.3 500 277.8 373.8 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 777.8 750 708.3 722.2 763.9 680.5 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.5 777.8 736.1 555.5 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 555.5 750 277.8 500 555.5 444.5 555.5 444.5 305.5 500 555.5 277.8 305.5 527.8 277.8 833.3 555.5 500 555.5 527.8 391.7 394.4 388.9 555.5 527.8 722.2 527.8 527.8 444.5 500 277.8 500 555.5 166.7 750 750 722.2 722.2 763.9 680.5 680.5 784.7 625 625 625 750 750 750 777.8 736.1 736.1 555.5 555.5 555.5 722.2 722.2 750 750 750 611.1 611.1 611.1 838.9 361.1 555.5 484 500 500 444.5 444.5 555.5 444.5 444.5 500 277.8 277.8 336.1 555.5 555.5 506.3 500 391.7 391.7 394.4 394.4 394.4 388.9 388.9 555.5 555.5 527.8 444.5 444.5 444.5 555.5 277.8 472.2 750 750 750 750 750 750 750 902.8 722.2 680.5 680.5 680.5 680.5 361.1 361.1 361.1 361.1 763.9 750 777.8 777.8 777.8 777.8 777.8 1013.9 777.8 750 750 750 750 750 625 1111.1 500 500 500 500 500 500 722.2 444.5 444.5 444.5 444.5 444.5 277.8 277.8 277.8 277.8 500 555.5 500 500 500 500 500 777.8 500 555.5 555.5 555.5 555.5] endobj -844 0 obj +850 0 obj [319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 894.4 894.4 894.4 543 894.4 869.4 818 830.6 881.9 755.5 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 575 319.4 555.5 869.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 607 319.4 958.3 638.9 575 638.9 607 473.6 453.6 447.2 638.9 607 830.6 607 607 511.1 575 319.4 575 555.5 191.7 869.4 869.4 830.6 830.6 881.9 755.5 755.5 904.2 691.7 691.7 691.7 900 900 900 863.9 862.5 862.5 638.9 638.9 638.9 800 800 884.7 884.7 869.4 702.8 702.8 702.8 987 436.1 638.9 695 559 559 511.1 511.1 638.9 527.1 527.1 575 319.4 319.4 386.5 638.9 638.9 592.4 575 473.6 473.6 453.6 453.6 453.6 447.2 447.2 638.9 638.9 607 511.1 511.1 511.1 638.9 350 543 869.4 869.4 869.4 869.4 869.4 869.4 869.4 1041.7 830.6 755.5 755.5 755.5 755.5 436.1 436.1 436.1 436.1 881.9 900 863.9 863.9 863.9 863.9 863.9 1169.4 894.4 884.7 884.7 884.7 884.7 869.4 723.6 1277.8 559 559 559 559 559 559 830.6 511.1 527.1 527.1 527.1 527.1 319.4 319.4 319.4 319.4 575 638.9 575 575 575 575 575 894.4 575 638.9 638.9 638.9 638.9] endobj -845 0 obj +851 0 obj << /Length1 2534 /Length2 28938 @@ -27600,7 +27659,7 @@ X -a"v:L1ݽ,IA8zˀ{e.7[l endstream endobj -846 0 obj +852 0 obj << /Type /FontDescriptor /FontName /OOOJXH+LMRoman10-Bold @@ -27613,10 +27672,10 @@ endobj /StemV 114 /XHeight 444 /CharSet (/A/B/C/D/E/Eacute/G/H/I/K/L/M/N/P/R/S/T/Udieresis/a/aacute/b/c/d/e/eacute/eight/f/five/four/g/h/i/iacute/j/k/l/m/n/nine/o/oacute/odieresis/ohungarumlaut/one/p/period/r/s/seven/six/t/three/two/u/udieresis/uhungarumlaut/v/y/z/zero) -/FontFile 845 0 R +/FontFile 851 0 R >> endobj -847 0 obj +853 0 obj << /Length1 2795 /Length2 30357 @@ -27751,7 +27810,7 @@ J Y1e!9h`}>I~zU] ǶxzHTXG i3byU>zh UKH$;,$aL4BH-":1 endstream endobj -848 0 obj +854 0 obj << /Type /FontDescriptor /FontName /AXYGGJ+LMRoman12-Bold @@ -27764,10 +27823,10 @@ endobj /StemV 109 /XHeight 444 /CharSet (/A/B/C/D/E/Eacute/F/G/H/I/J/K/L/M/N/O/Oacute/P/Q/R/S/T/U/Udieresis/V/W/Y/Z/a/aacute/b/c/comma/d/e/eacute/eight/f/five/four/g/h/hyphen/i/iacute/j/k/l/m/n/nine/o/oacute/odieresis/ohungarumlaut/one/p/parenleft/parenright/period/r/s/seven/six/t/three/two/u/uacute/udieresis/uhungarumlaut/v/w/x/y/z) -/FontFile 847 0 R +/FontFile 853 0 R >> endobj -849 0 obj +855 0 obj << /Length1 1784 /Length2 18933 @@ -27867,7 +27926,7 @@ CߊL~r QXS#brrUq/H?)aڧrS"L:ʪhL7> endobj -851 0 obj +857 0 obj << /Length1 3079 /Length2 34572 @@ -28049,7 +28108,7 @@ E YNe 7SCX endstream endobj -852 0 obj +858 0 obj << /Type /FontDescriptor /FontName /AFVBTY+LMRoman10-Regular @@ -28062,108 +28121,100 @@ endobj /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/Eacute/F/G/H/I/Iacute/J/K/L/M/N/O/P/Q/R/S/T/U/Uacute/Udieresis/V/W/Y/a/aacute/b/bracketleft/bracketright/bullet/c/colon/comma/d/e/eacute/eight/exclam/f/ff/fi/five/four/g/h/hyphen/i/iacute/j/k/l/m/n/nine/numbersign/o/oacute/odieresis/ohungarumlaut/one/p/parenleft/parenright/period/q/question/quotedbl/quoteright/r/s/seven/six/slash/t/three/two/u/uacute/udieresis/uhungarumlaut/v/w/x/y/z/zero) -/FontFile 851 0 R +/FontFile 857 0 R >> endobj -853 0 obj +859 0 obj << -/Length1 1785 -/Length2 19528 +/Length1 1784 +/Length2 19461 /Length3 0 -/Length 20672 +/Length 20602 /Filter /FlateDecode >> stream -xڴzUT[]5P@qw;ł;݊;Rkq+.~sn<>\sb+ %@ L<9y{[#;fz \ h3y = :My H 2Pw9vv@Q{'Ks П:aXۻ9[[L2 {w%` 01؛ԀZuUqU*5{cU{".IVP5j>Հv -j?sˋ i+333lgaxGR3'{ۿ,@ FF777sg9_,,nNր1.vt,7*9K3OAw*ߋ{'g ?X9U+$5LAF g_7Дo@ӟ9s?ؿߙqmbol r#`fiϚYVWU{;;v w_ 8lwۙھvC;O {'-lk;{7;#`figj{SFu;KG3L#nbg_zf~'`fd 4_༜\ i1sL-M@R.pu3p~G꯭JOMl<@38F{л$%bc`d _wW&Z*{'[#Y:KXM,A&S_da;sRl޵~X9̜{WN!~g^8_yv&vvӻX^6%#=;YPn.73Lf#8ƿ(rl @'Kk`tW 7U:O: i_Y -rjZN[]]?wgcaгp뙙Y8}cM h8golZ+^0QEp\)%1ц-(XIQh/'ţ`WEa֜T5~m,e+(.+WA=0S~@&v TfKB !@ס(wχ7|(Ft'Tdvvpz\Q"ʹP_2]?* ,P'1^Ѵ#iiM:Жr1p>lp##"Js%2B栻j $` &-3E6Ab6Ўd -ȇ0ڌׁA=0TtJUyd -ª0.)_qG|T-)L}@t50L^EB㨛 -*gjՆP5Qtc%JSeIi|lE6=O}c>[ _<6;B7lGʚt:S3c/V w(|Ssڴz@w/3Vzb _YeF`(4sN\>v%WE)g[m٥m}S[;,v;^ci -a#$c#.s:ۨ_%OK4K6h%܁ɻO^5hVU!uuoIGF|΁*D2T,@qy@S;}x%& 5goL(HjzBm`C\D\,FS8൘`'.faVHGG -%&[œNNi6x$'-.-Nuq.ԀҀA5J&o>#2WbOFF=B2g5くGy/6ݛfd\γka/>[0\ߩn%7^Tp‡@,=6觨p#]^yrqdӼ!V#g1SI7X/+^. ̋]@8^ʬ#= XU1PBNb ;kYOU(y$0,c~yd[p6aS4AreN"ѸH0L|W\/S{m9W/TwPg3޷%! Skqhdh/T񈶏5'E-d_@n9ޘpA:#`*k l+Y2N FK'; &xAfL19t @{&C6v` ƯU2`K1o::%92*a959c'ө)>FOq*p .co|a^H܆'T{7qo_We-P-@ѩVT,c-얀q -4@!9ǒ=.{ o|O%g#T#%s? iSm Do ЊWvE?A#S]=X:!~7X`C￷E0Υ1dVBc5j@5qugiQ$1Û,d˿9_2G#*YB#2Ɔ%sd=8ӍR@ER1_lUKRnMcfصeC{CWo&/66]+&C7kOڑ-;kd7ώNjm@>fݕ݆\K[af4 HBDt7Au YOpE& ԩЄu/<^{`[fj&7kaܟ76]Ë<&ΚH `nHI *¢JZ@#f9Qus<<2*d m!\O1dW -\$sHĬԑ >j*f)W,G4Ue) &\CЫ9?oSSu#VؙW-S8J܆E3|MVo0֝tՠ}?9r+W&9ѯ7I\:3m:Q}ئ;1rUu I -X _B &;/X:Wȿ$#8'_ Fר$je(B׻=S\[v9vH"js|NΓ@_T]Km#ia3/hx/QB>'DO@5M{|2rr%?Y+!{eIsoY<+W–Rcҥoȃ #mH{6mΉ6z [XӅ%AtqCOgcT (A=b!mwIn[UG6wX(aC{fʋY5日)(=˗ -pn|dk yKA1h5!v-|wr9iʆ~?MjƉt4>4־&;7h+pػ!,oT&զ`b:9iފ !Kae gx gt+6vɪRp*^BCOKùDkMTaySWpE:Fp T5CQ`Ȋ5=wdSzM8N3l >_զx|p@(5]~ -7/\ׂ6픈4MB7rMbe?k,dhᢈ'Uy<Z%`C!A ߋ&8S"vUn};^6))>c>8(MdRV)h~;Zݦ0k@eϩ9ѝcOg3E4k3KDžGQ{41+цƾY3Bڨ҃Kwv1q0aWȂ/Ul W --ݚ][D1!^3=m,ɋ $&t7JQJ`ؒ:ӞjÜ'Y[U7K02Vhvem72 -=Z.4'/XBEķm"S-Lpg2| -K p8PVu.'xe=*1QSo7W , Ņzo|og7W7`M~eh qZkV;&6y[F˜ ڳX բk6 5y:r.\tn}ԠNJAhߙ V(9nˏ=ww܃[fcBmMNmN%Hk93;ߖ((&T.pL讞xwv-˛bCЯqOw 5U?&]RIAptQa7%H|{$#23z)he/=}#-֗((pܭ!^^{{`V.^fulFUye3뼩Yo6Rյ[S'm<I\ bt3+Z.YWM%Ebc[s5;?a= ۾ʷQSʖpߪeL3U~ȣY(zDʫ} cJٳrs7n!Jg2`+0M;g5b_*CR>sAI*1n0I2d`K[{llVV^f{-J=TGtјgUQc̯0evAiny#1J6 ,gW-@8ޭ,4LJj6TB.I钅a7T*@֩B%K]ߔy0!.(>Ӑ5:F7,.CO jo㐖x7BLL0Ʋ%kԶ/psUTnrȕ:=qxW'8}$!NMq+[xr -f0Hrԗ -7Y&V1hx>oKdXLpŮh* ؟#{w7$_J׽[ }bøh hQ,1PKڐX2?X*KL7cmkr/B<edU JbN/g@(aa(9mIΗȏN\zD ̔7 Ξ(0^ko¦0_= ^D[Jf~մ}2A?F`xȡΓza:/,̜Hh.Tϑ.% |(asOqo~%!i~~u߳EDz8ˤv$ƝGV|IqiJQ+i7J]5ې2xk އB88Ͽܰl6 - %&&/B M.; /zYmZ.2@nZ -Fe|vĖ},c-ٜsulF#ʲ),_G)%g$uƎZo=9SYD+6svr6R+zh]2-u32~ fJ8@$[bE[hn8 \͂_髏-{@pEd7рN Lt [cmm8D5v4'uWawgKa ‡̤A۞CK vH"[J|wM_?Nj -9 dt 5? !ii]tsT;?[eɇtp`fDظ+Q}@>[izSfPpZs%:ԱQ-pܖ#@ZLF(ę%b _*U7FuG %̘?6&lkܭe^Cd 8T!LGHv0~A̜#а}_P׹R;Bz>@ ־@c0t3џg NX F !KV|"C3:g.|2M:'lHp: VJ߄W.ArD/s!8g*oBZ&юM6?]9yOi*_7$wd Ǜ˽rl$;o= R/ ->~`Յe$sCNJL'@Oϭܰa:Dff=]8n/ -EVz'N}.C|eV8.Q}&bl? 7--qswS6N Üo%Q'h"QC%ԅ^"1ޅuK-)-di(ӘB;58¦HjLs?ufRj9q+;ՠ%䝔<|yhpHMXk\Y&ee -Z^Q6i8iA޷0?],4`!>%p+Ps0Z4)mn+( 6I'xD/R(LoRD%S*~fRB a;Ě #:s9Q A`aO+1(8mxBd89ni|/l R5 Ӡ8FF<a_ݭ -W[w,$v'*v`ʰdcVTH VMH50~17%֊&V+2Tb94 z=0Xq0>5tD55rÖ`5FCb@5:82RɒjӸ/Y -Ys#h&9N;z.LvnMb"]KĶ; N e9T?e7Jhӗb`5..XoyF>7)Xd|%qAL힪c_{j(`(3h2lPȶSԃ'N 0wO4QR  -TnYl4b|KtaR\dFd?`y[1| 4'~['tT j{cGAsTe"oMwFRn\CȻSE +)ju _ kqA1V4a+n*i.P(2v:%iV&Yc[xxB .:(w! -tˋ+q"|yq b]k:%>ՉD~$#_ ޫM!0bgNhcpj5ˡݸ -oXgaJ(/U>-.]|Cq?ZVaeIn?4ELc/*.oU=;ѻ\& =45!}r!yՁ||ɀw0TNɓ%sD2Q:cƹvֳp`q|qzql -ޥ"(w_\Zl,*VD4Ԟ)SMW*ڷ7ۆ^!,:,ǡH[4 1ܐ7\dh>*##HPl:"a|*knh=F`oJP -=TwEb0sݙRb*>ՐJY,ΦXa|ֽc.H4?n[+;}p*#Xs JyIB>{Ġ1ˬ#IqZeÄvdp:!ȉjhv9z."z쳥;ChKÛ/g-I/3>C8f]- XLV藟(egF ̼`! Q6Ÿ*tNa)V}@;vPIJKfFt[rpgӨh$ qFftʒ&,2{cex}ZI2!3;%=/Z#@E`Wqun>Uˍ!7tRDi&3W[pM:f  v ԍŘs6AGQ\ﬥubtF/֢y @:SRP}Dm:<S!&mQ!M'.I}6 ;E>KM 'XknMq[pyv(wW5| - {S_1 岷tfOQTz%E~ \$kN((IGOi+˗aPzf|)DM9Ϋ_#cm.0&!r[NJJS1s[Zð΂5Wa`5#^)^|4@\[՛5[:W[^s΍jnwC~-֧RO܆[Pxb9po~yY/~owawNlqj6@iSC  z=gM^褤\Hc2ZZ Ԧ6Oslez21qpM|}l"!tnzԆV|t΢DBa  -<#;aeA+ѳWcNS#XlQ@s.+jsZ ',]m^o8 \tɈ:LЯjDt?}gy_F  -ot(~eZW$x7z5UFC#y֍N/1Q)_DưF9vA{[cx&iE\ -?s(Q- N6wCwy#S0KY6B5+nQ ۵X;Mݫ"Z6>WJپ<+8RUJe?.jt~at i5Ne+<::¹M._R|lA-xˈ_ֈ[E/6AR!_5P`;ޤN{ʵ Hgju42mK,xrA&Ȳ-O',$g#omJZݣs~[X0қLtLD{;8-6%0G}> Y ;'%[ -qa$t>R)E1yca,kjaEI'@V2b}*|;+jg#Ctr)&gKLQvSHr d -7a-ξ1J?QfEf*=*7Qu\k9rjM -:M>?^Gyn2}T]xl1%_K _ډ%=#l+mP%g6?2f'(?0l9E\_w׹{l9e*u Ғސ͓eWfY^lIS1! Qz_|Aǧxcp6rߺsip1&ZOճ'3aqV1XLŅAD's' 4+*VGqHn%O̢c"#,2ORV2z'Ȗ? .h6=:XM@;FT'MqAOj;ؑ -{30X9*m.;|@yNߩsU*}47{}~&z2ω8"j,gmK!? 眔9KJ`J<#jAu;{VPv`h2_pM׽ OlgfRD6J1k%u 惯層Ss*'FOQd,4VEY,=f8"+)dg9BTukDa%r[a/gC'7Z _oez -?8UJTe{U|{U n}ΓgQ `j-ͥ87|x(3 ɥv:陎,*Y?M UyY#4͇UWn^^eGVmZUj䰖dESD+xtΥԴ=)>Li64׻R (jJ^8nM6a){3^-6i'ٳFcls/QL0o<4wvQuXvJpdG~>AyI3Iqֲ T똒5KMGZ{K|DY񞬂ن9/ऄ$_:^"lfs`}5JG+tgx-}r"~@,fCQH m{Uz4 T{<ȯ<1Bs!K*0sVE/ҥ&ف*p}  }i2}v1!J[!VruA,tBG"޹>YSdYxp/=u$V0ϰDT 20IvE<:3t ^ctHe370Nw:x@ưjBH?6C:?j.bȣH_ -|Q=3nqY-~WT4lSyrFydU)ՌEw"N79+@~;r&#f]WIM΂εvW[ N[ 6WDxPȾǣ+U8E>aj,)ԻeƼ9<4Hv(jQ{.[&H"2 %^Qbuyxa "y/ts&{Y@ؒQގ1]ܲ4m~hBK1*ZK%|`Tqdc#+2hA+jkB\[˰ H,ӭj7ii$0}/zA[?tRZi-^Hek*`+ˤo%/8bs}ߌt2'я~ǽn=:bJ _b ]^aA߰mDƐytJ*'&z؆4M^pwPxz';X8qzIlMT#*H -bޢ^~O=WfjgЙGq F5Hy37N=`s!eB5ʚbGlT놱C}(:ܰjOF>~TǀeɫOt- Y+_I0]P!,WyW5] w>ŇlUv|ʟUzw]gx&%Bco) a|0fN2j~`{/ H;@.㻉ik@qCY&SLJ[4 e8D -O~o\w7`BgKlt JA0ege?ɁUB -AOwkjpy?ze֥6r :))5O(5F$K>aGZIZccCބ=N:i -G*-Z(q@&iwZmI] 5X!KW'?HXr~q)z)VC]5_=t#*f5h`~4n)G3E[_K遙Zr}:BR"Ŷj;v87bP/8ww5a𩬴c^ !Zla#Oug2ޗC,Top.Dh<퇿>[Ʋ=n I[+|3_8Z ׫7A>/F5щ/VP I.k_,RD{7++e -eB#-Dvy>U}gf4r`AN* {?$ -&a,$Gˬ& \ 55(H("]6.( 5x2L r0|H-~v |v.ܿܰJ@?K%]bRN->ǧqd?8я؁r_]M/0wuH9hxHO(ܨ^S?+=jz&Ӳ֙jRs£2͇ʢx1#kt-(l.$/Yk;S{ 3-5¯IL&_wO+At*&iCK9o)Syԁ7n/،5(1ZagCrrIQ}і)&3̩ɺc Y[Q;-ċ( !!/ ΝS2 7On0槝_,ic±aA|Czd'|ڇ ~ l]udj)%IRta=`ǭ6Tb>#xTi~+1\oyiM xEcn -==q &mV^< i'MOIXO/eАhcFuળy)UPO+1 9Q(4.ފ5"AOugApw΁q'PAQʟ:TtWCĄ -Ǵ88K޵.};WrدTj r=VeVŸ0"H9.'H-?}/]o. w:GQp"Km<ӠUY%=vc&H,*RR1òDklni:yBR].sU\a(lĢڱ(7@*+DWDuһe*3ϸ}Ӷ%Ƌ*̪cfJ`:ⵙ}˜RC6w7B6kURRi'Y.!O$8,`# $JP]zHbcL)!h|ONU),9H&o:CURE2!?>o-4^0,qҚ+QGQF7G#OQ#ke tTh.z; .?砣Kx%2Z-iurc߸+/{@ 붨M$3eO GtG!SaEM]%C9Yqŷu!HMr B#0k 1- -4c^4>[5RFo!@TSK]7~7mL0ص)%b<^i)Iowx>lL;jXJs{ZR5;0EMzjŇ }6:/'we-M/]ST.}Eyɵ)fDvwtYO~L|-eUhaflC׫pCCOK!۞8*&=)L^;/='bFf g%,nVU>ʭ6eK0k(NTձYtT3oXMzB -Κdf`bevy-/ry=utIr$h۴r7 D*L..G-ANHaUlb끨蒏̚<me N3:هRޡԉ8%sCdVL0hqVU5"ЍQ"81ojr$j⽪ -Gd'WGU6}$35[uZgjPkKe㠀Dcː܊ئyxvtAM6~ -U֊whԃ: -0 g yd/ߺ W_N_LjƋa5IWC@1HVACm+L,GN#Yʓq{|uҢI|p;@PzɽVWy(R9AExG "<}`'^8sԚePTQ% ,M)LA -ZVHe'?'̦E\Ao3%ܺcbLl 8]["me2n2<#_i!Pt< -j2#ԕO]v*JֽgအApc0iC @z3asC15 ZD R"Yګ޼YP ,ΣQVPfv2O0Zykr)d3r2GZQtocT/urY*:jF2 FWsP!B:;8fJSWnWε)ge34 -lA?H$3Әtg!ݱ/RĎԕ:$NZ; ;*jkOGGn@i4U/ IHv)UrF#\0cWN`MJɂHՏ mr5S'_3Pڻ+d_r7"E -(p{p%]I$5z3vVmѧΆ!>Rtj+"L3fw z|8.: uR#"m8sN:t^8dvlsSҕѺFQƮ9WEx{~soB{@p߾ gLa~;+E-#6ThPtoa -p!u@elj>,%pMOh*_r.?S~cNy9֑CzI 쇤N oOrT.ӰMp --/TcF"o^ -[pNu4>*$Qe SyU06跔~Ūm5J ߼w̓:̓tm#zOw\ b.XUoi]NCҫ2982ݔ$oG|(O6ߎvR|1A6Sww_A%]6a;Xd=Z<b*8HJcTsqjy -/I++ta}J%\==ڝ|F4b~nIsL#DCD +xڴsXo>=ܓkdζm۶]35nl~xc:s!*D+`lkqecH(Z02*M Lt ,pddB@'s[a'  g G>Cw @4Gut54p4mLmT!BvfNs07Z i`dihi01Hdm]?J[!`kPTDbr*JTtl!%e1JSQR ߔ i[o#3.@Ge7g?fNNv\tΎNttvVlfpu|~;lc _ +@h$j/'Azj9pW3b6N@OG''gG?7И_ Bkg낶'Ӷ6p3qvc8;:9+#`bn۽;3G'# +!*L+I<ZOtlܜO@X `d0|TXkG dN0َ^(!*֙ =fdF?|f`b`67~~y:N@oi#;Ov [ԟ?H@ϨR}Ω;hG/kI &j:[YX)LoVf3w5w˛; % >/`cjT*Gꓻ2퓖F6@GG ?&''+*I~i󏟈) ``&VV''n@Ogcsv:PN_տ$NI z!2Ct/@oyR## C>;wg/@)77?TgoxcU#+99Z̍?&'O? +hAA[7OZ&&-'̟Cb{On@#E[# Ԗr +H2N?U|+xy;@"~E\:>6%dAVIS +w |d|ErUT2e*%s 4JYf3*c'BOL()m?Pݖq;;A>c V B0$ztPg04 |3A[5V΅DfbwYB d~(TMB.8Lτ+F攸|~1R iTRnd0l3pHE3Vu2;FؖPu鰬asJPnN>ge +:x%U(usnv& +GŘ_!Su1|')uV<1!zEj^zGl>m\n;BaRKN@gV,%\Z&i󀓵Oܑm9]9ڙw]{]0^M%z$;E\E~>JN#FE. + @F8~kT| IQ򻗗4֑cQ=1/B[쎫V筣hjdUqnFiz4`Φ ===>Zرyp5߉㤨gX*m"2(G'q?170מ4.n bC__뜭}Jw@wk3N]mfl>`V+H\FEjYLxh<# 6-;U2A!_MJRRf]4vuݛV} +d.o) "Gt d+cymK220)Zޱr߶I2i#'(0;bԓWgPsܘK][Y5f}s8^6Զ2*`>[1(2 " &D5*w M`!_/]U&, ub~ݽ5UVu$B:,LA0V:[Y1[#`*a*1o'qs26y԰o_ 37nOr= 32!1JFS;ߏ:N'ۓK "b{(ma~hRʮg]ѳ,5 +%[îELUe55[֚Ç-͛:mt_R1hQīiYA9m''!pC:($fOb%ӂBݢ +n"th ]¿3QW9n(aI6ַ+}eZmJcqq6Kr rbChک6}D"&NED_Lqzhlb)ECi!O:( oIc`SR"yݓ+'o'\]k[|h-3)z4_Beǂa,>tQ3 T$OGǖy#ǐ3aobz@P%_sK~6 :Hv& e^#o*/́Y=VnC8`b˚jW2]KaՁVkѵ6NJ|vu|*2֪@EB^cB>^Jb.1,61})8)*#QxtL/|6yA*CuP{p >JOv ʖ8<\[l[֎P_A[v_W:|F}Oyt1zTѓ:՘5I6~|!AQё|fuZN\ ~ T@*Lu*dw#9쁥Q<7q+L(s+=5-lBܒ\j"|!?(z,)Te(]d}]K4 uF(}-I+,h5>~Ǜi)xxT%Vʭ4o;,kIFN[am["RQƉˆ\yvM:,uhc𝘹s= F1#zαHo_csx#5$Bv$ "լ 4|2NCyG?œ؞ ! am~}(B/fᚗJxGiȷؔx!(hjjiR|P䑔߇ +SwR9*ڹl_Yx+~K:H.,4mC5Ҭ*z:E^Vp?hFM?hb{цSV*;Ce線&CyȌ + 9:B+ޚMh :t y!VR@C̤o?%yceecArIMI>G1 :Ъ?A}~;Z)vR;Y,5!Y )6Uay.U~fPw^zÕoqB'S֦NVM?|fSrcǂ8sxj]u1.#"y^d, 6d#WBo_N!$Rʑk/߼6ǁZڔv(StwUb; +􍇂Pwuؽ[~;9?f_U19ZړPG:{眮o5!R\ſy2!$97IvDQQ²M- Ld;jbk#4nG}6_.؋v^vخFMW>Pj黲Q(qOT4eLO;UgriD^W[G䈝ţ9j^Fi䂂6۵OD RdMU-Z< !Qŵk~=d3iQC Q1ݦJ5I)vk%&DA}zۭ`tb wbM9ϡbj*?I\13Sc'YǗf̹L9n'UD_,5o޵ C̚v8QB ዥTvHSؐBUQ 5LyJ7%qqZɴd ٟ WԼT E8CÝ5Fz5{pY8~Gϙ\>l%] i<IyЙۧ^$O܇J3@cJvۦ1~qQb=&X8ENmQ;<-]Rm$x班P#[$2#=ly9oƎ4 + .?a/o= 3'Yl%@mJd؞ Ў2oSKrl_hRlɘ3[5`<£@`5|Xsa:T !׸@X2iG$-#iȖn#f[9URK2o hA=4^_ڿ* r[ߢP_H`8'p@u{p]^X0N{!,N (ZmD̕/ d*:1gh+8q~jG^E7)}5?;` +_qJDW a6.=n˘r0:X !i$bhEĪAE\#7S*m@IzI%3vVo$tZp}TNV${4^nY=l.u_4N#Sl)H✵6}Al Lh*KjWB ?`&4X|O7Ek.IFgdpĔ(b|>J=/Ou.{mvK К8Mo} +5) i &~j@/2?pٟL\e0[F}}j؅ o3I: .yA">pY[|o'Ԩ( ˿Chʳӄak~B:dJj5,pA'#|ƀV3Bۺ]޻zv@Wӎ9wэSiY_n>ʈN1ģ0 +6xrhkpW:"jTI"m~f3¦|GWŽ{L bkvJ |jrm5pr8mP35n%hT1 +œ{|hr:|&m2#AIkDb!-rÒ0H8ri~9c_E|hO8˿ΐCq|eͥA2u_Dp N騵A!\OAIT0CIwt!r?ʴYx@0 k'UdWSyCKgв֞A|5,{ ,g\20(kԹN_rߜr^ޅrm'Yh G*^D|w +B."htx~>󮫁OHNhR= W2G@l?̞h-gu1NkxeBbA7;Y4"y6'kłg!YH#cpA;/~ Cb=ι +7CJ@rSbrk22;7Ts'I3-)T*df17"%Lep!23햫_0Ir#=-ZM!_} O~ޡ*TV{z|+USU,.0b3=\!O>D. tȂANg3.cHVe6']/0Fw *yX'de w`ay0FB5SymjI&tlxHG΂ٕY=jH m>wg W7IyLR4_S:3b586qd^HvӔbm J3G tFX/!h6]؂?aH@)ɏ;hr#=ҡ9DE)#*ʭ=,j+{8EƁ9p[id Z$)͌\# +L̃@=e)첦l\+Eiq}~<Yn1pzOث6`GK ԓ5' +ٍ&1nR,$R=B^Jؑj:^mmNoj|6a X-wi!1m>P’u2SO׿?^L _@O(O R>@^MM8iﳸnDPPQ^@| $7Kwe +&Y^ttP=쑄};gNDUNAsthB=c+P2&Nc +B{^%ap c/]N]:|j'蓶%oԽU ky2eQ<*T*نVwT@,mR~66,Bm%aw}3s { +ΚR u "T܌\&;(gc%`E7|7duQpy19%AAWGq}]&|*l@GdY0 {B0EBױ[EV1";\6`jݖZ+uP) "edq5m;* 1IЃ6rD6:yvSPX= 8h%+bZ+R-?ui mVZP9VJ_ԙWX"C@WO/d_\RSI֮D1ٷpeTŰh'?b1Dv"5f14"#Gt0߁䪖y#3ZD +H2m0>tB$nGX]ows5ƒé/}#8 ,oH0X}'muOG~yޮXȯb>~U`i.Oi; ` +BΡĖߗ(@(Hzm>z Q﹀e9 geLzzIEfNP^cipqsW.E`W2"U۠H^/*ėOKߪ 4oǿ6e< +|dt[/J p$h +lkgTٴhN^'%G (.KIkcW"/v諝JFx]xF|ݵy&5ߤCJWc 0LrҖA0}=hEݽmI1NbB1|wXxnVGEjr?sXvWr/G-샥(0q%mm)ydJ`2Ix +]4hNYfK+B4gkWpSqo2UN&gi& Ӄy9 DŽZdi=JlK#~CI[1O7= Ēsն,-ьI'q0+Ia `TYzة%8fj d;ҀQSIZ=mmYXHd_2~k7>?k߳u ۈ7Ϝg,IJ@aC-]5|Ŝ{T%|g1ڡg)V@j`FBˊ jhw{ +ib~4fm#?Y-rF*54-y9Nr:^* L<{xz<'s{B'THΪ͒XڪF?rR]tX=܍bV{1:6[h|♔ۤ-vqF800q\.fS@$c q{) 9ua>V5sc:@yy:tIݙjړbWqT2^£n6ҐT1# Esy2A$4~?*y~FڨnEcU.Q'˫84jŘln̦W,Bi|Ek}/e!y [l| p-ĥK˘D=NA[ ^n;hhGCd}IKGsm6/X%wQjqKyRQ N@E~(Us1Ġ7wOUG~qWOJ=sǦ,9D'==: `F!7pQl*xNm*e +lm_.!-%xҚ1euzxXFC"J*Fx&6"]}0M%,5H+^^ʚ6x n%{l֌ L= iG%7|B|hI 7a}G3(<_)ܙ߮'w>JKyAÄӊ9>(۸ _AuB@]Kފ(I\f{j.p0:^BLP ExMnC;C-0-˧6#56L뛦QDJ@R auZK[} +&73X #TG_>3gti֗[K Ԉ˗Ჽ#SIIȐPW)qMD,aal?c* a|ixVCLޟq[mlg X0|;y2jT~6'C-24AN@ZՄ}v)hѴҾQ..u:VvH_F[(^:;S*δ0Dn-ՓI;ND!o~#mF E Mo"WYl:(:RD4- U$nN^ CA)~-~wezoAk4?&Yn֘j=NβJ%gޤ"'C_W]dtOے +t {d s(4hƈ&z\& АלKxĉ(k^N! |w]zlS5FFjM.?I^ 0 /2utN|nfDCy~?[e핅 B:ڔ򌭿 .X߳CM[YPe,oyD!2ѣH̛.N1QWjGG7e s:E#a MT4uԉ118Tk`b,cq&|+S eBudXt/Fb<1F +d + ^=*月rC@P:QM.fӨ0H+E!pW.>yKNP'~C$&Ӕ)LgS$ (!&}q^SET!jsbj\VҶf]画QOcc"xȾOJe_Z]q}ҡj6uY5FyXLRa2):ٔc,fvL ƫNgd>c+f4եiroW`NZ]6`$w%$?3f׭HQo(ZX"gO^:'a d!B'`_QE"U1q@kkP[+~>vB.#u#p7Fɵ}';݆62x#p'' CqqqĿ ՝ʹS'rV)v(3qծ~a]~EJ:|,˂+2!kd7)=YFMhu=jÄmGpZjP+ʍ=W] + ܺZr9~yqh}ɥQmm; ?oΝ7p J*+DBV |cA硪8Q +-TFW {+D5Ʃ.@p}kf2i#/XEjl`\/W(y^7~m.a)ӂuU%0ȋ$y'+=8!2|%pNehWIǁ\ܑ7ܔ[kr!FwyO%ڱ#e?}fW6H/}"L/KZsQm|[u8 {chǮYܒҤ=`D/R^{jF0<.FdD䛦4\ ;!0cR +Or0Xb^]6(a9O wfNp.ݽ.!t-oFMB]bn襞@(EJ hNAdt q< D>#=d_եs=)dbB^Jz;':S>`i?"`U5 ݅,1I 0zL6s:;q%U(W&9 J’]-Łd%M`. Vk{0w <Qtuni)UZ<©pyM1 gy:=@?`"P'㎲Tc 'xpU y( kŒ|뗅NQ]rV +asd(ʽr^1V2!\H3Zү<t#5YF?y9 +7, +\ _^+ܪ#Ii,ܴITI^ 6T-f5ݧb\*]#BjEЛbP*0'qm';_5J=(BlQ"`oCaf +<|͈)owB^y2c!z?rSoB44ËTȪGdBɅ kDuW9CHTRW#Ѯ8l] #4e".X[6P;wHy0љqZ2 z-Oэ +Ĕ]_l(#@K*}޻2b:*6L Py0u rZ8d$7c= +9'@d MuG,[K?r8vc0Cls۸7 VGo?O-=e@/Wn,^<.4" \Ňe8uGq+nx׺7lދ?kK4h%n=OG=Sғp z-\9g!ŲմEfFp +W3OG;X=5VsZ_.Pꬢ-m?[?AkT!=(\NB<1Emzn qm%,#".Avڢn$kҲtxS4tv1MM +.u-zvQh{q0!WP_ oo%%QoA''xbSrxr; A1U`A +{χOƑroצ2Y؂#CE+>l$\&v䧨Q?wxUf2yܗ +}r>^)OoE )& /_6Uvٺ4-T01m,iZWT*6ȆVP̥uW,R>l *Vcu*Aəܹ=6;VbUFpf{!m^} NYQJ%XDlcUlܼ7JV5Pg4~ ov.o@s-Os9f3N4m{Y~4l_+]Txs9iPPl5Ȯ ޳DpYʢa̜¡sf^PVc%1JbvuTtU}:_6ߗ#fKqSbT~uhmsIb{"d}a5{fORe +} H:}ݒE,ԀJw;WPq3WGM},_#_O]5H5E=+7}٦/2ۀTQz +Qm Yo8">QIm2܁7WFDqs.6zBwFGyrA[_[/ߴf;}x-!sW)xGS<˩ W𐁻冦duT6=!}@jFQ*O"̈W1fkj`j +^wrt%\[TFdd\1M|Mw45xo˳NG ZP)r`˹CU @u.woCbKjI.c=sqΥ0eT2,2o) j;uYl:uWĩH.E.;6eM3Qc +i}N?S7資B,<á*au(=2ir" pw z}ݣmҤgņ9܎f Ԋ}@S`t\{)]R9ŴH5h쌂(1^,g\=xy}>&\k9elrJ5Ҷ`:x?j%]" zf<HCcL4ur4(@d.}٦+HNAEfc>%p^ڷJ^" mւ$Sm̃:s"G}&Ϸ,J|Kr+^xSDRB,Z)aMt5ӗ- "YzB%g[_%e /f8L;-Ĭ!AS m&w=u vjڿn_3Uef=Z]}ۈvo_SEdbN;TEV9S/.M2%N  65$6D!{Jx@찠- ʤq tm6L a v +WP\5be|"0(##+5:hY VWQjǸl ~r#]%?Lh0R"7=&"/ՅhZzQ 6$4)aG3LMM!ρ5U^V~Є#;HNo3txz>1N&<oQ\`/mcryBkpGdEK +1,޻3Z̻+b;sV2a sE2)}UexF&dsMʪy_%K+wN80P׾UCGpŐ-{lY|mFuPB acCkݭ \Lď/9 +HΘ +DYbb?diHeM"OrDbp:Y=(\ZBpAuhP"0,)Mv;k+;|o&tϢ(4"}/I`WS "J-7f(F,54%|Wmuwf;ړE.7]Ț:k +?O}ax>xK?!<cTvmw~]ݗF Uȁ#'H%dv$tBZ:mB +Df`C% >[ط"A3s`^>P/a +#T3@ IUsH-l! +ͺ'pG}g'0̽gL+D#<"f7*V}~,>;S:^[.94Pп:¼4`!Ae+kpBSܝ$: X6Vez>=EMXX#.;ׄW}nI"K ?Sf {:Pe53uT G#_?kE6zjU|c;n{CT;tj09;"^yut<:jdqF⢱΀ c}ZtCw*m lmIyvm_.O~#_rlkϜSM7I8G@O4WعƘlx=/-y =Tc em5$D+R*)ҁrUAx>|[^=[*Iu 5c࠘~J +[uypdl9ֆ0,P!uBX>UM5hˌfo~MU3r yݭG׆91OC<W.YXL IZ}H^&xK=bYx@8Dž6*Y G%p1|ϟ'o說Ȉ]$>Q;,B2Ple}i%## endstream endobj -854 0 obj +860 0 obj << /Type /FontDescriptor -/FontName /TBCHOE+LMRoman12-Regular +/FontName /RSWIAN+LMRoman12-Regular /Flags 4 /FontBBox [-422 -280 1394 1127] /Ascent 689 @@ -28172,11 +28223,11 @@ endobj /ItalicAngle 0 /StemV 65 /XHeight 431 -/CharSet (/b/c/d/e/eight/m/period/r/two/zero) -/FontFile 853 0 R +/CharSet (/b/c/d/e/m/nine/period/r/two/zero) +/FontFile 859 0 R >> endobj -855 0 obj +861 0 obj << /Length1 1790 /Length2 21416 @@ -28271,7 +28322,7 @@ Hp HrFWjXr endstream endobj -856 0 obj +862 0 obj << /Type /FontDescriptor /FontName /HUFBEO+LMRoman6-Regular @@ -28284,10 +28335,10 @@ endobj /StemV 83 /XHeight 431 /CharSet (/eight/five/four/nine/one/seven/six/three/two/zero) -/FontFile 855 0 R +/FontFile 861 0 R >> endobj -857 0 obj +863 0 obj << /Length1 1653 /Length2 20177 @@ -28371,7 +28422,7 @@ Y =F TYcɫx̕`v݀{< D\+#["1?B0dM-J ]rȭ3L&ѫx,rsYU81%OIg_G> endobj -859 0 obj +865 0 obj << /Length1 2368 /Length2 27072 @@ -28511,7 +28562,7 @@ I [mGIɆibHoMH EvBwA.j:4\j[*H!`te-NmebBW׽B=.bοo$9ųKq2"] 79=>0PAlfp g+\nLt%EodʏDJQc eX ٙ endstream endobj -860 0 obj +866 0 obj << /Type /FontDescriptor /FontName /QMBEUO+LMRoman9-Regular @@ -28524,10 +28575,10 @@ endobj /StemV 90 /XHeight 431 /CharSet (/A/C/G/I/J/L/M/S/T/V/W/a/aacute/b/c/colon/comma/d/e/eacute/f/fi/g/h/hyphen/i/iacute/j/k/l/m/n/o/oacute/odieresis/ohungarumlaut/p/period/r/s/t/u/uacute/udieresis/uhungarumlaut/v/x/y/z) -/FontFile 859 0 R +/FontFile 865 0 R >> endobj -861 0 obj +867 0 obj << /Length1 1926 /Length2 13901 @@ -28582,7 +28633,7 @@ Lr* =RYoDpK| 1C|RчQT@!9.we7ko5@)]p,K endstream endobj -862 0 obj +868 0 obj << /Type /FontDescriptor /FontName /PLICVW+LMRoman10-Italic @@ -28595,10 +28646,10 @@ endobj /StemV 56 /XHeight 431 /CharSet (/K/R/aacute/c/d/e/eacute/h/i/iacute/k/l/n/o/r/s/t/u/z) -/FontFile 861 0 R +/FontFile 867 0 R >> endobj -863 0 obj +869 0 obj << /Length1 2783 /Length2 28008 @@ -28692,7 +28743,7 @@ zW ]hU47vwgZW}>lhGHC v˝-sDfj`OӷYjr3]p(B#Ц<bkE”ie*pMT2} X719w%QKGĆ=lO6.p?liC<=Ncn֑ѕT߇tQ>Ⱥ xt/qN?KbS|W@XCwK݆|.1Z|h612;7=&<b endstream endobj -864 0 obj +870 0 obj << /Type /FontDescriptor /FontName /BFMOSD+LMMonoLt10-Regular @@ -28705,16 +28756,16 @@ endobj /StemV 51 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/Q/R/S/T/U/V/W/a/asterisk/b/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/e/equal/f/five/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/period/q/question/quotedbl/r/s/semicolon/slash/t/two/u/v/w/x/y/z/zero) -/FontFile 863 0 R +/FontFile 869 0 R >> endobj -832 0 obj +838 0 obj << /Type /Encoding /Differences [27/ff/fi 33/exclam/quotedbl/numbersign 39/quoteright/parenleft/parenright/asterisk 44/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question 65/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W 89/Y/Z/bracketleft 93/bracketright 97/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright 174/ohungarumlaut 182/uhungarumlaut 201/Eacute 205/Iacute 211/Oacute 218/Uacute 220/Udieresis 225/aacute 233/eacute 237/iacute 243/oacute 246/odieresis 250/uacute 252/udieresis] >> endobj -836 0 obj +842 0 obj << /Type /Encoding /Differences [136/bullet] @@ -28725,11 +28776,11 @@ endobj /Type /Font /Subtype /Type1 /BaseFont /OOOJXH+LMRoman10-Bold -/FontDescriptor 846 0 R +/FontDescriptor 852 0 R /FirstChar 46 /LastChar 252 -/Widths 844 0 R -/Encoding 832 0 R +/Widths 850 0 R +/Encoding 838 0 R >> endobj 320 0 obj @@ -28737,11 +28788,11 @@ endobj /Type /Font /Subtype /Type1 /BaseFont /AXYGGJ+LMRoman12-Bold -/FontDescriptor 848 0 R +/FontDescriptor 854 0 R /FirstChar 40 /LastChar 252 -/Widths 842 0 R -/Encoding 832 0 R +/Widths 848 0 R +/Encoding 838 0 R >> endobj 321 0 obj @@ -28749,11 +28800,11 @@ endobj /Type /Font /Subtype /Type1 /BaseFont /IEQQOP+LMRomanCaps10-Regular -/FontDescriptor 850 0 R +/FontDescriptor 856 0 R /FirstChar 83 /LastChar 122 -/Widths 841 0 R -/Encoding 832 0 R +/Widths 847 0 R +/Encoding 838 0 R >> endobj 319 0 obj @@ -28761,59 +28812,59 @@ endobj /Type /Font /Subtype /Type1 /BaseFont /AFVBTY+LMRoman10-Regular -/FontDescriptor 852 0 R +/FontDescriptor 858 0 R /FirstChar 27 /LastChar 252 -/Widths 843 0 R -/Encoding 832 0 R +/Widths 849 0 R +/Encoding 838 0 R >> endobj 323 0 obj << /Type /Font /Subtype /Type1 -/BaseFont /TBCHOE+LMRoman12-Regular -/FontDescriptor 854 0 R +/BaseFont /RSWIAN+LMRoman12-Regular +/FontDescriptor 860 0 R /FirstChar 46 /LastChar 114 -/Widths 839 0 R -/Encoding 832 0 R +/Widths 845 0 R +/Encoding 838 0 R >> endobj -440 0 obj +446 0 obj << /Type /Font /Subtype /Type1 /BaseFont /HUFBEO+LMRoman6-Regular -/FontDescriptor 856 0 R +/FontDescriptor 862 0 R /FirstChar 48 /LastChar 57 -/Widths 835 0 R -/Encoding 832 0 R +/Widths 841 0 R +/Encoding 838 0 R >> endobj -438 0 obj +444 0 obj << /Type /Font /Subtype /Type1 /BaseFont /QNFCGI+LMRoman8-Regular -/FontDescriptor 858 0 R +/FontDescriptor 864 0 R /FirstChar 49 /LastChar 50 -/Widths 838 0 R -/Encoding 832 0 R +/Widths 844 0 R +/Encoding 838 0 R >> endobj -442 0 obj +448 0 obj << /Type /Font /Subtype /Type1 /BaseFont /QMBEUO+LMRoman9-Regular -/FontDescriptor 860 0 R +/FontDescriptor 866 0 R /FirstChar 28 /LastChar 252 -/Widths 834 0 R -/Encoding 832 0 R +/Widths 840 0 R +/Encoding 838 0 R >> endobj 322 0 obj @@ -28821,42 +28872,42 @@ endobj /Type /Font /Subtype /Type1 /BaseFont /PLICVW+LMRoman10-Italic -/FontDescriptor 862 0 R +/FontDescriptor 868 0 R /FirstChar 75 /LastChar 237 -/Widths 840 0 R -/Encoding 832 0 R +/Widths 846 0 R +/Encoding 838 0 R >> endobj -484 0 obj +490 0 obj << /Type /Font /Subtype /Type1 /BaseFont /BFMOSD+LMMonoLt10-Regular -/FontDescriptor 864 0 R +/FontDescriptor 870 0 R /FirstChar 34 /LastChar 125 -/Widths 833 0 R -/Encoding 832 0 R +/Widths 839 0 R +/Encoding 838 0 R >> endobj -439 0 obj +445 0 obj << /Type /Font /Subtype /Type1 /BaseFont /AFVBTY+LMRoman10-Regular -/FontDescriptor 852 0 R +/FontDescriptor 858 0 R /FirstChar 136 /LastChar 136 -/Widths 837 0 R -/Encoding 836 0 R +/Widths 843 0 R +/Encoding 842 0 R >> endobj 324 0 obj << /Type /Pages /Count 6 -/Parent 865 0 R +/Parent 871 0 R /Kids [313 0 R 358 0 R 402 0 R 413 0 R 416 0 R 419 0 R] >> endobj @@ -28864,82 +28915,82 @@ endobj << /Type /Pages /Count 6 -/Parent 865 0 R -/Kids [422 0 R 427 0 R 430 0 R 436 0 R 448 0 R 458 0 R] +/Parent 871 0 R +/Kids [422 0 R 433 0 R 436 0 R 442 0 R 454 0 R 464 0 R] >> endobj -465 0 obj +471 0 obj << /Type /Pages /Count 6 -/Parent 865 0 R -/Kids [463 0 R 468 0 R 481 0 R 491 0 R 503 0 R 511 0 R] +/Parent 871 0 R +/Kids [469 0 R 474 0 R 487 0 R 497 0 R 509 0 R 517 0 R] >> endobj -525 0 obj +531 0 obj << /Type /Pages /Count 6 -/Parent 865 0 R -/Kids [523 0 R 535 0 R 542 0 R 546 0 R 578 0 R 587 0 R] +/Parent 871 0 R +/Kids [529 0 R 541 0 R 548 0 R 552 0 R 584 0 R 593 0 R] >> endobj -624 0 obj +630 0 obj << /Type /Pages /Count 6 -/Parent 865 0 R -/Kids [607 0 R 629 0 R 633 0 R 651 0 R 669 0 R 678 0 R] +/Parent 871 0 R +/Kids [613 0 R 635 0 R 639 0 R 657 0 R 675 0 R 684 0 R] >> endobj -693 0 obj +699 0 obj << /Type /Pages /Count 6 -/Parent 865 0 R -/Kids [689 0 R 699 0 R 710 0 R 715 0 R 722 0 R 728 0 R] +/Parent 871 0 R +/Kids [695 0 R 705 0 R 716 0 R 721 0 R 728 0 R 734 0 R] >> endobj -740 0 obj +746 0 obj << /Type /Pages /Count 6 -/Parent 866 0 R -/Kids [736 0 R 744 0 R 749 0 R 757 0 R 776 0 R 781 0 R] +/Parent 872 0 R +/Kids [742 0 R 750 0 R 755 0 R 763 0 R 782 0 R 787 0 R] >> endobj -804 0 obj +810 0 obj << /Type /Pages /Count 3 -/Parent 866 0 R -/Kids [796 0 R 820 0 R 830 0 R] +/Parent 872 0 R +/Kids [802 0 R 826 0 R 836 0 R] >> endobj -865 0 obj +871 0 obj << /Type /Pages /Count 36 -/Parent 867 0 R -/Kids [324 0 R 424 0 R 465 0 R 525 0 R 624 0 R 693 0 R] +/Parent 873 0 R +/Kids [324 0 R 424 0 R 471 0 R 531 0 R 630 0 R 699 0 R] >> endobj -866 0 obj +872 0 obj << /Type /Pages /Count 9 -/Parent 867 0 R -/Kids [740 0 R 804 0 R] +/Parent 873 0 R +/Kids [746 0 R 810 0 R] >> endobj -867 0 obj +873 0 obj << /Type /Pages /Count 45 -/Kids [865 0 R 866 0 R] +/Kids [871 0 R 872 0 R] >> endobj -868 0 obj +874 0 obj << /Type /Outlines /First 3 0 R @@ -28951,7 +29002,7 @@ endobj << /Title 311 0 R /A 309 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 303 0 R >> endobj @@ -28966,7 +29017,7 @@ endobj << /Title 304 0 R /A 301 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 299 0 R /Next 310 0 R /First 307 0 R @@ -28978,7 +29029,7 @@ endobj << /Title 300 0 R /A 297 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 287 0 R /Next 303 0 R >> @@ -29003,7 +29054,7 @@ endobj << /Title 288 0 R /A 285 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 223 0 R /Next 299 0 R /First 291 0 R @@ -29150,7 +29201,7 @@ endobj << /Title 224 0 R /A 221 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 183 0 R /Next 287 0 R /First 227 0 R @@ -29244,7 +29295,7 @@ endobj << /Title 184 0 R /A 181 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 111 0 R /Next 223 0 R /First 187 0 R @@ -29410,7 +29461,7 @@ endobj << /Title 112 0 R /A 109 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 87 0 R /Next 183 0 R /First 115 0 R @@ -29466,7 +29517,7 @@ endobj << /Title 88 0 R /A 85 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 27 0 R /Next 111 0 R /First 91 0 R @@ -29606,7 +29657,7 @@ endobj << /Title 28 0 R /A 25 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 11 0 R /Next 87 0 R /First 31 0 R @@ -29643,7 +29694,7 @@ endobj << /Title 12 0 R /A 9 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 7 0 R /Next 27 0 R /First 15 0 R @@ -29655,7 +29706,7 @@ endobj << /Title 8 0 R /A 5 0 R -/Parent 868 0 R +/Parent 874 0 R /Prev 3 0 R /Next 11 0 R >> @@ -29664,629 +29715,629 @@ endobj << /Title 4 0 R /A 1 0 R -/Parent 868 0 R +/Parent 874 0 R /Next 7 0 R >> endobj -869 0 obj +875 0 obj << -/Names [(Doc-Start) 317 0 R (Hfootnote.1) 441 0 R (Hfootnote.2) 486 0 R (Hfootnote.3) 580 0 R (Hfootnote.4) 672 0 R (Hfootnote.5) 692 0 R] +/Names [(Doc-Start) 317 0 R (Hfootnote.1) 447 0 R (Hfootnote.2) 492 0 R (Hfootnote.3) 586 0 R (Hfootnote.4) 678 0 R (Hfootnote.5) 698 0 R] /Limits [(Doc-Start) (Hfootnote.5)] >> endobj -870 0 obj +876 0 obj << -/Names [(chapter*.1) 360 0 R (chapter*.2) 2 0 R (chapter*.27) 798 0 R (chapter*.3) 6 0 R (chapter.1) 10 0 R (chapter.2) 26 0 R] +/Names [(chapter*.1) 360 0 R (chapter*.2) 2 0 R (chapter*.27) 804 0 R (chapter*.3) 6 0 R (chapter.1) 10 0 R (chapter.2) 26 0 R] /Limits [(chapter*.1) (chapter.2)] >> endobj -871 0 obj +877 0 obj << /Names [(chapter.3) 86 0 R (chapter.4) 110 0 R (chapter.5) 182 0 R (chapter.6) 222 0 R (chapter.7) 286 0 R (chapter.8) 298 0 R] /Limits [(chapter.3) (chapter.8)] >> endobj -872 0 obj -<< -/Names [(chapter.9) 302 0 R (cite.apexcharts) 539 0 R (cite.automapper) 631 0 R (cite.birdnetes-tdk) 443 0 R (cite.birdnetes-thesis) 444 0 R (cite.docker) 450 0 R] -/Limits [(chapter.9) (cite.docker)] ->> -endobj -873 0 obj -<< -/Names [(cite.docker-compose) 779 0 R (cite.dockerfile) 778 0 R (cite.git) 505 0 R (cite.google-map-react) 540 0 R (cite.grafana) 487 0 R (cite.hmacsha512) 581 0 R] -/Limits [(cite.docker-compose) (cite.hmacsha512)] ->> -endobj -874 0 obj -<< -/Names [(cite.jwt) 526 0 R (cite.kibana) 488 0 R (cite.kubernetes) 451 0 R (cite.kubernetes-dashboard) 489 0 R (cite.material) 537 0 R (cite.material-ui) 538 0 R] -/Limits [(cite.jwt) (cite.material-ui)] ->> -endobj -875 0 obj -<< -/Names [(cite.mqttnet-examples) 771 0 R (cite.mqttnet-github) 528 0 R (cite.mqttnet-winforms) 772 0 R (cite.nlog) 529 0 R (cite.nswag) 625 0 R (cite.nswag-studio) 569 0 R] -/Limits [(cite.mqttnet-examples) (cite.nswag-studio)] ->> -endobj -876 0 obj -<< -/Names [(cite.nuget) 514 0 R (cite.react) 530 0 R (cite.react-context) 694 0 R (cite.signalr) 527 0 R (cite.swagger-ui) 626 0 R (cite.trello) 506 0 R] -/Limits [(cite.nuget) (cite.trello)] ->> -endobj -877 0 obj -<< -/Names [(cite.vs) 507 0 R (cite.vs-code) 508 0 R (figure.caption.11) 609 0 R (figure.caption.12) 671 0 R (figure.caption.13) 680 0 R (figure.caption.14) 681 0 R] -/Limits [(cite.vs) (figure.caption.14)] ->> -endobj 878 0 obj << -/Names [(figure.caption.15) 691 0 R (figure.caption.16) 701 0 R (figure.caption.17) 712 0 R (figure.caption.18) 713 0 R (figure.caption.19) 717 0 R (figure.caption.20) 718 0 R] -/Limits [(figure.caption.15) (figure.caption.20)] +/Names [(chapter.9) 302 0 R (cite.apexcharts) 545 0 R (cite.automapper) 637 0 R (cite.birdnetes-tdk) 449 0 R (cite.birdnetes-thesis) 450 0 R (cite.docker) 456 0 R] +/Limits [(chapter.9) (cite.docker)] >> endobj 879 0 obj << -/Names [(figure.caption.21) 724 0 R (figure.caption.22) 730 0 R (figure.caption.23) 738 0 R (figure.caption.24) 739 0 R (figure.caption.25) 746 0 R (figure.caption.26) 769 0 R] -/Limits [(figure.caption.21) (figure.caption.26)] +/Names [(cite.docker-compose) 785 0 R (cite.dockerfile) 784 0 R (cite.git) 511 0 R (cite.google-map-react) 546 0 R (cite.grafana) 493 0 R (cite.hmacsha512) 587 0 R] +/Limits [(cite.docker-compose) (cite.hmacsha512)] >> endobj 880 0 obj << -/Names [(figure.caption.4) 460 0 R (figure.caption.5) 483 0 R (figure.caption.6) 493 0 R (figure.caption.7) 494 0 R (figure.caption.8) 513 0 R (figure.caption.9) 582 0 R] -/Limits [(figure.caption.4) (figure.caption.9)] +/Names [(cite.jwt) 532 0 R (cite.kibana) 494 0 R (cite.kubernetes) 457 0 R (cite.kubernetes-dashboard) 495 0 R (cite.material) 543 0 R (cite.material-ui) 544 0 R] +/Limits [(cite.jwt) (cite.material-ui)] >> endobj 881 0 obj << -/Names [(lstlisting.5.1) 548 0 R (lstlisting.5.2) 590 0 R (lstlisting.5.3) 610 0 R (lstlisting.5.4) 635 0 R (lstlisting.6.1) 653 0 R (lstlisting.7.1) 751 0 R] -/Limits [(lstlisting.5.1) (lstlisting.7.1)] +/Names [(cite.mqttnet-examples) 777 0 R (cite.mqttnet-github) 534 0 R (cite.mqttnet-winforms) 778 0 R (cite.nlog) 535 0 R (cite.nswag) 631 0 R (cite.nswag-studio) 575 0 R] +/Limits [(cite.mqttnet-examples) (cite.nswag-studio)] >> endobj 882 0 obj << -/Names [(lstlisting.caption.10) 589 0 R (lstnumber.5.1.1) 549 0 R (lstnumber.5.1.10) 558 0 R (lstnumber.5.1.11) 559 0 R (lstnumber.5.1.12) 560 0 R (lstnumber.5.1.13) 561 0 R] -/Limits [(lstlisting.caption.10) (lstnumber.5.1.13)] +/Names [(cite.nuget) 520 0 R (cite.react) 536 0 R (cite.react-context) 700 0 R (cite.signalr) 533 0 R (cite.swagger-ui) 632 0 R (cite.trello) 512 0 R] +/Limits [(cite.nuget) (cite.trello)] >> endobj 883 0 obj << -/Names [(lstnumber.5.1.14) 562 0 R (lstnumber.5.1.15) 563 0 R (lstnumber.5.1.16) 564 0 R (lstnumber.5.1.17) 565 0 R (lstnumber.5.1.18) 566 0 R (lstnumber.5.1.19) 567 0 R] -/Limits [(lstnumber.5.1.14) (lstnumber.5.1.19)] +/Names [(cite.vs) 513 0 R (cite.vs-code) 514 0 R (figure.caption.11) 615 0 R (figure.caption.12) 677 0 R (figure.caption.13) 686 0 R (figure.caption.14) 687 0 R] +/Limits [(cite.vs) (figure.caption.14)] >> endobj 884 0 obj << -/Names [(lstnumber.5.1.2) 550 0 R (lstnumber.5.1.20) 568 0 R (lstnumber.5.1.3) 551 0 R (lstnumber.5.1.4) 552 0 R (lstnumber.5.1.5) 553 0 R (lstnumber.5.1.6) 554 0 R] -/Limits [(lstnumber.5.1.2) (lstnumber.5.1.6)] +/Names [(figure.caption.15) 697 0 R (figure.caption.16) 707 0 R (figure.caption.17) 718 0 R (figure.caption.18) 719 0 R (figure.caption.19) 723 0 R (figure.caption.20) 724 0 R] +/Limits [(figure.caption.15) (figure.caption.20)] >> endobj 885 0 obj << -/Names [(lstnumber.5.1.7) 555 0 R (lstnumber.5.1.8) 556 0 R (lstnumber.5.1.9) 557 0 R (lstnumber.5.2.1) 591 0 R (lstnumber.5.2.10) 600 0 R (lstnumber.5.2.11) 601 0 R] -/Limits [(lstnumber.5.1.7) (lstnumber.5.2.11)] +/Names [(figure.caption.21) 730 0 R (figure.caption.22) 736 0 R (figure.caption.23) 744 0 R (figure.caption.24) 745 0 R (figure.caption.25) 752 0 R (figure.caption.26) 775 0 R] +/Limits [(figure.caption.21) (figure.caption.26)] >> endobj 886 0 obj << -/Names [(lstnumber.5.2.12) 602 0 R (lstnumber.5.2.2) 592 0 R (lstnumber.5.2.3) 593 0 R (lstnumber.5.2.4) 594 0 R (lstnumber.5.2.5) 595 0 R (lstnumber.5.2.6) 596 0 R] -/Limits [(lstnumber.5.2.12) (lstnumber.5.2.6)] +/Names [(figure.caption.4) 466 0 R (figure.caption.5) 489 0 R (figure.caption.6) 499 0 R (figure.caption.7) 500 0 R (figure.caption.8) 519 0 R (figure.caption.9) 588 0 R] +/Limits [(figure.caption.4) (figure.caption.9)] >> endobj 887 0 obj << -/Names [(lstnumber.5.2.7) 597 0 R (lstnumber.5.2.8) 598 0 R (lstnumber.5.2.9) 599 0 R (lstnumber.5.3.1) 611 0 R (lstnumber.5.3.10) 620 0 R (lstnumber.5.3.11) 621 0 R] -/Limits [(lstnumber.5.2.7) (lstnumber.5.3.11)] +/Names [(lstlisting.5.1) 554 0 R (lstlisting.5.2) 596 0 R (lstlisting.5.3) 616 0 R (lstlisting.5.4) 641 0 R (lstlisting.6.1) 659 0 R (lstlisting.7.1) 757 0 R] +/Limits [(lstlisting.5.1) (lstlisting.7.1)] >> endobj 888 0 obj << -/Names [(lstnumber.5.3.12) 622 0 R (lstnumber.5.3.13) 623 0 R (lstnumber.5.3.2) 612 0 R (lstnumber.5.3.3) 613 0 R (lstnumber.5.3.4) 614 0 R (lstnumber.5.3.5) 615 0 R] -/Limits [(lstnumber.5.3.12) (lstnumber.5.3.5)] +/Names [(lstlisting.caption.10) 595 0 R (lstnumber.5.1.1) 555 0 R (lstnumber.5.1.10) 564 0 R (lstnumber.5.1.11) 565 0 R (lstnumber.5.1.12) 566 0 R (lstnumber.5.1.13) 567 0 R] +/Limits [(lstlisting.caption.10) (lstnumber.5.1.13)] >> endobj 889 0 obj << -/Names [(lstnumber.5.3.6) 616 0 R (lstnumber.5.3.7) 617 0 R (lstnumber.5.3.8) 618 0 R (lstnumber.5.3.9) 619 0 R (lstnumber.5.4.1) 636 0 R (lstnumber.5.4.10) 645 0 R] -/Limits [(lstnumber.5.3.6) (lstnumber.5.4.10)] +/Names [(lstnumber.5.1.14) 568 0 R (lstnumber.5.1.15) 569 0 R (lstnumber.5.1.16) 570 0 R (lstnumber.5.1.17) 571 0 R (lstnumber.5.1.18) 572 0 R (lstnumber.5.1.19) 573 0 R] +/Limits [(lstnumber.5.1.14) (lstnumber.5.1.19)] >> endobj 890 0 obj << -/Names [(lstnumber.5.4.11) 646 0 R (lstnumber.5.4.12) 647 0 R (lstnumber.5.4.13) 648 0 R (lstnumber.5.4.2) 637 0 R (lstnumber.5.4.3) 638 0 R (lstnumber.5.4.4) 639 0 R] -/Limits [(lstnumber.5.4.11) (lstnumber.5.4.4)] +/Names [(lstnumber.5.1.2) 556 0 R (lstnumber.5.1.20) 574 0 R (lstnumber.5.1.3) 557 0 R (lstnumber.5.1.4) 558 0 R (lstnumber.5.1.5) 559 0 R (lstnumber.5.1.6) 560 0 R] +/Limits [(lstnumber.5.1.2) (lstnumber.5.1.6)] >> endobj 891 0 obj << -/Names [(lstnumber.5.4.5) 640 0 R (lstnumber.5.4.6) 641 0 R (lstnumber.5.4.7) 642 0 R (lstnumber.5.4.8) 643 0 R (lstnumber.5.4.9) 644 0 R (lstnumber.6.1.1) 654 0 R] -/Limits [(lstnumber.5.4.5) (lstnumber.6.1.1)] +/Names [(lstnumber.5.1.7) 561 0 R (lstnumber.5.1.8) 562 0 R (lstnumber.5.1.9) 563 0 R (lstnumber.5.2.1) 597 0 R (lstnumber.5.2.10) 606 0 R (lstnumber.5.2.11) 607 0 R] +/Limits [(lstnumber.5.1.7) (lstnumber.5.2.11)] >> endobj 892 0 obj << -/Names [(lstnumber.6.1.2) 655 0 R (lstnumber.6.1.3) 656 0 R (lstnumber.6.1.4) 657 0 R (lstnumber.6.1.5) 658 0 R (lstnumber.6.1.6) 659 0 R (lstnumber.6.1.7) 660 0 R] -/Limits [(lstnumber.6.1.2) (lstnumber.6.1.7)] +/Names [(lstnumber.5.2.12) 608 0 R (lstnumber.5.2.2) 598 0 R (lstnumber.5.2.3) 599 0 R (lstnumber.5.2.4) 600 0 R (lstnumber.5.2.5) 601 0 R (lstnumber.5.2.6) 602 0 R] +/Limits [(lstnumber.5.2.12) (lstnumber.5.2.6)] >> endobj 893 0 obj << -/Names [(lstnumber.6.1.8) 661 0 R (lstnumber.6.1.9) 662 0 R (lstnumber.7.1.1) 759 0 R (lstnumber.7.1.10) 768 0 R (lstnumber.7.1.2) 760 0 R (lstnumber.7.1.3) 761 0 R] -/Limits [(lstnumber.6.1.8) (lstnumber.7.1.3)] +/Names [(lstnumber.5.2.7) 603 0 R (lstnumber.5.2.8) 604 0 R (lstnumber.5.2.9) 605 0 R (lstnumber.5.3.1) 617 0 R (lstnumber.5.3.10) 626 0 R (lstnumber.5.3.11) 627 0 R] +/Limits [(lstnumber.5.2.7) (lstnumber.5.3.11)] >> endobj 894 0 obj << -/Names [(lstnumber.7.1.4) 762 0 R (lstnumber.7.1.5) 763 0 R (lstnumber.7.1.6) 764 0 R (lstnumber.7.1.7) 765 0 R (lstnumber.7.1.8) 766 0 R (lstnumber.7.1.9) 767 0 R] -/Limits [(lstnumber.7.1.4) (lstnumber.7.1.9)] +/Names [(lstnumber.5.3.12) 628 0 R (lstnumber.5.3.13) 629 0 R (lstnumber.5.3.2) 618 0 R (lstnumber.5.3.3) 619 0 R (lstnumber.5.3.4) 620 0 R (lstnumber.5.3.5) 621 0 R] +/Limits [(lstnumber.5.3.12) (lstnumber.5.3.5)] >> endobj 895 0 obj << +/Names [(lstnumber.5.3.6) 622 0 R (lstnumber.5.3.7) 623 0 R (lstnumber.5.3.8) 624 0 R (lstnumber.5.3.9) 625 0 R (lstnumber.5.4.1) 642 0 R (lstnumber.5.4.10) 651 0 R] +/Limits [(lstnumber.5.3.6) (lstnumber.5.4.10)] +>> +endobj +896 0 obj +<< +/Names [(lstnumber.5.4.11) 652 0 R (lstnumber.5.4.12) 653 0 R (lstnumber.5.4.13) 654 0 R (lstnumber.5.4.2) 643 0 R (lstnumber.5.4.3) 644 0 R (lstnumber.5.4.4) 645 0 R] +/Limits [(lstnumber.5.4.11) (lstnumber.5.4.4)] +>> +endobj +897 0 obj +<< +/Names [(lstnumber.5.4.5) 646 0 R (lstnumber.5.4.6) 647 0 R (lstnumber.5.4.7) 648 0 R (lstnumber.5.4.8) 649 0 R (lstnumber.5.4.9) 650 0 R (lstnumber.6.1.1) 660 0 R] +/Limits [(lstnumber.5.4.5) (lstnumber.6.1.1)] +>> +endobj +898 0 obj +<< +/Names [(lstnumber.6.1.2) 661 0 R (lstnumber.6.1.3) 662 0 R (lstnumber.6.1.4) 663 0 R (lstnumber.6.1.5) 664 0 R (lstnumber.6.1.6) 665 0 R (lstnumber.6.1.7) 666 0 R] +/Limits [(lstnumber.6.1.2) (lstnumber.6.1.7)] +>> +endobj +899 0 obj +<< +/Names [(lstnumber.6.1.8) 667 0 R (lstnumber.6.1.9) 668 0 R (lstnumber.7.1.1) 765 0 R (lstnumber.7.1.10) 774 0 R (lstnumber.7.1.2) 766 0 R (lstnumber.7.1.3) 767 0 R] +/Limits [(lstnumber.6.1.8) (lstnumber.7.1.3)] +>> +endobj +900 0 obj +<< +/Names [(lstnumber.7.1.4) 768 0 R (lstnumber.7.1.5) 769 0 R (lstnumber.7.1.6) 770 0 R (lstnumber.7.1.7) 771 0 R (lstnumber.7.1.8) 772 0 R (lstnumber.7.1.9) 773 0 R] +/Limits [(lstnumber.7.1.4) (lstnumber.7.1.9)] +>> +endobj +901 0 obj +<< /Names [(section.1.1) 14 0 R (section.1.2) 18 0 R (section.1.3) 22 0 R (section.2.1) 30 0 R (section.2.2) 58 0 R (section.3.1) 90 0 R] /Limits [(section.1.1) (section.3.1)] >> endobj -896 0 obj +902 0 obj << /Names [(section.3.2) 94 0 R (section.4.1) 114 0 R (section.4.2) 134 0 R (section.4.3) 162 0 R (section.5.1) 186 0 R (section.5.2) 190 0 R] /Limits [(section.3.2) (section.5.2)] >> endobj -897 0 obj +903 0 obj << /Names [(section.5.3) 202 0 R (section.5.4) 210 0 R (section.6.1) 226 0 R (section.6.2) 230 0 R (section.6.3) 234 0 R (section.7.1) 290 0 R] /Limits [(section.5.3) (section.7.1)] >> endobj -898 0 obj +904 0 obj << /Names [(section.7.2) 294 0 R (section.9.1) 306 0 R (subsection.2.1.1) 34 0 R (subsection.2.1.2) 50 0 R (subsection.2.1.3) 54 0 R (subsection.2.2.1) 62 0 R] /Limits [(section.7.2) (subsection.2.2.1)] >> endobj -899 0 obj +905 0 obj << /Names [(subsection.3.2.1) 98 0 R (subsection.3.2.2) 102 0 R (subsection.3.2.3) 106 0 R (subsection.4.1.1) 118 0 R (subsection.4.1.2) 122 0 R (subsection.4.1.3) 126 0 R] /Limits [(subsection.3.2.1) (subsection.4.1.3)] >> endobj -900 0 obj +906 0 obj << /Names [(subsection.4.1.4) 130 0 R (subsection.4.2.1) 138 0 R (subsection.4.2.2) 142 0 R (subsection.4.2.3) 146 0 R (subsection.4.2.4) 150 0 R (subsection.4.2.5) 154 0 R] /Limits [(subsection.4.1.4) (subsection.4.2.5)] >> endobj -901 0 obj +907 0 obj << /Names [(subsection.4.2.6) 158 0 R (subsection.4.3.1) 166 0 R (subsection.4.3.2) 170 0 R (subsection.4.3.3) 174 0 R (subsection.4.3.4) 178 0 R (subsection.5.2.1) 194 0 R] /Limits [(subsection.4.2.6) (subsection.5.2.1)] >> endobj -902 0 obj +908 0 obj << /Names [(subsection.5.2.2) 198 0 R (subsection.5.3.1) 206 0 R (subsection.5.4.1) 214 0 R (subsection.5.4.2) 218 0 R (subsection.6.3.1) 238 0 R (subsection.6.3.2) 242 0 R] /Limits [(subsection.5.2.2) (subsection.6.3.2)] >> endobj -903 0 obj +909 0 obj << /Names [(subsection.6.3.3) 246 0 R (subsection.6.3.4) 250 0 R (subsection.6.3.5) 254 0 R (subsection.6.3.6) 278 0 R (subsection.6.3.7) 282 0 R (subsubsection.2.1.1.1) 38 0 R] /Limits [(subsection.6.3.3) (subsubsection.2.1.1.1)] >> endobj -904 0 obj +910 0 obj << /Names [(subsubsection.2.1.1.2) 42 0 R (subsubsection.2.1.1.3) 46 0 R (subsubsection.2.2.1.1) 66 0 R (subsubsection.2.2.1.2) 70 0 R (subsubsection.2.2.1.3) 74 0 R (subsubsection.2.2.1.4) 78 0 R] /Limits [(subsubsection.2.1.1.2) (subsubsection.2.2.1.4)] >> endobj -905 0 obj +911 0 obj << /Names [(subsubsection.2.2.1.5) 82 0 R (subsubsection.6.3.5.1) 258 0 R (subsubsection.6.3.5.2) 262 0 R (subsubsection.6.3.5.3) 266 0 R (subsubsection.6.3.5.4) 270 0 R (subsubsection.6.3.5.5) 274 0 R] /Limits [(subsubsection.2.2.1.5) (subsubsection.6.3.5.5)] >> endobj -906 0 obj -<< -/Kids [869 0 R 870 0 R 871 0 R 872 0 R 873 0 R 874 0 R] -/Limits [(Doc-Start) (cite.material-ui)] ->> -endobj -907 0 obj -<< -/Kids [875 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R] -/Limits [(cite.mqttnet-examples) (figure.caption.9)] ->> -endobj -908 0 obj -<< -/Kids [881 0 R 882 0 R 883 0 R 884 0 R 885 0 R 886 0 R] -/Limits [(lstlisting.5.1) (lstnumber.5.2.6)] ->> -endobj -909 0 obj -<< -/Kids [887 0 R 888 0 R 889 0 R 890 0 R 891 0 R 892 0 R] -/Limits [(lstnumber.5.2.7) (lstnumber.6.1.7)] ->> -endobj -910 0 obj -<< -/Kids [893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R] -/Limits [(lstnumber.6.1.8) (subsection.2.2.1)] ->> -endobj -911 0 obj -<< -/Kids [899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R] -/Limits [(subsection.3.2.1) (subsubsection.2.2.1.4)] ->> -endobj 912 0 obj << -/Kids [905 0 R] -/Limits [(subsubsection.2.2.1.5) (subsubsection.6.3.5.5)] +/Kids [875 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R] +/Limits [(Doc-Start) (cite.material-ui)] >> endobj 913 0 obj << -/Kids [906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R] -/Limits [(Doc-Start) (subsubsection.2.2.1.4)] +/Kids [881 0 R 882 0 R 883 0 R 884 0 R 885 0 R 886 0 R] +/Limits [(cite.mqttnet-examples) (figure.caption.9)] >> endobj 914 0 obj << -/Kids [912 0 R] -/Limits [(subsubsection.2.2.1.5) (subsubsection.6.3.5.5)] +/Kids [887 0 R 888 0 R 889 0 R 890 0 R 891 0 R 892 0 R] +/Limits [(lstlisting.5.1) (lstnumber.5.2.6)] >> endobj 915 0 obj << -/Kids [913 0 R 914 0 R] -/Limits [(Doc-Start) (subsubsection.6.3.5.5)] +/Kids [893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R] +/Limits [(lstnumber.5.2.7) (lstnumber.6.1.7)] >> endobj 916 0 obj << -/Dests 915 0 R +/Kids [899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R] +/Limits [(lstnumber.6.1.8) (subsection.2.2.1)] >> endobj 917 0 obj << -/Type /Catalog -/Pages 867 0 R -/Outlines 868 0 R -/Names 916 0 R -/PageMode/UseOutlines/PageLabels<>1<>4<>5<>7<>]>> -/OpenAction 312 0 R +/Kids [905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R] +/Limits [(subsection.3.2.1) (subsubsection.2.2.1.4)] >> endobj 918 0 obj << +/Kids [911 0 R] +/Limits [(subsubsection.2.2.1.5) (subsubsection.6.3.5.5)] +>> +endobj +919 0 obj +<< +/Kids [912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R] +/Limits [(Doc-Start) (subsubsection.2.2.1.4)] +>> +endobj +920 0 obj +<< +/Kids [918 0 R] +/Limits [(subsubsection.2.2.1.5) (subsubsection.6.3.5.5)] +>> +endobj +921 0 obj +<< +/Kids [919 0 R 920 0 R] +/Limits [(Doc-Start) (subsubsection.6.3.5.5)] +>> +endobj +922 0 obj +<< +/Dests 921 0 R +>> +endobj +923 0 obj +<< +/Type /Catalog +/Pages 873 0 R +/Outlines 874 0 R +/Names 922 0 R +/PageMode/UseOutlines/PageLabels<>1<>4<>5<>7<>]>> +/OpenAction 312 0 R +>> +endobj +924 0 obj +<< /Author(\376\377\000K\000u\000n\000k\000l\000i\000\040\000R\000i\000c\000h\000\341\000r\000d)/Title(\376\377\000V\000i\000z\000u\000a\000l\000i\000z\000\341\000c\000i\000\363\000s\000\040\000m\000e\000g\000o\000l\000d\000\341\000s\000\040\000I\000o\000T\000\040\000a\000d\000a\000t\000\040\000e\000l\000e\000m\000z\001\121\000\040\000r\000e\000n\000d\000s\000z\000e\000r\000h\000e\000z)/Subject(\376\377\000S\000z\000a\000k\000d\000o\000l\000g\000o\000z\000a\000t)/Creator(\376\377\000K\000u\000n\000k\000l\000i\000\040\000R\000i\000c\000h\000\341\000r\000d)/Producer()/Keywords() -/CreationDate (D:20201208224058+01'00') -/ModDate (D:20201208224058+01'00') +/CreationDate (D:20201209165359+01'00') +/ModDate (D:20201209165359+01'00') /Trapped /False /PTEX.Fullbanner (This is MiKTeX-pdfTeX 4.1.0 (1.40.21)) >> endobj xref -0 919 -0000000455 65535 f +0 925 +0000000461 65535 f 0000000015 00000 n 0000051898 00000 n -0006572347 00000 n +0006573271 00000 n 0000000061 00000 n 0000000122 00000 n 0000053620 00000 n -0006572263 00000 n +0006573187 00000 n 0000000168 00000 n 0000000234 00000 n 0000055599 00000 n -0006572140 00000 n +0006573064 00000 n 0000000279 00000 n 0000000354 00000 n 0000055659 00000 n -0006572066 00000 n +0006572990 00000 n 0000000402 00000 n 0000000472 00000 n 0000055719 00000 n -0006571979 00000 n +0006572903 00000 n 0000000520 00000 n 0000000590 00000 n -0000057116 00000 n -0006571905 00000 n +0000058111 00000 n +0006572829 00000 n 0000000638 00000 n 0000000805 00000 n -0000059836 00000 n -0006571780 00000 n +0000060831 00000 n +0006572704 00000 n 0000000851 00000 n 0000001107 00000 n -0000059896 00000 n -0006571669 00000 n +0000060891 00000 n +0006572593 00000 n 0000001155 00000 n 0000001299 00000 n -0000059955 00000 n -0006571558 00000 n +0000060950 00000 n +0006572482 00000 n 0000001352 00000 n 0000001531 00000 n -0000063184 00000 n -0006571484 00000 n +0000064179 00000 n +0006572408 00000 n 0000001589 00000 n 0000001717 00000 n -0000063244 00000 n -0006571397 00000 n +0000064239 00000 n +0006572321 00000 n 0000001775 00000 n 0000001855 00000 n -0000063304 00000 n -0006571323 00000 n +0000064299 00000 n +0006572247 00000 n 0000001913 00000 n 0000001990 00000 n -0000063364 00000 n -0006571236 00000 n +0000064359 00000 n +0006572160 00000 n 0000002043 00000 n 0000002090 00000 n -0000063424 00000 n -0006571162 00000 n +0000064419 00000 n +0006572086 00000 n 0000002143 00000 n 0000002205 00000 n -0000096747 00000 n -0006571051 00000 n +0000097742 00000 n +0006571975 00000 n 0000002253 00000 n 0000002424 00000 n -0000096807 00000 n -0006570953 00000 n +0000097802 00000 n +0006571877 00000 n 0000002477 00000 n 0000002590 00000 n -0000096927 00000 n -0006570879 00000 n +0000097922 00000 n +0006571803 00000 n 0000002648 00000 n 0000002744 00000 n -0000098866 00000 n -0006570792 00000 n +0000099861 00000 n +0006571716 00000 n 0000002802 00000 n 0000002897 00000 n -0000098926 00000 n -0006570705 00000 n +0000099921 00000 n +0006571629 00000 n 0000002955 00000 n 0000003035 00000 n -0000098986 00000 n -0006570618 00000 n +0000099981 00000 n +0006571542 00000 n 0000003093 00000 n 0000003188 00000 n -0000099046 00000 n -0006570544 00000 n +0000100041 00000 n +0006571468 00000 n 0000003246 00000 n 0000003417 00000 n -0000101330 00000 n -0006570418 00000 n +0000102325 00000 n +0006571342 00000 n 0000003463 00000 n 0000003615 00000 n -0000101390 00000 n -0006570344 00000 n +0000102385 00000 n +0006571268 00000 n 0000003663 00000 n 0000003733 00000 n -0000294538 00000 n -0006570232 00000 n +0000295533 00000 n +0006571156 00000 n 0000003781 00000 n 0000003874 00000 n -0000294598 00000 n -0006570156 00000 n +0000295593 00000 n +0006571080 00000 n 0000003927 00000 n 0000003990 00000 n -0000294718 00000 n -0006570065 00000 n +0000295713 00000 n +0006570989 00000 n 0000004044 00000 n 0000004102 00000 n -0000294778 00000 n -0006569987 00000 n +0000295773 00000 n +0006570911 00000 n 0000004156 00000 n 0000004344 00000 n -0000926409 00000 n -0006569856 00000 n +0000927404 00000 n +0006570780 00000 n 0000004391 00000 n 0000004536 00000 n -0000926470 00000 n -0006569738 00000 n +0000927465 00000 n +0006570662 00000 n 0000004585 00000 n 0000004806 00000 n -0000926530 00000 n -0006569659 00000 n +0000927525 00000 n +0006570583 00000 n 0000004860 00000 n 0000004903 00000 n -0000926591 00000 n -0006569566 00000 n +0000927586 00000 n +0006570490 00000 n 0000004957 00000 n 0000005015 00000 n -0000926652 00000 n -0006569473 00000 n +0000927647 00000 n +0006570397 00000 n 0000005069 00000 n 0000005165 00000 n -0000926709 00000 n -0006569394 00000 n +0000927704 00000 n +0006570318 00000 n 0000005219 00000 n 0000005343 00000 n -0000980468 00000 n -0006569262 00000 n +0000981463 00000 n +0006570186 00000 n 0000005392 00000 n 0000005529 00000 n -0000980528 00000 n -0006569183 00000 n +0000981523 00000 n +0006570107 00000 n 0000005583 00000 n 0000005674 00000 n -0000980589 00000 n -0006569090 00000 n +0000981584 00000 n +0006570014 00000 n 0000005728 00000 n 0000005867 00000 n -0000984076 00000 n -0006568997 00000 n +0000985071 00000 n +0006569921 00000 n 0000005921 00000 n 0000006025 00000 n -0000984137 00000 n -0006568904 00000 n +0000985132 00000 n +0006569828 00000 n 0000006079 00000 n 0000006142 00000 n -0000984198 00000 n -0006568811 00000 n +0000985193 00000 n +0006569735 00000 n 0000006196 00000 n 0000006264 00000 n -0000984259 00000 n -0006568732 00000 n +0000985254 00000 n +0006569656 00000 n 0000006318 00000 n 0000006366 00000 n -0000984320 00000 n -0006568614 00000 n +0000985315 00000 n +0006569538 00000 n 0000006415 00000 n 0000006557 00000 n -0000984381 00000 n -0006568535 00000 n +0000985376 00000 n +0006569459 00000 n 0000006611 00000 n 0000006679 00000 n -0000986864 00000 n -0006568442 00000 n +0000987859 00000 n +0006569366 00000 n 0000006733 00000 n 0000006819 00000 n -0000986925 00000 n -0006568349 00000 n +0000987920 00000 n +0006569273 00000 n 0000006873 00000 n 0000006951 00000 n -0000986986 00000 n -0006568270 00000 n +0000987981 00000 n +0006569194 00000 n 0000007005 00000 n 0000007114 00000 n -0000989066 00000 n -0006568138 00000 n +0000990061 00000 n +0006569062 00000 n 0000007161 00000 n 0000007257 00000 n -0000989127 00000 n -0006568059 00000 n +0000990122 00000 n +0006568983 00000 n 0000007306 00000 n 0000007397 00000 n -0000989188 00000 n -0006567927 00000 n +0000990183 00000 n +0006568851 00000 n 0000007446 00000 n 0000007571 00000 n -0000992467 00000 n -0006567848 00000 n +0000993462 00000 n +0006568772 00000 n 0000007625 00000 n 0000007701 00000 n -0000993825 00000 n -0006567769 00000 n +0000994820 00000 n +0006568693 00000 n 0000007755 00000 n 0000007826 00000 n -0000993886 00000 n -0006567637 00000 n +0000994881 00000 n +0006568561 00000 n 0000007875 00000 n 0000008015 00000 n -0000998130 00000 n -0006567572 00000 n +0000999125 00000 n +0006568496 00000 n 0000008069 00000 n 0000008252 00000 n -0001032231 00000 n -0006567454 00000 n +0001033226 00000 n +0006568378 00000 n 0000008301 00000 n 0000008436 00000 n -0001089293 00000 n -0006567375 00000 n +0001090288 00000 n +0006568299 00000 n 0000008490 00000 n 0000008553 00000 n -0001089415 00000 n -0006567296 00000 n +0001090410 00000 n +0006568220 00000 n 0000008607 00000 n 0000008695 00000 n -0001098611 00000 n -0006567164 00000 n +0001099606 00000 n +0006568088 00000 n 0000008742 00000 n 0000008833 00000 n -0001098672 00000 n -0006567085 00000 n +0001099667 00000 n +0006568009 00000 n 0000008882 00000 n 0000008973 00000 n -0001142366 00000 n -0006566992 00000 n +0001143361 00000 n +0006567916 00000 n 0000009022 00000 n 0000009212 00000 n -0001156978 00000 n -0006566874 00000 n +0001157973 00000 n +0006567798 00000 n 0000009261 00000 n 0000009344 00000 n -0001157039 00000 n -0006566795 00000 n +0001158034 00000 n +0006567719 00000 n 0000009398 00000 n 0000009477 00000 n -0001157159 00000 n -0006566702 00000 n +0001158154 00000 n +0006567626 00000 n 0000009531 00000 n 0000009584 00000 n -0001169141 00000 n -0006566609 00000 n +0001170136 00000 n +0006567533 00000 n 0000009638 00000 n 0000009686 00000 n -0001169263 00000 n -0006566516 00000 n +0001170258 00000 n +0006567440 00000 n 0000009740 00000 n 0000010038 00000 n -0001185786 00000 n -0006566384 00000 n +0001186781 00000 n +0006567308 00000 n 0000010092 00000 n 0000010165 00000 n -0001185847 00000 n -0006566305 00000 n +0001186842 00000 n +0006567229 00000 n 0000010224 00000 n 0000010367 00000 n -0001238335 00000 n -0006566212 00000 n +0001239330 00000 n +0006567136 00000 n 0000010426 00000 n 0000010625 00000 n -0001326036 00000 n -0006566119 00000 n +0001327031 00000 n +0006567043 00000 n 0000010684 00000 n 0000010814 00000 n -0001350767 00000 n -0006566026 00000 n +0001351762 00000 n +0006566950 00000 n 0000010873 00000 n 0000011001 00000 n -0001379256 00000 n -0006565947 00000 n +0001380251 00000 n +0006566871 00000 n 0000011060 00000 n 0000011197 00000 n -0001491958 00000 n -0006565854 00000 n +0001492953 00000 n +0006566778 00000 n 0000011251 00000 n 0000011314 00000 n -0006262063 00000 n -0006565775 00000 n +0006263058 00000 n +0006566699 00000 n 0000011368 00000 n 0000011431 00000 n -0006264509 00000 n -0006565643 00000 n +0006265504 00000 n +0006566567 00000 n 0000011478 00000 n 0000011579 00000 n -0006264570 00000 n -0006565564 00000 n +0006265565 00000 n +0006566488 00000 n 0000011628 00000 n 0000011806 00000 n -0006274523 00000 n -0006565485 00000 n +0006275518 00000 n +0006566409 00000 n 0000011855 00000 n 0000011989 00000 n -0006277194 00000 n -0006565392 00000 n +0006278189 00000 n +0006566316 00000 n 0000012036 00000 n 0000012184 00000 n -0006278736 00000 n -0006565260 00000 n +0006279731 00000 n +0006566184 00000 n 0000012231 00000 n 0000012313 00000 n -0006278797 00000 n -0006565195 00000 n +0006279792 00000 n +0006566119 00000 n 0000012362 00000 n 0000012550 00000 n -0006565116 00000 n +0006566040 00000 n 0000012599 00000 n 0000012705 00000 n 0000013373 00000 n @@ -30294,13 +30345,13 @@ xref 0000031859 00000 n 0000012755 00000 n 0000031798 00000 n -0006561958 00000 n -0006562475 00000 n -0006562128 00000 n -0006562298 00000 n -0006563335 00000 n -0006562648 00000 n -0006563855 00000 n +0006562882 00000 n +0006563399 00000 n +0006563052 00000 n +0006563222 00000 n +0006564259 00000 n +0006563572 00000 n +0006564779 00000 n 0000031502 00000 n 0000031751 00000 n 0000033565 00000 n @@ -30400,506 +30451,512 @@ xref 0000053679 00000 n 0000053501 00000 n 0000052042 00000 n -0006563972 00000 n -0000056964 00000 n +0006564896 00000 n +0000057048 00000 n +0000057200 00000 n +0000057352 00000 n +0000057503 00000 n +0000057655 00000 n +0000057807 00000 n +0000057959 00000 n 0000055779 00000 n 0000055480 00000 n 0000053764 00000 n -0000057176 00000 n -0000056825 00000 n +0000058171 00000 n +0000056861 00000 n 0000055864 00000 n -0000059359 00000 n -0000059520 00000 n -0000059682 00000 n -0000060074 00000 n -0000059204 00000 n -0000057261 00000 n -0006562992 00000 n -0006563681 00000 n -0006562821 00000 n -0000060015 00000 n -0006563163 00000 n -0006290717 00000 n -0006284573 00000 n -0000062873 00000 n -0000063027 00000 n -0000063484 00000 n -0000062726 00000 n -0000060224 00000 n -0006284017 00000 n -0006292857 00000 n -0000096427 00000 n -0000065287 00000 n -0000096356 00000 n -0000000473 00000 f -0000096586 00000 n -0000096987 00000 n -0000065125 00000 n -0000063582 00000 n -0000096867 00000 n -0000095672 00000 n -0000099104 00000 n -0000098747 00000 n -0000097121 00000 n -0006564089 00000 n -0000101172 00000 n -0000101450 00000 n -0000101033 00000 n -0000099189 00000 n -0000293405 00000 n -0000293560 00000 n -0000103511 00000 n +0000060354 00000 n +0000060515 00000 n +0000060677 00000 n +0000061069 00000 n +0000060199 00000 n +0000058256 00000 n +0006563916 00000 n +0006564605 00000 n +0006563745 00000 n +0000061010 00000 n +0006564087 00000 n +0006291712 00000 n +0006285568 00000 n +0000063868 00000 n +0000064022 00000 n +0000064479 00000 n +0000063721 00000 n +0000061219 00000 n +0006285012 00000 n +0006293852 00000 n +0000097422 00000 n +0000066282 00000 n +0000097351 00000 n +0000000479 00000 f +0000097581 00000 n +0000097982 00000 n +0000066120 00000 n +0000064577 00000 n +0000097862 00000 n +0000096667 00000 n +0000100099 00000 n +0000099742 00000 n +0000098116 00000 n +0006565013 00000 n +0000102167 00000 n +0000102445 00000 n +0000102028 00000 n +0000100184 00000 n +0000294400 00000 n +0000294555 00000 n +0000104506 00000 n 0000000000 00000 f -0000293719 00000 n -0000294063 00000 n -0000294217 00000 n -0000295710 00000 n -0000294371 00000 n -0000587571 00000 n -0000294896 00000 n -0000103324 00000 n -0000101587 00000 n -0000294657 00000 n -0006563507 00000 n -0000293891 00000 n -0000294838 00000 n -0006291144 00000 n -0006292796 00000 n -0006284634 00000 n -0000923921 00000 n -0000295576 00000 n -0000295082 00000 n -0000923799 00000 n -0000923860 00000 n -0000585918 00000 n -0000910965 00000 n -0000925799 00000 n -0000925950 00000 n -0000928744 00000 n -0000926104 00000 n -0000926254 00000 n -0000926770 00000 n -0000925636 00000 n -0000924063 00000 n -0006284203 00000 n -0006292918 00000 n -0006290961 00000 n -0006290839 00000 n -0000980254 00000 n -0000980650 00000 n -0000928605 00000 n -0000926855 00000 n -0000980407 00000 n -0006284512 00000 n -0000983146 00000 n -0000983297 00000 n -0000983452 00000 n -0000983613 00000 n -0000983772 00000 n -0000983923 00000 n -0000986231 00000 n -0000984442 00000 n -0000982967 00000 n -0000980784 00000 n -0006564206 00000 n -0006284450 00000 n -0006284388 00000 n -0006290290 00000 n -0006290900 00000 n -0006284141 00000 n -0000986387 00000 n -0000986546 00000 n -0000986702 00000 n -0000987047 00000 n -0000986068 00000 n -0000984527 00000 n -0006283955 00000 n -0006290656 00000 n -0006291022 00000 n -0006284264 00000 n -0000989249 00000 n -0000988947 00000 n -0000987132 00000 n -0000992307 00000 n -0000993947 00000 n -0000992168 00000 n -0000989373 00000 n -0000992528 00000 n -0000992588 00000 n -0000992650 00000 n -0000992711 00000 n -0000992772 00000 n -0000992833 00000 n -0000992895 00000 n -0000992957 00000 n -0000993019 00000 n -0000993081 00000 n -0000993143 00000 n -0000993205 00000 n -0000993267 00000 n -0000993329 00000 n -0000993391 00000 n -0000993453 00000 n -0000993515 00000 n -0000993577 00000 n -0000993639 00000 n -0000993701 00000 n -0000993763 00000 n -0006290534 00000 n -0000997333 00000 n -0000997491 00000 n -0000997644 00000 n -0000997807 00000 n -0000997971 00000 n -0001000657 00000 n -0001031855 00000 n -0000998251 00000 n -0000997162 00000 n -0000994071 00000 n -0000998191 00000 n -0006284326 00000 n -0001032170 00000 n -0001032013 00000 n -0001088828 00000 n -0001088981 00000 n -0001033145 00000 n -0001000495 00000 n -0000998388 00000 n -0001032292 00000 n -0001032353 00000 n -0001032414 00000 n -0001032475 00000 n -0001032536 00000 n -0001032597 00000 n -0001032658 00000 n -0001032719 00000 n -0001032780 00000 n -0001032841 00000 n -0001032901 00000 n -0001032962 00000 n -0001033023 00000 n -0001033084 00000 n -0001027424 00000 n -0001035584 00000 n -0001089139 00000 n -0001090341 00000 n -0001035429 00000 n -0001033292 00000 n -0001089354 00000 n -0001089476 00000 n -0001089537 00000 n -0001089599 00000 n -0001089661 00000 n -0001089723 00000 n -0001089785 00000 n -0001089847 00000 n -0001089909 00000 n -0001089971 00000 n -0001090033 00000 n -0001090095 00000 n -0001090157 00000 n -0001090218 00000 n -0001090279 00000 n -0006564323 00000 n -0006290473 00000 n -0006290778 00000 n -0001093200 00000 n -0001093358 00000 n -0001093061 00000 n -0001090501 00000 n -0006291083 00000 n -0001095828 00000 n -0001094843 00000 n -0001093469 00000 n -0001094962 00000 n -0001095023 00000 n -0001095084 00000 n -0001095146 00000 n -0001095208 00000 n -0001095270 00000 n -0001095332 00000 n -0001095394 00000 n -0001095456 00000 n -0001095518 00000 n -0001095580 00000 n -0001095642 00000 n -0001095704 00000 n -0001095766 00000 n -0001098454 00000 n -0001099349 00000 n -0001098315 00000 n -0001095939 00000 n -0001098733 00000 n -0001098793 00000 n -0001098855 00000 n -0001098917 00000 n -0001098979 00000 n -0001099040 00000 n -0001099101 00000 n -0001099163 00000 n -0001099225 00000 n -0001099287 00000 n -0001141674 00000 n -0001101468 00000 n -0001141833 00000 n -0001141992 00000 n -0001142151 00000 n -0001142487 00000 n -0001101290 00000 n -0001099486 00000 n -0001142305 00000 n -0001142427 00000 n -0001130290 00000 n -0001144158 00000 n -0001156818 00000 n -0001151117 00000 n -0001157281 00000 n -0001144004 00000 n -0001142673 00000 n -0001157099 00000 n -0001157220 00000 n -0001150840 00000 n -0001168668 00000 n -0001168821 00000 n -0001159586 00000 n -0001168980 00000 n -0001185470 00000 n -0001169383 00000 n -0001159431 00000 n -0001157443 00000 n -0001169202 00000 n -0001169324 00000 n -0006564440 00000 n -0006292979 00000 n -0001185627 00000 n -0001171877 00000 n -0001237956 00000 n -0001185969 00000 n -0001171730 00000 n -0001169570 00000 n -0001185908 00000 n -0001187914 00000 n -0001238115 00000 n -0001193890 00000 n -0001325717 00000 n -0001325876 00000 n -0001239820 00000 n -0001272168 00000 n -0001238456 00000 n -0001187767 00000 n -0001186117 00000 n -0001238275 00000 n -0001238396 00000 n -0001326219 00000 n -0001239673 00000 n -0001238605 00000 n -0001326097 00000 n -0001326158 00000 n -0001350607 00000 n -0001327249 00000 n -0001350889 00000 n -0001327110 00000 n -0001326355 00000 n -0001350828 00000 n -0001379096 00000 n -0001352073 00000 n -0001379378 00000 n -0001351934 00000 n -0001351011 00000 n -0001379317 00000 n -0001491641 00000 n -0001491799 00000 n -0001380938 00000 n -0001455571 00000 n -0001492141 00000 n -0001380791 00000 n -0001379500 00000 n -0001492019 00000 n -0001492080 00000 n -0006564557 00000 n -0006261903 00000 n -0001494133 00000 n -0006262185 00000 n -0001493994 00000 n -0001492303 00000 n -0006262124 00000 n -0006264353 00000 n -0006264631 00000 n -0006264214 00000 n -0006262333 00000 n -0006273843 00000 n -0006273356 00000 n -0006273520 00000 n -0006273684 00000 n -0006267107 00000 n -0006274645 00000 n -0006266937 00000 n -0006264729 00000 n -0006273904 00000 n -0006273965 00000 n -0006274027 00000 n -0006274089 00000 n -0006274151 00000 n -0006274213 00000 n -0006274275 00000 n -0006274337 00000 n -0006274399 00000 n -0006274461 00000 n -0006274584 00000 n -0006273036 00000 n -0006290351 00000 n -0006290412 00000 n -0006276874 00000 n -0006277032 00000 n -0006277255 00000 n -0006276727 00000 n -0006274806 00000 n -0006284079 00000 n -0006290595 00000 n -0006278858 00000 n -0006278617 00000 n -0006277353 00000 n -0006280570 00000 n -0006280766 00000 n -0006280959 00000 n -0006281156 00000 n -0006281541 00000 n -0006281931 00000 n -0006282125 00000 n -0006282593 00000 n -0006283065 00000 n -0006283240 00000 n -0006283440 00000 n -0006286571 00000 n -0006284695 00000 n -0006280311 00000 n -0006278943 00000 n -0006283894 00000 n -0006281348 00000 n -0006281736 00000 n -0006282359 00000 n -0006282830 00000 n -0006283668 00000 n -0006564674 00000 n -0006286762 00000 n -0006287155 00000 n -0006287609 00000 n -0006288121 00000 n -0006288319 00000 n -0006288499 00000 n -0006288704 00000 n -0006288888 00000 n -0006289095 00000 n -0006289268 00000 n -0006289748 00000 n -0006289917 00000 n -0006290087 00000 n -0006292019 00000 n -0006291205 00000 n -0006286296 00000 n -0006284793 00000 n -0006286958 00000 n -0006287382 00000 n -0006287865 00000 n -0006289508 00000 n -0006292204 00000 n -0006292416 00000 n -0006292591 00000 n -0006293040 00000 n -0006291856 00000 n -0006291290 00000 n -0006561292 00000 n -0006293125 00000 n -0006293512 00000 n -0006294800 00000 n -0006561893 00000 n -0006294879 00000 n -0006294904 00000 n -0006294935 00000 n -0006295315 00000 n -0006296263 00000 n -0006296519 00000 n -0006297723 00000 n -0006298957 00000 n -0006300113 00000 n -0006330597 00000 n -0006331054 00000 n -0006363085 00000 n -0006363607 00000 n -0006383777 00000 n -0006384027 00000 n -0006420370 00000 n -0006420996 00000 n -0006441789 00000 n -0006442054 00000 n -0006464654 00000 n -0006464934 00000 n -0006486323 00000 n -0006486561 00000 n -0006515135 00000 n -0006515547 00000 n -0006530797 00000 n -0006531082 00000 n -0006560779 00000 n -0006564767 00000 n -0006564885 00000 n -0006564970 00000 n -0006565040 00000 n -0006572418 00000 n -0006572616 00000 n -0006572802 00000 n -0006572987 00000 n -0006573210 00000 n -0006573448 00000 n -0006573674 00000 n -0006573923 00000 n +0000294714 00000 n +0000295058 00000 n +0000295212 00000 n +0000296705 00000 n +0000295366 00000 n +0000588566 00000 n +0000295891 00000 n +0000104319 00000 n +0000102582 00000 n +0000295652 00000 n +0006564431 00000 n +0000294886 00000 n +0000295833 00000 n +0006292139 00000 n +0006293791 00000 n +0006285629 00000 n +0000924916 00000 n +0000296571 00000 n +0000296077 00000 n +0000924794 00000 n +0000924855 00000 n +0000586913 00000 n +0000911960 00000 n +0000926794 00000 n +0000926945 00000 n +0000929739 00000 n +0000927099 00000 n +0000927249 00000 n +0000927765 00000 n +0000926631 00000 n +0000925058 00000 n +0006285198 00000 n +0006293913 00000 n +0006291956 00000 n +0006291834 00000 n +0000981249 00000 n +0000981645 00000 n +0000929600 00000 n +0000927850 00000 n +0000981402 00000 n +0006285507 00000 n +0000984141 00000 n +0000984292 00000 n +0000984447 00000 n +0000984608 00000 n +0000984767 00000 n +0000984918 00000 n +0000987226 00000 n +0000985437 00000 n +0000983962 00000 n +0000981779 00000 n +0006565130 00000 n +0006285445 00000 n +0006285383 00000 n +0006291285 00000 n +0006291895 00000 n +0006285136 00000 n +0000987382 00000 n +0000987541 00000 n +0000987697 00000 n +0000988042 00000 n +0000987063 00000 n +0000985522 00000 n +0006284950 00000 n +0006291651 00000 n +0006292017 00000 n +0006285259 00000 n +0000990244 00000 n +0000989942 00000 n +0000988127 00000 n +0000993302 00000 n +0000994942 00000 n +0000993163 00000 n +0000990368 00000 n +0000993523 00000 n +0000993583 00000 n +0000993645 00000 n +0000993706 00000 n +0000993767 00000 n +0000993828 00000 n +0000993890 00000 n +0000993952 00000 n +0000994014 00000 n +0000994076 00000 n +0000994138 00000 n +0000994200 00000 n +0000994262 00000 n +0000994324 00000 n +0000994386 00000 n +0000994448 00000 n +0000994510 00000 n +0000994572 00000 n +0000994634 00000 n +0000994696 00000 n +0000994758 00000 n +0006291529 00000 n +0000998328 00000 n +0000998486 00000 n +0000998639 00000 n +0000998802 00000 n +0000998966 00000 n +0001001652 00000 n +0001032850 00000 n +0000999246 00000 n +0000998157 00000 n +0000995066 00000 n +0000999186 00000 n +0006285321 00000 n +0001033165 00000 n +0001033008 00000 n +0001089823 00000 n +0001089976 00000 n +0001034140 00000 n +0001001490 00000 n +0000999383 00000 n +0001033287 00000 n +0001033348 00000 n +0001033409 00000 n +0001033470 00000 n +0001033531 00000 n +0001033592 00000 n +0001033653 00000 n +0001033714 00000 n +0001033775 00000 n +0001033836 00000 n +0001033896 00000 n +0001033957 00000 n +0001034018 00000 n +0001034079 00000 n +0001028419 00000 n +0001036579 00000 n +0001090134 00000 n +0001091336 00000 n +0001036424 00000 n +0001034287 00000 n +0001090349 00000 n +0001090471 00000 n +0001090532 00000 n +0001090594 00000 n +0001090656 00000 n +0001090718 00000 n +0001090780 00000 n +0001090842 00000 n +0001090904 00000 n +0001090966 00000 n +0001091028 00000 n +0001091090 00000 n +0001091152 00000 n +0001091213 00000 n +0001091274 00000 n +0006565247 00000 n +0006291468 00000 n +0006291773 00000 n +0001094195 00000 n +0001094353 00000 n +0001094056 00000 n +0001091496 00000 n +0006292078 00000 n +0001096823 00000 n +0001095838 00000 n +0001094464 00000 n +0001095957 00000 n +0001096018 00000 n +0001096079 00000 n +0001096141 00000 n +0001096203 00000 n +0001096265 00000 n +0001096327 00000 n +0001096389 00000 n +0001096451 00000 n +0001096513 00000 n +0001096575 00000 n +0001096637 00000 n +0001096699 00000 n +0001096761 00000 n +0001099449 00000 n +0001100344 00000 n +0001099310 00000 n +0001096934 00000 n +0001099728 00000 n +0001099788 00000 n +0001099850 00000 n +0001099912 00000 n +0001099974 00000 n +0001100035 00000 n +0001100096 00000 n +0001100158 00000 n +0001100220 00000 n +0001100282 00000 n +0001142669 00000 n +0001102463 00000 n +0001142828 00000 n +0001142987 00000 n +0001143146 00000 n +0001143482 00000 n +0001102285 00000 n +0001100481 00000 n +0001143300 00000 n +0001143422 00000 n +0001131285 00000 n +0001145153 00000 n +0001157813 00000 n +0001152112 00000 n +0001158276 00000 n +0001144999 00000 n +0001143668 00000 n +0001158094 00000 n +0001158215 00000 n +0001151835 00000 n +0001169663 00000 n +0001169816 00000 n +0001160581 00000 n +0001169975 00000 n +0001186465 00000 n +0001170378 00000 n +0001160426 00000 n +0001158438 00000 n +0001170197 00000 n +0001170319 00000 n +0006565364 00000 n +0006293974 00000 n +0001186622 00000 n +0001172872 00000 n +0001238951 00000 n +0001186964 00000 n +0001172725 00000 n +0001170565 00000 n +0001186903 00000 n +0001188909 00000 n +0001239110 00000 n +0001194885 00000 n +0001326712 00000 n +0001326871 00000 n +0001240815 00000 n +0001273163 00000 n +0001239451 00000 n +0001188762 00000 n +0001187112 00000 n +0001239270 00000 n +0001239391 00000 n +0001327214 00000 n +0001240668 00000 n +0001239600 00000 n +0001327092 00000 n +0001327153 00000 n +0001351602 00000 n +0001328244 00000 n +0001351884 00000 n +0001328105 00000 n +0001327350 00000 n +0001351823 00000 n +0001380091 00000 n +0001353068 00000 n +0001380373 00000 n +0001352929 00000 n +0001352006 00000 n +0001380312 00000 n +0001492636 00000 n +0001492794 00000 n +0001381933 00000 n +0001456566 00000 n +0001493136 00000 n +0001381786 00000 n +0001380495 00000 n +0001493014 00000 n +0001493075 00000 n +0006565481 00000 n +0006262898 00000 n +0001495128 00000 n +0006263180 00000 n +0001494989 00000 n +0001493298 00000 n +0006263119 00000 n +0006265348 00000 n +0006265626 00000 n +0006265209 00000 n +0006263328 00000 n +0006274838 00000 n +0006274351 00000 n +0006274515 00000 n +0006274679 00000 n +0006268102 00000 n +0006275640 00000 n +0006267932 00000 n +0006265724 00000 n +0006274899 00000 n +0006274960 00000 n +0006275022 00000 n +0006275084 00000 n +0006275146 00000 n +0006275208 00000 n +0006275270 00000 n +0006275332 00000 n +0006275394 00000 n +0006275456 00000 n +0006275579 00000 n +0006274031 00000 n +0006291346 00000 n +0006291407 00000 n +0006277869 00000 n +0006278027 00000 n +0006278250 00000 n +0006277722 00000 n +0006275801 00000 n +0006285074 00000 n +0006291590 00000 n +0006279853 00000 n +0006279612 00000 n +0006278348 00000 n +0006281565 00000 n +0006281761 00000 n +0006281954 00000 n +0006282151 00000 n +0006282536 00000 n +0006282926 00000 n +0006283120 00000 n +0006283588 00000 n +0006284060 00000 n +0006284235 00000 n +0006284435 00000 n +0006287566 00000 n +0006285690 00000 n +0006281306 00000 n +0006279938 00000 n +0006284889 00000 n +0006282343 00000 n +0006282731 00000 n +0006283354 00000 n +0006283825 00000 n +0006284663 00000 n +0006565598 00000 n +0006287757 00000 n +0006288150 00000 n +0006288604 00000 n +0006289116 00000 n +0006289314 00000 n +0006289494 00000 n +0006289699 00000 n +0006289883 00000 n +0006290090 00000 n +0006290263 00000 n +0006290743 00000 n +0006290912 00000 n +0006291082 00000 n +0006293014 00000 n +0006292200 00000 n +0006287291 00000 n +0006285788 00000 n +0006287953 00000 n +0006288377 00000 n +0006288860 00000 n +0006290503 00000 n +0006293199 00000 n +0006293411 00000 n +0006293586 00000 n +0006294035 00000 n +0006292851 00000 n +0006292285 00000 n +0006562216 00000 n +0006294120 00000 n +0006294507 00000 n +0006295795 00000 n +0006562817 00000 n +0006295874 00000 n +0006295899 00000 n +0006295930 00000 n +0006296310 00000 n +0006297258 00000 n +0006297514 00000 n +0006298718 00000 n +0006299952 00000 n +0006301108 00000 n +0006331592 00000 n +0006332049 00000 n +0006364080 00000 n +0006364602 00000 n +0006384772 00000 n +0006385022 00000 n +0006421365 00000 n +0006421991 00000 n +0006442714 00000 n +0006442978 00000 n +0006465578 00000 n +0006465858 00000 n +0006487247 00000 n +0006487485 00000 n +0006516059 00000 n +0006516471 00000 n +0006531721 00000 n +0006532006 00000 n +0006561703 00000 n +0006565691 00000 n +0006565809 00000 n +0006565894 00000 n +0006565964 00000 n +0006573342 00000 n +0006573540 00000 n +0006573726 00000 n +0006573911 00000 n 0006574134 00000 n -0006574359 00000 n -0006574609 00000 n -0006574859 00000 n -0006575101 00000 n -0006575327 00000 n -0006575578 00000 n -0006575820 00000 n -0006576055 00000 n -0006576292 00000 n -0006576528 00000 n -0006576765 00000 n -0006577002 00000 n -0006577238 00000 n -0006577476 00000 n -0006577710 00000 n -0006577944 00000 n -0006578179 00000 n -0006578413 00000 n -0006578609 00000 n -0006578810 00000 n -0006579012 00000 n -0006579235 00000 n -0006579476 00000 n -0006579718 00000 n -0006579960 00000 n -0006580202 00000 n -0006580453 00000 n -0006580729 00000 n -0006581010 00000 n -0006581130 00000 n -0006581262 00000 n -0006581386 00000 n -0006581511 00000 n -0006581637 00000 n -0006581769 00000 n -0006581866 00000 n -0006581991 00000 n -0006582088 00000 n -0006582181 00000 n -0006582219 00000 n -0006582414 00000 n +0006574372 00000 n +0006574598 00000 n +0006574847 00000 n +0006575058 00000 n +0006575283 00000 n +0006575533 00000 n +0006575783 00000 n +0006576025 00000 n +0006576251 00000 n +0006576502 00000 n +0006576744 00000 n +0006576979 00000 n +0006577216 00000 n +0006577452 00000 n +0006577689 00000 n +0006577926 00000 n +0006578162 00000 n +0006578400 00000 n +0006578634 00000 n +0006578868 00000 n +0006579103 00000 n +0006579337 00000 n +0006579533 00000 n +0006579734 00000 n +0006579936 00000 n +0006580159 00000 n +0006580400 00000 n +0006580642 00000 n +0006580884 00000 n +0006581126 00000 n +0006581377 00000 n +0006581653 00000 n +0006581934 00000 n +0006582054 00000 n +0006582186 00000 n +0006582310 00000 n +0006582435 00000 n +0006582561 00000 n +0006582693 00000 n +0006582790 00000 n +0006582915 00000 n +0006583012 00000 n +0006583105 00000 n +0006583143 00000 n +0006583338 00000 n trailer -<< /Size 919 -/Root 917 0 R -/Info 918 0 R -/ID [<5483C69A71CA8EF134658054A4E5FE39> <5483C69A71CA8EF134658054A4E5FE39>] >> +<< /Size 925 +/Root 923 0 R +/Info 924 0 R +/ID [ ] >> startxref -6583166 +6584090 %%EOF