diff --git a/pros-cons/TU_Logo.pdf b/pros-cons/TU_Logo.pdf
new file mode 100755
index 0000000000000000000000000000000000000000..179eed594c0e690ba2234e6c04c64d85cdeedf6e
Binary files /dev/null and b/pros-cons/TU_Logo.pdf differ
diff --git a/pros-cons/TU_Signet.pdf b/pros-cons/TU_Signet.pdf
new file mode 100755
index 0000000000000000000000000000000000000000..aff2a489745c3acd832366c88a60ac10812cc5cb
Binary files /dev/null and b/pros-cons/TU_Signet.pdf differ
diff --git a/pros-cons/beamerthemetuw.sty b/pros-cons/beamerthemetuw.sty
new file mode 100644
index 0000000000000000000000000000000000000000..caf74c0f9bc105404c5306ff2c44248827121362
--- /dev/null
+++ b/pros-cons/beamerthemetuw.sty
@@ -0,0 +1,315 @@
+%%
+% @file beamerthemeTUW.sty
+% @date 2016-08-30
+% @author Wolfgang Puffitsch, Denise Ratasich
+%
+% @brief Beamer LaTeX template matching the corporate design of TU Wien.
+%%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{beamerthemeTUW}[2016/08/30 Beamer template that fits the TU Wien corporate design (adopted styles from powerpoint presentation template in CD manual)]
+
+\RequirePackage{graphicx}
+\RequirePackage{tikz}
+
+\def\beamer@tuwDefault{default}
+\def\beamer@tuwPlain{plain}
+\def\beamer@tuwSidebar{sidebar}
+\def\beamer@tuwHelvetica{helvetica}
+\def\beamer@tuwNoImage{none}
+\def\beamer@tuwLogo{TU_Logo}
+\def\beamer@tuwLogoWhite{TU_Logo_white}
+\def\beamer@tuwSecondLogo{none}
+\def\beamer@tuwSecondLogoWidth{.5\textwidth}
+
+%%% options
+% The user may choose other fonts (TU Wien CD says to use helvetica).
+\DeclareOptionBeamer{font}{\def\beamer@tuwFont{#1}}
+% Another outer theme may be chosen, however it may not fit the TU Wien colors.
+\DeclareOptionBeamer{outer}{\def\beamer@tuwOuter{#1}}
+% Width of the sidebar.
+\DeclareOptionBeamer{width}{\def\beamer@tuwWidth{#1}}
+% Background image of TU Wien building on title page.
+\newif\ifbeamer@tuwBackground
+\DeclareOptionBeamer{tuw_background}{\beamer@tuwBackgroundtrue}
+% Individual background image on title page.
+\DeclareOptionBeamer{tuw_image}{\def\beamer@tuwImage{#1}}
+% White logo (if tuw_image is dark the logo should be set to be white).
+\newif\ifbeamer@tuwWhiteLogo
+\DeclareOptionBeamer{tuw_whitelogo}{\beamer@tuwWhiteLogotrue}
+% Print frame title beside the logo to save space.
+\newif\ifbeamer@tuwFrametitleToTop
+\DeclareOptionBeamer{tuw_frametitletotop}{\beamer@tuwFrametitleToToptrue}
+% Second logo in case we need more than one
+\DeclareOptionBeamer{second_logo}{\def\beamer@tuwSecondLogo{#1}}
+\DeclareOptionBeamer{second_logo_width}{\def\beamer@tuwSecondLogoWidth{#1}}
+
+% defaults
+\ExecuteOptionsBeamer{outer=default}
+\ExecuteOptionsBeamer{width=1.6cm}
+\ExecuteOptionsBeamer{font=\familydefault}
+\beamer@tuwBackgroundfalse
+\ExecuteOptionsBeamer{tuw_image=none}
+\ExecuteOptionsBeamer{second_logo=none}
+\beamer@tuwWhiteLogofalse
+\beamer@tuwFrametitleToTopfalse
+
+\ProcessOptionsBeamer
+
+\ifx\beamer@tuwFont\beamer@tuwHelvetica
+\RequirePackage{helvet}
+\fi
+
+\mode<presentation>
+
+%%% colors
+% For some reason the logo is not in TU-blue (0,102,153). The powerpoint
+% presentation has TU-blue as background and the logo with a different color
+% (doesn't look nice). We align the TU-blue to the logo, like in the CD manual.
+\definecolor{tuwBlue}{RGB}{0,116,178}
+\definecolor{tuwGray}{RGB}{102,102,102}
+\definecolor{iceBlue}{RGB}{222,231,236}
+
+\def\tuwBlue{tuwBlue}
+\def\tuwGray{tuwGray}
+\def\iceBlue{iceBlue}
+\def\tuwLightBlue{tuwBlue!20!white}
+\def\tuwMediumBlue{tuwBlue!45!white}
+\def\tuwDarkBlue{tuwBlue!70!black}
+\def\alertred{red!50!black}
+
+% content page
+\setbeamercolor{normal text}{fg=black,bg=white}
+\setbeamercolor{alerted text}{fg=\alertred}
+\setbeamercolor{structure}{fg=\tuwBlue}
+\setbeamercolor{frametitle}{fg=black}
+
+\setbeamercolor{palette primary}{fg=\tuwDarkBlue,bg=\tuwLightBlue}
+\setbeamercolor{palette secondary}{fg=\tuwBlue!50!black,bg=\tuwMediumBlue}
+\setbeamercolor{palette tertiary}{fg=white,bg=\tuwBlue}
+
+\setbeamercolor{section in toc}{parent=normal text}
+\setbeamercolor{subsection in toc}{parent=section in toc}
+
+\setbeamercolor{block title}{fg=white, bg=\tuwBlue}
+\setbeamercolor{block title example}{fg=white, bg=\tuwBlue}
+\setbeamercolor{block title alerted}{fg=white, bg=\alertred}
+\setbeamercolor{block body}{bg=\iceBlue}
+\setbeamercolor{block body example}{parent=block body}
+\setbeamercolor{block body alerted}{parent=block body, fg=\alertred}
+
+\setbeamercolor{title in head/foot}{fg=\tuwBlue}
+\setbeamercolor{page number in head/foot}{fg=\tuwBlue}
+\setbeamercolor{footline}{fg=\tuwBlue}
+
+% color difference of default and other outer styles
+\ifx\beamer@tuwOuter\beamer@tuwDefault
+% default style - this is the CD of TU Wien
+% title page
+\setbeamercolor{title}{fg=white}
+\setbeamercolor{subtitle}{fg=white}
+\setbeamercolor{author}{fg=white}
+\setbeamercolor{institute}{fg=white}
+\setbeamercolor{date}{fg=white}
+% content page
+% keep defaults (black)
+\else
+% other outer styles (e.g., sidebar)
+% title page
+\setbeamercolor{title}{fg=\tuwGray}
+\setbeamercolor{subtitle}{fg=\tuwGray}
+\setbeamercolor{author}{fg=black}
+\setbeamercolor{institute}{fg=black}
+\setbeamercolor{date}{fg=black}
+% content page
+\setbeamercolor{frametitle}{fg=\tuwGray}
+\setbeamercolor{headline}{fg=\tuwGray}
+\setbeamercolor{footline}{fg=\tuwGray}
+\fi
+
+% sidebar
+\setbeamercolor{sidebar}{bg=\tuwBlue,fg=white}
+\setbeamercolor{palette sidebar primary}{fg=\tuwDarkBlue,bg=\tuwLightBlue}
+\setbeamercolor{palette sidebar secondary}{fg=\tuwDarkBlue,bg=\tuwLightBlue}
+\setbeamercolor{palette sidebar tertiary}{fg=white,bg=\tuwBlue}
+\setbeamercolor{title in sidebar}{fg=white,bg=\tuwBlue}
+\setbeamercolor{section in sidebar}{fg=\tuwDarkBlue}
+\setbeamercolor{section in sidebar shaded}{fg=white,bg=\tuwBlue}
+\setbeamercolor{subsection in sidebar}{fg=\tuwDarkBlue}
+\setbeamercolor{subsection in sidebar shaded}{fg=white,bg=\tuwBlue}
+
+%%% fonts
+
+% font weight
+\setbeamerfont{title}{series=\bfseries}
+\setbeamerfont{author}{series=\mdseries}
+\setbeamerfont{institute}{series=\mdseries}
+\setbeamerfont{date}{series=\mdseries}
+\setbeamerfont{frametitle}{series=\mdseries}
+\setbeamerfont{headline}{series=\mdseries}
+\setbeamerfont{footline}{series=\mdseries}
+
+% font size difference of default and other outer styles
+\ifx\beamer@tuwOuter\beamer@tuwDefault
+% default style - this is the CD of TU Wien
+\setbeamerfont{title}{size=\huge}
+\setbeamerfont{author}{size=\normalsize}
+\setbeamerfont{institute}{size=\normalsize}
+\setbeamerfont{date}{size=\normalsize}
+\setbeamerfont{frametitle}{size=\Large}
+\setbeamerfont{framesubtitle}{size=\large}
+\setbeamerfont{headline}{size=\scriptsize}
+\setbeamerfont{footline}{size=\scriptsize}
+\else
+% other outer styles (e.g., sidebar)
+% keep defaults
+\fi
+
+\setbeamerfont{section in toc}{parent=normal text}
+\setbeamerfont{subsection in toc}{parent=section in toc}
+
+% sidebar
+\setbeamerfont{title in sidebar}{series=\bfseries}
+\setbeamerfont{section in sidebar}{series=\bfseries,size=\tiny}
+\setbeamerfont{subsection in sidebar}{size=\tiny}
+
+%%% outer
+\setbeamersize{text margin left=1.2cm}
+\setbeamersize{text margin right=1.5cm}
+\beamertemplatenavigationsymbolsempty
+
+
+\ifx\beamer@tuwOuter\beamer@tuwDefault
+% default outher theme - this is the CD of TU Wien
+
+% background
+\setbeamertemplate{background}{
+  \begin{tikzpicture}
+    \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
+    % title page
+    \ifbeamer@tuwBackground % tu building background selected
+    \node[anchor=south west] (background) at (-0.15cm,-0.15cm) {\includegraphics[width=1.01\paperwidth]{TU_Background}};
+    \else\ifx\beamer@tuwImage\beamer@tuwNoImage % no background image specified
+    \fill[white] (0,0) rectangle (\the\paperwidth,\the\paperheight);
+    \else % individual background image
+    \node[anchor=north west] (background) at (-0.15cm,-0.15cm) {\includegraphics[width=1.01\paperwidth]{\beamer@tuwImage}};
+    \fi\fi
+    \fill[\tuwBlue, rounded corners=0.5cm] (-1cm,-1cm) rectangle (\paperwidth-0.5cm,\paperheight-3cm);
+    \ifbeamer@tuwWhiteLogo % white logo option specified
+    \node[anchor=north west] (logo) at (0.3cm,\paperheight-0.1cm) {\includegraphics[width=.5\textwidth]{\beamer@tuwLogoWhite}};
+    \else
+    \node[anchor=north west] (logo) at (0.2cm,\paperheight-0.2cm) {\includegraphics[height=2cm]{\beamer@tuwLogo}};
+    \fi
+    \ifx\beamer@tuwSecondLogo\beamer@tuwNoImage
+    \else
+    \node[anchor=north east] (logo2) at (\paperwidth-0.2cm,\paperheight-0.2cm) {\includegraphics[width=\beamer@tuwSecondLogoWidth]{\beamer@tuwSecondLogo}};
+    \fi
+    % content page
+    \ifnum\thepage>1\relax%
+    \fill[\iceBlue] (0,0) rectangle (\the\paperwidth,\the\paperheight);
+    \fill[white, rounded corners=0.5cm] (-1cm,-1cm) rectangle(\paperwidth-0.4cm,\paperheight-0.8cm);
+    \node[anchor=west] (logo) at (0.3cm,\paperheight-0.4cm) {\includegraphics[height=0.5cm]{TU_Signet}};
+    \fi
+  \end{tikzpicture}
+}
+
+% title page
+\def\beamer@titlepageLeft{1.6cm}
+\setbeamertemplate{title page}{
+  \vskip 4cm%
+  \begin{beamercolorbox}[leftskip=\beamer@titlepageLeft]{title}%
+    \usebeamerfont{title}\inserttitle%
+  \end{beamercolorbox}%
+  \vskip 0.5cm%
+  \begin{beamercolorbox}[leftskip=\beamer@titlepageLeft]{subtitle}
+    \usebeamerfont{subtitle}\insertsubtitle%
+  \end{beamercolorbox}
+  \vskip 0.25cm%
+  \vfill%
+  \begin{beamercolorbox}[leftskip=\beamer@titlepageLeft]{author}
+    \usebeamerfont{author}\insertauthor%
+  \end{beamercolorbox}
+  \begin{beamercolorbox}[leftskip=\beamer@titlepageLeft]{date}
+    \usebeamerfont{date}\insertdate%
+  \end{beamercolorbox}
+}
+
+% frametitle
+\setbeamertemplate{frametitle}
+{%
+  \ifbeamer@tuwFrametitleToTop % frametitle should be printed beside the logo
+  % vbox to keep the baseline
+  \vbox{}\vskip -0.43cm%
+  \else
+  \vbox{}\vskip 0.7cm%
+  \fi
+  \begin{beamercolorbox}[leftskip=0cm]{frametitle}
+    \usebeamerfont{frametitle}\insertframetitle%
+    \ifbeamer@tuwFrametitleToTop
+    \vbox{}\vskip 0.3cm%
+    \else
+    \vbox{}\vskip 0.2cm%
+    \fi
+    \usebeamerfont{framesubtitle}\insertframesubtitle%
+  \end{beamercolorbox}
+}
+
+% footline
+\setbeamertemplate{footline}{%
+  \vspace{0.1cm}
+  \ifnum\thepage>1
+    \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex]{footline}
+      \hskip 1.2cm%
+      \usebeamerfont{footline}\insertshortdate%
+      \hfill%
+      \insertshorttitle, \insertshortauthor%
+      \hfill%
+      \insertframenumber\:/\:\inserttotalframenumber%
+      \hspace*{1.5cm}%
+    \end{beamercolorbox}
+  \else
+    \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,center]{}%
+        % empty environment to raise height
+    \end{beamercolorbox}
+  \fi
+  \vspace{0.1cm}
+}
+
+\else\ifx\beamer@tuwOuter\beamer@tuwSidebar
+% sidebar outer theme
+\useoutertheme[width=\beamer@tuwWidth,height=0pt]{\beamer@tuwOuter}
+
+% footline
+\setbeamertemplate{footline}{
+  \ifnum\thepage>1
+  \vspace{-1cm}
+  \hfill{\scriptsize\insertframenumber\:/\:\inserttotalframenumber~~}
+  \vspace{0.1cm}
+  \fi
+}
+\else
+\useoutertheme{\beamer@tuwOuter}
+\fi\fi % if outer=default or outer=sidebar
+
+
+%%% inner
+\ifx\beamer@tuwOuter\beamer@tuwDefault
+\setbeamertemplate{itemize items}[circle]
+\else
+% defaults
+\fi % if outer=default
+
+\setlength{\parskip}{6pt}
+
+% blocks
+\setbeamertemplate{blocks}[rounded]
+\pgfdeclareverticalshading{bmb@transition}{\the\paperwidth}{color(0pt)=(\iceBlue); color(3.0pt)=(\iceBlue)}
+
+\setbeamercovered{invisible}
+
+% emphasize
+\renewcommand<>{\emph}[1]{{\only#2{\color{\tuwBlue}}#1}}
+
+\hypersetup{colorlinks=true,linkcolor=fg,citecolor=\tuwGray,urlcolor=\tuwGray}
+
+\mode<all>
diff --git a/pros-cons/forsyte.png b/pros-cons/forsyte.png
new file mode 100755
index 0000000000000000000000000000000000000000..4586335a818bd6b560fde7778b8447b13dd03a98
Binary files /dev/null and b/pros-cons/forsyte.png differ
diff --git a/pros-cons/listings-rust.sty b/pros-cons/listings-rust.sty
new file mode 100644
index 0000000000000000000000000000000000000000..c6bc65059496f975e75ec965bfd2132ec6d9afb1
--- /dev/null
+++ b/pros-cons/listings-rust.sty
@@ -0,0 +1,75 @@
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\ProvidesPackage{listings-rust}[2018/01/23 Custom Package]
+
+\RequirePackage{color}
+\RequirePackage{listings}
+
+\lstdefinelanguage{Rust}{%
+  sensitive%
+, morecomment=[l]{//}%
+, morecomment=[s]{/*}{*/}%
+, moredelim=[s][{\itshape\color[rgb]{0,0,0.75}}]{\#[}{]}%
+, morestring=[b]{"}%
+, alsodigit={}%
+, alsoother={}%
+, alsoletter={!}%
+%
+%
+% [1] reserve keywords
+% [2] traits
+% [3] primitive types
+% [4] type and value constructors
+% [5] identifier
+%
+, morekeywords={break, continue, else, for, if, in, loop, match, return, while}  % control flow keywords
+, morekeywords={as, const, let, move, mut, ref, static}  % in the context of variables
+, morekeywords={dyn, enum, fn, impl, Self, self, struct, trait, type, union, use, where}  % in the context of declarations
+, morekeywords={crate, extern, mod, pub, super}  % in the context of modularisation
+, morekeywords={unsafe}  % markers
+, morekeywords={abstract, alignof, become, box, do, final, macro, offsetof, override, priv, proc, pure, sizeof, typeof, unsized, virtual, yield}  % reserved identifiers
+%
+% grep 'pub trait [A-Za-z][A-Za-z0-9]*' -r . | sed 's/^.*pub trait \([A-Za-z][A-Za-z0-9]*\).*/\1/g' | sort -u | tr '\n' ',' | sed 's/^\(.*\),$/{\1}\n/g' | sed 's/,/, /g'
+, morekeywords=[2]{Add, AddAssign, Any, AsciiExt, AsInner, AsInnerMut, AsMut, AsRawFd, AsRawHandle, AsRawSocket, AsRef, Binary, BitAnd, BitAndAssign, Bitor, BitOr, BitOrAssign, BitXor, BitXorAssign, Borrow, BorrowMut, Boxed, BoxPlace, BufRead, BuildHasher, CastInto, CharExt, Clone, CoerceUnsized, CommandExt, Copy, Debug, DecodableFloat, Default, Deref, DerefMut, DirBuilderExt, DirEntryExt, Display, Div, DivAssign, DoubleEndedIterator, DoubleEndedSearcher, Drop, EnvKey, Eq, Error, ExactSizeIterator, ExitStatusExt, Extend, FileExt, FileTypeExt, Float, Fn, FnBox, FnMut, FnOnce, Freeze, From, FromInner, FromIterator, FromRawFd, FromRawHandle, FromRawSocket, FromStr, FullOps, FusedIterator, Generator, Hash, Hasher, Index, IndexMut, InPlace, Int, Into, IntoCow, IntoInner, IntoIterator, IntoRawFd, IntoRawHandle, IntoRawSocket, IsMinusOne, IsZero, Iterator, JoinHandleExt, LargeInt, LowerExp, LowerHex, MetadataExt, Mul, MulAssign, Neg, Not, Octal, OpenOptionsExt, Ord, OsStrExt, OsStringExt, Packet, PartialEq, PartialOrd, Pattern, PermissionsExt, Place, Placer, Pointer, Product, Put, RangeArgument, RawFloat, Read, Rem, RemAssign, Seek, Shl, ShlAssign, Shr, ShrAssign, Sized, SliceConcatExt, SliceExt, SliceIndex, Stats, Step, StrExt, Sub, SubAssign, Sum, Sync, TDynBenchFn, Terminal, Termination, ToOwned, ToSocketAddrs, ToString, Try, TryFrom, TryInto, UnicodeStr, Unsize, UpperExp, UpperHex, WideInt, Write}
+, morekeywords=[2]{Send}  % additional traits
+%
+, morekeywords=[3]{bool, char, f32, f64, i8, i16, i32, i64, isize, str, u8, u16, u32, u64, unit, usize, i128, u128}  % primitive types
+%
+, morekeywords=[4]{Err, false, None, Ok, Some, true}  % prelude value constructors
+% grep 'pub \(type\|struct\|enum\) [A-Za-z][A-Za-z0-9]*' -r . | sed 's/^.*pub \(type\|struct\|enum\) \([A-Za-z][A-Za-z0-9]*\).*/\2/g' | sort -u | tr '\n' ',' | sed 's/^\(.*\),$/{\1}\n/g' | sed 's/,/, /g'    
+, morekeywords=[3]{AccessError, Adddf3, AddI128, AddoI128, AddoU128, ADDRESS, ADDRESS64, addrinfo, ADDRINFOA, AddrParseError, Addsf3, AddU128, advice, aiocb, Alignment, AllocErr, AnonPipe, Answer, Arc, Args, ArgsInnerDebug, ArgsOs, Argument, Arguments, ArgumentV1, Ashldi3, Ashlti3, Ashrdi3, Ashrti3, AssertParamIsClone, AssertParamIsCopy, AssertParamIsEq, AssertUnwindSafe, AtomicBool, AtomicPtr, Attr, auxtype, auxv, BackPlace, BacktraceContext, Barrier, BarrierWaitResult, Bencher, BenchMode, BenchSamples, BinaryHeap, BinaryHeapPlace, blkcnt, blkcnt64, blksize, BOOL, boolean, BOOLEAN, BoolTrie, BorrowError, BorrowMutError, Bound, Box, bpf, BTreeMap, BTreeSet, Bucket, BucketState, Buf, BufReader, BufWriter, Builder, BuildHasherDefault, BY, BYTE, Bytes, CannotReallocInPlace, cc, Cell, Chain, CHAR, CharIndices, CharPredicateSearcher, Chars, CharSearcher, CharsError, CharSliceSearcher, CharTryFromError, Child, ChildPipes, ChildStderr, ChildStdin, ChildStdio, ChildStdout, Chunks, ChunksMut, ciovec, clock, clockid, Cloned, cmsgcred, cmsghdr, CodePoint, Color, ColorConfig, Command, CommandEnv, Component, Components, CONDITION, condvar, Condvar, CONSOLE, CONTEXT, Count, Cow, cpu, CRITICAL, CStr, CString, CStringArray, Cursor, Cycle, CycleIter, daddr, DebugList, DebugMap, DebugSet, DebugStruct, DebugTuple, Decimal, Decoded, DecodeUtf16, DecodeUtf16Error, DecodeUtf8, DefaultEnvKey, DefaultHasher, dev, device, Difference, Digit32, DIR, DirBuilder, dircookie, dirent, dirent64, DirEntry, Discriminant, DISPATCHER, Display, Divdf3, Divdi3, Divmoddi4, Divmodsi4, Divsf3, Divsi3, Divti3, dl, Dl, Dlmalloc, Dns, DnsAnswer, DnsQuery, dqblk, Drain, DrainFilter, Dtor, Duration, DwarfReader, DWORD, DWORDLONG, DynamicLibrary, Edge, EHAction, EHContext, Elf32, Elf64, Empty, EmptyBucket, EncodeUtf16, EncodeWide, Entry, EntryPlace, Enumerate, Env, epoll, errno, Error, ErrorKind, EscapeDebug, EscapeDefault, EscapeUnicode, event, Event, eventrwflags, eventtype, ExactChunks, ExactChunksMut, EXCEPTION, Excess, ExchangeHeapSingleton, exit, exitcode, ExitStatus, Failure, fd, fdflags, fdsflags, fdstat, ff, fflags, File, FILE, FileAttr, filedelta, FileDesc, FilePermissions, filesize, filestat, FILETIME, filetype, FileType, Filter, FilterMap, Fixdfdi, Fixdfsi, Fixdfti, Fixsfdi, Fixsfsi, Fixsfti, Fixunsdfdi, Fixunsdfsi, Fixunsdfti, Fixunssfdi, Fixunssfsi, Fixunssfti, Flag, FlatMap, Floatdidf, FLOATING, Floatsidf, Floatsisf, Floattidf, Floattisf, Floatundidf, Floatunsidf, Floatunsisf, Floatuntidf, Floatuntisf, flock, ForceResult, FormatSpec, Formatted, Formatter, Fp, FpCategory, fpos, fpos64, fpreg, fpregset, FPUControlWord, Frame, FromBytesWithNulError, FromUtf16Error, FromUtf8Error, FrontPlace, fsblkcnt, fsfilcnt, fsflags, fsid, fstore, fsword, FullBucket, FullBucketMut, FullDecoded, Fuse, GapThenFull, GeneratorState, gid, glob, glob64, GlobalDlmalloc, greg, group, GROUP, Guard, GUID, Handle, HANDLE, Handler, HashMap, HashSet, Heap, HINSTANCE, HMODULE, hostent, HRESULT, id, idtype, if, ifaddrs, IMAGEHLP, Immut, in, in6, Incoming, Infallible, Initializer, ino, ino64, inode, input, InsertResult, Inspect, Instant, int16, int32, int64, int8, integer, IntermediateBox, Internal, Intersection, intmax, IntoInnerError, IntoIter, IntoStringError, intptr, InvalidSequence, iovec, ip, IpAddr, ipc, Ipv4Addr, ipv6, Ipv6Addr, Ipv6MulticastScope, Iter, IterMut, itimerspec, itimerval, jail, JoinHandle, JoinPathsError, KDHELP64, kevent, kevent64, key, Key, Keys, KV, l4, LARGE, lastlog, launchpad, Layout, Lazy, lconv, Leaf, LeafOrInternal, Lines, LinesAny, LineWriter, linger, linkcount, LinkedList, load, locale, LocalKey, LocalKeyState, Location, lock, LockResult, loff, LONG, lookup, lookupflags, LookupHost, LPBOOL, LPBY, LPBYTE, LPCSTR, LPCVOID, LPCWSTR, LPDWORD, LPFILETIME, LPHANDLE, LPOVERLAPPED, LPPROCESS, LPPROGRESS, LPSECURITY, LPSTARTUPINFO, LPSTR, LPVOID, LPWCH, LPWIN32, LPWSADATA, LPWSAPROTOCOL, LPWSTR, Lshrdi3, Lshrti3, lwpid, M128A, mach, major, Map, mcontext, Metadata, Metric, MetricMap, mflags, minor, mmsghdr, Moddi3, mode, Modsi3, Modti3, MonitorMsg, MOUNT, mprot, mq, mqd, msflags, msghdr, msginfo, msglen, msgqnum, msqid, Muldf3, Mulodi4, Mulosi4, Muloti4, Mulsf3, Multi3, Mut, Mutex, MutexGuard, MyCollection, n16, NamePadding, NativeLibBoilerplate, nfds, nl, nlink, NodeRef, NoneError, NonNull, NonZero, nthreads, NulError, OccupiedEntry, off, off64, oflags, Once, OnceState, OpenOptions, Option, Options, OptRes, Ordering, OsStr, OsString, Output, OVERLAPPED, Owned, Packet, PanicInfo, Param, ParseBoolError, ParseCharError, ParseError, ParseFloatError, ParseIntError, ParseResult, Part, passwd, Path, PathBuf, PCONDITION, PCONSOLE, Peekable, PeekMut, Permissions, PhantomData, pid, Pipes, PlaceBack, PlaceFront, PLARGE, PoisonError, pollfd, PopResult, port, Position, Powidf2, Powisf2, Prefix, PrefixComponent, PrintFormat, proc, Process, PROCESS, processentry, protoent, PSRWLOCK, pthread, ptr, ptrdiff, PVECTORED, Queue, radvisory, RandomState, Range, RangeFrom, RangeFull, RangeInclusive, RangeMut, RangeTo, RangeToInclusive, RawBucket, RawFd, RawHandle, RawPthread, RawSocket, RawTable, RawVec, Rc, ReadDir, Receiver, recv, RecvError, RecvTimeoutError, ReentrantMutex, ReentrantMutexGuard, Ref, RefCell, RefMut, REPARSE, Repeat, Result, Rev, Reverse, riflags, rights, rlim, rlim64, rlimit, rlimit64, roflags, Root, RSplit, RSplitMut, RSplitN, RSplitNMut, RUNTIME, rusage, RwLock, RWLock, RwLockReadGuard, RwLockWriteGuard, sa, SafeHash, Scan, sched, scope, sdflags, SearchResult, SearchStep, SECURITY, SeekFrom, segment, Select, SelectionResult, sem, sembuf, send, Sender, SendError, servent, sf, Shared, shmatt, shmid, ShortReader, ShouldPanic, Shutdown, siflags, sigaction, SigAction, sigevent, sighandler, siginfo, Sign, signal, signalfd, SignalToken, sigset, sigval, Sink, SipHasher, SipHasher13, SipHasher24, size, SIZE, Skip, SkipWhile, Slice, SmallBoolTrie, sockaddr, SOCKADDR, sockcred, Socket, SOCKET, SocketAddr, SocketAddrV4, SocketAddrV6, socklen, speed, Splice, Split, SplitMut, SplitN, SplitNMut, SplitPaths, SplitWhitespace, spwd, SRWLOCK, ssize, stack, STACKFRAME64, StartResult, STARTUPINFO, stat, Stat, stat64, statfs, statfs64, StaticKey, statvfs, StatVfs, statvfs64, Stderr, StderrLock, StderrTerminal, Stdin, StdinLock, Stdio, StdioPipes, Stdout, StdoutLock, StdoutTerminal, StepBy, String, StripPrefixError, StrSearcher, subclockflags, Subdf3, SubI128, SuboI128, SuboU128, subrwflags, subscription, Subsf3, SubU128, Summary, suseconds, SYMBOL, SYMBOLIC, SymmetricDifference, SyncSender, sysinfo, System, SystemTime, SystemTimeError, Take, TakeWhile, tcb, tcflag, TcpListener, TcpStream, TempDir, TermInfo, TerminfoTerminal, termios, termios2, TestDesc, TestDescAndFn, TestEvent, TestFn, TestName, TestOpts, TestResult, Thread, threadattr, threadentry, ThreadId, tid, time, time64, timespec, TimeSpec, timestamp, timeval, timeval32, timezone, tm, tms, ToLowercase, ToUppercase, TraitObject, TryFromIntError, TryFromSliceError, TryIter, TryLockError, TryLockResult, TryRecvError, TrySendError, TypeId, U64x2, ucontext, ucred, Udivdi3, Udivmoddi4, Udivmodsi4, Udivmodti4, Udivsi3, Udivti3, UdpSocket, uid, UINT, uint16, uint32, uint64, uint8, uintmax, uintptr, ulflags, ULONG, ULONGLONG, Umoddi3, Umodsi3, Umodti3, UnicodeVersion, Union, Unique, UnixDatagram, UnixListener, UnixStream, Unpacked, UnsafeCell, UNWIND, UpgradeResult, useconds, user, userdata, USHORT, Utf16Encoder, Utf8Error, Utf8Lossy, Utf8LossyChunk, Utf8LossyChunksIter, utimbuf, utmp, utmpx, utsname, uuid, VacantEntry, Values, ValuesMut, VarError, Variables, Vars, VarsOs, Vec, VecDeque, vm, Void, WaitTimeoutResult, WaitToken, wchar, WCHAR, Weak, whence, WIN32, WinConsole, Windows, WindowsEnvKey, winsize, WORD, Wrapping, wrlen, WSADATA, WSAPROTOCOL, WSAPROTOCOLCHAIN, Wtf8, Wtf8Buf, Wtf8CodePoints, xsw, xucred, Zip, zx}
+%
+, morekeywords=[5]{assert!, assert_eq!, assert_ne!, cfg!, column!, compile_error!, concat!, concat_idents!, debug_assert!, debug_assert_eq!, debug_assert_ne!, env!, eprint!, eprintln!, file!, format!, format_args!, include!, include_bytes!, include_str!, line!, module_path!, option_env!, panic!, print!, println!, select!, stringify!, thread_local!, try!, unimplemented!, unreachable!, vec!, write!, writeln!}  % prelude macros
+}%
+
+\lstdefinestyle{colouredRust}%
+{ basicstyle=\ttfamily%
+, identifierstyle=%
+, commentstyle=\color{ACMPurple}%
+, stringstyle=\color[rgb]{0, 0, 0.5}%
+, keywordstyle=\color{ACMGreen}% reserved keywords
+, keywordstyle=[2]\color[rgb]{0.75, 0, 0}% traits
+, keywordstyle=[3]\color[rgb]{0, 0.5, 0}% primitive types
+, keywordstyle=[4]\color[rgb]{0, 0.5, 0}% type and value constructors
+, keywordstyle=[5]\color[rgb]{0, 0, 0.75}% macros
+, columns=spaceflexible%
+, keepspaces=true%
+, showspaces=false%
+, showtabs=false%
+, showstringspaces=true%
+}%
+
+\lstdefinestyle{boxed}{
+  style=colouredRust%
+, numbers=left%
+, firstnumber=auto%
+, numberblanklines=true%
+, frame=trbL%
+, numberstyle=\tiny%
+, frame=leftline%
+, numbersep=7pt%
+, framesep=5pt%
+, framerule=10pt%
+, xleftmargin=15pt%
+, backgroundcolor=\color[gray]{0.97}%
+, rulecolor=\color[gray]{0.90}%
+}
diff --git a/pros-cons/nvme-v6.12-rc2-absolute.svg b/pros-cons/nvme-v6.12-rc2-absolute.svg
new file mode 100644
index 0000000000000000000000000000000000000000..64c7f597591856027793ea0de575eadb0974fb4f
--- /dev/null
+++ b/pros-cons/nvme-v6.12-rc2-absolute.svg
@@ -0,0 +1,1025 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="576pt" height="360pt" viewBox="0 0 576 360" xmlns="http://www.w3.org/2000/svg" version="1.1">
+ <metadata>
+  <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+   <cc:Work>
+    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+    <dc:date>1980-01-01T00:00:00+00:00</dc:date>
+    <dc:format>image/svg+xml</dc:format>
+    <dc:creator>
+     <cc:Agent>
+      <dc:title>Matplotlib v3.8.4, https://matplotlib.org/</dc:title>
+     </cc:Agent>
+    </dc:creator>
+   </cc:Work>
+  </rdf:RDF>
+ </metadata>
+ <defs>
+  <style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
+ </defs>
+ <g id="figure_1">
+  <g id="patch_1">
+   <path d="M 0 360  L 576 360  L 576 0  L 0 0  z " style="fill: #ffffff"/>
+  </g>
+  <g id="axes_1">
+   <g id="patch_2">
+    <path d="M 72 288  L 518.4 288  L 518.4 43.2  L 72 43.2  z " style="fill: #ffffff"/>
+   </g>
+   <g id="matplotlib.axis_1">
+    <g id="xtick_1">
+     <g id="line2d_1">
+      <path d="M 109.2 288  L 109.2 43.2  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_2">
+      <defs>
+       <path id="m227ff82998" d="M 0 0  L 0 3.5  " style="stroke: #000000; stroke-width: 0.8"/>
+      </defs>
+      <g>
+       <use xlink:href="#m227ff82998" x="109.2" y="288" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_1">
+      <!-- 512 B -->
+      <g transform="translate(93.977317 320.968497) rotate(-45) scale(0.1 -0.1)">
+       <defs>
+        <path id="DejaVuSans-35" d="M 691 4666  L 3169 4666  L 3169 4134  L 1269 4134  L 1269 2991  Q 1406 3038 1543 3061  Q 1681 3084 1819 3084  Q 2600 3084 3056 2656  Q 3513 2228 3513 1497  Q 3513 744 3044 326  Q 2575 -91 1722 -91  Q 1428 -91 1123 -41  Q 819 9 494 109  L 494 744  Q 775 591 1075 516  Q 1375 441 1709 441  Q 2250 441 2565 725  Q 2881 1009 2881 1497  Q 2881 1984 2565 2268  Q 2250 2553 1709 2553  Q 1456 2553 1204 2497  Q 953 2441 691 2322  L 691 4666  z " transform="scale(0.015625)"/>
+        <path id="DejaVuSans-31" d="M 794 531  L 1825 531  L 1825 4091  L 703 3866  L 703 4441  L 1819 4666  L 2450 4666  L 2450 531  L 3481 531  L 3481 0  L 794 0  L 794 531  z " transform="scale(0.015625)"/>
+        <path id="DejaVuSans-32" d="M 1228 531  L 3431 531  L 3431 0  L 469 0  L 469 531  Q 828 903 1448 1529  Q 2069 2156 2228 2338  Q 2531 2678 2651 2914  Q 2772 3150 2772 3378  Q 2772 3750 2511 3984  Q 2250 4219 1831 4219  Q 1534 4219 1204 4116  Q 875 4013 500 3803  L 500 4441  Q 881 4594 1212 4672  Q 1544 4750 1819 4750  Q 2544 4750 2975 4387  Q 3406 4025 3406 3419  Q 3406 3131 3298 2873  Q 3191 2616 2906 2266  Q 2828 2175 2409 1742  Q 1991 1309 1228 531  z " transform="scale(0.015625)"/>
+        <path id="DejaVuSans-20" transform="scale(0.015625)"/>
+        <path id="DejaVuSans-42" d="M 1259 2228  L 1259 519  L 2272 519  Q 2781 519 3026 730  Q 3272 941 3272 1375  Q 3272 1813 3026 2020  Q 2781 2228 2272 2228  L 1259 2228  z M 1259 4147  L 1259 2741  L 2194 2741  Q 2656 2741 2882 2914  Q 3109 3088 3109 3444  Q 3109 3797 2882 3972  Q 2656 4147 2194 4147  L 1259 4147  z M 628 4666  L 2241 4666  Q 2963 4666 3353 4366  Q 3744 4066 3744 3513  Q 3744 3084 3544 2831  Q 3344 2578 2956 2516  Q 3422 2416 3680 2098  Q 3938 1781 3938 1306  Q 3938 681 3513 340  Q 3088 0 2303 0  L 628 0  L 628 4666  z " transform="scale(0.015625)"/>
+       </defs>
+       <use xlink:href="#DejaVuSans-35"/>
+       <use xlink:href="#DejaVuSans-31" x="63.623047"/>
+       <use xlink:href="#DejaVuSans-32" x="127.246094"/>
+       <use xlink:href="#DejaVuSans-20" x="190.869141"/>
+       <use xlink:href="#DejaVuSans-42" x="222.65625"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_2">
+     <g id="line2d_3">
+      <path d="M 183.6 288  L 183.6 43.2  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_4">
+      <g>
+       <use xlink:href="#m227ff82998" x="183.6" y="288" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_2">
+      <!-- 4 KiB -->
+      <g transform="translate(170.773746 318.572067) rotate(-45) scale(0.1 -0.1)">
+       <defs>
+        <path id="DejaVuSans-34" d="M 2419 4116  L 825 1625  L 2419 1625  L 2419 4116  z M 2253 4666  L 3047 4666  L 3047 1625  L 3713 1625  L 3713 1100  L 3047 1100  L 3047 0  L 2419 0  L 2419 1100  L 313 1100  L 313 1709  L 2253 4666  z " transform="scale(0.015625)"/>
+        <path id="DejaVuSans-4b" d="M 628 4666  L 1259 4666  L 1259 2694  L 3353 4666  L 4166 4666  L 1850 2491  L 4331 0  L 3500 0  L 1259 2247  L 1259 0  L 628 0  L 628 4666  z " transform="scale(0.015625)"/>
+        <path id="DejaVuSans-69" d="M 603 3500  L 1178 3500  L 1178 0  L 603 0  L 603 3500  z M 603 4863  L 1178 4863  L 1178 4134  L 603 4134  L 603 4863  z " transform="scale(0.015625)"/>
+       </defs>
+       <use xlink:href="#DejaVuSans-34"/>
+       <use xlink:href="#DejaVuSans-20" x="63.623047"/>
+       <use xlink:href="#DejaVuSans-4b" x="95.410156"/>
+       <use xlink:href="#DejaVuSans-69" x="160.986328"/>
+       <use xlink:href="#DejaVuSans-42" x="188.769531"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_3">
+     <g id="line2d_5">
+      <path d="M 258 288  L 258 43.2  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_6">
+      <g>
+       <use xlink:href="#m227ff82998" x="258" y="288" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_3">
+      <!-- 32 KiB -->
+      <g transform="translate(240.674779 323.071034) rotate(-45) scale(0.1 -0.1)">
+       <defs>
+        <path id="DejaVuSans-33" d="M 2597 2516  Q 3050 2419 3304 2112  Q 3559 1806 3559 1356  Q 3559 666 3084 287  Q 2609 -91 1734 -91  Q 1441 -91 1130 -33  Q 819 25 488 141  L 488 750  Q 750 597 1062 519  Q 1375 441 1716 441  Q 2309 441 2620 675  Q 2931 909 2931 1356  Q 2931 1769 2642 2001  Q 2353 2234 1838 2234  L 1294 2234  L 1294 2753  L 1863 2753  Q 2328 2753 2575 2939  Q 2822 3125 2822 3475  Q 2822 3834 2567 4026  Q 2313 4219 1838 4219  Q 1578 4219 1281 4162  Q 984 4106 628 3988  L 628 4550  Q 988 4650 1302 4700  Q 1616 4750 1894 4750  Q 2613 4750 3031 4423  Q 3450 4097 3450 3541  Q 3450 3153 3228 2886  Q 3006 2619 2597 2516  z " transform="scale(0.015625)"/>
+       </defs>
+       <use xlink:href="#DejaVuSans-33"/>
+       <use xlink:href="#DejaVuSans-32" x="63.623047"/>
+       <use xlink:href="#DejaVuSans-20" x="127.246094"/>
+       <use xlink:href="#DejaVuSans-4b" x="159.033203"/>
+       <use xlink:href="#DejaVuSans-69" x="224.609375"/>
+       <use xlink:href="#DejaVuSans-42" x="252.392578"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_4">
+     <g id="line2d_7">
+      <path d="M 332.4 288  L 332.4 43.2  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_8">
+      <g>
+       <use xlink:href="#m227ff82998" x="332.4" y="288" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_4">
+      <!-- 256 KiB -->
+      <g transform="translate(310.575812 327.570001) rotate(-45) scale(0.1 -0.1)">
+       <defs>
+        <path id="DejaVuSans-36" d="M 2113 2584  Q 1688 2584 1439 2293  Q 1191 2003 1191 1497  Q 1191 994 1439 701  Q 1688 409 2113 409  Q 2538 409 2786 701  Q 3034 994 3034 1497  Q 3034 2003 2786 2293  Q 2538 2584 2113 2584  z M 3366 4563  L 3366 3988  Q 3128 4100 2886 4159  Q 2644 4219 2406 4219  Q 1781 4219 1451 3797  Q 1122 3375 1075 2522  Q 1259 2794 1537 2939  Q 1816 3084 2150 3084  Q 2853 3084 3261 2657  Q 3669 2231 3669 1497  Q 3669 778 3244 343  Q 2819 -91 2113 -91  Q 1303 -91 875 529  Q 447 1150 447 2328  Q 447 3434 972 4092  Q 1497 4750 2381 4750  Q 2619 4750 2861 4703  Q 3103 4656 3366 4563  z " transform="scale(0.015625)"/>
+       </defs>
+       <use xlink:href="#DejaVuSans-32"/>
+       <use xlink:href="#DejaVuSans-35" x="63.623047"/>
+       <use xlink:href="#DejaVuSans-36" x="127.246094"/>
+       <use xlink:href="#DejaVuSans-20" x="190.869141"/>
+       <use xlink:href="#DejaVuSans-4b" x="222.65625"/>
+       <use xlink:href="#DejaVuSans-69" x="288.232422"/>
+       <use xlink:href="#DejaVuSans-42" x="316.015625"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_5">
+     <g id="line2d_9">
+      <path d="M 406.8 288  L 406.8 43.2  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_10">
+      <g>
+       <use xlink:href="#m227ff82998" x="406.8" y="288" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_5">
+      <!-- 1 MiB -->
+      <g transform="translate(392.509814 320.035999) rotate(-45) scale(0.1 -0.1)">
+       <defs>
+        <path id="DejaVuSans-4d" d="M 628 4666  L 1569 4666  L 2759 1491  L 3956 4666  L 4897 4666  L 4897 0  L 4281 0  L 4281 4097  L 3078 897  L 2444 897  L 1241 4097  L 1241 0  L 628 0  L 628 4666  z " transform="scale(0.015625)"/>
+       </defs>
+       <use xlink:href="#DejaVuSans-31"/>
+       <use xlink:href="#DejaVuSans-20" x="63.623047"/>
+       <use xlink:href="#DejaVuSans-4d" x="95.410156"/>
+       <use xlink:href="#DejaVuSans-69" x="181.689453"/>
+       <use xlink:href="#DejaVuSans-42" x="209.472656"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_6">
+     <g id="line2d_11">
+      <path d="M 481.2 288  L 481.2 43.2  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_12">
+      <g>
+       <use xlink:href="#m227ff82998" x="481.2" y="288" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_6">
+      <!-- 16 MiB -->
+      <g transform="translate(462.410847 324.534966) rotate(-45) scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-31"/>
+       <use xlink:href="#DejaVuSans-36" x="63.623047"/>
+       <use xlink:href="#DejaVuSans-20" x="127.246094"/>
+       <use xlink:href="#DejaVuSans-4d" x="159.033203"/>
+       <use xlink:href="#DejaVuSans-69" x="245.3125"/>
+       <use xlink:href="#DejaVuSans-42" x="273.095703"/>
+      </g>
+     </g>
+    </g>
+    <g id="text_7">
+     <!-- Block size -->
+     <g transform="translate(270.392969 340.639) scale(0.1 -0.1)">
+      <defs>
+       <path id="DejaVuSans-6c" d="M 603 4863  L 1178 4863  L 1178 0  L 603 0  L 603 4863  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-6f" d="M 1959 3097  Q 1497 3097 1228 2736  Q 959 2375 959 1747  Q 959 1119 1226 758  Q 1494 397 1959 397  Q 2419 397 2687 759  Q 2956 1122 2956 1747  Q 2956 2369 2687 2733  Q 2419 3097 1959 3097  z M 1959 3584  Q 2709 3584 3137 3096  Q 3566 2609 3566 1747  Q 3566 888 3137 398  Q 2709 -91 1959 -91  Q 1206 -91 779 398  Q 353 888 353 1747  Q 353 2609 779 3096  Q 1206 3584 1959 3584  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-63" d="M 3122 3366  L 3122 2828  Q 2878 2963 2633 3030  Q 2388 3097 2138 3097  Q 1578 3097 1268 2742  Q 959 2388 959 1747  Q 959 1106 1268 751  Q 1578 397 2138 397  Q 2388 397 2633 464  Q 2878 531 3122 666  L 3122 134  Q 2881 22 2623 -34  Q 2366 -91 2075 -91  Q 1284 -91 818 406  Q 353 903 353 1747  Q 353 2603 823 3093  Q 1294 3584 2113 3584  Q 2378 3584 2631 3529  Q 2884 3475 3122 3366  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-6b" d="M 581 4863  L 1159 4863  L 1159 1991  L 2875 3500  L 3609 3500  L 1753 1863  L 3688 0  L 2938 0  L 1159 1709  L 1159 0  L 581 0  L 581 4863  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-73" d="M 2834 3397  L 2834 2853  Q 2591 2978 2328 3040  Q 2066 3103 1784 3103  Q 1356 3103 1142 2972  Q 928 2841 928 2578  Q 928 2378 1081 2264  Q 1234 2150 1697 2047  L 1894 2003  Q 2506 1872 2764 1633  Q 3022 1394 3022 966  Q 3022 478 2636 193  Q 2250 -91 1575 -91  Q 1294 -91 989 -36  Q 684 19 347 128  L 347 722  Q 666 556 975 473  Q 1284 391 1588 391  Q 1994 391 2212 530  Q 2431 669 2431 922  Q 2431 1156 2273 1281  Q 2116 1406 1581 1522  L 1381 1569  Q 847 1681 609 1914  Q 372 2147 372 2553  Q 372 3047 722 3315  Q 1072 3584 1716 3584  Q 2034 3584 2315 3537  Q 2597 3491 2834 3397  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-7a" d="M 353 3500  L 3084 3500  L 3084 2975  L 922 459  L 3084 459  L 3084 0  L 275 0  L 275 525  L 2438 3041  L 353 3041  L 353 3500  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-65" d="M 3597 1894  L 3597 1613  L 953 1613  Q 991 1019 1311 708  Q 1631 397 2203 397  Q 2534 397 2845 478  Q 3156 559 3463 722  L 3463 178  Q 3153 47 2828 -22  Q 2503 -91 2169 -91  Q 1331 -91 842 396  Q 353 884 353 1716  Q 353 2575 817 3079  Q 1281 3584 2069 3584  Q 2775 3584 3186 3129  Q 3597 2675 3597 1894  z M 3022 2063  Q 3016 2534 2758 2815  Q 2500 3097 2075 3097  Q 1594 3097 1305 2825  Q 1016 2553 972 2059  L 3022 2063  z " transform="scale(0.015625)"/>
+      </defs>
+      <use xlink:href="#DejaVuSans-42"/>
+      <use xlink:href="#DejaVuSans-6c" x="68.603516"/>
+      <use xlink:href="#DejaVuSans-6f" x="96.386719"/>
+      <use xlink:href="#DejaVuSans-63" x="157.568359"/>
+      <use xlink:href="#DejaVuSans-6b" x="212.548828"/>
+      <use xlink:href="#DejaVuSans-20" x="270.458984"/>
+      <use xlink:href="#DejaVuSans-73" x="302.246094"/>
+      <use xlink:href="#DejaVuSans-69" x="354.345703"/>
+      <use xlink:href="#DejaVuSans-7a" x="382.128906"/>
+      <use xlink:href="#DejaVuSans-65" x="434.619141"/>
+     </g>
+    </g>
+   </g>
+   <g id="matplotlib.axis_2">
+    <g id="ytick_1">
+     <g id="line2d_13">
+      <path d="M 72 252.533016  L 518.4 252.533016  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_14">
+      <defs>
+       <path id="m4a5b59b4a5" d="M 0 0  L -3.5 0  " style="stroke: #000000; stroke-width: 0.8"/>
+      </defs>
+      <g>
+       <use xlink:href="#m4a5b59b4a5" x="72" y="252.533016" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_8">
+      <!-- $\mathdefault{10^{3}}$ -->
+      <g transform="translate(47.4 256.332235) scale(0.1 -0.1)">
+       <defs>
+        <path id="DejaVuSans-30" d="M 2034 4250  Q 1547 4250 1301 3770  Q 1056 3291 1056 2328  Q 1056 1369 1301 889  Q 1547 409 2034 409  Q 2525 409 2770 889  Q 3016 1369 3016 2328  Q 3016 3291 2770 3770  Q 2525 4250 2034 4250  z M 2034 4750  Q 2819 4750 3233 4129  Q 3647 3509 3647 2328  Q 3647 1150 3233 529  Q 2819 -91 2034 -91  Q 1250 -91 836 529  Q 422 1150 422 2328  Q 422 3509 836 4129  Q 1250 4750 2034 4750  z " transform="scale(0.015625)"/>
+       </defs>
+       <use xlink:href="#DejaVuSans-31" transform="translate(0 0.765625)"/>
+       <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0.765625)"/>
+       <use xlink:href="#DejaVuSans-33" transform="translate(128.203125 39.046875) scale(0.7)"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_2">
+     <g id="line2d_15">
+      <path d="M 72 191.933303  L 518.4 191.933303  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_16">
+      <g>
+       <use xlink:href="#m4a5b59b4a5" x="72" y="191.933303" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_9">
+      <!-- $\mathdefault{10^{4}}$ -->
+      <g transform="translate(47.4 195.732521) scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-31" transform="translate(0 0.684375)"/>
+       <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0.684375)"/>
+       <use xlink:href="#DejaVuSans-34" transform="translate(128.203125 38.965625) scale(0.7)"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_3">
+     <g id="line2d_17">
+      <path d="M 72 131.333589  L 518.4 131.333589  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_18">
+      <g>
+       <use xlink:href="#m4a5b59b4a5" x="72" y="131.333589" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_10">
+      <!-- $\mathdefault{10^{5}}$ -->
+      <g transform="translate(47.4 135.132808) scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-31" transform="translate(0 0.684375)"/>
+       <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0.684375)"/>
+       <use xlink:href="#DejaVuSans-35" transform="translate(128.203125 38.965625) scale(0.7)"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_4">
+     <g id="line2d_19">
+      <path d="M 72 70.733875  L 518.4 70.733875  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_20">
+      <g>
+       <use xlink:href="#m4a5b59b4a5" x="72" y="70.733875" style="stroke: #000000; stroke-width: 0.8"/>
+      </g>
+     </g>
+     <g id="text_11">
+      <!-- $\mathdefault{10^{6}}$ -->
+      <g transform="translate(47.4 74.533094) scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-31" transform="translate(0 0.765625)"/>
+       <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0.765625)"/>
+       <use xlink:href="#DejaVuSans-36" transform="translate(128.203125 39.046875) scale(0.7)"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_5">
+     <g id="line2d_21">
+      <path d="M 72 284.219319  L 518.4 284.219319  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_22">
+      <defs>
+       <path id="m90c89ea60f" d="M 0 0  L -2 0  " style="stroke: #000000; stroke-width: 0.6"/>
+      </defs>
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="284.219319" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_6">
+     <g id="line2d_23">
+      <path d="M 72 276.648067  L 518.4 276.648067  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_24">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="276.648067" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_7">
+     <g id="line2d_25">
+      <path d="M 72 270.775348  L 518.4 270.775348  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_26">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="270.775348" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_8">
+     <g id="line2d_27">
+      <path d="M 72 265.976987  L 518.4 265.976987  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_28">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="265.976987" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_9">
+     <g id="line2d_29">
+      <path d="M 72 261.920031  L 518.4 261.920031  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_30">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="261.920031" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_10">
+     <g id="line2d_31">
+      <path d="M 72 258.405736  L 518.4 258.405736  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_32">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="258.405736" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_11">
+     <g id="line2d_33">
+      <path d="M 72 255.305907  L 518.4 255.305907  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_34">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="255.305907" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_12">
+     <g id="line2d_35">
+      <path d="M 72 234.290685  L 518.4 234.290685  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_36">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="234.290685" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_13">
+     <g id="line2d_37">
+      <path d="M 72 223.619605  L 518.4 223.619605  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_38">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="223.619605" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_14">
+     <g id="line2d_39">
+      <path d="M 72 216.048353  L 518.4 216.048353  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_40">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="216.048353" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_15">
+     <g id="line2d_41">
+      <path d="M 72 210.175634  L 518.4 210.175634  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_42">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="210.175634" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_16">
+     <g id="line2d_43">
+      <path d="M 72 205.377273  L 518.4 205.377273  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_44">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="205.377273" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_17">
+     <g id="line2d_45">
+      <path d="M 72 201.320317  L 518.4 201.320317  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_46">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="201.320317" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_18">
+     <g id="line2d_47">
+      <path d="M 72 197.806022  L 518.4 197.806022  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_48">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="197.806022" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_19">
+     <g id="line2d_49">
+      <path d="M 72 194.706194  L 518.4 194.706194  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_50">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="194.706194" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_20">
+     <g id="line2d_51">
+      <path d="M 72 173.690971  L 518.4 173.690971  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_52">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="173.690971" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_21">
+     <g id="line2d_53">
+      <path d="M 72 163.019891  L 518.4 163.019891  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_54">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="163.019891" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_22">
+     <g id="line2d_55">
+      <path d="M 72 155.44864  L 518.4 155.44864  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_56">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="155.44864" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_23">
+     <g id="line2d_57">
+      <path d="M 72 149.575921  L 518.4 149.575921  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_58">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="149.575921" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_24">
+     <g id="line2d_59">
+      <path d="M 72 144.77756  L 518.4 144.77756  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_60">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="144.77756" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_25">
+     <g id="line2d_61">
+      <path d="M 72 140.720603  L 518.4 140.720603  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_62">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="140.720603" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_26">
+     <g id="line2d_63">
+      <path d="M 72 137.206308  L 518.4 137.206308  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_64">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="137.206308" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_27">
+     <g id="line2d_65">
+      <path d="M 72 134.10648  L 518.4 134.10648  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_66">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="134.10648" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_28">
+     <g id="line2d_67">
+      <path d="M 72 113.091257  L 518.4 113.091257  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_68">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="113.091257" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_29">
+     <g id="line2d_69">
+      <path d="M 72 102.420177  L 518.4 102.420177  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_70">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="102.420177" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_30">
+     <g id="line2d_71">
+      <path d="M 72 94.848926  L 518.4 94.848926  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_72">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="94.848926" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_31">
+     <g id="line2d_73">
+      <path d="M 72 88.976207  L 518.4 88.976207  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_74">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="88.976207" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_32">
+     <g id="line2d_75">
+      <path d="M 72 84.177846  L 518.4 84.177846  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_76">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="84.177846" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_33">
+     <g id="line2d_77">
+      <path d="M 72 80.12089  L 518.4 80.12089  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_78">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="80.12089" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_34">
+     <g id="line2d_79">
+      <path d="M 72 76.606594  L 518.4 76.606594  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_80">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="76.606594" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_35">
+     <g id="line2d_81">
+      <path d="M 72 73.506766  L 518.4 73.506766  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_82">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="73.506766" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_36">
+     <g id="line2d_83">
+      <path d="M 72 52.491544  L 518.4 52.491544  " clip-path="url(#p6664958aee)" style="fill: none; stroke: #b0b0b0; stroke-width: 0.8; stroke-linecap: square"/>
+     </g>
+     <g id="line2d_84">
+      <g>
+       <use xlink:href="#m90c89ea60f" x="72" y="52.491544" style="stroke: #000000; stroke-width: 0.6"/>
+      </g>
+     </g>
+    </g>
+    <g id="text_12">
+     <!-- IO/s -->
+     <g transform="translate(41.320312 175.3) rotate(-90) scale(0.1 -0.1)">
+      <defs>
+       <path id="DejaVuSans-49" d="M 628 4666  L 1259 4666  L 1259 0  L 628 0  L 628 4666  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-4f" d="M 2522 4238  Q 1834 4238 1429 3725  Q 1025 3213 1025 2328  Q 1025 1447 1429 934  Q 1834 422 2522 422  Q 3209 422 3611 934  Q 4013 1447 4013 2328  Q 4013 3213 3611 3725  Q 3209 4238 2522 4238  z M 2522 4750  Q 3503 4750 4090 4092  Q 4678 3434 4678 2328  Q 4678 1225 4090 567  Q 3503 -91 2522 -91  Q 1538 -91 948 565  Q 359 1222 359 2328  Q 359 3434 948 4092  Q 1538 4750 2522 4750  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-2f" d="M 1625 4666  L 2156 4666  L 531 -594  L 0 -594  L 1625 4666  z " transform="scale(0.015625)"/>
+      </defs>
+      <use xlink:href="#DejaVuSans-49"/>
+      <use xlink:href="#DejaVuSans-4f" x="29.492188"/>
+      <use xlink:href="#DejaVuSans-2f" x="108.203125"/>
+      <use xlink:href="#DejaVuSans-73" x="141.894531"/>
+     </g>
+    </g>
+   </g>
+   <g id="patch_3">
+    <path d="M 90.6 61034.045913  L 95.25 61034.045913  L 95.25 112.405754  L 90.6 112.405754  z " clip-path="url(#p6664958aee)" style="fill: #72ab97; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_4">
+    <path d="M 165 61034.045913  L 169.65 61034.045913  L 169.65 117.225937  L 165 117.225937  z " clip-path="url(#p6664958aee)" style="fill: #72ab97; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_5">
+    <path d="M 239.4 61034.045913  L 244.05 61034.045913  L 244.05 132.270186  L 239.4 132.270186  z " clip-path="url(#p6664958aee)" style="fill: #72ab97; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_6">
+    <path d="M 313.8 61034.045913  L 318.45 61034.045913  L 318.45 171.639561  L 313.8 171.639561  z " clip-path="url(#p6664958aee)" style="fill: #72ab97; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_7">
+    <path d="M 388.2 61034.045913  L 392.85 61034.045913  L 392.85 206.273129  L 388.2 206.273129  z " clip-path="url(#p6664958aee)" style="fill: #72ab97; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_8">
+    <path d="M 462.6 61034.045913  L 467.25 61034.045913  L 467.25 276.451418  L 462.6 276.451418  z " clip-path="url(#p6664958aee)" style="fill: #72ab97; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_9">
+    <path d="M 95.25 61034.045913  L 99.9 61034.045913  L 99.9 116.746408  L 95.25 116.746408  z " clip-path="url(#p6664958aee)" style="fill: #728ca6; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_10">
+    <path d="M 169.65 61034.045913  L 174.3 61034.045913  L 174.3 120.768803  L 169.65 120.768803  z " clip-path="url(#p6664958aee)" style="fill: #728ca6; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_11">
+    <path d="M 244.05 61034.045913  L 248.7 61034.045913  L 248.7 134.644996  L 244.05 134.644996  z " clip-path="url(#p6664958aee)" style="fill: #728ca6; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_12">
+    <path d="M 318.45 61034.045913  L 323.1 61034.045913  L 323.1 172.559932  L 318.45 172.559932  z " clip-path="url(#p6664958aee)" style="fill: #728ca6; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_13">
+    <path d="M 392.85 61034.045913  L 397.5 61034.045913  L 397.5 206.975404  L 392.85 206.975404  z " clip-path="url(#p6664958aee)" style="fill: #728ca6; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_14">
+    <path d="M 467.25 61034.045913  L 471.9 61034.045913  L 471.9 276.472651  L 467.25 276.472651  z " clip-path="url(#p6664958aee)" style="fill: #728ca6; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_15">
+    <path d="M 99.9 61034.045913  L 104.55 61034.045913  L 104.55 63.893907  L 99.9 63.893907  z " clip-path="url(#p6664958aee)" style="fill: #ffdcaa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_16">
+    <path d="M 174.3 61034.045913  L 178.95 61034.045913  L 178.95 67.338733  L 174.3 67.338733  z " clip-path="url(#p6664958aee)" style="fill: #ffdcaa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_17">
+    <path d="M 248.7 61034.045913  L 253.35 61034.045913  L 253.35 113.416168  L 248.7 113.416168  z " clip-path="url(#p6664958aee)" style="fill: #ffdcaa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_18">
+    <path d="M 323.1 61034.045913  L 327.75 61034.045913  L 327.75 167.944619  L 323.1 167.944619  z " clip-path="url(#p6664958aee)" style="fill: #ffdcaa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_19">
+    <path d="M 397.5 61034.045913  L 402.15 61034.045913  L 402.15 211.88259  L 397.5 211.88259  z " clip-path="url(#p6664958aee)" style="fill: #ffdcaa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_20">
+    <path d="M 471.9 61034.045913  L 476.55 61034.045913  L 476.55 276.062473  L 471.9 276.062473  z " clip-path="url(#p6664958aee)" style="fill: #ffdcaa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_21">
+    <path d="M 104.55 61034.045913  L 109.2 61034.045913  L 109.2 68.231422  L 104.55 68.231422  z " clip-path="url(#p6664958aee)" style="fill: #ffc6aa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_22">
+    <path d="M 178.95 61034.045913  L 183.6 61034.045913  L 183.6 71.55809  L 178.95 71.55809  z " clip-path="url(#p6664958aee)" style="fill: #ffc6aa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_23">
+    <path d="M 253.35 61034.045913  L 258 61034.045913  L 258 113.389194  L 253.35 113.389194  z " clip-path="url(#p6664958aee)" style="fill: #ffc6aa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_24">
+    <path d="M 327.75 61034.045913  L 332.4 61034.045913  L 332.4 167.902473  L 327.75 167.902473  z " clip-path="url(#p6664958aee)" style="fill: #ffc6aa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_25">
+    <path d="M 402.15 61034.045913  L 406.8 61034.045913  L 406.8 211.88259  L 402.15 211.88259  z " clip-path="url(#p6664958aee)" style="fill: #ffc6aa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_26">
+    <path d="M 476.55 61034.045913  L 481.2 61034.045913  L 481.2 276.062473  L 476.55 276.062473  z " clip-path="url(#p6664958aee)" style="fill: #ffc6aa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_27">
+    <path d="M 109.2 61034.045913  L 113.85 61034.045913  L 113.85 54.852244  L 109.2 54.852244  z " clip-path="url(#p6664958aee)" style="fill: url(#h30423827aa); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_28">
+    <path d="M 183.6 61034.045913  L 188.25 61034.045913  L 188.25 65.336533  L 183.6 65.336533  z " clip-path="url(#p6664958aee)" style="fill: url(#h30423827aa); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_29">
+    <path d="M 258 61034.045913  L 262.65 61034.045913  L 262.65 114.65734  L 258 114.65734  z " clip-path="url(#p6664958aee)" style="fill: url(#h30423827aa); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_30">
+    <path d="M 332.4 61034.045913  L 337.05 61034.045913  L 337.05 175.395119  L 332.4 175.395119  z " clip-path="url(#p6664958aee)" style="fill: url(#h30423827aa); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_31">
+    <path d="M 406.8 61034.045913  L 411.45 61034.045913  L 411.45 211.888207  L 406.8 211.888207  z " clip-path="url(#p6664958aee)" style="fill: url(#h30423827aa); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_32">
+    <path d="M 481.2 61034.045913  L 485.85 61034.045913  L 485.85 276.118837  L 481.2 276.118837  z " clip-path="url(#p6664958aee)" style="fill: url(#h30423827aa); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_33">
+    <path d="M 113.85 61034.045913  L 118.5 61034.045913  L 118.5 57.17672  L 113.85 57.17672  z " clip-path="url(#p6664958aee)" style="fill: url(#hafa64dcd44); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_34">
+    <path d="M 188.25 61034.045913  L 192.9 61034.045913  L 192.9 59.588273  L 188.25 59.588273  z " clip-path="url(#p6664958aee)" style="fill: url(#hafa64dcd44); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_35">
+    <path d="M 262.65 61034.045913  L 267.3 61034.045913  L 267.3 113.189459  L 262.65 113.189459  z " clip-path="url(#p6664958aee)" style="fill: url(#hafa64dcd44); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_36">
+    <path d="M 337.05 61034.045913  L 341.7 61034.045913  L 341.7 175.395084  L 337.05 175.395084  z " clip-path="url(#p6664958aee)" style="fill: url(#hafa64dcd44); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_37">
+    <path d="M 411.45 61034.045913  L 416.1 61034.045913  L 416.1 211.888207  L 411.45 211.888207  z " clip-path="url(#p6664958aee)" style="fill: url(#hafa64dcd44); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_38">
+    <path d="M 485.85 61034.045913  L 490.5 61034.045913  L 490.5 276.118837  L 485.85 276.118837  z " clip-path="url(#p6664958aee)" style="fill: url(#hafa64dcd44); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_39">
+    <path d="M 118.5 61034.045913  L 123.15 61034.045913  L 123.15 54.327273  L 118.5 54.327273  z " clip-path="url(#p6664958aee)" style="fill: url(#h222d08f4ea); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_40">
+    <path d="M 192.9 61034.045913  L 197.55 61034.045913  L 197.55 65.91753  L 192.9 65.91753  z " clip-path="url(#p6664958aee)" style="fill: url(#h222d08f4ea); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_41">
+    <path d="M 267.3 61034.045913  L 271.95 61034.045913  L 271.95 120.657492  L 267.3 120.657492  z " clip-path="url(#p6664958aee)" style="fill: url(#h222d08f4ea); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_42">
+    <path d="M 341.7 61034.045913  L 346.35 61034.045913  L 346.35 175.399331  L 341.7 175.399331  z " clip-path="url(#p6664958aee)" style="fill: url(#h222d08f4ea); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_43">
+    <path d="M 416.1 61034.045913  L 420.75 61034.045913  L 420.75 211.905065  L 416.1 211.905065  z " clip-path="url(#p6664958aee)" style="fill: url(#h222d08f4ea); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_44">
+    <path d="M 490.5 61034.045913  L 495.15 61034.045913  L 495.15 276.872727  L 490.5 276.872727  z " clip-path="url(#p6664958aee)" style="fill: url(#h222d08f4ea); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_45">
+    <path d="M 123.15 61034.045913  L 127.8 61034.045913  L 127.8 56.782212  L 123.15 56.782212  z " clip-path="url(#p6664958aee)" style="fill: url(#he5d6e563fc); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_46">
+    <path d="M 197.55 61034.045913  L 202.2 61034.045913  L 202.2 65.914191  L 197.55 65.914191  z " clip-path="url(#p6664958aee)" style="fill: url(#he5d6e563fc); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_47">
+    <path d="M 271.95 61034.045913  L 276.6 61034.045913  L 276.6 120.367424  L 271.95 120.367424  z " clip-path="url(#p6664958aee)" style="fill: url(#he5d6e563fc); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_48">
+    <path d="M 346.35 61034.045913  L 351 61034.045913  L 351 175.399331  L 346.35 175.399331  z " clip-path="url(#p6664958aee)" style="fill: url(#he5d6e563fc); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_49">
+    <path d="M 420.75 61034.045913  L 425.4 61034.045913  L 425.4 211.905065  L 420.75 211.905065  z " clip-path="url(#p6664958aee)" style="fill: url(#he5d6e563fc); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="patch_50">
+    <path d="M 495.15 61034.045913  L 499.8 61034.045913  L 499.8 276.26271  L 495.15 276.26271  z " clip-path="url(#p6664958aee)" style="fill: url(#he5d6e563fc); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+   </g>
+   <g id="line2d_85">
+    <path clip-path="url(#p6664958aee)" style="fill: none; stroke: #000000; stroke-width: 0.5; stroke-linecap: square"/>
+   </g>
+   <g id="patch_51">
+    <path d="M 72 288  L 72 43.2  " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
+   </g>
+   <g id="patch_52">
+    <path d="M 518.4 288  L 518.4 43.2  " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
+   </g>
+   <g id="patch_53">
+    <path d="M 72 288  L 518.4 288  " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
+   </g>
+   <g id="patch_54">
+    <path d="M 72 43.2  L 518.4 43.2  " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
+   </g>
+   <g id="text_13">
+    <!-- Random read throughput (Bare Metal, 1 core) -->
+    <g transform="translate(158.094375 37.2) scale(0.12 -0.12)">
+     <defs>
+      <path id="DejaVuSans-52" d="M 2841 2188  Q 3044 2119 3236 1894  Q 3428 1669 3622 1275  L 4263 0  L 3584 0  L 2988 1197  Q 2756 1666 2539 1819  Q 2322 1972 1947 1972  L 1259 1972  L 1259 0  L 628 0  L 628 4666  L 2053 4666  Q 2853 4666 3247 4331  Q 3641 3997 3641 3322  Q 3641 2881 3436 2590  Q 3231 2300 2841 2188  z M 1259 4147  L 1259 2491  L 2053 2491  Q 2509 2491 2742 2702  Q 2975 2913 2975 3322  Q 2975 3731 2742 3939  Q 2509 4147 2053 4147  L 1259 4147  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-61" d="M 2194 1759  Q 1497 1759 1228 1600  Q 959 1441 959 1056  Q 959 750 1161 570  Q 1363 391 1709 391  Q 2188 391 2477 730  Q 2766 1069 2766 1631  L 2766 1759  L 2194 1759  z M 3341 1997  L 3341 0  L 2766 0  L 2766 531  Q 2569 213 2275 61  Q 1981 -91 1556 -91  Q 1019 -91 701 211  Q 384 513 384 1019  Q 384 1609 779 1909  Q 1175 2209 1959 2209  L 2766 2209  L 2766 2266  Q 2766 2663 2505 2880  Q 2244 3097 1772 3097  Q 1472 3097 1187 3025  Q 903 2953 641 2809  L 641 3341  Q 956 3463 1253 3523  Q 1550 3584 1831 3584  Q 2591 3584 2966 3190  Q 3341 2797 3341 1997  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-6e" d="M 3513 2113  L 3513 0  L 2938 0  L 2938 2094  Q 2938 2591 2744 2837  Q 2550 3084 2163 3084  Q 1697 3084 1428 2787  Q 1159 2491 1159 1978  L 1159 0  L 581 0  L 581 3500  L 1159 3500  L 1159 2956  Q 1366 3272 1645 3428  Q 1925 3584 2291 3584  Q 2894 3584 3203 3211  Q 3513 2838 3513 2113  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-64" d="M 2906 2969  L 2906 4863  L 3481 4863  L 3481 0  L 2906 0  L 2906 525  Q 2725 213 2448 61  Q 2172 -91 1784 -91  Q 1150 -91 751 415  Q 353 922 353 1747  Q 353 2572 751 3078  Q 1150 3584 1784 3584  Q 2172 3584 2448 3432  Q 2725 3281 2906 2969  z M 947 1747  Q 947 1113 1208 752  Q 1469 391 1925 391  Q 2381 391 2643 752  Q 2906 1113 2906 1747  Q 2906 2381 2643 2742  Q 2381 3103 1925 3103  Q 1469 3103 1208 2742  Q 947 2381 947 1747  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-6d" d="M 3328 2828  Q 3544 3216 3844 3400  Q 4144 3584 4550 3584  Q 5097 3584 5394 3201  Q 5691 2819 5691 2113  L 5691 0  L 5113 0  L 5113 2094  Q 5113 2597 4934 2840  Q 4756 3084 4391 3084  Q 3944 3084 3684 2787  Q 3425 2491 3425 1978  L 3425 0  L 2847 0  L 2847 2094  Q 2847 2600 2669 2842  Q 2491 3084 2119 3084  Q 1678 3084 1418 2786  Q 1159 2488 1159 1978  L 1159 0  L 581 0  L 581 3500  L 1159 3500  L 1159 2956  Q 1356 3278 1631 3431  Q 1906 3584 2284 3584  Q 2666 3584 2933 3390  Q 3200 3197 3328 2828  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-72" d="M 2631 2963  Q 2534 3019 2420 3045  Q 2306 3072 2169 3072  Q 1681 3072 1420 2755  Q 1159 2438 1159 1844  L 1159 0  L 581 0  L 581 3500  L 1159 3500  L 1159 2956  Q 1341 3275 1631 3429  Q 1922 3584 2338 3584  Q 2397 3584 2469 3576  Q 2541 3569 2628 3553  L 2631 2963  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-74" d="M 1172 4494  L 1172 3500  L 2356 3500  L 2356 3053  L 1172 3053  L 1172 1153  Q 1172 725 1289 603  Q 1406 481 1766 481  L 2356 481  L 2356 0  L 1766 0  Q 1100 0 847 248  Q 594 497 594 1153  L 594 3053  L 172 3053  L 172 3500  L 594 3500  L 594 4494  L 1172 4494  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-68" d="M 3513 2113  L 3513 0  L 2938 0  L 2938 2094  Q 2938 2591 2744 2837  Q 2550 3084 2163 3084  Q 1697 3084 1428 2787  Q 1159 2491 1159 1978  L 1159 0  L 581 0  L 581 4863  L 1159 4863  L 1159 2956  Q 1366 3272 1645 3428  Q 1925 3584 2291 3584  Q 2894 3584 3203 3211  Q 3513 2838 3513 2113  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-75" d="M 544 1381  L 544 3500  L 1119 3500  L 1119 1403  Q 1119 906 1312 657  Q 1506 409 1894 409  Q 2359 409 2629 706  Q 2900 1003 2900 1516  L 2900 3500  L 3475 3500  L 3475 0  L 2900 0  L 2900 538  Q 2691 219 2414 64  Q 2138 -91 1772 -91  Q 1169 -91 856 284  Q 544 659 544 1381  z M 1991 3584  L 1991 3584  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-67" d="M 2906 1791  Q 2906 2416 2648 2759  Q 2391 3103 1925 3103  Q 1463 3103 1205 2759  Q 947 2416 947 1791  Q 947 1169 1205 825  Q 1463 481 1925 481  Q 2391 481 2648 825  Q 2906 1169 2906 1791  z M 3481 434  Q 3481 -459 3084 -895  Q 2688 -1331 1869 -1331  Q 1566 -1331 1297 -1286  Q 1028 -1241 775 -1147  L 775 -588  Q 1028 -725 1275 -790  Q 1522 -856 1778 -856  Q 2344 -856 2625 -561  Q 2906 -266 2906 331  L 2906 616  Q 2728 306 2450 153  Q 2172 0 1784 0  Q 1141 0 747 490  Q 353 981 353 1791  Q 353 2603 747 3093  Q 1141 3584 1784 3584  Q 2172 3584 2450 3431  Q 2728 3278 2906 2969  L 2906 3500  L 3481 3500  L 3481 434  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-70" d="M 1159 525  L 1159 -1331  L 581 -1331  L 581 3500  L 1159 3500  L 1159 2969  Q 1341 3281 1617 3432  Q 1894 3584 2278 3584  Q 2916 3584 3314 3078  Q 3713 2572 3713 1747  Q 3713 922 3314 415  Q 2916 -91 2278 -91  Q 1894 -91 1617 61  Q 1341 213 1159 525  z M 3116 1747  Q 3116 2381 2855 2742  Q 2594 3103 2138 3103  Q 1681 3103 1420 2742  Q 1159 2381 1159 1747  Q 1159 1113 1420 752  Q 1681 391 2138 391  Q 2594 391 2855 752  Q 3116 1113 3116 1747  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-28" d="M 1984 4856  Q 1566 4138 1362 3434  Q 1159 2731 1159 2009  Q 1159 1288 1364 580  Q 1569 -128 1984 -844  L 1484 -844  Q 1016 -109 783 600  Q 550 1309 550 2009  Q 550 2706 781 3412  Q 1013 4119 1484 4856  L 1984 4856  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-2c" d="M 750 794  L 1409 794  L 1409 256  L 897 -744  L 494 -744  L 750 256  L 750 794  z " transform="scale(0.015625)"/>
+      <path id="DejaVuSans-29" d="M 513 4856  L 1013 4856  Q 1481 4119 1714 3412  Q 1947 2706 1947 2009  Q 1947 1309 1714 600  Q 1481 -109 1013 -844  L 513 -844  Q 928 -128 1133 580  Q 1338 1288 1338 2009  Q 1338 2731 1133 3434  Q 928 4138 513 4856  z " transform="scale(0.015625)"/>
+     </defs>
+     <use xlink:href="#DejaVuSans-52"/>
+     <use xlink:href="#DejaVuSans-61" x="67.232422"/>
+     <use xlink:href="#DejaVuSans-6e" x="128.511719"/>
+     <use xlink:href="#DejaVuSans-64" x="191.890625"/>
+     <use xlink:href="#DejaVuSans-6f" x="255.367188"/>
+     <use xlink:href="#DejaVuSans-6d" x="316.548828"/>
+     <use xlink:href="#DejaVuSans-20" x="413.960938"/>
+     <use xlink:href="#DejaVuSans-72" x="445.748047"/>
+     <use xlink:href="#DejaVuSans-65" x="484.611328"/>
+     <use xlink:href="#DejaVuSans-61" x="546.134766"/>
+     <use xlink:href="#DejaVuSans-64" x="607.414062"/>
+     <use xlink:href="#DejaVuSans-20" x="670.890625"/>
+     <use xlink:href="#DejaVuSans-74" x="702.677734"/>
+     <use xlink:href="#DejaVuSans-68" x="741.886719"/>
+     <use xlink:href="#DejaVuSans-72" x="805.265625"/>
+     <use xlink:href="#DejaVuSans-6f" x="844.128906"/>
+     <use xlink:href="#DejaVuSans-75" x="905.310547"/>
+     <use xlink:href="#DejaVuSans-67" x="968.689453"/>
+     <use xlink:href="#DejaVuSans-68" x="1032.166016"/>
+     <use xlink:href="#DejaVuSans-70" x="1095.544922"/>
+     <use xlink:href="#DejaVuSans-75" x="1159.021484"/>
+     <use xlink:href="#DejaVuSans-74" x="1222.400391"/>
+     <use xlink:href="#DejaVuSans-20" x="1261.609375"/>
+     <use xlink:href="#DejaVuSans-28" x="1293.396484"/>
+     <use xlink:href="#DejaVuSans-42" x="1332.410156"/>
+     <use xlink:href="#DejaVuSans-61" x="1401.013672"/>
+     <use xlink:href="#DejaVuSans-72" x="1462.292969"/>
+     <use xlink:href="#DejaVuSans-65" x="1501.15625"/>
+     <use xlink:href="#DejaVuSans-20" x="1562.679688"/>
+     <use xlink:href="#DejaVuSans-4d" x="1594.466797"/>
+     <use xlink:href="#DejaVuSans-65" x="1680.746094"/>
+     <use xlink:href="#DejaVuSans-74" x="1742.269531"/>
+     <use xlink:href="#DejaVuSans-61" x="1781.478516"/>
+     <use xlink:href="#DejaVuSans-6c" x="1842.757812"/>
+     <use xlink:href="#DejaVuSans-2c" x="1870.541016"/>
+     <use xlink:href="#DejaVuSans-20" x="1902.328125"/>
+     <use xlink:href="#DejaVuSans-31" x="1934.115234"/>
+     <use xlink:href="#DejaVuSans-20" x="1997.738281"/>
+     <use xlink:href="#DejaVuSans-63" x="2029.525391"/>
+     <use xlink:href="#DejaVuSans-6f" x="2084.505859"/>
+     <use xlink:href="#DejaVuSans-72" x="2145.6875"/>
+     <use xlink:href="#DejaVuSans-65" x="2184.550781"/>
+     <use xlink:href="#DejaVuSans-29" x="2246.074219"/>
+    </g>
+   </g>
+   <g id="legend_1">
+    <g id="patch_55">
+     <path d="M 385.08125 183.303125  L 511.4 183.303125  Q 513.4 183.303125 513.4 181.303125  L 513.4 50.2  Q 513.4 48.2 511.4 48.2  L 385.08125 48.2  Q 383.08125 48.2 383.08125 50.2  L 383.08125 181.303125  Q 383.08125 183.303125 385.08125 183.303125  z " style="fill: #ffffff; opacity: 0.8; stroke: #cccccc; stroke-linejoin: miter"/>
+    </g>
+    <g id="text_14">
+     <!-- Configuration (lang, QD) -->
+     <g transform="translate(387.08125 59.798437) scale(0.1 -0.1)">
+      <defs>
+       <path id="DejaVuSans-43" d="M 4122 4306  L 4122 3641  Q 3803 3938 3442 4084  Q 3081 4231 2675 4231  Q 1875 4231 1450 3742  Q 1025 3253 1025 2328  Q 1025 1406 1450 917  Q 1875 428 2675 428  Q 3081 428 3442 575  Q 3803 722 4122 1019  L 4122 359  Q 3791 134 3420 21  Q 3050 -91 2638 -91  Q 1578 -91 968 557  Q 359 1206 359 2328  Q 359 3453 968 4101  Q 1578 4750 2638 4750  Q 3056 4750 3426 4639  Q 3797 4528 4122 4306  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-66" d="M 2375 4863  L 2375 4384  L 1825 4384  Q 1516 4384 1395 4259  Q 1275 4134 1275 3809  L 1275 3500  L 2222 3500  L 2222 3053  L 1275 3053  L 1275 0  L 697 0  L 697 3053  L 147 3053  L 147 3500  L 697 3500  L 697 3744  Q 697 4328 969 4595  Q 1241 4863 1831 4863  L 2375 4863  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-51" d="M 2522 4238  Q 1834 4238 1429 3725  Q 1025 3213 1025 2328  Q 1025 1447 1429 934  Q 1834 422 2522 422  Q 3209 422 3611 934  Q 4013 1447 4013 2328  Q 4013 3213 3611 3725  Q 3209 4238 2522 4238  z M 3406 84  L 4238 -825  L 3475 -825  L 2784 -78  Q 2681 -84 2626 -87  Q 2572 -91 2522 -91  Q 1538 -91 948 567  Q 359 1225 359 2328  Q 359 3434 948 4092  Q 1538 4750 2522 4750  Q 3503 4750 4090 4092  Q 4678 3434 4678 2328  Q 4678 1516 4351 937  Q 4025 359 3406 84  z " transform="scale(0.015625)"/>
+       <path id="DejaVuSans-44" d="M 1259 4147  L 1259 519  L 2022 519  Q 2988 519 3436 956  Q 3884 1394 3884 2338  Q 3884 3275 3436 3711  Q 2988 4147 2022 4147  L 1259 4147  z M 628 4666  L 1925 4666  Q 3281 4666 3915 4102  Q 4550 3538 4550 2338  Q 4550 1131 3912 565  Q 3275 0 1925 0  L 628 0  L 628 4666  z " transform="scale(0.015625)"/>
+      </defs>
+      <use xlink:href="#DejaVuSans-43"/>
+      <use xlink:href="#DejaVuSans-6f" x="69.824219"/>
+      <use xlink:href="#DejaVuSans-6e" x="131.005859"/>
+      <use xlink:href="#DejaVuSans-66" x="194.384766"/>
+      <use xlink:href="#DejaVuSans-69" x="229.589844"/>
+      <use xlink:href="#DejaVuSans-67" x="257.373047"/>
+      <use xlink:href="#DejaVuSans-75" x="320.849609"/>
+      <use xlink:href="#DejaVuSans-72" x="384.228516"/>
+      <use xlink:href="#DejaVuSans-61" x="425.341797"/>
+      <use xlink:href="#DejaVuSans-74" x="486.621094"/>
+      <use xlink:href="#DejaVuSans-69" x="525.830078"/>
+      <use xlink:href="#DejaVuSans-6f" x="553.613281"/>
+      <use xlink:href="#DejaVuSans-6e" x="614.794922"/>
+      <use xlink:href="#DejaVuSans-20" x="678.173828"/>
+      <use xlink:href="#DejaVuSans-28" x="709.960938"/>
+      <use xlink:href="#DejaVuSans-6c" x="748.974609"/>
+      <use xlink:href="#DejaVuSans-61" x="776.757812"/>
+      <use xlink:href="#DejaVuSans-6e" x="838.037109"/>
+      <use xlink:href="#DejaVuSans-67" x="901.416016"/>
+      <use xlink:href="#DejaVuSans-2c" x="964.892578"/>
+      <use xlink:href="#DejaVuSans-20" x="996.679688"/>
+      <use xlink:href="#DejaVuSans-51" x="1028.466797"/>
+      <use xlink:href="#DejaVuSans-44" x="1107.177734"/>
+      <use xlink:href="#DejaVuSans-29" x="1184.179688"/>
+     </g>
+    </g>
+    <g id="patch_56">
+     <path d="M 410.535937 74.476562  L 430.535937 74.476562  L 430.535937 67.476562  L 410.535937 67.476562  z " style="fill: #72ab97; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+    </g>
+    <g id="text_15">
+     <!-- C, 1 -->
+     <g transform="translate(438.535937 74.476562) scale(0.1 -0.1)">
+      <use xlink:href="#DejaVuSans-43"/>
+      <use xlink:href="#DejaVuSans-2c" x="69.824219"/>
+      <use xlink:href="#DejaVuSans-20" x="101.611328"/>
+      <use xlink:href="#DejaVuSans-31" x="133.398438"/>
+     </g>
+    </g>
+    <g id="patch_57">
+     <path d="M 410.535937 89.154688  L 430.535937 89.154688  L 430.535937 82.154688  L 410.535937 82.154688  z " style="fill: #728ca6; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+    </g>
+    <g id="text_16">
+     <!-- Rust, 1 -->
+     <g transform="translate(438.535937 89.154688) scale(0.1 -0.1)">
+      <use xlink:href="#DejaVuSans-52"/>
+      <use xlink:href="#DejaVuSans-75" x="64.982422"/>
+      <use xlink:href="#DejaVuSans-73" x="128.361328"/>
+      <use xlink:href="#DejaVuSans-74" x="180.460938"/>
+      <use xlink:href="#DejaVuSans-2c" x="219.669922"/>
+      <use xlink:href="#DejaVuSans-20" x="251.457031"/>
+      <use xlink:href="#DejaVuSans-31" x="283.244141"/>
+     </g>
+    </g>
+    <g id="patch_58">
+     <path d="M 410.535937 103.832812  L 430.535937 103.832812  L 430.535937 96.832812  L 410.535937 96.832812  z " style="fill: #ffdcaa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+    </g>
+    <g id="text_17">
+     <!-- C, 8 -->
+     <g transform="translate(438.535937 103.832812) scale(0.1 -0.1)">
+      <defs>
+       <path id="DejaVuSans-38" d="M 2034 2216  Q 1584 2216 1326 1975  Q 1069 1734 1069 1313  Q 1069 891 1326 650  Q 1584 409 2034 409  Q 2484 409 2743 651  Q 3003 894 3003 1313  Q 3003 1734 2745 1975  Q 2488 2216 2034 2216  z M 1403 2484  Q 997 2584 770 2862  Q 544 3141 544 3541  Q 544 4100 942 4425  Q 1341 4750 2034 4750  Q 2731 4750 3128 4425  Q 3525 4100 3525 3541  Q 3525 3141 3298 2862  Q 3072 2584 2669 2484  Q 3125 2378 3379 2068  Q 3634 1759 3634 1313  Q 3634 634 3220 271  Q 2806 -91 2034 -91  Q 1263 -91 848 271  Q 434 634 434 1313  Q 434 1759 690 2068  Q 947 2378 1403 2484  z M 1172 3481  Q 1172 3119 1398 2916  Q 1625 2713 2034 2713  Q 2441 2713 2670 2916  Q 2900 3119 2900 3481  Q 2900 3844 2670 4047  Q 2441 4250 2034 4250  Q 1625 4250 1398 4047  Q 1172 3844 1172 3481  z " transform="scale(0.015625)"/>
+      </defs>
+      <use xlink:href="#DejaVuSans-43"/>
+      <use xlink:href="#DejaVuSans-2c" x="69.824219"/>
+      <use xlink:href="#DejaVuSans-20" x="101.611328"/>
+      <use xlink:href="#DejaVuSans-38" x="133.398438"/>
+     </g>
+    </g>
+    <g id="patch_59">
+     <path d="M 410.535937 118.510938  L 430.535937 118.510938  L 430.535937 111.510938  L 410.535937 111.510938  z " style="fill: #ffc6aa; stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+    </g>
+    <g id="text_18">
+     <!-- Rust, 8 -->
+     <g transform="translate(438.535937 118.510938) scale(0.1 -0.1)">
+      <use xlink:href="#DejaVuSans-52"/>
+      <use xlink:href="#DejaVuSans-75" x="64.982422"/>
+      <use xlink:href="#DejaVuSans-73" x="128.361328"/>
+      <use xlink:href="#DejaVuSans-74" x="180.460938"/>
+      <use xlink:href="#DejaVuSans-2c" x="219.669922"/>
+      <use xlink:href="#DejaVuSans-20" x="251.457031"/>
+      <use xlink:href="#DejaVuSans-38" x="283.244141"/>
+     </g>
+    </g>
+    <g id="patch_60">
+     <path d="M 410.535937 133.189063  L 430.535937 133.189063  L 430.535937 126.189063  L 410.535937 126.189063  z " style="fill: url(#h30423827aa); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+    </g>
+    <g id="text_19">
+     <!-- C, 32 -->
+     <g transform="translate(438.535937 133.189063) scale(0.1 -0.1)">
+      <use xlink:href="#DejaVuSans-43"/>
+      <use xlink:href="#DejaVuSans-2c" x="69.824219"/>
+      <use xlink:href="#DejaVuSans-20" x="101.611328"/>
+      <use xlink:href="#DejaVuSans-33" x="133.398438"/>
+      <use xlink:href="#DejaVuSans-32" x="197.021484"/>
+     </g>
+    </g>
+    <g id="patch_61">
+     <path d="M 410.535937 147.867188  L 430.535937 147.867188  L 430.535937 140.867188  L 410.535937 140.867188  z " style="fill: url(#hafa64dcd44); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+    </g>
+    <g id="text_20">
+     <!-- Rust, 32 -->
+     <g transform="translate(438.535937 147.867188) scale(0.1 -0.1)">
+      <use xlink:href="#DejaVuSans-52"/>
+      <use xlink:href="#DejaVuSans-75" x="64.982422"/>
+      <use xlink:href="#DejaVuSans-73" x="128.361328"/>
+      <use xlink:href="#DejaVuSans-74" x="180.460938"/>
+      <use xlink:href="#DejaVuSans-2c" x="219.669922"/>
+      <use xlink:href="#DejaVuSans-20" x="251.457031"/>
+      <use xlink:href="#DejaVuSans-33" x="283.244141"/>
+      <use xlink:href="#DejaVuSans-32" x="346.867188"/>
+     </g>
+    </g>
+    <g id="patch_62">
+     <path d="M 410.535937 162.545312  L 430.535937 162.545312  L 430.535937 155.545312  L 410.535937 155.545312  z " style="fill: url(#h222d08f4ea); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+    </g>
+    <g id="text_21">
+     <!-- C, 128 -->
+     <g transform="translate(438.535937 162.545312) scale(0.1 -0.1)">
+      <use xlink:href="#DejaVuSans-43"/>
+      <use xlink:href="#DejaVuSans-2c" x="69.824219"/>
+      <use xlink:href="#DejaVuSans-20" x="101.611328"/>
+      <use xlink:href="#DejaVuSans-31" x="133.398438"/>
+      <use xlink:href="#DejaVuSans-32" x="197.021484"/>
+      <use xlink:href="#DejaVuSans-38" x="260.644531"/>
+     </g>
+    </g>
+    <g id="patch_63">
+     <path d="M 410.535937 177.223437  L 430.535937 177.223437  L 430.535937 170.223437  L 410.535937 170.223437  z " style="fill: url(#he5d6e563fc); stroke: #000000; stroke-width: 0.5; stroke-linejoin: miter"/>
+    </g>
+    <g id="text_22">
+     <!-- Rust, 128 -->
+     <g transform="translate(438.535937 177.223437) scale(0.1 -0.1)">
+      <use xlink:href="#DejaVuSans-52"/>
+      <use xlink:href="#DejaVuSans-75" x="64.982422"/>
+      <use xlink:href="#DejaVuSans-73" x="128.361328"/>
+      <use xlink:href="#DejaVuSans-74" x="180.460938"/>
+      <use xlink:href="#DejaVuSans-2c" x="219.669922"/>
+      <use xlink:href="#DejaVuSans-20" x="251.457031"/>
+      <use xlink:href="#DejaVuSans-31" x="283.244141"/>
+      <use xlink:href="#DejaVuSans-32" x="346.867188"/>
+      <use xlink:href="#DejaVuSans-38" x="410.490234"/>
+     </g>
+    </g>
+   </g>
+  </g>
+ </g>
+ <defs>
+  <clipPath id="p6664958aee">
+   <rect x="72" y="43.2" width="446.4" height="244.8"/>
+  </clipPath>
+ </defs>
+ <defs>
+  <pattern id="h30423827aa" patternUnits="userSpaceOnUse" x="0" y="0" width="72" height="72">
+   <rect x="0" y="0" width="73" height="73" fill="#72ab97"/>
+   <path d="M -36 36  L 36 -36  M -30 42  L 42 -30  M -24 48  L 48 -24  M -18 54  L 54 -18  M -12 60  L 60 -12  M -6 66  L 66 -6  M 0 72  L 72 0  M 6 78  L 78 6  M 12 84  L 84 12  M 18 90  L 90 18  M 24 96  L 96 24  M 30 102  L 102 30  M 36 108  L 108 36  " style="fill: #000000; stroke: #000000; stroke-width: 1.0; stroke-linecap: butt; stroke-linejoin: miter"/>
+  </pattern>
+  <pattern id="hafa64dcd44" patternUnits="userSpaceOnUse" x="0" y="0" width="72" height="72">
+   <rect x="0" y="0" width="73" height="73" fill="#728ca6"/>
+   <path d="M -36 36  L 36 -36  M -30 42  L 42 -30  M -24 48  L 48 -24  M -18 54  L 54 -18  M -12 60  L 60 -12  M -6 66  L 66 -6  M 0 72  L 72 0  M 6 78  L 78 6  M 12 84  L 84 12  M 18 90  L 90 18  M 24 96  L 96 24  M 30 102  L 102 30  M 36 108  L 108 36  " style="fill: #000000; stroke: #000000; stroke-width: 1.0; stroke-linecap: butt; stroke-linejoin: miter"/>
+  </pattern>
+  <pattern id="h222d08f4ea" patternUnits="userSpaceOnUse" x="0" y="0" width="72" height="72">
+   <rect x="0" y="0" width="73" height="73" fill="#ffdcaa"/>
+   <path d="M -36 36  L 36 -36  M -30 42  L 42 -30  M -24 48  L 48 -24  M -18 54  L 54 -18  M -12 60  L 60 -12  M -6 66  L 66 -6  M 0 72  L 72 0  M 6 78  L 78 6  M 12 84  L 84 12  M 18 90  L 90 18  M 24 96  L 96 24  M 30 102  L 102 30  M 36 108  L 108 36  " style="fill: #000000; stroke: #000000; stroke-width: 1.0; stroke-linecap: butt; stroke-linejoin: miter"/>
+  </pattern>
+  <pattern id="he5d6e563fc" patternUnits="userSpaceOnUse" x="0" y="0" width="72" height="72">
+   <rect x="0" y="0" width="73" height="73" fill="#ffc6aa"/>
+   <path d="M -36 36  L 36 -36  M -30 42  L 42 -30  M -24 48  L 48 -24  M -18 54  L 54 -18  M -12 60  L 60 -12  M -6 66  L 66 -6  M 0 72  L 72 0  M 6 78  L 78 6  M 12 84  L 84 12  M 18 90  L 90 18  M 24 96  L 96 24  M 30 102  L 102 30  M 36 108  L 108 36  " style="fill: #000000; stroke: #000000; stroke-width: 1.0; stroke-linecap: butt; stroke-linejoin: miter"/>
+  </pattern>
+ </defs>
+</svg>
\ No newline at end of file
diff --git a/pros-cons/rust-tutorial.pdf b/pros-cons/rust-tutorial.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..2308ffcce40f65e11a4d7be48d3164f91664e75b
Binary files /dev/null and b/pros-cons/rust-tutorial.pdf differ
diff --git a/pros-cons/rust-tutorial.tex b/pros-cons/rust-tutorial.tex
new file mode 100644
index 0000000000000000000000000000000000000000..91c078623a074903da49a9f0e77991e3a6830165
--- /dev/null
+++ b/pros-cons/rust-tutorial.tex
@@ -0,0 +1,217 @@
+\documentclass[aspectratio=169]{beamer}
+\usepackage{listings,listings-rust}
+\usepackage{multicol}
+\usepackage{mathtools}
+\usepackage{svg}
+\usetheme[font=helvetica,second_logo=./forsyte.png]{TUW}
+%Information to be included in the title page:
+\title[Rust tutorial]{Forsyte and Friends Rust Tutorial}
+\author{Florian Sextl, Mark Chimes, Adrian Rebola}
+\date{2025-03-25}
+
+\definecolor{codegreen}{rgb}{0,0.6,0}
+\definecolor{codegray}{rgb}{0.5,0.5,0.5}
+\definecolor{codepurple}{rgb}{0.58,0,0.82}
+\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
+
+\lstdefinestyle{mystyle}{
+    commentstyle=\color{magenta},
+    keywordstyle=\color{codegreen},
+    numberstyle=\tiny\color{codegray},
+    stringstyle=\color{codepurple},
+    basicstyle=\ttfamily\footnotesize,
+    breakatwhitespace=false,
+    breaklines=true,
+    captionpos=b,
+    keepspaces=true,
+    numbers=none,
+    numbersep=5pt,
+    showspaces=false,
+    showstringspaces=false,
+    showtabs=false,
+    tabsize=2
+}
+\lstset{style=mystyle}
+
+\begin{document}
+\frame{\titlepage}
+
+\begin{frame}
+    \frametitle{Should you use Rust/would you want to use Rust?}
+    \begin{block}{Simple Answer}<2->
+        That depends on a lot of things.
+    \end{block}
+\end{frame}
+
+\begin{frame}[plain]
+    \frametitle{Performance}
+\begin{onlyenv}<1-4>
+    \begin{itemize}
+        \item<2-> Studies often compare to C
+        \item<3-> Overall slower with runtime checks, similar optimized
+        \item<4-> optimizations due to safety, compile-time checks, ZSTs
+    \end{itemize}
+\end{onlyenv}
+    \begin{onlyenv}<5>
+        Example: \href{https://rust-for-linux.com/nvme-driver}{Rust for Linux NVMe driver}
+        \centering
+        \includesvg[height=.89\textheight]{./nvme-v6.12-rc2-absolute.svg}
+    \end{onlyenv}
+    \begin{onlyenv}<6>
+        Further examples:
+        \begin{itemize}
+            \item \href{https://github.com/trifectatechfoundation/sudo-rs}{sudo-rs}
+            \item \href{https://fishshell.com/blog/rustport/}{fish}
+            \item \href{https://github.com/trifectatechfoundation/zlib-rs}{zlib-rs}
+            \item \href{https://developer.chrome.com/blog/memory-safety-fonts}{skrifa} (new font engine in Chrome)
+            \item at \href{https://aws.amazon.com/blogs/opensource/why-aws-loves-rust-and-how-wed-like-to-help/}{AWS} (e.g. \href{https://github.com/firecracker-microvm/firecracker}{Firecracker})
+            \item \href{https://rust-for-linux.com/}{Linux}/\href{https://webcf.waybackmachine.org/web/20230514034158/https://twitter.com/markrussinovich/status/1656416376125538304?lang=en-GB}{Windows}/\href{https://source.android.com/docs/setup/build/rust/building-rust-modules/overview}{Android}/...
+            \item \href{https://rustutils.com/}{and} \href{https://jnsgr.uk/2025/03/carefully-but-purposefully-oxidising-ubuntu/}{many more}
+        \end{itemize}
+    \end{onlyenv}
+\end{frame}
+
+\begin{frame}
+    \frametitle{Safety Guarantees}
+    \begin{block}{Memory Safety}<2->
+        Safe from: use-after-free, null pointer dereference, out-of-bounds access, uninitialized memory, iterator invalidation, \dots due to type/ownership system
+    \end{block}
+    \begin{block}{Thread Safety}<3->
+        Safe from data races due to type/ownership system and \emph{std} thread APIs
+    \end{block}
+
+    \begin{alertblock}{Basic Rule}<4>
+        Safe Rust can never directly cause Undefined Behavior!
+    \end{alertblock}
+\end{frame}
+
+\begin{frame}[fragile]
+    \frametitle{Safety Encapsulation via \emph{unsafe}}
+    \begin{block}{unsafe Block}<2->
+        \begin{itemize}
+            \item allows \emph{unsafe} ``super powers'' in a limited scope
+            \item enclosed, local safety reasoning
+        \end{itemize}
+    \end{block}
+
+    \begin{onlyenv}<2>
+        \begin{lstlisting}[language=Rust]
+    let slice = unsafe {
+        // SAFETY: raw_ptr is guaranteed to be non-null
+        // and will point to n elements in memory.
+        from_raw_parts(raw_ptr, n)
+    };
+        \end{lstlisting}
+    \end{onlyenv}
+
+    \begin{block}{unsafe Functions}<3->
+        \begin{itemize}
+            \item denotes uncheckable invariants/requirements
+            \item also for FFI functions
+        \end{itemize}
+    \end{block}
+
+    \begin{alertblock}{Library Soundness}<4>
+        A call to a safe API must never cause Undefined Behavior!
+    \end{alertblock}
+\end{frame}
+
+\begin{frame}[fragile]
+    \frametitle{Type System}
+\begin{onlyenv}<2>
+    \begin{block}{High level, compile-time abstractions}
+\begin{lstlisting}[language=C]
+/** Required state: SAT
+*   State after:    SAT */
+IPASIR_API int32_t ipasir_val (void * solver, int32_t lit);
+\end{lstlisting}
+\begin{lstlisting}[language=Rust]
+pub fn value(self: &Solver<SATState>, literal: Literal) ->
+        Result<Assignment, Error>;
+pub fn checked_sat(self: Solver<SolvedState>) ->
+    Result<Solver<SATState>, Error>;
+\end{lstlisting}
+\end{block}
+\end{onlyenv}
+
+\begin{onlyenv}<3>
+    \begin{block}{Type-based error handling}
+\begin{lstlisting}[language=Rust]
+pub fn solve_formula<F, C, L>(formula: F) ->
+    Result<Option<HashMap<L, Assignment>>, Error>
+...
+\end{lstlisting}
+\end{block}
+\end{onlyenv}
+
+\begin{onlyenv}<4>
+    \begin{block}{Advanced type level magic}
+    \begin{lstlisting}[language=Rust]
+pub fn solve_formula<F, C, L>(formula: F) ->
+    Result<Option<HashMap<L, Assignment>>, Error>
+where
+    F: IntoIterator<Item = C>,
+    C: IntoIterator<Item = L>,
+    NonZeroI32: TryFrom<L>,
+    Error: From<<NonZeroI32 as TryFrom<L>>::Error>,
+    L: Abs<Result = L> + Eq + Hash,
+{ ...
+\end{lstlisting}
+\end{block}
+\end{onlyenv}
+\end{frame}
+
+\begin{frame}
+    \frametitle{Further Arguments for Rust}
+    \begin{itemize}
+        \item<2-> Great ecosystem (tools, documentation, community)
+        \item<3-> Easy verification (safety guarantees + type system)
+        \item<4-> Strong academic connections (ownership type system, language semantics)
+        \item<5-> Multi-leveled native concurrency support (process vs. thread vs. async)
+    \end{itemize}
+\end{frame}
+
+\begin{frame}
+    \frametitle{Why you might not want to use Rust}
+    \begin{onlyenv}<2>
+    \begin{alertblock}{Ownership type system}
+        \begin{itemize}
+            \item self-referential data structures
+            \item complex mental model
+        \end{itemize}
+    \end{alertblock}
+\end{onlyenv}
+
+
+\begin{onlyenv}<3>
+    \begin{alertblock}{Cumbersome rapid prototyping}
+        \begin{itemize}
+            \item Rust enforces good design from start
+            \item Workarounds are often verbose
+        \end{itemize}
+    \end{alertblock}
+\end{onlyenv}
+
+\begin{onlyenv}<4>
+    \begin{alertblock}{Steep learning curve}
+        \begin{itemize}
+            \item Borrowing and lifetimes
+            \item unsafe
+            \item Language quirks: e.g. orphan rule
+        \end{itemize}
+    \end{alertblock}
+\end{onlyenv}
+
+\begin{onlyenv}<5>
+    \begin{alertblock}{Instability}
+        \begin{itemize}
+            \item Language and compiler development
+            \item No formal semantics (but active work)
+            \item No specification (apart from Ferrocene)
+        \end{itemize}
+    \end{alertblock}
+\end{onlyenv}
+
+\end{frame}
+
+\end{document}
\ No newline at end of file