From 64485a474c26c766425e0bde8cfe18920e9247e5 Mon Sep 17 00:00:00 2001 From: marcsello Date: Fri, 14 May 2021 02:35:30 +0200 Subject: [PATCH] wrote some stuff --- drawio/overview.drawio | 1 + src/bib/mybib.bib | 398 +++++++---------------------- src/content/abstract.tex | 3 +- src/content/acknowledgement.tex | 2 - src/content/applications.tex | 10 +- src/content/birbnetes_impl.tex | 1 + src/content/conclusion.tex | 3 - src/content/glossary.tex | 12 + src/content/introduction.tex | 11 +- src/content/overview.tex | 32 ++- src/content/ursim_impl.tex | 1 + src/figures/overview_no_edge.pdf | Bin 0 -> 26341 bytes src/figures/overview_with_edge.pdf | Bin 0 -> 26417 bytes 13 files changed, 154 insertions(+), 320 deletions(-) create mode 100644 drawio/overview.drawio create mode 100644 src/figures/overview_no_edge.pdf create mode 100644 src/figures/overview_with_edge.pdf diff --git a/drawio/overview.drawio b/drawio/overview.drawio new file mode 100644 index 0000000..187800b --- /dev/null +++ b/drawio/overview.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/src/bib/mybib.bib b/src/bib/mybib.bib index d836e19..4464a1c 100644 --- a/src/bib/mybib.bib +++ b/src/bib/mybib.bib @@ -1,312 +1,98 @@ -@techreport{RFC6020, - author = {M. Bjorklund}, - title = {YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)}, - howpublished = {Internet Requests for Comments}, - type = {RFC}, - number = {6020}, - year = {2010}, - month = {October}, - issn = {2070-1721}, - publisher = {RFC Editor}, - institution = {RFC Editor}, - url = {http://www.rfc-editor.org/rfc/rfc6020.txt}, - note = {\url{http://www.rfc-editor.org/rfc/rfc6020.txt}}, +@misc{gartner, + title = {What Edge Computing Means for Infrastructure and Operations Leaders}, + howpublished = { \url{https://www.gartner.com/smarterwithgartner/what-edge-computing-means-for-infrastructure-and-operations-leaders}}, + note = {Hozzáférve: 2021-05-09} } -@techreport{RFC6241, - author = {R. Enns and M. Bjorklund and J. Schoenwaelder and A. Bierman}, - title = {Network Configuration Protocol (NETCONF)}, - howpublished = {Internet Requests for Comments}, - type = {RFC}, - number = {6241}, - year = {2011}, - month = {June}, - issn = {2070-1721}, - publisher = {RFC Editor}, - institution = {RFC Editor}, - url = {http://www.rfc-editor.org/rfc/rfc6241.txt}, - note = {\url{http://www.rfc-editor.org/rfc/rfc6241.txt}}, +% Ez az a kínai cucc +@article{stateofart, + author={Shi, Weisong and Zhang, Xingzhou and Wang, Yifan and Zhang, Qingyang}, + title={Edge Computing: State-of-the-Art and Future Directions}, + journal={Journal of Computer Research and Development}, + volume={56(1)}, + year=2019, + pages={69--89} } -@techreport{RFC8040, - author = {A. Bierman and M. Bjorklund and K. Watsen}, - title = {RESTCONF Protocol}, - howpublished = {Internet Requests for Comments}, - type = {RFC}, - number = {8040}, - year = {2017}, - month = {January}, - issn = {2070-1721}, - publisher = {RFC Editor}, - institution = {RFC Editor}, - url = {http://www.rfc-editor.org/rfc/rfc8040.txt}, - note = {\url{http://www.rfc-editor.org/rfc/rfc8040.txt}} -} - -@techreport{RECXPATH, - author = {J. Clark and S. DeRose}, - title = {XML Path Language (XPath) Version 1.0}, - howpublished = {W3C Recommendation}, - year = {1999}, - publisher = {W3C}, - institution = {W3C}, - url = {https://www.w3.org/TR/1999/REC-xpath-19991116/}, - note = {\url{https://www.w3.org/TR/1999/REC-xpath-19991116/}} -} - -@techreport{talwar-rtgwg-grpc-use-cases, - author = {gRPC Protocol Specification and Jayant Kolhe and Anees Shaikh and Joshua George}, - title = {Use cases for gRPC in network management}, - howpublished = {Working Draft}, - type = {Internet-Draft}, - number = {draft-talwar-rtgwg-grpc-use-cases-01}, - year = {2017}, - month = {July}, - institution = {IETF Secretariat}, - url = {https://tools.ietf.org/id/draft-talwar-rtgwg-grpc-use-cases-01.txt}, - note = {\url{https://tools.ietf.org/id/draft-talwar-rtgwg-grpc-use-cases-01.txt}}, -} - - -@techreport{kumar-rtgwg-grpc-protocol, - author = {Abhishek Kumar and Jayant Kolhe and Sanjay Ghemawat and Louis Ryan}, - title = {gRPC Protocol}, - howpublished = {Working Draft}, - type = {Internet-Draft}, - number = {draft-kumar-rtgwg-grpc-protocol-00}, - year = {2016}, - month = {July}, - institution = {IETF Secretariat}, - url = {https://tools.ietf.org/id/draft-kumar-rtgwg-grpc-protocol-00.txt}, - note = {\url{https://tools.ietf.org/id/draft-kumar-rtgwg-grpc-protocol-00.txt}}, -} - -@techreport{RFC7540, - author = {M. Belshe and R. Peon and M. Thomson}, - title = {Hypertext Transfer Protocol Version 2 (HTTP/2)}, - howpublished = {Internet Requests for Comments}, - type = {RFC}, - number = {7540}, - year = {2015}, - month = {May}, - issn = {2070-1721}, - publisher = {RFC Editor}, - institution = {RFC Editor}, - url = {http://www.rfc-editor.org/rfc/rfc7540.txt}, - note = {\url{http://www.rfc-editor.org/rfc/rfc7540.txt}}, -} - -@techreport{RFC1050, - author = {{Sun Microsystems, Inc.}}, - title = {RPC: Remote Procedure Call Protocol specification}, - howpublished = {Internet Requests for Comments}, - type = {RFC}, - number = {1050}, - year = {1988}, - month = {April}, - issn = {2070-1721}, - publisher = {RFC Editor}, - institution = {RFC Editor}, -} - -@techreport{RFC3411, - author = {D. Harrington and R. Presuhn and B. Wijnen}, - title = {An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks}, - howpublished = {Internet Requests for Comments}, - type = {STD}, - number = {62}, - year = {2002}, - month = {December}, - issn = {2070-1721}, - publisher = {RFC Editor}, - institution = {RFC Editor}, - url = {http://www.rfc-editor.org/rfc/rfc3411.txt}, - note = {\url{http://www.rfc-editor.org/rfc/rfc3411.txt}}, -} - -@techreport{RFC5424, - author = {R. Gerhards}, - title = {The Syslog Protocol}, - howpublished = {Internet Requests for Comments}, - type = {RFC}, - number = {5424}, - year = {2009}, - month = {March}, - issn = {2070-1721}, - publisher = {RFC Editor}, - institution = {RFC Editor}, - url = {http://www.rfc-editor.org/rfc/rfc5424.txt}, - note = {\url{http://www.rfc-editor.org/rfc/rfc5424.txt}}, -} - -@article{an2015variational, - title={Variational autoencoder based anomaly detection using reconstruction probability}, - author={An, Jinwon and Cho, Sungzoon}, - journal={Special Lecture on IE}, - volume={2}, - number={1}, - year={2015} -} - -@misc{protobuf_enc, - author = {Google}, - title = {Protocol Buffers - Encoding}, - howpublished = {\url{https://developers.google.com/protocol-buffers/docs/encoding}}, - note = {Accessed: 2019-11-23} -} - -@misc{protobuf, - author = {Google}, - title = {Protocol Buffers - Overview}, - howpublished = {\url{https://developers.google.com/protocol-buffers/docs/overview}}, - note = {Accessed: 2019-11-23} -} - -@misc{protofilespec3, - author = {Google}, - title = {Protocol Buffers Version 3 Language Specification}, - howpublished = {\url{https://developers.google.com/protocol-buffers/docs/reference/proto3-spec}}, - note = {Accessed: 2019-11-25} -} - -@misc{protofilespec2, - author = {Google}, - title = {Protocol Buffers Version 2 Language Specification}, - howpublished = {\url{https://developers.google.com/protocol-buffers/docs/reference/proto2-spec}}, - note = {Accessed: 2019-11-25} -} - -@misc{grpcoverhttp, - title = {gRPC over HTTP2}, - howpublished = {\url{https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md}}, - note = {Accessed: 2019-11-25} -} - -@misc{whatisgrpc, - title={What is gRPC?}, - howpublished = {\url{https://grpc.io/docs/guides/}}, - note = {Accessed: 2019-11-25} -} - -@misc{grpcconcepts, - title={gRPC Concepts}, - howpublished = {\url{https://grpc.io/docs/guides/concepts/}}, - note = {Accessed: 2019-11-25} -} - -@misc{grpcauth, - title={Authentication}, - howpublished = {\url{https://grpc.io/docs/guides/auth/}}, - note = {Accessed: 2019-11-25} -} - -@misc{grpcdesign, - title={gRPC Motivation and Design Principles}, - howpublished = {\url{https://grpc.io/blog/principles/}}, - note = {Accessed: 2019-11-25} -} - -@misc{gnmispec, - title={gRPC Network Management Interface (gNMI) - Specificaion}, - howpublished = {\url{https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md}}, - note = {Accessed: 2019-11-29} -} - -@misc{gnmipath, - title={gRPC Network Management Interface (gNMI) - Schema path encoding conventions for gNMI}, - howpublished = {\url{https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-path-conventions.md}}, - note = {Accessed: 2019-11-30} -} - -@misc{protoc, - title={Protocol Buffers - Google's data interchange format}, - howpublished = {\url{https://github.com/protocolbuffers/protobuf/blob/master/README.md}}, - note = {Accessed: 2019-12-01} -} - -@manual{core_components_of_mdt, - title = {Core Components of Model-driven Telemetry Streaming}, - date = {March 28, 2019}, - language = {English}, - organization = {Cisco Systems, Inc.}, - pagetotal = {4}, -} - -@manual{iosxr_telemetry_configuration, - title = {Telemetry Configuration Guide for Cisco ASR 9000 Series Routers, IOS XR Release 6.5.x}, - date = {January 1, 2019}, - language = {English}, - organization = {Cisco Systems, Inc.}, - pagetotal = {30}, - pubstate = {March 29, 2019}, -} - - -@manual{nxos_gnmi_configuration, - title = {Cisco Nexus 9000 Series NX-OS Programmability Guide, Release 9.3(x)}, - date = {September 23, 2019}, - language = {English}, - organization = {Cisco Systems, Inc.}, - pubstate = {September 23, 2019}, -} - -@manual{iosxe_gnmi_configuration, - title = {Programmability Configuration Guide, Cisco IOS XE Gibraltar 16.10.x}, - date = {September 10, 2019}, - language = {English}, - organization = {Cisco Systems, Inc.}, - pubstate = {September 10, 2019}, -} - -@misc{grafanadocs, - title = {Grafana Documentation}, - howpublished = {\url{https://grafana.com/docs/}}, - note = {Accessed: 2019-12-03} -} - -@misc{influxdbdocs, - title = {InfluxDB documentation}, - howpublished = {\url{https://docs.influxdata.com/influxdb/v1.7/}}, - note = {Accessed: 2019-12-03} -} - -@misc{tsdbexplained, - title = {Time series database (TSDB) explained}, - howpublished = {\url{https://www.influxdata.com/time-series-database/}}, - note = {Accessed: 2019-12-03} -} - - -@misc{whycaretelemetry, - author={Shelly Cadora}, - title={Why You Should Care About Model-Driven Telemetry}, - howpublished={\url{https://blogs.cisco.com/sp/why-you-should-care-about-model-driven-telemetry}}, - note = {Accessed: 2019-12-03} -} - -@inproceedings{cao2006density, - title={Density-based clustering over an evolving data stream with noise}, - author={Cao, Feng and Estert, Martin and Qian, Weining and Zhou, Aoying}, - booktitle={Proceedings of the 2006 SIAM international conference on data mining}, - pages={328--339}, - year={2006}, - organization={SIAM} -} - -@inproceedings{putina2018telemetry, - title={Telemetry-based stream-learning of BGP anomalies}, - author={Putina, Andrian and Rossi, Dario and Bifet, Albert and Barth, Steven and Pletcher, Drew and Precup, Cristina and Nivaggioli, Patrice}, - booktitle={Proceedings of the 2018 Workshop on Big Data Analytics and Machine Learning for Data Communication Networks}, - pages={15--20}, - year={2018}, - organization={ACM} -} - -@inproceedings{zhou2017anomaly, - title={Anomaly detection with robust deep autoencoders}, - author={Zhou, Chong and Paffenroth, Randy C}, - booktitle={Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining}, - pages={665--674}, +% satyanarayanan2017.pdf +@article{7807196, + author={Satyanarayanan, Mahadev}, + journal={Computer}, + title={The Emergence of Edge Computing}, year={2017}, - organization={ACM} + volume={50}, + number={1}, + pages={30-39}, + doi={10.1109/MC.2017.9} +} + +% 10.11648.j.net.20190701.12.pdf +@article{wang_2019, + title={Edge Computing: Applications, State-of-the-Art and Challenges}, + volume={7}, + DOI={10.11648/j.net.20190701.12}, + number={1}, + journal={Advances in Networks}, + author={Wang, Shufen}, + year={2019}, + pages={8} +} + +% Ebben írnak általánosságban a datacenterekről +@book{geng2014data, + title={Data center handbook}, + author={Geng, Hwaiyu}, + year={2014}, + publisher={John Wiley \& Sons} +} + +% Itt írják le, hogy mi a felhő +@misc{what_is_cloud, + author = {IBM}, + title = {Cloud computing: A complete guide}, + howpublished = {\url{https://www.ibm.com/cloud/learn/cloud-computing}}, + note = {Accessed: 2020-05-09} +} + +% Itt beszélnek a geológikailag elosztott adatközpontokról és azok előnyeiről +% fedchenkov2019.pdf +@article{geodist, + author = {Fedchenkov, Petr and Shevel, Andrey and Khoruzhnikov, Sergey and Sadov, Oleg and Lazo, Oleg and Samokhin, Nikitta}, + year = {2019}, + month = {01}, + pages = {07007}, + title = {The cloud of geographically distributed data centers}, + volume = {214}, + journal = {EPJ Web of Conferences}, + doi = {10.1051/epjconf/201921407007} +} + +% Erre tudok hivatkozni azzal, hogy nő a demand +@techreport{annualinternetreport, + author = "Cisco Systems, Inc.", + title = "Cisco Annual Internet Report (2018–2023)", + institution = "Cisco", + year = "2020" +} + +% leírják, hogy egyre többen cloudoznak +@misc{cloudadpotation, + title = {Cloud Adoption Statistics for 2021}, + howpublished = {\url{https://hostingtribunal.com/blog/cloud-adoption-statistics/}}, + note = {Hozzáférve: 2021-05-09} + +} + +% leírják, hogy egyre több az iot % TODO: lehet jó lenne egy jobbat találni +@misc{iotadpotation, + title = {Number of Internet of Things (IoT) connected devices worldwide from 2019 to 2030}, + howpublished = {\url{https://www.statista.com/statistics/1183457/iot-connected-devices-worldwide/}}, + note = {Hozzáférve: 2021-05-13} +} + + +@misc{openglossary, + title = {Open Glossary of Edge Computing}, + howpublished = {\url{https://github.com/State-of-the-Edge/glossary}}, + note = {Hozzáférve: 2021-05-09} } \ No newline at end of file diff --git a/src/content/abstract.tex b/src/content/abstract.tex index cf67471..9fcc754 100644 --- a/src/content/abstract.tex +++ b/src/content/abstract.tex @@ -10,7 +10,6 @@ \chapter*{Kivonat}\addcontentsline{toc}{chapter}{Kivonat} -\lipsum{2} \vfill \selectenglish @@ -21,7 +20,7 @@ %---------------------------------------------------------------------------- \chapter*{Abstract}\addcontentsline{toc}{chapter}{Abstract} -\lipsum{2} + \vfill \selectthesislanguage diff --git a/src/content/acknowledgement.tex b/src/content/acknowledgement.tex index a274597..6e1e3f9 100644 --- a/src/content/acknowledgement.tex +++ b/src/content/acknowledgement.tex @@ -2,5 +2,3 @@ %---------------------------------------------------------------------------- \chapter*{\koszonetnyilvanitas}\addcontentsline{toc}{chapter}{\koszonetnyilvanitas} %---------------------------------------------------------------------------- - -\lipsum{1} \ No newline at end of file diff --git a/src/content/applications.tex b/src/content/applications.tex index bb343a9..21782cb 100644 --- a/src/content/applications.tex +++ b/src/content/applications.tex @@ -7,16 +7,24 @@ \section{Előnyös szempontok} % A perem és a felhő hálózatok mire jók +% alapvetően bármit ki lehet szervezni ebbe a rendszerbe, de nem mindennek van értelme +% ahhoz, hogy megállapítsuk, minek van értelme, egyeztessük a szempontokaz az előnyökkel + % Itt leírom, hogy aggregáció és késleltetés az két nagyon fontos szempont amin javítani tud a perem és felhő + \subsection{Nagy mennyiségű adatok aggregálása} \subsection{Késleltetés érzékeny alkalmazások} \subsection{Egyéb szempontok} +% Villany használat +% Privacy/Security \section{Megvalósított alkalmazások} % Itt leírom hogy a Birbnetes és az ursim miért jók és miért demózzák jól a két fenti megállapítást -% A birbnetesnél a minta felismerés át fog mászni az edge-cloudba \ No newline at end of file +% A birbnetesnél a minta felismerés át fog mászni az edge-cloudba + +A választott alkalmazások megvalósítását \aref{chapter:birbnetes}.\ és \aref{chapter:ursim}.\ fejezetek részletezik. \ No newline at end of file diff --git a/src/content/birbnetes_impl.tex b/src/content/birbnetes_impl.tex index f980775..edad7db 100644 --- a/src/content/birbnetes_impl.tex +++ b/src/content/birbnetes_impl.tex @@ -1,6 +1,7 @@ % !TeX root = ../thesis.tex %---------------------------------------------------------------------------- \chapter{Madárhang felismerő rendszer implementáció} +\label{chapter:birbnetes} %---------------------------------------------------------------------------- % Itt leírom, hogy ez volt az önlabom, és hogy kristóffal közösen fejlesztettük diff --git a/src/content/conclusion.tex b/src/content/conclusion.tex index f98e22b..4a6b2de 100644 --- a/src/content/conclusion.tex +++ b/src/content/conclusion.tex @@ -5,8 +5,5 @@ \section{Összefoglalás} -\lipsum{3} \section{Jövőbeni tervek} - -\lipsum{1} \ No newline at end of file diff --git a/src/content/glossary.tex b/src/content/glossary.tex index c790d7c..8cfeb15 100644 --- a/src/content/glossary.tex +++ b/src/content/glossary.tex @@ -72,6 +72,18 @@ description={The source code of the software is open and publicly available for anyone to read, analyze or modify} } +\newglossaryentry{vegeszkoz} +{ + name={végeszköz}, + description={Végső nyelője vagy forrása az információnak amelyet a hálózaton továbbítanak. Általában saját címmel rendelkezik} +} + +\newglossaryentry{adatkozpont} +{ + name={adatközpont}, + description={Fizikai lokáció, amely lehet épületen belül kinevezett helyiség, vagy akár épületek csoportja azzal a céllal hogy számítástechnikai- és kapolcsódó rendszereket üzemeltessenek benne} +} + \newacronym{mdt}{MDT}{Model-Driven Telemetry} \newacronym{ai}{AI}{Artificial Intelligence} \newacronym{ml}{ML}{Machine Learning} diff --git a/src/content/introduction.tex b/src/content/introduction.tex index cdbd8f8..019accb 100644 --- a/src/content/introduction.tex +++ b/src/content/introduction.tex @@ -3,12 +3,15 @@ \chapter{\bevezetes} %---------------------------------------------------------------------------- -\lipsum{3} +Kutatások szerint alig 5 éven belül az adatfeldolgozás csaknem 75\%-a már nem tradicionális adatközpontokban fog történni\cite{gartner}. + + +% itt csak megemlítem a problémákat + +% ... ezekre adhat megoldást a perem meme \section{A Dolgozat célja} -\lipsum{2} +% Röviden összefoglalom, hogy szeretném bemutatni a felhő és perem hálózati rendszereket, csinálni egy demót és méricskélni rajta \section{Fejezetek áttekintése} - -\lipsum{3} \ No newline at end of file diff --git a/src/content/overview.tex b/src/content/overview.tex index 3cb7208..a199787 100644 --- a/src/content/overview.tex +++ b/src/content/overview.tex @@ -3,7 +3,35 @@ \chapter{Áttekintés a perem és felhő rendszerekről} %---------------------------------------------------------------------------- -\section{State of art} +\section{Tradicionális megközelítés} % Egy kis áttekintés a "tradícionális felhőről" +\label{sec:tradicionalis_megkozelites} + +Általánosságban véve az informatikában akkor beszélhetünk felhőről, amikor egy adott alkalmazást általunk üzemeltetett infrastruktúra helyett egy távoli szolgáltató által fenntartott környezetben futtatunk\cite{what_is_cloud}. A tradicionális megközelítés szerint ezek a környezetek az üzemeltetéséhez szükséges infrastruktúra egy vagy több -- a szolgáltató által üzemeltetett -- \gls{adatkozpont}ban foglal helyet. + +A felhőszolgáltatások alkalmazásának több előnye is van, ezekből talán a legfontosabbak az +általános hardverelemek használatára visszavezethető alacsonyabb beruházási költség és az automatizált +folyamatok biztosította alacsonyabb üzemeltetési költség. Ezzel leveszi az üzemeltetés terhét és költségét az alkalmazás fejlesztőinek válláról. + +Gyakran a felhőszolgáltató egynél több \gls{adatkozpont}ot tart fenn, amelyeket a világ több pontján helyeznek el. Ezzel biztosítva redundanciát, magasabb rendelkezésre állást és hatékonyabb elérést\cite{geodist}. + +Előnyei miatt, manapság a nagyvállalatok csaknem 94\%-a már használja a felhő szolgáltatások nyújtotta előnyöket és alkalmazásaiknak már 83\%-a valamilyen felhő környezetben futnak\cite{cloudadpotation}. + +Amellett, hogy az felhőszolgáltatások adaptációja növekvő tendenciát mutat. Az internetre kapcsolt eszközök száma is szépen gyarapodik\cite{annualinternetreport}. Ehhez a felhasználói készülékek mellett jelentősen hozzájárul az utóbbi időben jelentős fejlődésnek örvendő \acrfull{iot} rendszerek egyre nagyobb mértékű alkalmazása\cite{iotadpotation}. + +Ezek alapján a felhő szolgáltatásokat nyújtó \gls{adatkozpont}ok kapacitásukat mind számítási teljesítményben, mind rendelkezésre álló sávszélességre való tekintettel egyre növekvő elvárással szembesülnek. Mindazonáltal a végeszközöket összekötő hálózatok is jelentősen növekvő igyényeknek néznek elébe. -\section{Alkalmas keretrendszerek} \ No newline at end of file +\section{Peremhálózati rendszerek} % Szóval itt felvezetem hogy van ez a perem meme + +% \cite{stateofart} + +% Le kell írni az elméleti példát, és hogy hoygan oldja meg a problémákat amit fenn felvetettem +% Egy gyakorlati példát is szeretnék adni, ami a mobil hálózatokra igaz, hogy BS-en van a cucc meg az datacenter meg minden + +% jó lenne megemlíteni, hogy szimbiózisban léteznek ezek + +\section{Keretrendszerek} + +% itt le lehet írni, hogy igazából mit is kell egy keretrendszernek tudnia +% Keresni pár példát +% El lehet mondani, hogy ezt a kubermeme tudja és az jó nekünk \ No newline at end of file diff --git a/src/content/ursim_impl.tex b/src/content/ursim_impl.tex index 904b9ce..fbaa8f9 100644 --- a/src/content/ursim_impl.tex +++ b/src/content/ursim_impl.tex @@ -1,6 +1,7 @@ % !TeX root = ../thesis.tex %---------------------------------------------------------------------------- \chapter{Felhő alapú robot vezérlés implementáció} +\label{chapter:ursim} %---------------------------------------------------------------------------- % Itt leírom hogy mi volt meg mielőtt nekiálltam diff --git a/src/figures/overview_no_edge.pdf b/src/figures/overview_no_edge.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f4cca762fafb28c762c6b9b1c759f999b3d6c376 GIT binary patch literal 26341 zcmb5U19WA<*6$me9ec+e+qSKaZQEwYww;dcq+{E*jgE2C=bSgrdE?#poqN}=QETqC zXZ>qd)m&rjwSGk^FDy#KK+6n6I(K%m1H%BI2iO`|z;JWZ2{{<+JJ~t_zRTEpm|I!t z)3MOf1GK*XU|`?^NSoU@y8+zTS#?>NwI~1rc6L_AYQ_dq=1z1hOl-7FtY3~&;>t48 z)Br1UOJjhTv7x2ym!pw`zALS{Egb_R?bin&WaeONZA{0;PD@YA#6izY%fSo~u`)Jv zaQG7FMBl;uU#b)^bn*_iM$U%DUtuX(n(NbjMGvrMWB>Z$AK{wY+6e1A z83Voxb28F1GSIUyFw@gB&@-`6(bJQEl`lUTTciKkg_jq`*v9DZBryGZG7R+r3@~(p zG5|VRTL)`>tA9H&|JzAO;IGp^U8RKp^e}YNl7FvAs{xp38Ck#jmIg3FXA?hH=Zh&|aw`X|?yRt}ZnNm9>Yq@zeW_9d*y04)F$zk&G>> z4Vs*Dc;zh%)?D#RhX#5&ms{1<1T{sk|7Wmtym!#@{bv=z=lfZ0=SzGvdX?=}%4h5K z5TFN-Wzda=0iPE_VyXM%=z#Cz;AQJOa`d7gHK~Qr5gYSP_1l%4Z^vq%?x(}^1i{`P zy3cYNwWX@gMm}AiUSC8!2o5jFJTLFi(7P@jM0;@GVssELUlK}UK~X^{F$6W;wLkCQ z6nSPFRvXDUT3#U7Zk^n1zdm#~scmRG9A3p;>1+G3EtfW`T1lsEin0QjIgf$q39 zY$QU66p3p<=M~Re4&kD-N%+aeSAcsXND6>MqZL8{Lp1i!z2Md4(eEO7875t z_Z=-DBERoWzAm|fJ~_98-H+}_Funy!wXu$i5nR%OQc-d`9>2moa9|)nR|td~rWK;B zwOBe3U1@k#f@T5QC~yefVm^T8>AY`2o^!KN%|Sz%Ub74&GWmPSA^;xlech7x7nQ8+ zy0O9Pf;Va|2gV+5m5MB;jfBrI_%AXVVLg*k#5zbyN-%1rSq-ezn~9P#WEx0KDeI*S zBDy1&Mf%dR-g{SSKXmU%pHMj9s+RRya4G(cmO!LJxQY-LSFSxt$BtB2OPHqvfw)?a*#>$S<5G#=p_3oVZqxktx!_gy2# z0G8r?60IS#Tb1J=4QOjPoLEqr=iShLX>NcA`AErGA`xD3=;>%YtGI#}5Nt7}Qbb~b zaSNtWQW+w1OW^TcvDq|zJZfPk;S?$qkgkIz;pVg-+^sO#~Eo8ZTCRcnz*DrZ) zKc6V1`5!WVd)B`;=A8ueW{#7spNrMTMUMiu<|A`%@wKRXcVz3Iq~m z*53Ta5ChF}geD15fEibH&8?mWKx;GkivxT;h%ASo(o~!z3e~>LtITe0iPn?ei^OT< zDI}AI^lW;ixPkG%X2Tj+&c0j5*rSk^2N;cU_?a=HH*~?`X2+~DZ-tyL6K&;rE*I&^nm13??I0dtoA!}rJo^QCs`;DkGwFNR9j{rGuPh*AW z0Fgx6!SZ{3=kkcG5g4M(%r%_I&Ly@({XpPMXc9QeCN^ebJ-r0Wg33z<&jK1!b2-M; z4~$k}7Z^&iuztr%QfZ^XqCF`nT0-OP;HC%g&mFzuT6bAsXBC zk8<+q@k??uLBB16up7H*AHbl_Bp&6@uv!Z|S~-Y67xmF^4hnP_fBsR$I4SVOtV2=H zb5~Lu^hX3p$8MS53&G#r-jyeH^EB8gAwHdtDL=nDKivgm)zXHs|BBjj4m+KtcyT_$ z$*dcNcqWx5NrUt+R`C#Z-@bYVn84~Hjc&D+T;Wim_?{YCp1SMCz@#>=a8*usm7&EP zE?N#c1qv0gQKt60E6L+jUMTOsWGfRo+g`8tS=_#NrB>tiJ-D5IP$=bCJlFcfg3hHK zRpgZBoI>6KUQwZ^)PvXMBzb}mX)U(-?HH=B6D=BT5ih*4Z0W2&+Zx{Qz;`O#FE)t9 z^eTk?AG6>d`ZYwLE^0@J8Rmu@-VbgQE2N-K<6I0xlgnhR`|O`Eq=WJ5R-m8xQz@S)};a1G(@i7M~BSQ5skIbaTuFtzTIja zZ=D2MZU@v|n&)nkseL3&yCD>GX3>f4bt|QOR?lQuZCzn|Z{8G8tT*2+e0y4ReZ^D! zeqB+CB$sLVqv^?KWWx4}&HK@=uetK={Z;2ocY7hTMe17RQ zJEz%qYQU8A!xD?g@%ZHgc;eED1Ppv9FS4>2y)~u$QVZzH2$SiqA}mN#n+L2Kf%e=; zl#n)7^Q0~%+laY&ByC5w^O}6PJWj6Ry;FY5FflA6LguRZF{8^f>a6_#>AT^_NoL>< zKXBoesWUSul)01h>5Dn!qm>u_S$8r6Z4Dp6%z3oX&174J2}D7e$mM||FNSz>1$@mC zUMFLX&e+O#_-L9-W5~u!lO4$X93?f_skL{V#6aDd9a8NGH?^q350^7roq3^&y2q=6 z`=NHm%oCHvAt&F{P4SsW|1gU!ohfZTX5XpbN44)$Jaxgxq4wt+X6=nOe%S*U&Iqid zWnfz)7Tn=PoF(u@sT|BAPO|L>d1tfrn>5LAlvL)v(q3rIF^Ri;Tbr1jyG+pV$td8S zf^`H^yC2Z@($*1vP!T~ri}}Lz_+}Gn=W6dkVh$E8j^RL_;k3bp#)g8Vg{P@*0FI^? zTGqEy%KMs7VE_Xo9l;t1`kmb& z!zmz@8}f+c0*E1MzlaE6w198k5vfUTv{52AZN!9xe`L~fR9myy3jzg0edV0tg{yw{yv}f)u<-pY;&{f+gx=Z>qJc=vWj}eli*1r%0LOIVF z%}cLe-k1cOuttj1T+e@3a&EHYSHd{@FLt|~c`g+moKhG_%ik)&5{is@eOa7UNb(h1 zP_^ScGQ){borS`ehWZEMk@+L%s7*h)!~z1;%~8`Xaq__J`4XpetOeLT%)jnhsx*_m zHM9U0Lq#IENF4J*QkITFVeEnjx;J@#ViiVswpuHB$B@$J)*R^K%MJfMFvD~8lWR5c zbB~Aui-ktN&CSzdLAF*2p4y-hIT^Sut~;oDf%w99e+OG%tGY4amP`i(u3OMm*36Pyu zD2;Ief-{Kd3AhE+T2u*I$aldU{psbqn>I*D?x-Y+KQ#u4F%3%BX%;WwfJ{NxKX(_T zOC-W=N}AlqSf7NpUXkgV?k z7t3A30{BRb42&P0@~J5y$EaW)D-xBBA9H%~=%O!eT^kE~-Ic({XkZ_&^p?$Cw*z{V zQ!cZ3M!J|eU(qnZ49D{nSE+(xp;%5*#awmDey)@~JL)c246FPB z>AA|9eeHn_yNBQmwDY?MS!p?x2f(`Vd-yYo!Nd1}&O-064nRQ96#a(oh3=FGf2ZW)KP^&{;?m!>!@x&)PfJlY@iWavZe z5`0Ne8ooRHdKYU4#v9cj>Ir#U0cc=!ft(5P2Ki``CY0V~Tn6HVyJ%I6QnquO`V@=S zD38WcA90{0{LFy#QdDAcdWE~2I}jQTv1Lhnal(=x(8P5+$h1J?!*EY^9avltvR=4P znM#YgafC?QIlLBQhx%{;1iPa6T;(zPlYaV%-ux&J(y1(@1~`0;*tjtEL}+#`q*~F; z>^QFp?%|M)MU?J`Xd&6e3EQ_pd)Pgujw`-sZaqt*Vz`n^6PH>B*11>)KORFYA^7yG z`*o8Mqhfw3Cn}{?V{XS^MUhFKG+C9*)=QV8$LI*Er_I-lb^R`a$)t&bKM+Q&4--yp9GU6)0-0O>zB;StBo7g8;02GV&Se(%0JXP7=f2`f}^n8&D+K5|sb=!$8TFIi`|6K%7SZx$S|`s&0j z94<4x6k}y}J1_n4oY>HHd|X<8XL0rYpG^X8*BnpiHur8_(Jr4gvJ>LWEma1M1Z(*3 z_EzSk#jUOK#_P6C8q8-7o-y3u`8bGbhSHpt3*N?S{dr;9!Y(gqP1=Jz8l8DjW-CKp zy112#=tpy{-bUvJm!k?P>sMO_L_=A;%yy-}(GHA>A<7HlVmyx?Mrp?Jmg+A>VKsK( z)1OY5np1l=aiqgw3D)-3xaNBSDi~%z02Tz-3LR}--c6u_x&iH-U-YnUA)K(6h$4+ zVg>3m9T2ze``zmvde{qEIPC1YXv>Opz!Cxwdd-2)#O4Xwc`IP$v}G_g+O`$4aznv-otc2BJ%SjUUN zJO}Y|JXWW@Aj^vhIkQu-t~D=|AfIzClXo!J&r03&VU(Er<+e9Jy%C3wO~DN^47m8( zZ_ck7a*N7FL>K2qL?(o7%$$hD#`rYn+MHYrvCK&g#uHr<9~b%NhIB&}!d#>FQM|y_ z1$6{(Ahxq|2|orc;jhgC{#0SG+2rrlDP_|nGb}5&Fz8~PGALiA*E;xwAsQw#|8&nZ z%+m%ZRwu8Ubl2ljt?``Pe%(mz*ddOAi0v=daoG$SA*IECEn>z@297NYl{MltsdTEN z$gC-?=jfCwdqvP5NO64sGQOyAbg){JbM-B2kYPx!Re2aYDs2!T}4Xfldfm02{0Y4(?RQ-B1 z<5J&7pt+9Jo|QfgoPEM*yLEn46Rwso(keDi%^j}vH?ea=K7Cw1F>GSy$qx%wiiI8*g&0$@&4{jYV4W*8!K}HoBHHMAwk<&g>*z@) zpzj8Gy0X-fa+)3zeG0dDmr1zpTvgejq~`6l1WIFfPhE1}a~@imLdImeAz+Sr0x9{1 z>XrHrIPRmB1V+jM)9q0iAnYPB#rc2-3ovM3<^E}qkF z(Pc;=ZRzw!U7Y5y(%AD$5bdVV32cmWO>s_*dM*(XN;Ibj=t-U}p@_Qky}=%LG`R!s zcy|t2WmhCEusn;u8^Qi~vbeZ8!pn}2E%2+=qI9ebi&93lQ91S=xo?GBDJ^8n(qjK| z_}SB@MLK3w(eQ5l&>W|i&02qoTzfhIY1WiexKR5io9w5A#AD{`9hnl#@Qg{h3m=eL z-<#XST^00{NSFf=VB$ErQy~gv{O)Z$XdBbr`iE*)D|fNzgnx)0z3RwsQl>y?vi6Fx z_#$dxOZ9YBHNhPoWcT8GEB-q(9j83SdExR%$05pr@r6c;JTnTgrJY2=Jj(^yr|?MM zQ7g|17xUi0eP*bM*n04Co^S3Acve2#Lk~gy)qZ=Mmswh3$`j_O+mPJ|eb#0XPcCIX zAm(v@ln)J2kR)_jmpRvdT9eA)v|a};{BaSZY=dJ{yk=a7dOqR!p+;88#s z-(B7f9aO&c9A`rKbV0H|IzW%d?vM~CoLwe_+iK73G2P8}azC1uW=hq=`@SCMHssNK zKW?=rJS>!(ZYO)oNf&WKP9nCnrW}@e*)n-T;vk?6Z$hDJuQ`lF_`CzawR1iQ9MxH{{E_i7N=5`7l~CO#Pvc*L_k&iEU(?Vfglf_4jM zNkjkK{b{B((X^mkSb|KjCigv=vXAN+y|oakUWutv;R$@;Dt|o<@f;@h7*?uD;X=}& z`7&JN%4{)1Go|-Q@v_tOu1*b3J7>7lpSl%oS{xd1%M)ZP;k;@?GB-g&KGpT4i$dT( zu~XFpm%q&|L^>5ql>{s_lHZxNO@Dyd9ZiIjQ4HGS1?u9PlFJU|sgX-NT$FuFarYcL zG{3)lzw~gkM=wFybB(ZntLlp&wl?ca>YS*hJ6fawYA8{QvSCzsMf+jDNqF#lLwr;E zaZRBr$`@4H^hZax0|A9ZSdrjP7`ofa&PXDMWx=@F=L1gprmb{F^!zgs+^jyf9;pH#!+Y^0?z_m`{2_ua?B_pBV@p9dxU#2_L`-LvbD zvV^8>sYbg+`?y z@p}&u+<6_f6omwH4#uT~mJ{E${n785geX`;Jvg-C+l)VG-g|Q zhRZeW5iQ$sF_QFZIx?jy$u``aO4b8QCqcIr?m%boh;LR#>~aoMc+@Vrw45GrGt0zu z0b}lWD^GaZi1+jOnylEbbLARriZv%^`YneCRqIMkQBu~4t6TfG(v;0|Q!P&FS)Lv* zqww`=@1^@fm>6CP<&D2kneezC!6)8gx`HgndSX_pEB)?r3ZZ@89qDoPYl^rf*U%1F z99n}s(~Z_=u7{<%J;hqgI2S)!IZCUqs>!>PKfN>0KI;}g)jwG^>s&6*;u_a;`d;9i zJsw`!D9-XeiC)DhEIk{!lCON*-UxzZ{fhqrt$)FSf1$1aAQH;%cE$iYd41C_zMyFA zXzT1?XzU310)Str%}~kM38488%0{Pb?B)cZld%4B6#Um&=wD|EZ5TQcHzzSAr@!#+ ztEm_h;4jKhgrO5-2K*&te=QckU$*tvVg>xgQhzNrz+a&B*J20!r9po!4!~cO^Vj;q zF#jMi|F9VW|KKQ!U+9fa)Yiu7Z$F|841lll<<0wbe9;(VBXfO0TQ`8_Ux35H{zVX( zIKJKxF|e`Faxi{HDfHFQ*v82b@DJ4TrK|Ks;tZYS^&S3k^$R%t(*!X5BkF%+zJGlG z7a9Hcj5+>QbpDFviv&rT8#w|r|4yu;_J6ed51#kWc0&42`c}54e|s|hn&|&eNB=?W z{)u}S08A`Q42)l+{vVJK0~u9iN;m`+kr!D>oQ#ErbsvCi@uCXzjn5^4vdotZIDJ@zn6VXk6k20RaZ0GXsZaJjKp**5yvcg57@C9 zFra-DotXmXbW|^HBw#^-f`-KITqJz zz5FSe9rJzu_`8)UNAi(jCz$kBh!=abQ0P1ca)fxkoFFZH(7X7Y{Rdm=ooELPn%88f zWABZn;S0+=L-Yyk`JKBk_k?qffW!>OJ zF8|oR2d95aa#A0=Gz#vKkvro0&|Fw8NYtgx1CUknWS<^&yLvP5kwWwfzF!N_$vwfe zu4!4k@14u3U>&s#Rc@>T{U7vGSkhk_e7sQ#I zXk@>$xrp-3jo#;p){)o7NJF+(B2N_K*X9B~VW6W)>-eReKeaUFCSQN>@~`PfD}*|; z1xJwtyx{PmxaRzftM$0_q40=c;zHO1-7pyl7{G3*iJ)I0&egs>gtPWpD=kB=hP+Xp zA`OvQsb=*F8SpId)Qea~Jff6)emk@bJFvce@3lrBsvDbQ-BMaN;Z|OL^s;%}=i-&K zQR+l}#DB#Wy=4gF32QpY^V-@;efC-AFX^Q$e9Xh!8njN1nG$N%X{m(H+RmOf)5&Qy z3F8S+1_@iTdS^xabDW=|`dihiUYQNYd(;GTAYCux*pdT(4yQWz(cw5I-ra$G(h>6X?mKrFXQio_IWCu^k$dPX71r?CEkc{{b$7m6 zfYUGIOow}#*Q>)%Iexxa*W9V~osV{}`HR8l^?}Er56gIed2ZCZHRQ@LBO#d9CHfqv zsGE6)tYQdZWJn)dVXJv-waa;jI9;S}*MyPH`u7wv#=h*xKbg)fLhUrp_K zb7Mp+gDWl%X#jOKH^^4FNs@o z_Iw73eMv8rx}$8wxDI`uXj1bo&e-9Xb};$o9(Z5$wXSg1Z8o4D_u6e2rGiXts zy9tdR_t>w3J55iWTw`3aAMP@XEO_1AClxqgf3f&BsXS#|?a1xoW|0k=&R+x-Ibc+A zz3?+^PORb!d+)X!)ho_Fd)J^JA(K`1zlS}CrD>5H&;SWOxBi|IKEa=7;)_`9v7Tj! z#Bkf7zD79`;a&GL^wr+qNgJh@O0e|{b=DOk%LwmkLK%J5xN*O}xo%`*4qQPB^4a|k zrze*yjg%^HQ$OvGhmYaXb2d5D0_B`X2gNAk2NkVijM~3*QpjbgZc#VMBS@3Rn)Y<_`Z;d|Rv6X=ksq1P_BZ4=H;YernD@J?dG3M(@VO`YeF_+-*rk`heP%&4W zjbKrKlN0Nm zp0V0eXaXf!;Tem7kp|y#`8**XPp9m<_hIXo30rcUe`{o$0LPNF+I@J^H|;-%>Vr&` zTp7IRr1sp_d{CC^*XJs%1~)zOrY_@ZSyqs5`F|0|KixwvEU{DiAg z!UUe{Y<4vY)4KC#pbV;rRhUe8fgbG$OQ=I*&troTh8K7xrjgwYybN-iw2OO;=RUu= zB3{{hf6Zq9bizC5w<;#+vooirCR&^B;RYfe#_9*f&JIurxD=G`XYv8GqQwnD^wx(N z50?{)X~ChGm) zPQKC@p7#>h4^%bqm*~%(XC;RPmD@?*syZ1zNAHu)Uan@H*tl0Q@VSl~L)*7q5RzkV z!>Hy$mUdhaHpYHD+*Z$>-}nY%#ZqsO4}$d$R*9bt?xp?Ag=Sy0Q!u3wvwfkzGzLpS z`!i7!Ep)C8wgH-i+j#&w<4gQ!)gS`ifs5T zQiFkKNE@3T_2c(odx8v5oMHZbfPa1UPinE$p_yLln5 zt31|js_y}8z*pQo=!9m#d3zQIK`0{v26(IefIz^Hc{{~_@s;&`{kX|dj8q@B%Vc)86{>4SC3*8^|Aj)X)^a`*t~Ps9L-kpk0(O;8uL=$xDC{Ml1qQ zw1T3S?L~DcKKUIP_+;AfW+;ydCpE0-K;9Z*MM&$A*<#M%ozx}E7Z*k%Axfd6LDVQ= zSwu6tHl7h>%Cti5!uHDK8Ozh_Qh&58c24D9{TBb``rI+8iIEpE13x1(JF%p4cIy1~ zhTQ4#wCOZ^`eMGbjO*7chll(9RCx8bLSZWVa2W|D#zbo4u=o-<6__Lqt0W7^oQd7${40w4^r5nZ%P=a(gs4wW>9W z<;@EQ@C_jv#FfyC%9c$mQyRwBjhi;w#@d#hYi$EBg^e3+Q*B!w(=Q=^YW@(P`L5hr zxvYKdim4oD9b)~IdLEmm3(YJzf^eFlEwYqX(^;CX3aIL>y3rocj%Z(W+L$}&VsGc_ zetpf3xQwu2`vk*fg`Kb_;~LT2$CzKIDsAnSm@aQ!Q*d+@kD>4NS{8Oe(VSwfd0p;1 zr>h8jkMgEy-#^+XzU7c{tmSO4x@Ti?rEO#JsNbyw`%V}hkS--UVNBVYet4L7h%Yc< z-7W2yU}zhuy;aV^H?Q?WtD(4cw#6Zj<3QKUMzH#DQIk!x`O)GM$>P$sw3VCyg$>=H`1VYpo!Hcbwj)@IO&w0R{vF?&DTheu*~6Nar1q%;7g1wTaRZGZPBLX5V{ z{$_r_l@9+f9)nG%<8e0uqj}r$ai9ppw)-hGA_=1&h?frd>AdBo?4#@;%#*kCX8xkY z=fi2O3|*Qhg1_72*Twv6?l@tf5!D7%qH!?rV0Ahl$$i7;pFU@!Bc3O2cYg zF1z#Up_&v!Is(u8Yu6AR(6&7o^pKnWeRg0UAdWjYPsAOFSG}HQ<+?pf zHQ0v&q~oC$4V&0s?~ddVou`4Krr~7F=4h@-sfEvUz?y#>G~Ai$!%_#6PQ#3CUtJ?E zOR>iCp-7VShQVpu#jQ)R#=j1~Ps8&Fi{1AF+1vuT$8rm^=FzPRM)nJLgt57&a)V%O z=NM7BCvuD8ldlb<7;&u#WRu9nb>~hw#Az31ormOXe>W$#9LB$8b`Rl};tWfBitRKa zxFJQ~6?@x3^^yb;2e?O{lM9ffR*+65bjO1hCUo%YkPwofx&%Z7#o66{;}9njC;3S< zvu}J0^9I-b+w_{_Cn3yFQu}?CTWt3%Tq4_8wi(kdnOzBx+HW`<($TT5!|nS#x4fcI zKS_Sx6OY(oPsSEp17`-sY#XvekZ%h;1$jwL#$8=kykx)ePbR?b=j@Z;GCcORgtgLy;eM5tqhmMDUhq{Nh2khf1*Q~+`@d?U_ z(n;ifl9TF->PxhbSa%8E^xeIfhyO>yhp=yP_cX1C0;7aZJX!KE%qiOGWC*p^z9Yv9HurR2OZBU3oMP!f8e8JCSWztY1^KYH8JSaSKH1J zn>V_=21ZrN*A^?ZU5B#HKHZi!eA`U>a;`Sqw%!rBpQei^H1U0m&I)39x-NcRa21m0 zyo|{%RXuEYX8RnjM0dVsuYJDhB06G0hTX4rOmKS6ceU3y*-yl?k) zd*9#G?&V~%yR*1-U~}n2;Z+Yts~HZJ*X}JW-&mZxvADcV8Hjlb`1AN4H@Yvujo@W6 z(Q{Eb@{4+Ce9kBC`$+s`wG{Nys`!S2hlYiWkB<4*Jt3iqP(o=RNqDN(1ODw5-CNhkYOoT z!zE#BTeWqHcW(N!ia*L~#`c3NFdV94pW3uZjJ_ko!Bb$@MFjLj208=}VW7A6?!rDp zX~j1VD_o}2+j}VJ3tL&)e=1{O>7etif#39Lbx{a{g+$nBwe8S$9*dUk*ZZ@KR?SZ~ zHR7SCYNzjN6m?M;2`-QtEO7u0L`fK57Zov^S_ zKVDZQqN+JCvLV0QX({3E$;aU@^EnGZM#WUue;1ecrU!OD`;H$UeHs&W0NYXAhfvS3 zW0A$KEki}mm5+CRLNP$AF)GE$Ln@%;E>T`m*z94>t#ONQe+KJ-W!1UWmAvhjA5KX7 z?Tu?dw$W>R|A_&`R9Y>3Rgz^RI?X{{l7?Viv)I1MZ)dIu>X$vU;I|^PL?+K*cZ0U( z2=yCH^2oLhAzS`(R1RURow~$m#jSzj<>k*B#n4yWYSQ5%i&c7UAw^m_T}Snox*hjs z33fe`0>k2QGfO6I)sW(17j_L|vm1J2j|#?ha3yPhD?OVE*9h} zWXlKzH8dmf&j7dUB*AUXARIygxUM+^MS0YwIC&B2Wd7@+@1i<9aZ|$hFK5EIG zpd;7q>Bs1l*+nd(IG?Y7@lPnLgD(%@Ex!z&Cx7?rP>_bI2R{!;X{G@&XXb2Kp( zpbxneLqa{hmN^!$Go8t z6qDO={FZ}q4<_jiauVj%Pu)+}58U4j#q$ofh3=7gMSgSW#TziY_tZ3P$X;pq^iV`V z{K)W*8Tz2(DQk16(^FVzDIKX|C`iOS$j4qE*tPcI*qw^-@@zv&YT_sW;Z2|g6`s`@ z6V;6fV*rwmst`I&_z3Jkz)xksW5CoKJguLFSThOv;|OV2rXMoazlN9$0Cz9W%y@x(AA~q>H&363q@2g5V!JkkmjCFBfz;$762tc1i|_1f0`uzrvg}3Nd-xN7k0k{9r!&vHk#g?TxvE zPQe93VgJkS2Xl#id&1p<(`xMaYJkE$X~okw+CC|}Z#{PYI)Y3d&^YeUIM)NNyawp` zC^s~{QPX)&xCn2uHxC1@oJ0f+u(haPc|sm?M-w1e$=aV~pm(yGJ9LNY4V}a8Wnf;x zGy2V3qBb)AGLocg#>lIIEB%n4zWd0z92g719}ZV-gHGjJ1Hp#|xT#l!S< zN`V1yf74~nkpWy_e+p@0`c#~DISlPY&kXg%AIW^18HeZup)lgy3eU zG5hB;$F0-2S{xqg3LSAy#IyW~ULnun_rr5Hvcvb`1%~PpS4?`-?#e*GN(t0VXI!9R zHYbU2ihhsx1%nj3JDG|7{&4DZT>kGe^!52Ligw#^lC{WGg=HQ6{c}uD;-+V5X`g)= z2KQg{{5nTzsc^W0;iF`GdaokkvU>$0fl7{?;=w#B-2!~td^&vMIc0JSL#KxK3NKLJ zxjkEY3{RLH@MM8KxlHt+EPjMFecq$ly?j6j^Xlw7d`$d)(3^tK8NRCH@7N6TEeKk` zvzVMFxAcsI3+fPtCRA0h342^&(1`LJKA85;G5!onA*~Q4ktfsbOHbumssyIX(p`qCc6aJ_jH{`maG1wk6>N!{`_5VUTkjc?Y&v)v zYFhj`fnsP5`C-@Zq3Cy6u}s2&y$AdZ!sQN+We%zpF%Hm~xtTLis)VL2*ul8OS~hBi zf(koTL12U^`TPa3=5PuxqqueXkqeYY0h&9pu^g!DqsCf7!Qw_F;lg4t$lnm+1WDq9 zVB^eFglAde7CMQ_MdZGW~=%~isToQj3 zpTU5_$)Wd70S-YkT&6g-IW-paq=^cn!AG|$!=a3POkbWRMSjKn?BS)0?Crb}H5I+i z{{Vl7bwj?S(An>!^VCo{j<+-*eu%Tyhy$;G-whRzRB|+A3PM*w|FsqM6s#^Yp|x|$ zRdl24t*?%}xdwxi0W{bWPab1`V3^r1RXwz>$V<9}B$u6{h8&V%VS;Ufu#*-)Pc?jZ z>y|xJ3jN{np25PIc@?1gvTkD#Lnbr*gSs_;NILHrrr1p34=-HG)6MjcNE9m)io%(> z5KPum?(1id>G=x#bo_MYUyHqzQTWdHKKgi0D!05)LP29OLYVae-~C=;`%^L>l-s)Z z4>D)F3+zH6{H(80%YsU_fjYz|fj^CG>CS=iZ%}(d?Wo?MRd*>^K^;~5NW6^3KT)6^ zul${s1CEx_-C&Jv{YYyN10+gcseZtW6+PB0I?xN@qW%Ue4R+r5aAg_~N;qd7_CL#m zI2AAVYALX+P!s89*EsjE)N$SbL3rQb@7fhSCMd+gCMbZ@LXzJKzmdjFSgJvm-bs1|1Q{ zrkZk!aqb51SsoI!awcx*V|sG>eRs`plRVYh+%_eES=eiqIfd_*;UvkkG3IgGny(=B z4#1GI*r~pz#3j7h2iKtT980Uy?pk^01?vS$4KMJWw%A7e!99)U}!I}5@YJXx|OiKf_j&y5o@WwbbKlb|+i>7@H0eZ{eSCp*Qrk#>nj zk9?tz75#zl24&iWfzT)Rlo>P?CfyN+$orC7D9I~p#>ZT;KtR_-3y12c#Cp5We;LO47@vCv;JTbX)cw^UW~?8aT=B{8_Z zZ#>FlGLdaKW8eA~;aTM4%KU|IJMQCfK&&mHUGAQL>Q^>A&jpX?dX6Ac6(K&lTkvS# z4A*s9=vgN)jSYE+Scih^4oMmu=~97-Nt}COHnp(KrtBqgOnB{Q@VOX`w|Lh8Lxy=F zrXx0|Rw zNBE*QCFQS2;fq%}y#2%mY0CKQ5H2%x*gl-GHM6PuTrF&=8O0OUx^P-DPqTmyc~|(( zkjOwsx5iHt?_isJjANGBAB-W=A?|N%D$gmju{T?9lZJFX>P-Yk53Efc@<%es)3(l= z)3W_nG6^X~aLGiSzywm{KeMg<4abEAht*$Nn1L&|-C32h5o%{auQAH9sY6Q4k^RcX zYS1s-a95&z^kGIw_#|v1J%;ko4#ac%tm$(;;3s!^b-;be4yniIaA@NP8U6Ptzfjf0UFlH1>hp6C|Vo@a9Z zRNhAT0Y{a)*$Ia}GPlxhL@RED{bPmV-lkbHjT-$#@t%@tri3T3-IL(OAHsj4jyZx7JE%?h>$`?Y(pW*5#01fhX;J%T>U~ zF`{al?Erdn4^|6GQ``YhGe6!YE?;k_cPDoMezI80>m2I~a+WlkR##W4H5GJl_ud@_ zCa}=KQErqsR082v=b|@iB^NZ$xoB$C&53#D0o!ul_cD|^kHH!3OJqg7$wv}tC%(&Q zLb6gjwH~)+#F$fKyJMvWgkK-s;J1fYfwXT^zdswNK{;OeLN9wsG2?+FWhkXf7<8U- z{2nVQy^?{R2Fq&TK(28@m+DC=K|(;ltU;k{UaW&mKG_(qTx*{BenX}pnLP3F<9x0m zs@bFc|CLWmd7_UVkwd

QH^p?;MqLuG3KuK(Q<4(9#|*>HMhz^s|8GH=?}J#$Id4 z3BFm=Ni`e&IK-xmEJ{|H^%y(5rD~HMFqTo|nB^^|+I>IP+#|j2Nbc4VFXZ-zIlT{BLdZ+JTfE3_(GLoMY8~n6 z{kI8^P}xr-vB!5!UZO2)Tx5(i(yLcvu$3((ano3MPtC4VaEAtFkg>!d3yQQ zzKvGT>&BG;6XWs*-w?@!monzfU$doVNg*My7IJKwb!hIL9ZI5|`N>y76Wbuk2rj8W z-A223WLznm_1gMS~-?4ZdJv^ySTMApc2&>!s@90X+h@L?i>)z_#5ITm3q71W6 zJ_5XHx*@Tq4SjQ^DGj3(Q4AOR{S|HY?aUiKUP|**dxMaFCKMUGkC)=at3p1Jq*+5V z3rIE~+)hN(HJ}$w$rlgEHLAK#FikzCp&Y|$?>pB&n`{jv9|nn@!IVu{HnvWvN8n zuR8YenfFhSrPQU~?acjRhME)4lf@Jw&PZr-x-%P`B{g+A4#BSYhLY2FRz}?PZakU+S=z13Mw1@O{fwyv-bUdL%UHWV%Q-@Ti8jdQ?lBcUj z&fSAz2f5qVLc`4)F;hZtOzXwk51>&(DpKM=Cv_`I>(O(<_e;R9$9BX!kYkFM>vsar zwN#JKXD4z+#B-gHNm5MRDD6WtPQ*&htaBbX)=|4otF(7YHU}36-SD`!74ilX&j*Z( zxT4^@pu29MdCF`k`nMFV_AJfsd{k{5%ds#YB;zRo%< z%B}nRDgsg}ASgW}Ej`RIgn%I3Fmw#kJ#?2eNOyzO5E9az(&o1&HU}~jbPWAcJao*MQ3GaRH--olS zE61_Wv#rCkY03S)umn;5br(;&bwR(_SPv!{u!)2W{ECtkThoY`e?8JgHkZnpG~ICM z<95wJ-Q7m7Aj901YHkMs$6r5m<0uRXB4rhM-wTxHaW#2SO%Xhc_@Nv9!@85cLCN9R z3x1Nyy-=h0GkaSo@;D=^;7BUS;=-a%Ua9a%9Z}tt>)4IH6&gEVBV^A+!az;=sS2l3KX#kD0}` zGBZ`zP=9G1-ej{8N;TBSM)7pr=%M1rG|O{+9bFpjcGHMOd%d|XN4=p6DmfwPcQtg8 z@-%85E2maEc9@b4?FkCGWfvk(yxx2@$Q`zZn5E;5?00nd#X>(bBc=V~X@8D8%v!MG zu|{r1xa$j%?@G_4zUB5qzv@Nh!myzlA;7@Pz(D_!gO|fg&P{Ll{FyhoJZB;1qa2J8 zBlB2yvE}uC3b~14#}P9p{rfkfqZgV|F{>*kdqJU69IZ4d{&qH^)ekhUyvj(22!##z zsxK1HYtOmb8EyhG+|Dy5n~zu}vMXpRk`E0~v&5>5FyUisS7||NXwvVN2`~D6-pkW_ zhb2NT01d&7rEJgm$A_(A>rb!n%in@$-0gm$ez@;^Rc``%yVma;ANWhwFIL$Ny$hLk z5v&T6vLVJR8snfXx=9a#yREH2ALWkrzMqoJo5Ic+RhStv0)Rpl5@lA2R#Z6(!TRM8 ze)Rv2kB{->4{xNd>32mNeBR!~e7qZrd2RFw?>Xc77=HSbU%M3#UB%cZ+3=fQaRh1u zQclxei!$6##`=OO+Zo%o$(GJGX=p$g%OGf{!xQIu?|G_5=;AQjR7y(5Hi+2K4PUsV zw9Z;#TY169NJ`EwiC)B3QEK#eUKOR93A0hNVs!OnVZLsWBH0j?BUGCMy4dpj{H48u z<6qu5Hpw)|f;bAHVaNH|2apR>adRi!~fa>8<)lUb6S1Y3PMkzb7M)*G#OM zg^|Rq*or#do5aT2{j{D^__3i-=?y;ALACg7V}<`hwV_*&(WUEZ$dO#abyQkJuraS0 z$I*Tq2CTKz?~5l1=0=3FfpRgtu4D34w?f44i+kjQ3}p6iwQon^zxn{#HK&u^IeV{( zD-?CJoA}g(nOv0GFDD7%w1(m5@?n|d6)O6qI@1;4TFB8#H-}Ms*bNVggHH45q=@Ub z^gH~|#N`U%{*nmhNf8#OF2ZGgxHU%%Ev>h_xP9yra``>0Rnh=Cxd&aKrsx*109XcO z%^yhC1hO-Hd%I)sHNFj@Pr8!6Be0~gParF8^KQ*F6{L`|=I*nQW8#wC_BP~N>o-tF z!7+_-ftA`F2yEEy5mFSRf=vm%#xgw%I~XDT+$Z&O>u`{Asm4vM=#kbkzf1X#Oy>(* zpJ8|F1O1z}y~>_?gy+VOpm}77VvT9iSigN4&^>!Wwtvo3hhy~O*KQY;%DzA*_LA4H z#N=ILov?3gH)o}sj1z*st_O@t3dbi&+Vs71NXgXO}yVH z56oNEm=O%RP)HZXKI_ADgy9WPCv4*iJ(b(^hhjJTFLtt~U}@v*Rso&}_4y*zL`Jf@ z9=Pd#?#Fq~UZVI72qIEd!4>YbYya-j^Xg6{;`DiQ^r)om5z1Ziadjuu{}ryZv=$aK zJzWsC{Bz0&`{)-DwNaR7Wee5$j-C3wTNYWu26|a76&DxHGIc_q1;Y_q?nA2rq^`mt zJaxE6oi7RTHVi6Tja%$n?W<8HTi`5k7WYQyGow=OI&!FmR$&ApkGWUs?K)Xv1iuB& z-ON%WhRmfG0jEcTPdAMVQ_ABrjh>`*MZI}fX^%CA&$YB-Ks_oK=|Si=Wr``y z8?NSgyk($IBeX!$ZLLRhkbTv|B_sUpS!;j#v0W=74H2xo54i#8f0l+7kP;t#VZK{A z`|Neb{C0MVjaUP(1j`Wf;Z9z^xZ$PZwX-bdCIlBrTpjtUPQ~xJilX-n91k z0Mvlaq}Wp1vYYla{W>>XF|3nXGWQZcVZV6gs(q4po!yj8Aacz>+}jkf;pCBrdW)0S z`DSW!7m*Xs$&)DWS7i;#aY?!R$!gD)4Id7FV|XdqyvB=<@Y>$PZK5uDq#vy?ID|VX z)9(Q|Hk0$~f3X*^d^{=x9zkHoV zw^XEoU$f0%WT{$?dQ6g7xM`Pd9z7_&@6-IezkEiQ(EaI(^jm6znr!4`qrkk8BkH@r zd;lLG3NbKMESBGbIlES%uE5N&5p6JcC2Y|B_*q0NCf1Lzr_)WJsRvnZj5GpYL@5h< zjKz5%s-B6(y5;tXGtRefq)I-_Sf8y@U2?S-wm)KBXD{S}o-Blt+EJv5M135u^%Rka z&f?Z=4K#kFYSDWqv9~z+Ni&ISc?Bh{ZJgqu^~<)=0hI_{#`-}->R$Vr1idr&eo{9Q ze~dh(6-SB@u4$f~IpDF)LoZ&d`|Uk>x7;Z{Vm@zCwc+HH<8Zoj7b*BE$?2|Bdcmjt z#zXNAzF(qmqwHBImrX|D#=sNpsK6{-=MYfO<8|U^ThWNXb^j5D>gak!|KweI`2F_Q z-k^6m_WDE~>M%G=9@{ugHx4EUtXUPh3OxTXBC3zR%Ff zFPt~6KEeWDSVM9Pe&4+5TU(O-MOQck26nLdH_Dh<#8ER6RK-AxM9W~?NS^S9rpz_#9#SC1TZSjJ;LFgM&2C*4~RMsKAm<(wLx+_8AC@i+gg!5X>@6ON;p2JFsuOV(nfRn=^%_>7YdXe(B@; z9URpL=cA!Msa-bx3cguK7u$lg4r(ZM@KYLV6OJF-t?W8%UX%fR;b;y})a)W8u1wiNs=z*krKU-}A|2VUzvq-o`#e1?JcE`s zcr||SSyo_A#4rxMrPS=(>!OR7?Zwl1bxL{*xixM?vN=L;DIz?cV5<12GM-C&tJXSf z#x%cBr%L_ewVy=hiaZmnd-E--FP+@=NOf?mUOuB?+IxpqP|vEIW_*#}#(Q&_Lh>u` zAu#RO0Y3yT;(gX>b8Iz^5gHWhmNXJvJz)LN%8(!Z1k9W>4dXJxGzPz0R_=*hZ~hUM zVJPgL)SbwKi{!$JoBn{-!W|3QfitX##GaZ{Gtl>hdqbNn-lR0E@zwx(tvUR?A0r&h z4HQYjFKa+Iz3IUZDO^V6{ZPYo1wNB8eZ-PKl6jok#}q$$wMcGt?U}_yZ`FTn=x6}; zZbk&*OnlFQ%oP9B5Fo%N^X{B>M?Sd zWszl;VwPc+_7gJZndKgBqnOKa!wSgx`aX~hX;|T)SHw4La ztApyaMGEvYEZNseFVY{p!k_hl81bUK+D ziFn@gfJ0W$2n$0-AY>&fFS0TS^(!r@Wh57tl2cT zx|;DgI;!u^+z+$8`um!6dKp?_cZ}kM{QIx=NT@;wG_y}1goZ;sDb7=$OR40d@?{MO z9~*^zM{otvv}}aaxG@hf4<+rbf5-~qpufx4S(3;&M>N3+@994p95dSuLzY~8T&uq* zZ(ExV!YFfXud?^*TwWDcfL~tX3n#l8t(6`42Taf+gm-^hBv!BrT@p6(IQRrq@6Men zS^ZcyS&?9uc_&TgJhbpxnwxR0TT%iug{TS_k;!K?L7?a$D{JSg7{3ML3HVz%t7j63B~#*9z>J~X9wdi5rp1fR{;}lnwYu&1X^M9d;sxjY-XDBgv+jDJ zMm&<+V7_7%6FYeafCT(Gh~y&cI>zX}`O)FoOZ(cb(G{N#4wj*Pe&OdZl~Ulw$T$ae z-ZA9@_nwcRuJ|O8kN476$>hB4*Q>*cyUfxk9UiS3=7!zZ?0h;gGq?Vg!KmP8<#b$&LmC&kKbau7kjfCOjDJ)bh(%Q6aXkxi?q~MM99`uM;OprV<0_pu;#@bOy1Aqy zIkf*VB6QztOQ=AoOz5YVaW(@d8_<|BW={zZfp6O7#U@`_PrXI4zNdq-7;>jxan92| zU^P>!HtSBz?DJrGN>g)6DJO!Ncl8ZeaCJR2aTPk!agtj?ilIS-gnK1@2-%c+5O;2< z^8C91Mz39)mkasX{_KN@S%2E{wMqxi2V>_02;9+vXG5snW!*9CnjS5TFm@rAH`b3) zj|Sfn$mHr!6rMyR4>s!;>4BrYypxSTFHVhnPq6h~EFz8$IL^c^SA5ly*A1w=u;4nRCDC=XXeB(Gj|Xn#MzP_{}?-^4DPE}n6$1W(gh_8d>YAgmS3 z2U^OHTV|e2zT*#B3Jud%Zr9o@SkiV~_Pg`g@+8h2{GpSasC5$6;b$JtIOD<(_aS^b z*7!8^qIS^@n7@GiJTVaZ+LYO%fH6#!g)OKcP8F{sPPi6(O_NB;>Yl z-`)xDrO0986)H8sStjx%xODjfyu>=PE1bV46hnGRdV@D1*H!6`?TQ1x z9CHW4{lDy8#ysfU6!*zpCh#94Y*E&sP1N`zwKfG&ad(bX%{q!z{<8(w`=8D~o8McC z$Glp*btQ0@nibokQ!WVn>vtOihe^Ed>|X;%{2y)6(sa+GPM3ww403@`6WUrv)N9l=b6zskch zMzuB~Nd6lFcy_%eMse;_`1i+xi550|oRVc)Y}%{bMI9)Oa8j1ad}%3-(6)x@^crgN z9{eG(MFwR!t@gKs=wkJV9F=t0O!M^UBDshX<-=at2Cv5V8>i{ww(r(+c8XqzU&w31 zX~)@ew{go{3mJ4+=2R|@S2e=w(!r4l1~OB_i4O8JNSJv6QSqEhYSIKNc;w4QT;k+A zXN$+=Wkg43QjN~4R<$n$6T;5%YTzujsrw+c^yC^&YXvh5Q>H4+tLfq! z<0U+};bla57dGj;TN%Aejk{HrsHFlP@{iePbLLcO*F%BwENP3LPU`IESu74y=WLoP z#bvAnS;wJ(4$#^Y4WNJuV{KfY~R zZ`Mi+H;H3X9jP4=JdbQbM9wLcZ%|3rO6gTCAz3cvS4a+6CeBmXw9QG=*xQGBGL@pw zs7H9hzdkq~wu|~`BROz+8Zwxw?ZGvXA*v>RZn-kNTHJh@< z?GFTOKOcM7ntS`~kl!eJw>7alLKN30FX!on3+nhu#xO7$LeFt$#C(nR1gS5wXj#AH zaUs$pMdwMhtt>bnt|6CyaoyvhH0wUwOBvdX?l?Jm-u}Rm0eyeLFSe-XxmWMI1?D$c z@f}YLY9reXCS+{e_zj)cHfm~HYo7X)(Hsqb5T^n^*erTHo^|H-vb`_MG<;l~>FdJ0 znO4OkHRms^8}NN^1shkpN6rKKAAE9E4n`u=c2Zch?T^pl<@1JR(BI;u=0ct>JH>^^ zvxfp{do${?6;GWk1?Fd)UC9HpEypi=DMx<$%Iaq=jzWHHO$^f8?rmNVLN317z0`4g z<2+ein^=s}zAht?c~ae^3oH3~Q>%8_WETBsZD}0%oE-aDyTGDZ`9STaWCv_;0r9>( z%hfLnf`yx&|E4@junQ%e!Wr3j{GhT`@7w<4ooP74+pDNhzwKfu2+4Ahp-$laynGV= zD_F?IlUd@_TYe9v7Je+~qUNdP$!2)%RHlAA0>qNgIgRytTEFBhpe`>bK-Xv9XDh<81-*CP4 zEmOxT)ZMNfMk?4Jb7|roMt;A(+VGr%o#ey9A?(7jg49m*ov!VhU{9h%VysiF?8(xSaLEyVdrb#;+e{h2XYfzbO%3f>sfd zb?juo3?dj(f!F+!JVGzBF|;1QtsdidH{)R2wu*MsInU_x3$cBdCN{fR6KIojYx8wh zuq#*E8cl*XD=Bu$jLh$I$rDj)3%>5Nuvaf5?L4?D&dMjq%~vVyF!s{thc>9~rISPx zUwf`7Jl((K&?{VNmUes4rvB^uRw{j|SR~`P2mOt$r#T_l+ZUUc!oPZ8Nj^b>$8~}x z%9)N)dBepobL5KcUKm+fS*CN!lELSdH0GDhOG?X>H%bP_6GSEBSH3MJV63mz3Xz2 zPo}ZD(g7h~qViekSCPt~(x7r!&{QpfLP2ihoHA^7CO<)qmz>f>UNfh%xT;jyqQq{J zNwZF>I5SVxki(f^)WIyZy0Wq^N7;Tdf#sofdt<3+@nl*_sd8GHRfdeL2@F%+)evFB zS21$-0{htSh>G`_A{-W8jVvAy8#n0(Ls?~Dfijj)c_}D)Taj3WdBx=6Zb4P18HThw zrIjuZAHwhr6dct^stikKyq(!xRJ34A3o~@cxtW@x!C4JrFMD!#j?v(aL2@8UNq{EZ zdHHlGtul|Ct7>1SZ$TTrq@oUFWGGt-p9q@KJ9**k%a zjf|q+G!UapZb@?-i>y6+_kgOv2U2FCag`~1wnqT*m)2sgL=G5jiQEh!!v`uyDyYWvn~70m zm8zPBW@}4TW%*!bsB5Ry7hWCmO-g58@Dt`fAdec)esH6k-fJ7@GIO>OqYtkqi{%|g zZOR?M_^H814O6B_f>G7DUiBo%zN$j@QN z4A!{fg$n8nylGF;K_;ajpV1637pIw8UUk8}p7GwuY>-Fy`Zr9NL^Mrd1Wk^vu!kF} zVL)7_vtL?V+$g+Po-2JA$xPDlgj)W<$_-mxr#~#H)Mo>TVnmSlRU$=ssuVS zANxyfMA9v?^wefGJ1;uxRGl^Q>{m|hi#JG_OFFH{n_6gdqEU|Q@==~G=cZ

sa0< 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 tl^3CHpH=%2fQQ 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 literal 0 HcmV?d00001