From 68b348fbf0d7c40b41eb3d2ae66556ccd2c0b738 Mon Sep 17 00:00:00 2001 From: Ivan Vilata i Balaguer Date: Fri, 6 Nov 2015 12:21:50 +0100 Subject: [PATCH 01/36] ipfs-cap2pfs: minor corrections to abstract and introduction Also harmonize "Internet" casing and "content-addressed" appearances. License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 2be1397..3af6a75 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -12,7 +12,7 @@ \begin{document} -\title{IPFS - Content Addressed, Versioned, P2P File System (DRAFT 3)} +\title{IPFS - Content-Addressed, Versioned, P2P File System (DRAFT 3)} \subtitle{} \numberofauthors{1} @@ -25,18 +25,18 @@ \maketitle \begin{abstract} -The InterPlanetary File System (IPFS) is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository. In other words, IPFS provides a high throughput content-addressed block storage model, with content-addressed hyper links. This forms a generalized Merkle DAG, a data structure upon which one can build versioned file systems, blockchains, and even a Permanent Web. IPFS combines a distributed hashtable, an incentivized block exchange, and a self-certifying namespace. IPFS has no single point of failure, and nodes do not need to trust each other. +The InterPlanetary File System (IPFS) is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository. In other words, IPFS provides a high throughput content-addressed block storage model, with content-addressed hyperlinks. This forms a generalized Merkle DAG, a data structure upon which one can build versioned file systems, blockchains, and even a Permanent Web. IPFS combines a distributed hashtable, an incentivized block exchange, and a self-certifying namespace. IPFS has no single point of failure, and nodes do not need to trust each other. \end{abstract} \section{Introduction} There have been many attempts at constructing a global distributed file system. Some systems have seen significant success, and others failed completely. Among the academic attempts, AFS~\cite{AFS} has succeeded widely and is still in use today. Others~\cite{Oceanstore, CFS} have not attained the same success. Outside of academia, the most successful systems have been peer-to-peer file-sharing applications primarily geared toward large media (audio and video). Most notably, Napster, KaZaA, and BitTorrent~\cite{BitTorrentUsers} deployed large file distribution systems supporting over 100 million simultaneous users. Even today, BitTorrent maintains a massive deployment where tens of millions of nodes churn daily~\cite{wang13}. These applications saw greater numbers of users and files distributed than their academic file system counterparts. However, the applications were not designed as infrastructure to be built upon. While there have been successful repurposings\footnote{For example, Linux distributions use BitTorrent to transmit disk images, and Blizzard, Inc. uses it to distribute video game content.}, no general file-system has emerged that offers global, low-latency, and decentralized distribution. -Perhaps this is because a ``good enough'' system for most use cases already exists: HTTP. By far, HTTP is the most successful ``distributed system of files'' ever deployed. Coupled with the browser, HTTP has had enormous technical and social impact. It has become the de facto way to transmit files across the internet. Yet, it fails to take advantage of dozens of brilliant file distribution techniques invented in the last fifteen years. From one prespective, evolving Web infrastructure is near-impossible, given the number of backwards compatibility constraints and the number of strong parties invested in the current model. But from another perspective, new protocols have emerged and gained wide use since the emergence of HTTP. What is lacking is upgrading design: enhancing the current HTTP web, and introducing new functionality without degrading user experience. +Perhaps this is because a ``good enough'' system for most use cases already exists: HTTP. By far, HTTP is the most successful ``distributed system of files'' ever deployed. Coupled with the browser, HTTP has had enormous technical and social impact. It has become the de facto way to transmit files across the Internet. Yet, it fails to take advantage of dozens of brilliant file distribution techniques invented in the last fifteen years. From one prespective, evolving Web infrastructure is nearly impossible, given the number of backwards compatibility constraints and the number of strong parties who have invested in the current model. But from another perspective, new protocols have emerged and gained wide use since the emergence of HTTP. What is lacking is upgrading design: enhancing the current HTTP web, and introducing new functionality without degrading user experience. Industry has gotten away with using HTTP this long because moving small files around is relatively cheap, even for small organizations with lots of traffic. But we are entering a new era of data distribution with new challenges: (a) hosting and distributing petabyte datasets, (b) computing on large data across organizations, (c) high-volume high-definition on-demand or real-time media streams, (d) versioning and linking of massive datasets, (e) preventing accidental disappearance of important files, and more. Many of these can be boiled down to ``lots of data, accessible everywhere.'' Pressed by critical features and bandwidth concerns, we have already given up HTTP for different data distribution protocols. The next step is making them part of the Web itself. -Orthogonal to efficient data distribution, version control systems have managed to develop important data collaboration workflows. Git, the distributed source code version control system, developed many useful ways to model and implement distributed data operations. The Git toolchain offers versatile versioning functionality that large file distribution systems severely lack. New solutions inspired by Git are emerging, such as Camlistore~\cite{Camlistore}, a personal file storage system, and Dat~\cite{Dat} a data collaboration toolchain and dataset package manager. Git has already influenced distributed filesystem design~\cite{mashtizadeh13}, as its content addressed Merkle DAG data model enables powerful file distribution strategies. What remains to be explored is how this data structure can influence the design of high-throughput oriented file systems, and how it might upgrade the Web itself. +Orthogonal to efficient data distribution, version control systems have managed to develop important data collaboration workflows. Git, the distributed source code version control system, developed many useful ways to model and implement distributed data operations. The Git toolchain offers versatile versioning functionality that large file distribution systems severely lack. New solutions inspired by Git are emerging, such as Camlistore~\cite{Camlistore}, a personal file storage system, and Dat~\cite{Dat} a data collaboration toolchain and dataset package manager. Git has already influenced distributed filesystem design~\cite{mashtizadeh13}, as its content-addressed Merkle DAG data model enables powerful file distribution strategies. What remains to be explored is how this data structure can influence the design of high-throughput oriented file systems, and how it might upgrade the Web itself. This paper introduces IPFS, a novel peer-to-peer version-controlled filesystem seeking to reconcile these issues. IPFS synthesizes learnings from many past successful systems. Careful interface-focused integration yields a system greater than the sum of its parts. The central IPFS principle is modeling \textit{all data} as part of the same Merkle DAG. @@ -234,7 +234,7 @@ \subsection{Identities} \subsection{Network} -IPFS nodes communicate regularly with hundreds of other nodes in the network, potentially across the wide internet. The IPFS network stack features: +IPFS nodes communicate regularly with hundreds of other nodes in the network, potentially across the wide Internet. The IPFS network stack features: \begin{itemize} \item \textbf{Transport:} IPFS can use any transport protocol, and is best suited for WebRTC DataChannels~\cite{WebRTC} (for browser connectivity) or uTP(LEDBAT~\cite{LEDBAT}). @@ -566,7 +566,7 @@ \subsection{Object Merkle DAG} The DHT and BitSwap allow IPFS to form a massive peer-to-peer system for storing and distributing blocks quickly and robustly. On top of these, IPFS builds a Merkle DAG, a directed acyclic graph where links between objects are cryptographic hashes of the targets embedded in the sources. This is a generalization of the Git data structure. Merkle DAGs provide IPFS many useful properties, including: \begin{enumerate} - \item \textbf{Content Addressing:} all content is uniquely identified by its + \item \textbf{Content addressing:} all content is uniquely identified by its \texttt{multihash} checksum, \textbf{including links}. \item \textbf{Tamper resistance:} all content is verified with its checksum. If data is tampered with or corrupted, IPFS detects it. @@ -601,7 +601,7 @@ \subsection{Object Merkle DAG} \end{verbatim} -The IPFS Merkle DAG is an extremely flexible way to store data. The only requirements are that object references be (a) content addressed, and (b) encoded in the format above. IPFS grants applications complete control over the data field; applications can use any custom data format they chose, which IPFS may not understand. The separate in-object link table allows IPFS to: +The IPFS Merkle DAG is an extremely flexible way to store data. The only requirements are that object references be (a) content-addressed, and (b) encoded in the format above. IPFS grants applications complete control over the data field; applications can use any custom data format they chose, which IPFS may not understand. The separate in-object link table allows IPFS to: \begin{itemize} From b8cbb61196aa2d3802da084ccc2c92573941a3ae Mon Sep 17 00:00:00 2001 From: Ivan Vilata i Balaguer Date: Fri, 6 Nov 2015 12:23:20 +0100 Subject: [PATCH 02/36] ipfs-cap2pfs: add CFS, Camlistore and Dat to bibliography Also fix word case in titles using braces. License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 46 +++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index cbd9720..5da09ee 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -20,16 +20,25 @@ @article{Oceanstore publisher={ACM} } +@inproceedings{CFS, + title={Wide-area cooperative storage with {CFS}}, + author={Dabek, Frank and Kaashoek, M. Frans and Karger, David and Morris, Robert and Stoica, Ion}, + booktitle={Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles}, + pages={202--2015}, + year={2001}, + organization={ACM} +} + @online{BitTorrentUsers, -author={BitTorrent, Inc.}, -title={BitTorrent and µTorrent Software Surpass 150 Million User Milestone}, -month=jan, -year=2012, -url={http://www.bittorrent.com/intl/es/company/about/ces_2012_150m_users}, + author={BitTorrent, Inc.}, + title={{BitTorrent} and {µTorrent} Software Surpass 150 Million User Milestone}, + month=jan, + year=2012, + url={http://www.bittorrent.com/intl/es/company/about/ces_2012_150m_users}, } @inproceedings{mashtizadeh13, - title={Replication, history, and grafting in the Ori file system}, + title={Replication, history, and grafting in the {Ori} file system}, author={Mashtizadeh, Ali Jos{\'e} and Bittau, Andrea and Huang, Yifeng Frank and Mazieres, David}, booktitle={Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles}, pages={151--166}, @@ -47,7 +56,7 @@ @incollection{maymounkov02 } @inproceedings{wang13, - title={Measuring large-scale distributed systems: case of BitTorrent Mainline DHT}, + title={Measuring large-scale distributed systems: case of {BitTorrent Mainline DHT}}, author={Wang, Liang and Kangasharju, Jussi}, booktitle={Peer-to-Peer Computing (P2P), 2013 IEEE Thirteenth International Conference on}, pages={1--10}, @@ -55,8 +64,19 @@ @inproceedings{wang13 organization={IEEE} } +@online{Camlistore, + title={Camlistore}, + url={http://camlistore.org/} +} + +@online{Dat, + author={Ogden, Max}, + title={Dat: version, fork, and sync data}, + url={https://github.com/maxogden/dat} +} + @inproceedings{freedman04, - title={Democratizing Content Publication with Coral.}, + title={Democratizing Content Publication with {Coral}}, author={Freedman, Michael J and Freudenthal, Eric and Mazieres, David}, booktitle={NSDI}, volume={4}, @@ -65,7 +85,7 @@ @inproceedings{freedman04 } @misc{dean11, - title={leveldb--A fast and lightweight key/value database library by Google}, + title={leveldb--A fast and lightweight key/value database library by {Google}}, author={Dean, Jeffrey and Ghemawat, Sanjay}, year={2011} } @@ -81,7 +101,7 @@ @inproceedings{baumgart07 } @inproceedings{cohen03, - title={Incentives build robustness in BitTorrent}, + title={Incentives build robustness in {BitTorrent}}, author={Cohen, Bram}, booktitle={Workshop on Economics of Peer-to-Peer systems}, volume={6}, @@ -117,19 +137,19 @@ @inproceedings{mazieres98 } @article{UTP, - title={LEDBAT+ BitTorrent}, + title={{LEDBAT}+ {BitTorrent}}, author={Rossi, Dario} } @article{LEDBAT, - title={Low extra delay background transport (LEDBAT)}, + title={Low extra delay background transport ({LEDBAT})}, author={Shalunov, Stanislav and Hazel, Greg and Iyengar, Janardhan and Kuehlewind, Mirja}, journal={draft-ietf-ledbat-congestion-04. txt}, year={2010} } @book{SCTP, - title={Stream control transmission protocol (SCTP): a reference guide}, + title={Stream control transmission protocol ({SCTP}): a reference guide}, author={Stewart, Randall R and Xie, Qiaobing}, year={2001}, publisher={Addison-Wesley Longman Publishing Co., Inc.} From c501dc6ed2b6dcb6d9e870b7b593c18533c51650 Mon Sep 17 00:00:00 2001 From: Ivan Vilata i Balaguer Date: Tue, 10 Nov 2015 13:35:16 +0100 Subject: [PATCH 03/36] ipfs-cap2pfs: use math "mu" instead of Unicode for uTorrent in bibliography This avoids encoding problems. License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index 5da09ee..d2e3b8d 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -31,7 +31,7 @@ @inproceedings{CFS @online{BitTorrentUsers, author={BitTorrent, Inc.}, - title={{BitTorrent} and {µTorrent} Software Surpass 150 Million User Milestone}, + title={{BitTorrent} and {$\mu$Torrent} Software Surpass 150 Million User Milestone}, month=jan, year=2012, url={http://www.bittorrent.com/intl/es/company/about/ces_2012_150m_users}, From 5261dd21a4aef7104664b14d1798969c5ab53a07 Mon Sep 17 00:00:00 2001 From: Ivan Vilata i Balaguer Date: Tue, 10 Nov 2015 13:36:51 +0100 Subject: [PATCH 04/36] ipfs-cap2pfs: change bibliography to use BibLaTeX, Biber and traditional styles This is mostly compatible with the ``abbr`` BibTeX style but also supports ``@online`` references. License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/Makefile | 2 +- ipfs-cap2pfs/ipfs-cap2pfs.aux | 199 +-- ipfs-cap2pfs/ipfs-cap2pfs.bbl | 487 +++++- ipfs-cap2pfs/ipfs-cap2pfs.bcf | 2309 +++++++++++++++++++++++++ ipfs-cap2pfs/ipfs-cap2pfs.blg | 90 +- ipfs-cap2pfs/ipfs-cap2pfs.log | 969 +++++++---- ipfs-cap2pfs/ipfs-cap2pfs.run.xml | 87 + ipfs-cap2pfs/ipfs-cap2pfs.tex | 7 +- ipfs-cap2pfs/ipfs-p2p-file-system.pdf | Bin 213363 -> 221790 bytes 9 files changed, 3526 insertions(+), 624 deletions(-) create mode 100644 ipfs-cap2pfs/ipfs-cap2pfs.bcf create mode 100644 ipfs-cap2pfs/ipfs-cap2pfs.run.xml diff --git a/ipfs-cap2pfs/Makefile b/ipfs-cap2pfs/Makefile index 4a25352..9534125 100644 --- a/ipfs-cap2pfs/Makefile +++ b/ipfs-cap2pfs/Makefile @@ -6,7 +6,7 @@ all: $(LONG).pdf $(LONG).pdf: $(SHORT).tex sig-alternate.cls $(SHORT).bib pdflatex $(SHORT).tex - bibtex $(SHORT) + biber $(SHORT) pdflatex $(SHORT).tex pdflatex $(SHORT).tex mv $(SHORT).pdf $(LONG).pdf diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.aux b/ipfs-cap2pfs/ipfs-cap2pfs.aux index 3bcc0d4..802cfb6 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.aux +++ b/ipfs-cap2pfs/ipfs-cap2pfs.aux @@ -1,117 +1,90 @@ \relax -\citation{AFS} -\citation{Oceanstore} -\citation{CFS} -\citation{BitTorrentUsers} -\citation{wang13} -\citation{Camlistore} -\citation{Dat} -\citation{mashtizadeh13} -\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{\thepage }} -\@writefile{toc}{\contentsline {section}{\numberline {2}Background}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Distributed Hash Tables}{\thepage }} -\citation{maymounkov02} -\citation{wang13} -\citation{freedman04} -\citation{freedman04} -\citation{baumgart07} -\citation{cohen03} -\citation{levin08} -\citation{mazieres98} -\citation{mazieres00} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Kademlia DHT}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Coral DSHT}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.3}S/Kademlia DHT}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Block Exchanges - BitTorrent}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Version Control Systems - Git}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Self-Certified Filesystems - SFS}{\thepage }} -\citation{baumgart07} -\citation{WebRTC} -\citation{LEDBAT} -\citation{LEDBAT} -\citation{SCTP} -\citation{ICE} -\@writefile{toc}{\contentsline {section}{\numberline {3}IPFS Design}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Identities}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{Note on Cryptographic Functions}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Network}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Note on Peer Addressing}{\thepage }} -\citation{freedman04} -\citation{wang13} -\citation{levin08} -\citation{levin08} -\citation{levin08} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Routing}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Block Exchange - BitSwap Protocol}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}BitSwap Credit}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.2}BitSwap Strategy}{\thepage }} -\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Probability of Sending as $r$ increases}}{\thepage }} +\abx@aux@sortscheme{nty} +\abx@aux@cite{AFS} +\abx@aux@cite{Oceanstore} +\abx@aux@cite{CFS} +\abx@aux@cite{BitTorrentUsers} +\abx@aux@cite{wang13} +\abx@aux@cite{Camlistore} +\abx@aux@cite{Dat} +\abx@aux@cite{mashtizadeh13} +\@writefile{toc}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax } +\@writefile{lof}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax } +\@writefile{lot}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {2}Background}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Distributed Hash Tables}{\thepage }} +\abx@aux@cite{maymounkov02} +\abx@aux@cite{freedman04} +\abx@aux@cite{baumgart07} +\abx@aux@cite{cohen03} +\abx@aux@cite{levin08} +\abx@aux@cite{mazieres98} +\abx@aux@cite{mazieres00} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Kademlia DHT}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Coral DSHT}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.3}S/Kademlia DHT}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Block Exchanges - BitTorrent}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Version Control Systems - Git}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Self-Certified Filesystems - SFS}{\thepage }} +\abx@aux@cite{WebRTC} +\abx@aux@cite{LEDBAT} +\abx@aux@cite{SCTP} +\abx@aux@cite{ICE} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {3}IPFS Design}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Identities}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Note on Cryptographic Functions}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Network}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Note on Peer Addressing}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Routing}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Block Exchange - BitSwap Protocol}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}BitSwap Credit}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.2}BitSwap Strategy}{\thepage }} +\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Probability of Sending as $r$ increases}}{\thepage }} \newlabel{fig:psending-graph}{{1}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3}BitSwap Ledger}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.4}BitSwap Specification}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{Peer.open(NodeId, Ledger)}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{Peer.send\_want\_list(WantList)}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{Peer.send\_block(Block)}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{Peer.close(Bool)}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{Notes}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Object Merkle DAG}{\thepage }} -\citation{dean11} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1}Paths}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2}Local Objects}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3}Object Pinning}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4}Publishing Objects}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.5}Object-level Cryptography}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Files}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}File Object: \texttt {blob}}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2}File Object: \texttt {list}}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.3}File Object: \texttt {tree}}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.4}File Object: \texttt {commit}}{\thepage }} -\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Sample Object Graph}}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3}BitSwap Ledger}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.4}BitSwap Specification}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Peer.open(NodeId, Ledger)}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Peer.send\_want\_list(WantList)}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Peer.send\_block(Block)}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Peer.close(Bool)}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Notes}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Object Merkle DAG}{\thepage }} +\abx@aux@cite{dean11} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1}Paths}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2}Local Objects}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3}Object Pinning}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4}Publishing Objects}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.5}Object-level Cryptography}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Files}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}File Object: \texttt {blob}}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2}File Object: \texttt {list}}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.3}File Object: \texttt {tree}}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.4}File Object: \texttt {commit}}{\thepage }} +\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Sample Object Graph}}{\thepage }} \newlabel{fig:sample-object-graph}{{2}{\thepage }} -\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Sample Objects}}{\thepage }} +\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Sample Objects}}{\thepage }} \newlabel{fig:sample-objects}{{3}{\thepage }} -\citation{RabinFingerprints} -\citation{LBFS} -\citation{rsync} -\citation{Plan9} -\citation{Fossil} -\citation{Venti} -\citation{LBFS} -\citation{mazieres98} -\citation{mazieres00} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.5}Version control}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.6}Filesystem Paths}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.7}Splitting Files into Lists and Blob}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.8}Path Lookup Performance}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}IPNS: Naming and Mutable State}{\thepage }} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.1}Self-Certified Names}{\thepage }} -\citation{Proquint} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2}Human Friendly Names}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{Peer Links}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{DNS TXT IPNS Records}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{Proquint Pronounceable Identifiers}{\thepage }} -\@writefile{toc}{\contentsline {paragraph}{Name Shortening Services}{\thepage }} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Using IPFS}{\thepage }} -\citation{FUSE} -\bibstyle{abbrv} -\bibdata{ipfs-cap2pfs} -\bibcite{baumgart07}{1} -\bibcite{BitTorrentUsers}{2} -\bibcite{cohen03}{3} -\bibcite{dean11}{4} -\bibcite{freedman04}{5} -\bibcite{AFS}{6} -\bibcite{Oceanstore}{7} -\bibcite{levin08}{8} -\bibcite{mashtizadeh13}{9} -\bibcite{maymounkov02}{10} -\bibcite{mazieres00}{11} -\bibcite{mazieres98}{12} -\bibcite{ICE}{13} -\bibcite{LEDBAT}{14} -\bibcite{SCTP}{15} -\bibcite{wang13}{16} -\@writefile{toc}{\contentsline {section}{\numberline {4}The Future}{\thepage }} -\@writefile{toc}{\contentsline {section}{\numberline {5}Acknowledgments}{\thepage }} -\@writefile{toc}{\contentsline {section}{\numberline {6}References TODO}{\thepage }} -\@writefile{toc}{\contentsline {section}{\numberline {7}References}{\thepage }} +\abx@aux@cite{RabinFingerprints} +\abx@aux@cite{LBFS} +\abx@aux@cite{rsync} +\abx@aux@cite{Plan9} +\abx@aux@cite{Fossil} +\abx@aux@cite{Venti} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.5}Version control}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.6}Filesystem Paths}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.7}Splitting Files into Lists and Blob}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.8}Path Lookup Performance}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}IPNS: Naming and Mutable State}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.1}Self-Certified Names}{\thepage }} +\abx@aux@cite{Proquint} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2}Human Friendly Names}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Peer Links}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{DNS TXT IPNS Records}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Proquint Pronounceable Identifiers}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Name Shortening Services}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Using IPFS}{\thepage }} +\abx@aux@cite{FUSE} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {4}The Future}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {5}Acknowledgments}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {6}References TODO}{\thepage }} diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bbl b/ipfs-cap2pfs/ipfs-cap2pfs.bbl index 6b449f8..6d93371 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bbl +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bbl @@ -1,95 +1,398 @@ -\begin{thebibliography}{10} +% $ biblatex auxiliary file $ +% $ biblatex bbl format version 2.5 $ +% Do not modify the above lines! +% +% This is an auxiliary file used by the 'biblatex' package. +% This file may safely be deleted. It will be recreated by +% biber as required. +% +\begingroup +\makeatletter +\@ifundefined{ver@biblatex.sty} + {\@latex@error + {Missing 'biblatex' package} + {The bibliography requires the 'biblatex' package.} + \aftergroup\endinput} + {} +\endgroup -\bibitem{baumgart07} -I.~Baumgart and S.~Mies. -\newblock S/kademlia: A practicable approach towards secure key-based routing. -\newblock In {\em Parallel and Distributed Systems, 2007 International - Conference on}, volume~2, pages 1--8. IEEE, 2007. -\bibitem{BitTorrentUsers} -I.~BitTorrent. -\newblock Bittorrent and µtorrent software surpass 150 million user milestone, - Jan. 2012. +\refsection{0} + \sortlist{nty}{nty} + \entry{baumgart07}{inproceedings}{} + \name{author}{2}{}{% + {{hash=de766501b8d945e9a4b9292bc0dd624c}{Baumgart}{B\bibinitperiod}{Ingmar}{I\bibinitperiod}{}{}{}{}}% + {{hash=089d1d95c0352742c6337b1b5f828d22}{Mies}{M\bibinitperiod}{Sebastian}{S\bibinitperiod}{}{}{}{}}% + } + \list{organization}{1}{% + {IEEE}% + } + \strng{namehash}{383353c18bd261bb39efb51324f13cd8} + \strng{fullhash}{383353c18bd261bb39efb51324f13cd8} + \field{sortinit}{B} + \field{sortinithash}{4ecbea03efd0532989d3836d1a048c32} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{Parallel and Distributed Systems, 2007 International Conference on} + \field{title}{S/kademlia: A practicable approach towards secure key-based routing} + \field{volume}{2} + \field{year}{2007} + \field{pages}{1\bibrangedash 8} + \range{pages}{8} + \endentry + \entry{BitTorrentUsers}{online}{} + \name{author}{1}{}{% + {{hash=3e87d237b1ff15dfe95a0b88b5b7f4db}{BitTorrent}{B\bibinitperiod}{Inc.}{I\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{3e87d237b1ff15dfe95a0b88b5b7f4db} + \strng{fullhash}{3e87d237b1ff15dfe95a0b88b5b7f4db} + \field{sortinit}{B} + \field{sortinithash}{4ecbea03efd0532989d3836d1a048c32} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{month}{01} + \field{title}{{BitTorrent} and {$\mu$Torrent} Software Surpass 150 Million User Milestone} + \field{year}{2012} + \verb{url} + \verb http://www.bittorrent.com/intl/es/company/about/ces_2012_150m_users + \endverb + \endentry + \entry{Camlistore}{online}{} + \field{sortinit}{C} + \field{sortinithash}{59f25d509f3381b07695554a9f35ecb2} + \field{labeltitlesource}{title} + \field{title}{Camlistore} + \verb{url} + \verb http://camlistore.org/ + \endverb + \endentry + \entry{cohen03}{inproceedings}{} + \name{author}{1}{}{% + {{hash=48e49f55c3b1ebfe9cf1954935b19d8d}{Cohen}{C\bibinitperiod}{Bram}{B\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{48e49f55c3b1ebfe9cf1954935b19d8d} + \strng{fullhash}{48e49f55c3b1ebfe9cf1954935b19d8d} + \field{sortinit}{C} + \field{sortinithash}{59f25d509f3381b07695554a9f35ecb2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{Workshop on Economics of Peer-to-Peer systems} + \field{title}{Incentives build robustness in {BitTorrent}} + \field{volume}{6} + \field{year}{2003} + \field{pages}{68\bibrangedash 72} + \range{pages}{5} + \endentry + \entry{CFS}{inproceedings}{} + \name{author}{5}{}{% + {{hash=a86867a939ed2e915233f5e4d031239d}{Dabek}{D\bibinitperiod}{Frank}{F\bibinitperiod}{}{}{}{}}% + {{hash=c4e9f8e102c2895559ca5b01cc81e396}{Kaashoek}{K\bibinitperiod}{M.\bibnamedelimi Frans}{M\bibinitperiod\bibinitdelim F\bibinitperiod}{}{}{}{}}% + {{hash=ca0d40fd2ed3fc314917b42745659849}{Karger}{K\bibinitperiod}{David}{D\bibinitperiod}{}{}{}{}}% + {{hash=e72124f8c830de64524443c1beaf2d5f}{Morris}{M\bibinitperiod}{Robert}{R\bibinitperiod}{}{}{}{}}% + {{hash=51d9ef26181e2e8a9dc546b401e0bb26}{Stoica}{S\bibinitperiod}{Ion}{I\bibinitperiod}{}{}{}{}}% + } + \list{organization}{1}{% + {ACM}% + } + \strng{namehash}{a34845916feb775a23a5655f430a7034} + \strng{fullhash}{a34845916feb775a23a5655f430a7034} + \field{sortinit}{D} + \field{sortinithash}{78f7c4753a2004675f316a80bdb31742} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles} + \field{title}{Wide-area cooperative storage with {CFS}} + \field{year}{2001} + \field{pages}{202\bibrangedash 2015} + \range{pages}{1814} + \endentry + \entry{dean11}{misc}{} + \name{author}{2}{}{% + {{hash=4aecfb0cc2e1e3b7899129fa2a94e2b8}{Dean}{D\bibinitperiod}{Jeffrey}{J\bibinitperiod}{}{}{}{}}% + {{hash=193bcec5240237591ad8fb697869f013}{Ghemawat}{G\bibinitperiod}{Sanjay}{S\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{59b423e9fed33260f87a089f738c1beb} + \strng{fullhash}{59b423e9fed33260f87a089f738c1beb} + \field{sortinit}{D} + \field{sortinithash}{78f7c4753a2004675f316a80bdb31742} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{leveldb--A fast and lightweight key/value database library by {Google}} + \field{year}{2011} + \endentry + \entry{freedman04}{inproceedings}{} + \name{author}{3}{}{% + {{hash=ae60f8c899894c4ba4d90cdf720eaba1}{Freedman}{F\bibinitperiod}{Michael\bibnamedelima J}{M\bibinitperiod\bibinitdelim J\bibinitperiod}{}{}{}{}}% + {{hash=77c6e8ce66f48dda45f356baedf3a101}{Freudenthal}{F\bibinitperiod}{Eric}{E\bibinitperiod}{}{}{}{}}% + {{hash=f74609e259322f9c7b6a2c775a7d8e29}{Mazieres}{M\bibinitperiod}{David}{D\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{374b89106e23b128b3abb6217d560d83} + \strng{fullhash}{374b89106e23b128b3abb6217d560d83} + \field{sortinit}{F} + \field{sortinithash}{c6a7d9913bbd7b20ea954441c0460b78} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{NSDI} + \field{title}{Democratizing Content Publication with {Coral}} + \field{volume}{4} + \field{year}{2004} + \field{pages}{18\bibrangedash 18} + \range{pages}{1} + \endentry + \entry{AFS}{article}{} + \name{author}{7}{}{% + {{hash=d36e5a8f8e8c788234f2149a04e78e92}{Howard}{H\bibinitperiod}{John\bibnamedelima H}{J\bibinitperiod\bibinitdelim H\bibinitperiod}{}{}{}{}}% + {{hash=2cedfe2f49192907b879dc7478722fc6}{Kazar}{K\bibinitperiod}{Michael\bibnamedelima L}{M\bibinitperiod\bibinitdelim L\bibinitperiod}{}{}{}{}}% + {{hash=2afb399a33f9e6cb297b41e5603feb0d}{Menees}{M\bibinitperiod}{Sherri\bibnamedelima G}{S\bibinitperiod\bibinitdelim G\bibinitperiod}{}{}{}{}}% + {{hash=d883f5499dc644c617e31201c78673c6}{Nichols}{N\bibinitperiod}{David\bibnamedelima A}{D\bibinitperiod\bibinitdelim A\bibinitperiod}{}{}{}{}}% + {{hash=dad1fb554e5e561ff7cc2cab41c4bd71}{Satyanarayanan}{S\bibinitperiod}{Mahadev}{M\bibinitperiod}{}{}{}{}}% + {{hash=c6e90a3106dd0716e2e06a97dba8ce22}{Sidebotham}{S\bibinitperiod}{Robert\bibnamedelima N}{R\bibinitperiod\bibinitdelim N\bibinitperiod}{}{}{}{}}% + {{hash=3de3be5e54673a068a1a12c4ab4e5c15}{West}{W\bibinitperiod}{Michael\bibnamedelima J}{M\bibinitperiod\bibinitdelim J\bibinitperiod}{}{}{}{}}% + } + \list{publisher}{1}{% + {ACM}% + } + \strng{namehash}{2244cb55dd9052d34bb79debacb9f5e8} + \strng{fullhash}{2244cb55dd9052d34bb79debacb9f5e8} + \field{sortinit}{H} + \field{sortinithash}{82012198d5dfa657b8c4a168793268a6} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{journaltitle}{ACM Transactions on Computer Systems (TOCS)} + \field{number}{1} + \field{title}{Scale and performance in a distributed file system} + \field{volume}{6} + \field{year}{1988} + \field{pages}{51\bibrangedash 81} + \range{pages}{31} + \endentry + \entry{Oceanstore}{article}{} + \true{moreauthor} + \name{author}{10}{}{% + {{hash=eb3352ded591687a6f8e4143987603fe}{Kubiatowicz}{K\bibinitperiod}{John}{J\bibinitperiod}{}{}{}{}}% + {{hash=ca0e0045640f03b0eb8d1779f669001c}{Bindel}{B\bibinitperiod}{David}{D\bibinitperiod}{}{}{}{}}% + {{hash=b6f25c2ea695f4385f6acab832194dfc}{Chen}{C\bibinitperiod}{Yan}{Y\bibinitperiod}{}{}{}{}}% + {{hash=c4cd509bdb746bfc363d54d2d65fab71}{Czerwinski}{C\bibinitperiod}{Steven}{S\bibinitperiod}{}{}{}{}}% + {{hash=1b40ef08a6ff24c0e863d7f84258d9cc}{Eaton}{E\bibinitperiod}{Patrick}{P\bibinitperiod}{}{}{}{}}% + {{hash=402004a0518170450cfffbbc5b57c4b6}{Geels}{G\bibinitperiod}{Dennis}{D\bibinitperiod}{}{}{}{}}% + {{hash=947f5404783bfc90e41228f77bcbe964}{Gummadi}{G\bibinitperiod}{Ramakrishan}{R\bibinitperiod}{}{}{}{}}% + {{hash=a3365c075d8a9dfec2d10628c3ff8ef2}{Rhea}{R\bibinitperiod}{Sean}{S\bibinitperiod}{}{}{}{}}% + {{hash=73d15e37e8a155b476a31ceaaf0a569f}{Weatherspoon}{W\bibinitperiod}{Hakim}{H\bibinitperiod}{}{}{}{}}% + {{hash=677914c38f79edf457407a0ac011ac56}{Weimer}{W\bibinitperiod}{Westley}{W\bibinitperiod}{}{}{}{}}% + } + \list{publisher}{1}{% + {ACM}% + } + \strng{namehash}{4e94dd93ec5ec40367a3613e33122413} + \strng{fullhash}{d106f0cc4a2b8c17e2114c535119290c} + \field{sortinit}{K} + \field{sortinithash}{a7d5b3aec5a0890aae7baf85a209abfc} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{journaltitle}{ACM Sigplan Notices} + \field{number}{11} + \field{title}{Oceanstore: An architecture for global-scale persistent storage} + \field{volume}{35} + \field{year}{2000} + \field{pages}{190\bibrangedash 201} + \range{pages}{12} + \endentry + \entry{levin08}{inproceedings}{} + \name{author}{4}{}{% + {{hash=625ef8fca1dbc98886f6386ea6b0be9f}{Levin}{L\bibinitperiod}{Dave}{D\bibinitperiod}{}{}{}{}}% + {{hash=f24ae67d7a9d6cf15a92163520154e09}{LaCurts}{L\bibinitperiod}{Katrina}{K\bibinitperiod}{}{}{}{}}% + {{hash=9b584ed96597bc86be7c87234027a521}{Spring}{S\bibinitperiod}{Neil}{N\bibinitperiod}{}{}{}{}}% + {{hash=fbfbd346c570975eb853de0b0a726041}{Bhattacharjee}{B\bibinitperiod}{Bobby}{B\bibinitperiod}{}{}{}{}}% + } + \list{organization}{1}{% + {ACM}% + } + \strng{namehash}{37ebaf35a8d5c1bfd0d17b9743d5132e} + \strng{fullhash}{37ebaf35a8d5c1bfd0d17b9743d5132e} + \field{sortinit}{L} + \field{sortinithash}{872351f18d0f736066eda0bf18bfa4f7} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{ACM SIGCOMM Computer Communication Review} + \field{number}{4} + \field{title}{Bittorrent is an auction: analyzing and improving bittorrent's incentives} + \field{volume}{38} + \field{year}{2008} + \field{pages}{243\bibrangedash 254} + \range{pages}{12} + \endentry + \entry{mashtizadeh13}{inproceedings}{} + \name{author}{4}{}{% + {{hash=497e744a9f375d6d67f4c9c6d5647b67}{Mashtizadeh}{M\bibinitperiod}{Ali\bibnamedelima Jos\'{e}}{A\bibinitperiod\bibinitdelim J\bibinitperiod}{}{}{}{}}% + {{hash=01ee5e97071c7d2f5e0db7dee5c0b65d}{Bittau}{B\bibinitperiod}{Andrea}{A\bibinitperiod}{}{}{}{}}% + {{hash=968761b908c4d8fe41c80edd482fadd2}{Huang}{H\bibinitperiod}{Yifeng\bibnamedelima Frank}{Y\bibinitperiod\bibinitdelim F\bibinitperiod}{}{}{}{}}% + {{hash=f74609e259322f9c7b6a2c775a7d8e29}{Mazieres}{M\bibinitperiod}{David}{D\bibinitperiod}{}{}{}{}}% + } + \list{organization}{1}{% + {ACM}% + } + \strng{namehash}{828c1a29203c3ef5ee31d1cd0047ac82} + \strng{fullhash}{828c1a29203c3ef5ee31d1cd0047ac82} + \field{sortinit}{M} + \field{sortinithash}{2684bec41e9697b92699b46491061da2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles} + \field{title}{Replication, history, and grafting in the {Ori} file system} + \field{year}{2013} + \field{pages}{151\bibrangedash 166} + \range{pages}{16} + \endentry + \entry{maymounkov02}{incollection}{} + \name{author}{2}{}{% + {{hash=221556d7e71e3256de194f3347838327}{Maymounkov}{M\bibinitperiod}{Petar}{P\bibinitperiod}{}{}{}{}}% + {{hash=f74609e259322f9c7b6a2c775a7d8e29}{Mazieres}{M\bibinitperiod}{David}{D\bibinitperiod}{}{}{}{}}% + } + \list{publisher}{1}{% + {Springer}% + } + \strng{namehash}{8301c8fd70416b42b1edda4450fbb598} + \strng{fullhash}{8301c8fd70416b42b1edda4450fbb598} + \field{sortinit}{M} + \field{sortinithash}{2684bec41e9697b92699b46491061da2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{Peer-to-Peer Systems} + \field{title}{Kademlia: A peer-to-peer information system based on the xor metric} + \field{year}{2002} + \field{pages}{53\bibrangedash 65} + \range{pages}{13} + \endentry + \entry{mazieres00}{article}{} + \name{author}{2}{}{% + {{hash=f74609e259322f9c7b6a2c775a7d8e29}{Mazieres}{M\bibinitperiod}{David}{D\bibinitperiod}{}{}{}{}}% + {{hash=bc5efc05b32405c362c66d0d80439218}{Kaashoek}{K\bibinitperiod}{Frans}{F\bibinitperiod}{}{}{}{}}% + } + \list{publisher}{1}{% + {Citeseer}% + } + \strng{namehash}{be7c8a434b5357e71382318729f8eb35} + \strng{fullhash}{be7c8a434b5357e71382318729f8eb35} + \field{sortinit}{M} + \field{sortinithash}{2684bec41e9697b92699b46491061da2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Self-certifying file system} + \field{year}{2000} + \endentry + \entry{mazieres98}{inproceedings}{} + \name{author}{2}{}{% + {{hash=f74609e259322f9c7b6a2c775a7d8e29}{Mazieres}{M\bibinitperiod}{David}{D\bibinitperiod}{}{}{}{}}% + {{hash=bf47e9a89253c3f1c964e6bb221faeb1}{Kaashoek}{K\bibinitperiod}{M\bibnamedelima Frans}{M\bibinitperiod\bibinitdelim F\bibinitperiod}{}{}{}{}}% + } + \list{organization}{1}{% + {ACM}% + } + \strng{namehash}{cd6a0f97408602f4180d65fe24cd188b} + \strng{fullhash}{cd6a0f97408602f4180d65fe24cd188b} + \field{sortinit}{M} + \field{sortinithash}{2684bec41e9697b92699b46491061da2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications} + \field{title}{Escaping the evils of centralized control with self-certifying pathnames} + \field{year}{1998} + \field{pages}{118\bibrangedash 125} + \range{pages}{8} + \endentry + \entry{Dat}{online}{} + \name{author}{1}{}{% + {{hash=e856ccc06edc669a0ee4e98decb88cc5}{Ogden}{O\bibinitperiod}{Max}{M\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{e856ccc06edc669a0ee4e98decb88cc5} + \strng{fullhash}{e856ccc06edc669a0ee4e98decb88cc5} + \field{sortinit}{O} + \field{sortinithash}{7803d2715d5e795e70382b084ab8d00e} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Dat: version, fork, and sync data} + \verb{url} + \verb https://github.com/maxogden/dat + \endverb + \endentry + \entry{ICE}{article}{} + \name{author}{2}{}{% + {{hash=644f478601b58831ccd1039711f1eb6c}{Rosenberg}{R\bibinitperiod}{Jonathan}{J\bibinitperiod}{}{}{}{}}% + {{hash=2386705678087f998d3481281e0a26a8}{Keranen}{K\bibinitperiod}{Ari}{A\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{3cc74c4786ae689d5cdef4529f55a217} + \strng{fullhash}{3cc74c4786ae689d5cdef4529f55a217} + \field{sortinit}{R} + \field{sortinithash}{c7387613477035a752d935acfc3e3ea2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Interactive connectivity establishment (ice): A protocol for network address translator (nat) traversal for offer/answer protocols} + \field{year}{2013} + \endentry + \entry{LEDBAT}{article}{} + \name{author}{4}{}{% + {{hash=70c7c3e67ddcfe1da1cc20006b34b6ca}{Shalunov}{S\bibinitperiod}{Stanislav}{S\bibinitperiod}{}{}{}{}}% + {{hash=ac54c3524dee2249247a9711c08e2d6c}{Hazel}{H\bibinitperiod}{Greg}{G\bibinitperiod}{}{}{}{}}% + {{hash=68857d89a46df851303be12a76ce120a}{Iyengar}{I\bibinitperiod}{Janardhan}{J\bibinitperiod}{}{}{}{}}% + {{hash=7764364f62f072167ba8733ddd9270e7}{Kuehlewind}{K\bibinitperiod}{Mirja}{M\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{e55e8e93296cbf486f3d523ad0b0153c} + \strng{fullhash}{e55e8e93296cbf486f3d523ad0b0153c} + \field{sortinit}{S} + \field{sortinithash}{fd1e7c5ab79596b13dbbb67f8d70fb5a} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{journaltitle}{draft-ietf-ledbat-congestion-04. txt} + \field{title}{Low extra delay background transport ({LEDBAT})} + \field{year}{2010} + \endentry + \entry{SCTP}{book}{} + \name{author}{2}{}{% + {{hash=da0dfda527696bb67a708a09cff2d8e1}{Stewart}{S\bibinitperiod}{Randall\bibnamedelima R}{R\bibinitperiod\bibinitdelim R\bibinitperiod}{}{}{}{}}% + {{hash=a94ad255b0f4cf07a05a7c6cbc1f00ff}{Xie}{X\bibinitperiod}{Qiaobing}{Q\bibinitperiod}{}{}{}{}}% + } + \list{publisher}{1}{% + {Addison-Wesley Longman Publishing Co., Inc.}% + } + \strng{namehash}{adc5268270e7c9fdeaeaa384be6910c0} + \strng{fullhash}{adc5268270e7c9fdeaeaa384be6910c0} + \field{sortinit}{S} + \field{sortinithash}{fd1e7c5ab79596b13dbbb67f8d70fb5a} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Stream control transmission protocol ({SCTP}): a reference guide} + \field{year}{2001} + \endentry + \entry{wang13}{inproceedings}{} + \name{author}{2}{}{% + {{hash=cce05cab2c437e9c128f853684ee3137}{Wang}{W\bibinitperiod}{Liang}{L\bibinitperiod}{}{}{}{}}% + {{hash=e7b03599abff1ed1e25eef05c27ee9c1}{Kangasharju}{K\bibinitperiod}{Jussi}{J\bibinitperiod}{}{}{}{}}% + } + \list{organization}{1}{% + {IEEE}% + } + \strng{namehash}{ef4a79b4ab2f11b2d0e1412f49683cbd} + \strng{fullhash}{ef4a79b4ab2f11b2d0e1412f49683cbd} + \field{sortinit}{W} + \field{sortinithash}{99e3ba1b3f78bb6f073e7fa7ac11636b} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{Peer-to-Peer Computing (P2P), 2013 IEEE Thirteenth International Conference on} + \field{title}{Measuring large-scale distributed systems: case of {BitTorrent Mainline DHT}} + \field{year}{2013} + \field{pages}{1\bibrangedash 10} + \range{pages}{10} + \endentry + \endsortlist + \missing{LBFS} + \missing{FUSE} + \missing{WebRTC} + \missing{RabinFingerprints} + \missing{rsync} + \missing{Plan9} + \missing{Fossil} + \missing{Venti} + \missing{Proquint} +\endrefsection +\endinput -\bibitem{cohen03} -B.~Cohen. -\newblock Incentives build robustness in bittorrent. -\newblock In {\em Workshop on Economics of Peer-to-Peer systems}, volume~6, - pages 68--72, 2003. - -\bibitem{dean11} -J.~Dean and S.~Ghemawat. -\newblock leveldb--a fast and lightweight key/value database library by google, - 2011. - -\bibitem{freedman04} -M.~J. Freedman, E.~Freudenthal, and D.~Mazieres. -\newblock Democratizing content publication with coral. -\newblock In {\em NSDI}, volume~4, pages 18--18, 2004. - -\bibitem{AFS} -J.~H. Howard, M.~L. Kazar, S.~G. Menees, D.~A. Nichols, M.~Satyanarayanan, - R.~N. Sidebotham, and M.~J. West. -\newblock Scale and performance in a distributed file system. -\newblock {\em ACM Transactions on Computer Systems (TOCS)}, 6(1):51--81, 1988. - -\bibitem{Oceanstore} -J.~Kubiatowicz, D.~Bindel, Y.~Chen, S.~Czerwinski, P.~Eaton, D.~Geels, - R.~Gummadi, S.~Rhea, H.~Weatherspoon, W.~Weimer, et~al. -\newblock Oceanstore: An architecture for global-scale persistent storage. -\newblock {\em ACM Sigplan Notices}, 35(11):190--201, 2000. - -\bibitem{levin08} -D.~Levin, K.~LaCurts, N.~Spring, and B.~Bhattacharjee. -\newblock Bittorrent is an auction: analyzing and improving bittorrent's - incentives. -\newblock In {\em ACM SIGCOMM Computer Communication Review}, volume~38, pages - 243--254. ACM, 2008. - -\bibitem{mashtizadeh13} -A.~J. Mashtizadeh, A.~Bittau, Y.~F. Huang, and D.~Mazieres. -\newblock Replication, history, and grafting in the ori file system. -\newblock In {\em Proceedings of the Twenty-Fourth ACM Symposium on Operating - Systems Principles}, pages 151--166. ACM, 2013. - -\bibitem{maymounkov02} -P.~Maymounkov and D.~Mazieres. -\newblock Kademlia: A peer-to-peer information system based on the xor metric. -\newblock In {\em Peer-to-Peer Systems}, pages 53--65. Springer, 2002. - -\bibitem{mazieres00} -D.~Mazieres and F.~Kaashoek. -\newblock Self-certifying file system. -\newblock 2000. - -\bibitem{mazieres98} -D.~Mazieres and M.~F. Kaashoek. -\newblock Escaping the evils of centralized control with self-certifying - pathnames. -\newblock In {\em Proceedings of the 8th ACM SIGOPS European workshop on - Support for composing distributed applications}, pages 118--125. ACM, 1998. - -\bibitem{ICE} -J.~Rosenberg and A.~Keranen. -\newblock Interactive connectivity establishment (ice): A protocol for network - address translator (nat) traversal for offer/answer protocols. -\newblock 2013. - -\bibitem{LEDBAT} -S.~Shalunov, G.~Hazel, J.~Iyengar, and M.~Kuehlewind. -\newblock Low extra delay background transport (ledbat). -\newblock {\em draft-ietf-ledbat-congestion-04. txt}, 2010. - -\bibitem{SCTP} -R.~R. Stewart and Q.~Xie. -\newblock {\em Stream control transmission protocol (SCTP): a reference guide}. -\newblock Addison-Wesley Longman Publishing Co., Inc., 2001. - -\bibitem{wang13} -L.~Wang and J.~Kangasharju. -\newblock Measuring large-scale distributed systems: case of bittorrent - mainline dht. -\newblock In {\em Peer-to-Peer Computing (P2P), 2013 IEEE Thirteenth - International Conference on}, pages 1--10. IEEE, 2013. - -\end{thebibliography} diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bcf b/ipfs-cap2pfs/ipfs-cap2pfs.bcf new file mode 100644 index 0000000..d370384 --- /dev/null +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bcf @@ -0,0 +1,2309 @@ + + + + + + output_encoding + ascii + + + input_encoding + ascii + + + debug + 0 + + + mincrossrefs + 2 + + + sortcase + 1 + + + sortfirstinits + 0 + + + sortupper + 1 + + + + + + + alphaothers + + + + + labelalpha + 0 + + + labelnamespec + shortauthor + author + shorteditor + editor + translator + + + labeltitle + 0 + + + labeltitlespec + shorttitle + title + + + labeltitleyear + 0 + + + labeldate + 0 + + + labeldatespec + date + eventdate + origdate + urldate + nodate + + + maxalphanames + 3 + + + maxbibnames + 99 + + + maxcitenames + 99 + + + maxitems + 3 + + + minalphanames + 1 + + + minbibnames + 1 + + + mincitenames + 1 + + + minitems + 1 + + + singletitle + 0 + + + sortalphaothers + + + + + sortlocale + english + + + sortscheme + nty + + + uniquelist + 0 + + + uniquename + 0 + + + useprefix + 0 + + + useafterword + 1 + + + useannotator + 1 + + + useauthor + 1 + + + usebookauthor + 1 + + + usecommentator + 1 + + + useeditor + 1 + + + useeditora + 1 + + + useeditorb + 1 + + + useeditorc + 1 + + + useforeword + 1 + + + useholder + 1 + + + useintroduction + 1 + + + usenamea + 1 + + + usenameb + 1 + + + usenamec + 1 + + + usetranslator + 0 + + + useshortauthor + 1 + + + useshorteditor + 1 + + + + + alphaothers + sortalphaothers + controlversion + datamodel + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + labelalphatemplate + inheritance + sortscheme + presort + labelnamespec + labeltitlespec + labeldatespec + backend + debug + loadfiles + mincrossrefs + texencoding + bibencoding + safeinputenc + sorting + sortcase + sortupper + sortlos + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxitems + minitems + maxalphanames + minalphanames + terseinits + firstinits + sortfirstinits + abbreviate + dateabbrev + sortlocale + language + clearlang + babel + autolang + indexing + sortcites + hyperref + backref + backrefsetstyle + block + pagetracker + citecounter + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + parentracker + maxparens + date + datelabel + urldate + eventdate + origdate + alldates + datezeros + autocite + notetype + autopunct + punctfont + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldate + labelyear + uniquelist + uniquename + singletitle + defernumbers + refsection + refsegment + citereset + bibwarn + useprefix + defernums + backrefstyle + arxiv + isbn + url + doi + eprint + related + subentry + + + alphaothers + sortalphaothers + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + labelalphatemplate + presort + sortexclusion + labelnamespec + labeltitlespec + labeldatespec + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxitems + minitems + maxalphanames + minalphanames + indexing + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldate + labelyear + uniquelist + uniquename + singletitle + useprefix + skipbib + skiplos + skipbiblist + skiplab + dataonly + + + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + presort + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxitems + minitems + maxalphanames + minalphanames + indexing + uniquelist + uniquename + useprefix + skipbib + skiplos + skipbiblist + skiplab + dataonly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Edited Book + + + + Electronic Article + Journal Article + Magazine Article + Newspaper Article + + + + Patent + Report + Government Document + Legal Rule or Regulation + + + + Blog + Online Database + Online Multimedia + Web Page + + + + Book Section + + + + Book + Electronic Book + Manuscript + Unpublished Work + + + + Conference Paper + Conference Proceedings + + + + Electronic Article + Journal Article + Magazine Article + Newspaper Article + + + + Book Section + + + + Conference Proceedings + periodical + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + shorthand + label + labelname + labelname + + + year + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mm + + presort + + + sortkey + + + sortname + author + editor + translator + sorttitle + title + + + sorttitle + title + + + sortyear + year + + + volume + 0000 + + + + + + article + artwork + audio + bibnote + book + bookinbook + booklet + collection + commentary + customa + customb + customc + customd + custome + customf + inbook + incollection + inproceedings + inreference + image + jurisdiction + legal + legislation + letter + manual + misc + movie + music + mvcollection + mvreference + mvbook + online + patent + performance + periodical + proceedings + reference + report + review + set + software + standard + suppbook + suppcollection + thesis + unpublished + video + xdata + + + month + year + day + endday + endmonth + eventday + eventendday + eventendmonth + eventmonth + eventyear + origday + origendday + origendmonth + origmonth + origyear + urlday + urlendday + urlendmonth + urlmonth + urlyear + abstract + addendum + annotation + booksubtitle + booktitle + booktitleaddon + chapter + edition + eid + entrysubtype + eprintclass + eprinttype + eventtitle + eventtitleaddon + gender + howpublished + indexsorttitle + indextitle + isan + isbn + ismn + isrn + issn + issue + issuesubtitle + issuetitle + iswc + journalsubtitle + journaltitle + label + langid + langidopts + library + mainsubtitle + maintitle + maintitleaddon + nameaddon + note + number + origtitle + pagetotal + part + relatedstring + relatedtype + reprinttitle + series + shorthandintro + subtitle + title + titleaddon + usera + userb + userc + userd + usere + userf + venue + version + volume + volumes + shorthand + shortjournal + shortseries + shorttitle + urlendyear + endyear + eventendyear + origendyear + sorttitle + sortshorthand + sortyear + sortkey + presort + institution + lista + listb + listc + listd + liste + listf + location + organization + origlocation + origpublisher + publisher + afterword + annotator + author + bookauthor + commentator + editor + editora + editorb + editorc + foreword + holder + introduction + namea + nameb + namec + translator + shortauthor + shorteditor + sortname + authortype + editoratype + editorbtype + editorctype + editortype + bookpagination + nameatype + namebtype + namectype + origlanguage + pagination + pubstate + type + language + crossref + xref + date + eventdate + origdate + urldate + doi + eprint + file + verba + verbb + verbc + url + xdata + ids + entryset + related + keywords + options + relatedoptions + pages + execute + + + abstract + annotation + authortype + bookpagination + crossref + entryset + entrysubtype + execute + file + gender + ids + indextitle + indexsorttitle + isan + ismn + iswc + keywords + label + langid + langidopts + library + lista + listb + listc + listd + liste + listf + nameaddon + options + origday + origendday + origendmonth + origendyear + origmonth + origyear + origlocation + origpublisher + origtitle + pagination + presort + related + relatedoptions + relatedstring + relatedtype + shortauthor + shorteditor + shorthand + shorthandintro + shortjournal + shortseries + shorttitle + sortkey + sortname + sortshorthand + sorttitle + sortyear + usera + userb + userc + userd + usere + userf + verba + verbb + verbc + xdata + xref + + + set + entryset + crossref + + + article + author + journaltitle + title + day + endday + endmonth + endyear + month + year + addendum + annotator + commentator + doi + editor + editora + editorb + editorc + editoratype + editorbtype + editorctype + eid + eprint + eprintclass + eprinttype + issn + issue + issuetitle + issuesubtitle + journalsubtitle + language + note + number + origlanguage + pages + pubstate + series + subtitle + titleaddon + translator + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + version + volume + + + bibnote + note + + + book + author + title + day + endday + endmonth + endyear + month + year + addendum + afterword + annotator + chapter + commentator + doi + edition + editor + editora + editorb + editorc + editoratype + editorbtype + editorctype + eprint + eprintclass + eprinttype + foreword + introduction + isbn + language + location + maintitle + maintitleaddon + mainsubtitle + note + number + origlanguage + pages + pagetotal + part + publisher + pubstate + series + subtitle + titleaddon + translator + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + volume + volumes + + + mvbook + author + title + day + endday + endmonth + endyear + month + year + addendum + afterword + annotator + commentator + doi + edition + editor + editora + editorb + editorc + editoratype + editorbtype + editorctype + eprint + eprintclass + eprinttype + foreword + introduction + isbn + language + location + note + number + origlanguage + pagetotal + publisher + pubstate + series + subtitle + titleaddon + translator + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + volume + volumes + + + inbook + bookinbook + suppbook + author + title + booktitle + day + endday + endmonth + endyear + month + year + addendum + afterword + annotator + bookauthor + booksubtitle + booktitleaddon + chapter + commentator + doi + edition + editor + editora + editorb + editorc + editoratype + editorbtype + editorctype + eprint + eprintclass + eprinttype + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + part + publisher + pages + pubstate + series + subtitle + titleaddon + translator + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + volume + volumes + + + booklet + author + editor + title + day + endday + endmonth + endyear + month + year + addendum + chapter + doi + eprint + eprintclass + eprinttype + howpublished + language + location + note + pages + pagetotal + pubstate + subtitle + titleaddon + type + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + + + collection + reference + editor + title + day + endday + endmonth + endyear + month + year + addendum + afterword + annotator + chapter + commentator + doi + edition + editora + editorb + editorc + editoratype + editorbtype + editorctype + eprint + eprintclass + eprinttype + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + pages + pagetotal + part + publisher + pubstate + series + subtitle + titleaddon + translator + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + volume + volumes + + + mvcollection + mvreference + author + title + day + endday + endmonth + endyear + month + year + addendum + afterword + annotator + commentator + doi + edition + editor + editora + editorb + editorc + editoratype + editorbtype + editorctype + eprint + eprintclass + eprinttype + foreword + introduction + isbn + language + location + note + number + origlanguage + publisher + pubstate + subtitle + titleaddon + translator + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + volume + volumes + + + incollection + suppcollection + inreference + author + editor + title + booktitle + day + endday + endmonth + endyear + month + year + addendum + afterword + annotator + booksubtitle + booktitleaddon + chapter + commentator + doi + edition + editora + editorb + editorc + editoratype + editorbtype + editorctype + eprint + eprintclass + eprinttype + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + pages + part + publisher + pubstate + series + subtitle + titleaddon + translator + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + volume + volumes + + + manual + title + day + endday + endmonth + endyear + month + year + addendum + author + chapter + doi + edition + editor + eprint + eprintclass + eprinttype + isbn + language + location + note + number + organization + pages + pagetotal + publisher + pubstate + series + subtitle + titleaddon + type + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + version + + + misc + title + day + endday + endmonth + endyear + day + endday + endmonth + endyear + month + year + addendum + author + doi + editor + eprint + eprintclass + eprinttype + howpublished + language + location + note + organization + pubstate + subtitle + titleaddon + type + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + version + + + online + title + url + addendum + author + editor + language + month + note + organization + pubstate + subtitle + titleaddon + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + version + year + + + patent + author + title + number + day + endday + endmonth + endyear + month + year + addendum + doi + eprint + eprintclass + eprinttype + holder + location + note + pubstate + subtitle + titleaddon + type + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + version + + + periodical + editor + title + day + endday + endmonth + endyear + month + year + addendum + doi + editora + editorb + editorc + editoratype + editorbtype + editorctype + eprint + eprintclass + eprinttype + issn + issue + issuesubtitle + issuetitle + language + note + number + pubstate + series + subtitle + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + volume + + + mvproceedings + editor + title + day + endday + endmonth + endyear + month + year + addendum + doi + eprint + eprintclass + eprinttype + eventday + eventendday + eventendmonth + eventendyear + eventmonth + eventyear + eventtitle + eventtitleaddon + isbn + language + location + note + number + organization + pagetotal + publisher + pubstate + series + subtitle + titleaddon + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + venue + volumes + + + proceedings + editor + title + day + endday + endmonth + endyear + month + year + addendum + chapter + doi + eprint + eprintclass + eprinttype + eventday + eventendday + eventendmonth + eventendyear + eventmonth + eventyear + eventtitle + eventtitleaddon + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + organization + pages + pagetotal + part + publisher + pubstate + series + subtitle + titleaddon + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + venue + volume + volumes + + + inproceedings + author + editor + title + booktitle + day + endday + endmonth + endyear + month + year + addendum + booksubtitle + booktitleaddon + chapter + doi + eprint + eprintclass + eprinttype + eventday + eventendday + eventendmonth + eventendyear + eventmonth + eventyear + eventtitle + eventtitleaddon + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + organization + pages + part + publisher + pubstate + series + subtitle + titleaddon + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + venue + volume + volumes + + + report + author + title + type + institution + day + endday + endmonth + endyear + month + year + addendum + chapter + doi + eprint + eprintclass + eprinttype + isrn + language + location + note + number + pages + pagetotal + pubstate + subtitle + titleaddon + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + version + + + thesis + author + title + type + institution + day + endday + endmonth + endyear + month + year + addendum + chapter + doi + eprint + eprintclass + eprinttype + language + location + note + pages + pagetotal + pubstate + subtitle + titleaddon + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + + + unpublished + author + title + day + endday + endmonth + endyear + month + year + addendum + howpublished + language + location + note + pubstate + subtitle + titleaddon + url + urlday + urlendday + urlendmonth + urlendyear + urlmonth + urlyear + + + article + book + inbook + bookinbook + suppbook + booklet + collection + incollection + suppcollection + manual + misc + mvbook + mvcollection + online + patent + periodical + suppperiodical + proceedings + inproceedings + reference + inreference + report + set + thesis + unpublished + + + date + year + + + + + set + + entryset + crossref + + + + article + + author + journaltitle + title + + + + book + mvbook + mvcollection + mvreference + + author + title + + + + inbook + bookinbook + suppbook + + author + title + booktitle + + + + booklet + + + author + editor + + title + + + + collection + reference + + editor + title + + + + incollection + suppcollection + inreference + + author + editor + title + booktitle + + + + manual + + title + + + + misc + + title + + + + online + + title + url + + + + patent + + author + title + number + + + + periodical + + editor + title + + + + proceedings + mvproceedings + + editor + title + + + + inproceedings + + author + editor + title + booktitle + + + + report + + author + title + type + institution + + + + thesis + + author + title + type + institution + + + + unpublished + + author + title + + + + + isbn + + + issn + + + ismn + + + date + eventdate + origdate + urldate + + + gender + + + + + + + ipfs-cap2pfs.bib + + + AFS + Oceanstore + CFS + BitTorrentUsers + wang13 + Camlistore + Dat + mashtizadeh13 + maymounkov02 + wang13 + freedman04 + freedman04 + baumgart07 + cohen03 + levin08 + mazieres98 + mazieres00 + baumgart07 + WebRTC + LEDBAT + LEDBAT + SCTP + ICE + freedman04 + wang13 + levin08 + levin08 + levin08 + dean11 + RabinFingerprints + LBFS + rsync + Plan9 + Fossil + Venti + LBFS + mazieres98 + mazieres00 + Proquint + FUSE + + + + + presort + + + sortkey + + + sortname + author + editor + translator + sorttitle + title + + + sorttitle + title + + + sortyear + year + + + volume + 0000 + + + + diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.blg b/ipfs-cap2pfs/ipfs-cap2pfs.blg index 9f8cdbc..37ad7a1 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.blg +++ b/ipfs-cap2pfs/ipfs-cap2pfs.blg @@ -1,64 +1,26 @@ -This is BibTeX, Version 0.99d (TeX Live 2014) -Capacity: max_strings=35307, hash_size=35307, hash_prime=30011 -The top-level auxiliary file: ipfs-cap2pfs.aux -The style file: abbrv.bst -Database file #1: ipfs-cap2pfs.bib -Warning--entry type for "BitTorrentUsers" isn't style-file defined ---line 23 of file ipfs-cap2pfs.bib -Warning--I didn't find a database entry for "CFS" -Warning--I didn't find a database entry for "Camlistore" -Warning--I didn't find a database entry for "Dat" -Warning--I didn't find a database entry for "WebRTC" -Warning--I didn't find a database entry for "RabinFingerprints" -Warning--I didn't find a database entry for "LBFS" -Warning--I didn't find a database entry for "rsync" -Warning--I didn't find a database entry for "Plan9" -Warning--I didn't find a database entry for "Fossil" -Warning--I didn't find a database entry for "Venti" -Warning--I didn't find a database entry for "Proquint" -Warning--I didn't find a database entry for "FUSE" -Warning--can't use both volume and number fields in levin08 -Warning--empty journal in mazieres00 -Warning--empty journal in ICE -You've used 16 entries, - 2118 wiz_defined-function locations, - 616 strings with 6732 characters, -and the built_in function-call counts, 6168 in all, are: -= -- 609 -> -- 301 -< -- 12 -+ -- 118 -- -- 102 -* -- 403 -:= -- 977 -add.period$ -- 52 -call.type$ -- 16 -change.case$ -- 97 -chr.to.int$ -- 0 -cite$ -- 19 -duplicate$ -- 249 -empty$ -- 478 -format.name$ -- 102 -if$ -- 1337 -int.to.chr$ -- 0 -int.to.str$ -- 16 -missing$ -- 15 -newline$ -- 81 -num.names$ -- 32 -pop$ -- 131 -preamble$ -- 1 -purify$ -- 82 -quote$ -- 0 -skip$ -- 196 -stack$ -- 0 -substring$ -- 327 -swap$ -- 84 -text.length$ -- 12 -text.prefix$ -- 0 -top$ -- 0 -type$ -- 62 -warning$ -- 3 -while$ -- 60 -width$ -- 18 -write$ -- 176 -(There were 16 warnings) +[2] Config.pm:325> INFO - This is Biber 2.1 +[3] Config.pm:328> INFO - Logfile is 'ipfs-cap2pfs.blg' +[145] biber:276> INFO - === dt nov 10, 2015, 13:32:36 +[146] Biber.pm:334> INFO - Reading 'ipfs-cap2pfs.bcf' +[500] Biber.pm:646> INFO - Found 28 citekeys in bib section 0 +[548] Biber.pm:2978> INFO - Processing section 0 +[595] Biber.pm:3116> INFO - Looking for bibtex format file 'ipfs-cap2pfs.bib' for section 0 +[600] bibtex.pm:1010> INFO - Decoding LaTeX character macros into UTF-8 +[606] bibtex.pm:884> INFO - Found BibTeX data source 'ipfs-cap2pfs.bib' +[718] Utils.pm:146> WARN - I didn't find a database entry for 'WebRTC' (section 0) +[719] Utils.pm:146> WARN - I didn't find a database entry for 'RabinFingerprints' (section 0) +[719] Utils.pm:146> WARN - I didn't find a database entry for 'LBFS' (section 0) +[719] Utils.pm:146> WARN - I didn't find a database entry for 'rsync' (section 0) +[720] Utils.pm:146> WARN - I didn't find a database entry for 'Plan9' (section 0) +[720] Utils.pm:146> WARN - I didn't find a database entry for 'Fossil' (section 0) +[720] Utils.pm:146> WARN - I didn't find a database entry for 'Venti' (section 0) +[721] Utils.pm:146> WARN - I didn't find a database entry for 'Proquint' (section 0) +[721] Utils.pm:146> WARN - I didn't find a database entry for 'FUSE' (section 0) +[1666] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized' +[1667] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable' +[1667] Biber.pm:2855> INFO - Sorting list 'nty' of type 'entry' with scheme 'nty' and locale 'en-US' +[1668] Biber.pm:2859> INFO - No sort tailoring available for locale 'en-US' +[1866] bbl.pm:505> INFO - Writing 'ipfs-cap2pfs.bbl' with encoding 'ascii' +[1879] Utils.pm:146> WARN - The entry 'mashtizadeh13' has characters which cannot be encoded in 'ascii'. Recoding problematic characters into macros. +[1884] bbl.pm:596> INFO - Output to ipfs-cap2pfs.bbl +[1885] Biber.pm:107> INFO - WARNINGS: 10 diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.log b/ipfs-cap2pfs/ipfs-cap2pfs.log index fb27601..a395480 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.log +++ b/ipfs-cap2pfs/ipfs-cap2pfs.log @@ -1,40 +1,40 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=pdflatex 2014.7.13) 24 JUL 2014 04:12 +This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex 2015.10.18) 10 NOV 2015 13:32 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **ipfs-cap2pfs.tex (./ipfs-cap2pfs.tex -LaTeX2e <2014/05/01> -Babel <3.9k> and hyphenation patterns for 21 languages loaded. +LaTeX2e <2015/10/01> patch level 1 +Babel <3.9m> and hyphenation patterns for 2 languages loaded. (./sig-alternate.cls -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/graphics/epsfig.sty +(/usr/share/texlive/texmf-dist/tex/latex/graphics/epsfig.sty Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2014/05/08 v1.15 key=value parser (DPC) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) \KV@toks@=\toks14 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2014/10/28 v1.0p Standard LaTeX Graphics (DPC,SPQR) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/graphics/trig.sty +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty Package: trig 1999/03/16 v1.09 sin cos tan (DPC) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/latexconfig/graphics.cfg +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live ) -Package graphics Info: Driver file: pdftex.def on input line 91. +Package graphics Info: Driver file: pdftex.def on input line 94. -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pdftex-def/pdftex.def +(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/oberdiek/infwarerr.sty +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) ) \Gread@gobject=\count79 @@ -45,10 +45,10 @@ Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) \epsfxsize=\dimen104 \epsfysize=\dimen105 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/amsfonts/amssymb.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty Package: amssymb 2013/01/14 v3.01 AMS font symbols -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/amsfonts/amsfonts.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support \@emptytoks=\toks15 \symAMSa=\mathgroup4 @@ -56,24 +56,24 @@ Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' (Font) U/euf/m/n --> U/euf/b/n on input line 106. )) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/amsmath/amsmath.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty Package: amsmath 2013/01/14 v2.14 AMS math features \@mathmargin=\skip41 For additional information on amsmath, use the `?' option. -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/amsmath/amstext.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty Package: amstext 2000/06/29 v2.01 -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/amsmath/amsgen.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty File: amsgen.sty 1999/11/30 v2.0 \@emptytoks=\toks16 \ex@=\dimen106 )) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/amsmath/amsbsy.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty Package: amsbsy 1999/11/29 v1.2d \pmbraise@=\dimen107 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/amsmath/amsopn.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty Package: amsopn 1999/12/14 v2.01 operator names ) \inf@bad=\count80 @@ -144,11 +144,11 @@ Questions on the style, SIGS policies, etc. to Adrienne Griscti griscti@acm.org \titleboxnoteflag=\count100 Document Class: sig-alternate 2012/05/23 - V2.5 - based on acmproc.cls V1.3 -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/base/latexsym.sty +(/usr/share/texlive/texmf-dist/tex/latex/base/latexsym.sty Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) \symlasy=\mathgroup6 LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' -(Font) U/lasy/m/n --> U/lasy/b/n on input line 47. +(Font) U/lasy/m/n --> U/lasy/b/n on input line 52. ) \@acmtitlebox=\box28 \titlenotecount=\count101 @@ -172,54 +172,48 @@ LaTeX Info: Redefining \cite on input line 1211. \copyrtyr=\toks29 \acmcopyr=\toks30 \boilerplate=\toks31 -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/base/fontenc.sty +(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty Package: fontenc 2005/09/27 v1.99g Standard LaTeX package -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/base/t1enc.def +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file -LaTeX Font Info: Redeclaring font encoding T1 on input line 43. +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. ) -LaTeX Font Info: Try loading font information for T1+aer on input line 100. +LaTeX Font Info: Try loading font information for T1+aer on input line 105. -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/ae/t1aer.fd +(/usr/share/texlive/texmf-dist/tex/latex/ae/t1aer.fd File: t1aer.fd 1997/11/16 Font definitions for T1/aer. ))) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/utilities/pgfutil-comm -on.tex +(/usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex \pgfutil@everybye=\toks32 \pgfutil@tempdima=\dimen123 \pgfutil@tempdimb=\dimen124 -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/utilities/pgfutil-comm -on-lists.tex)) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/utilities/pgfutil-late -x.def +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.t +ex)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def \pgfutil@abb=\box30 - (/usr/local/texlive/2014basic/texmf-dist/tex/latex/ms/everyshi.sty +(/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) )) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code. -tex -Package: pgfrcs 2013/12/20 v3.0.0 (rcs-revision 1.28) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +Package: pgfrcs 2015/08/07 v3.0.1a (rcs-revision 1.31) )) -Package: pgf 2013/12/18 v3.0.0 (rcs-revision 1.14) +Package: pgf 2015/08/07 v3.0.1a (rcs-revision 1.15) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.cod -e.tex -Package: pgfsys 2013/11/30 v3.0.0 (rcs-revision 1.47) +(/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(/usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2014/07/09 v3.0.1a (rcs-revision 1.48) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code -.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex \pgfkeys@pathtoks=\toks33 \pgfkeys@temptoks=\toks34 -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/utilities/pgfkeysfilte -red.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.t +ex \pgfkeys@tmptoks=\toks35 )) \pgf@x=\dimen125 @@ -239,34 +233,31 @@ red.code.tex \t@pgf@toka=\toks36 \t@pgf@tokb=\toks37 \t@pgf@tokc=\toks38 - -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg + (/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg File: pgf.cfg 2008/05/14 (rcs-revision 1.7) ) Driver file for pgf: pgfsys-pdftex.def -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdf -tex.def -File: pgfsys-pdftex.def 2013/07/18 (rcs-revision 1.33) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +File: pgfsys-pdftex.def 2014/10/11 (rcs-revision 1.35) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-com -mon-pdf.def +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.de +f File: pgfsys-common-pdf.def 2013/10/10 (rcs-revision 1.13) ))) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoft -path.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code. +tex File: pgfsyssoftpath.code.tex 2013/09/09 (rcs-revision 1.9) \pgfsyssoftpath@smallbuffer@items=\count113 \pgfsyssoftpath@bigbuffer@items=\count114 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprot -ocol.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code. +tex File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4) -)) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/xcolor/xcolor.sty +)) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/latexconfig/color.cfg +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive ) Package xcolor Info: Driver file: pdftex.def on input line 225. @@ -280,17 +271,13 @@ Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358. Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359. Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360. ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.cod -e.tex -Package: pgfcore 2010/04/11 v3.0.0 (rcs-revision 1.7) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2010/04/11 v3.0.1a (rcs-revision 1.7) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code. -tex -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathutil.code. -tex) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathparser.cod -e.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex \pgfmath@dimen=\dimen133 \pgfmath@count=\count115 \pgfmath@box=\box31 @@ -298,30 +285,28 @@ e.tex \pgfmath@stack@operand=\toks40 \pgfmath@stack@operation=\toks41 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfunctions. -code.tex -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfunctions. -basic.code.tex) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfunctions. -trigonometric.code.tex) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfunctions. -random.code.tex) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfunctions. -comparison.code.tex) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfunctions. -base.code.tex) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfunctions. -round.code.tex) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfunctions. -misc.code.tex) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfunctions. -integerarithmetics.code.tex))) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code -.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code +.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonomet +ric.code.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.cod +e.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison +.code.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code. +tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code +.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code. +tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerari +thmetics.code.tex))) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex \c@pgfmathroundto@lastzeros=\count116 )) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoin -ts.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.te +x File: pgfcorepoints.code.tex 2013/10/07 (rcs-revision 1.27) \pgf@picminx=\dimen134 \pgf@picmaxx=\dimen135 @@ -338,124 +323,114 @@ File: pgfcorepoints.code.tex 2013/10/07 (rcs-revision 1.27) \pgf@zx=\dimen146 \pgf@zy=\dimen147 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepath -construct.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct. +code.tex File: pgfcorepathconstruct.code.tex 2013/10/07 (rcs-revision 1.29) \pgf@path@lastx=\dimen148 \pgf@path@lasty=\dimen149 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepath -usage.code.tex -File: pgfcorepathusage.code.tex 2013/12/13 (rcs-revision 1.23) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code +.tex +File: pgfcorepathusage.code.tex 2014/11/02 (rcs-revision 1.24) \pgf@shorten@end@additional=\dimen150 \pgf@shorten@start@additional=\dimen151 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescop -es.code.tex -File: pgfcorescopes.code.tex 2013/10/09 (rcs-revision 1.44) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.te +x +File: pgfcorescopes.code.tex 2015/05/08 (rcs-revision 1.46) \pgfpic=\box32 \pgf@hbox=\box33 \pgf@layerbox@main=\box34 \pgf@picture@serial@count=\count117 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregrap -hicstate.code.tex -File: pgfcoregraphicstate.code.tex 2013/09/19 (rcs-revision 1.11) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.c +ode.tex +File: pgfcoregraphicstate.code.tex 2014/11/02 (rcs-revision 1.12) \pgflinewidth=\dimen152 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretran -sformations.code.tex -File: pgfcoretransformations.code.tex 2013/10/10 (rcs-revision 1.17) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformation +s.code.tex +File: pgfcoretransformations.code.tex 2015/08/07 (rcs-revision 1.20) \pgf@pt@x=\dimen153 \pgf@pt@y=\dimen154 \pgf@pt@temp=\dimen155 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequic -k.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex File: pgfcorequick.code.tex 2008/10/09 (rcs-revision 1.3) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobje -cts.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.t +ex File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepath -processing.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing +.code.tex File: pgfcorepathprocessing.code.tex 2013/09/09 (rcs-revision 1.9) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearro -ws.code.tex -File: pgfcorearrows.code.tex 2013/11/07 (rcs-revision 1.40) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.te +x +File: pgfcorearrows.code.tex 2015/05/14 (rcs-revision 1.43) \pgfarrowsep=\dimen156 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshad -e.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex File: pgfcoreshade.code.tex 2013/07/15 (rcs-revision 1.15) \pgf@max=\dimen157 \pgf@sys@shading@range@num=\count118 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimag -e.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex File: pgfcoreimage.code.tex 2013/07/15 (rcs-revision 1.18) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexte -rnal.code.tex -File: pgfcoreexternal.code.tex 2013/07/15 (rcs-revision 1.20) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code. +tex +File: pgfcoreexternal.code.tex 2014/07/09 (rcs-revision 1.21) \pgfexternal@startupbox=\box35 )) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelaye -rs.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.te +x File: pgfcorelayers.code.tex 2013/07/18 (rcs-revision 1.7) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretran -sparency.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.c +ode.tex File: pgfcoretransparency.code.tex 2013/09/30 (rcs-revision 1.5) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatt -erns.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code. +tex File: pgfcorepatterns.code.tex 2013/11/07 (rcs-revision 1.5) ))) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/modules/pgfmoduleshape -s.code.tex -File: pgfmoduleshapes.code.tex 2013/10/31 (rcs-revision 1.34) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2014/03/21 (rcs-revision 1.35) \pgfnodeparttextbox=\box36 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2015/08/03 (rcs-revision 1.13) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot. -code.tex -File: pgfmoduleplot.code.tex 2013/07/31 (rcs-revision 1.12) -) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-ve -rsion-0-65.sty -Package: pgfcomp-version-0-65 2007/07/03 v3.0.0 (rcs-revision 1.7) +(/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65 +.sty +Package: pgfcomp-version-0-65 2007/07/03 v3.0.1a (rcs-revision 1.7) \pgf@nodesepstart=\dimen158 \pgf@nodesepend=\dimen159 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-ve -rsion-1-18.sty -Package: pgfcomp-version-1-18 2007/07/23 v3.0.0 (rcs-revision 1.1) -)) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/utilities/pgffor.sty -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code -.tex)) (/usr/local/texlive/2014basic/texmf-dist/tex/latex/pgf/math/pgfmath.sty -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) -) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/utilities/pgffor.code. -tex -Package: pgffor 2013/12/13 v3.0.0 (rcs-revision 1.25) - -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +(/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18 +.sty +Package: pgfcomp-version-1-18 2007/07/23 v3.0.1a (rcs-revision 1.1) +)) (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) +(/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2013/12/13 v3.0.1a (rcs-revision 1.25) + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) \pgffor@iter=\dimen160 \pgffor@skip=\dimen161 \pgffor@stack=\toks42 \pgffor@toks=\toks43 )) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tik -z.code.tex -Package: tikz 2013/12/13 v3.0.0 (rcs-revision 1.142) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2015/08/07 v3.0.1a (rcs-revision 1.151) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/libraries/pgflibrarypl -othandlers.code.tex -File: pgflibraryplothandlers.code.tex 2013/08/31 v3.0.0 (rcs-revision 1.20) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers +.code.tex +File: pgflibraryplothandlers.code.tex 2013/08/31 v3.0.1a (rcs-revision 1.20) \pgf@plot@mark@count=\count119 \pgfplotmarksize=\dimen162 ) @@ -474,8 +449,7 @@ File: pgflibraryplothandlers.code.tex 2013/08/31 v3.0.0 (rcs-revision 1.20) \tikznumberofcurrentchild=\count122 \tikz@fig@count=\count123 -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/modules/pgfmodulematri -x.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex File: pgfmodulematrix.code.tex 2013/09/17 (rcs-revision 1.8) \pgfmatrixcurrentrow=\count124 \pgfmatrixcurrentcolumn=\count125 @@ -483,54 +457,56 @@ File: pgfmodulematrix.code.tex 2013/09/17 (rcs-revision 1.8) ) \tikz@expandcount=\count127 -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/frontendlayer/tikz/lib -raries/tikzlibrarytopaths.code.tex -File: tikzlibrarytopaths.code.tex 2008/06/17 v3.0.0 (rcs-revision 1.2) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik +zlibrarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2008/06/17 v3.0.1a (rcs-revision 1.2) ))) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/frontendlayer/tikz/lib -raries/tikzlibraryarrows.code.tex -File: tikzlibraryarrows.code.tex 2008/01/09 v3.0.0 (rcs-revision 1.1) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik +zlibraryarrows.code.tex +File: tikzlibraryarrows.code.tex 2008/01/09 v3.0.1a (rcs-revision 1.1) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/libraries/pgflibraryar -rows.code.tex -File: pgflibraryarrows.code.tex 2013/09/23 v3.0.0 (rcs-revision 1.16) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code. +tex +File: pgflibraryarrows.code.tex 2013/09/23 v3.0.1a (rcs-revision 1.16) \arrowsize=\dimen169 )) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/frontendlayer/tikz/lib -raries/tikzlibrarytrees.code.tex -File: tikzlibrarytrees.code.tex 2008/02/24 v3.0.0 (rcs-revision 1.2) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik +zlibrarytrees.code.tex +File: tikzlibrarytrees.code.tex 2008/02/24 v3.0.1a (rcs-revision 1.2) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/pgf/frontendlayer/tikz/lib -raries/tikzlibrarypositioning.code.tex -File: tikzlibrarypositioning.code.tex 2008/10/06 v3.0.0 (rcs-revision 1.7) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik +zlibrarypositioning.code.tex +File: tikzlibrarypositioning.code.tex 2008/10/06 v3.0.1a (rcs-revision 1.7) ) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/tools/array.sty -Package: array 2008/09/09 v2.4c Tabular extension package (FMi) +(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty +Package: array 2014/10/28 v2.4c Tabular extension package (FMi) \col@sep=\dimen170 \extrarowheight=\dimen171 \NC@list=\toks44 \extratabsurround=\skip44 \backup@length=\skip45 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/mh/mathtools.sty -Package: mathtools 2014/05/21 v1.14 mathematical typesetting tools +(/usr/share/texlive/texmf-dist/tex/latex/mathtools/mathtools.sty +Package: mathtools 2015/06/17 v1.17 mathematical typesetting tools -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/tools/calc.sty -Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ) +(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2014/10/28 v4.3 Infix arithmetic (KKT,FJ) \calc@Acount=\count128 \calc@Bcount=\count129 \calc@Adimen=\dimen172 \calc@Bdimen=\dimen173 \calc@Askip=\skip46 \calc@Bskip=\skip47 -LaTeX Info: Redefining \setlength on input line 75. -LaTeX Info: Redefining \addtolength on input line 76. +LaTeX Info: Redefining \setlength on input line 80. +LaTeX Info: Redefining \addtolength on input line 81. \calc@Ccount=\count130 \calc@Cskip=\skip48 ) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/mh/mhsetup.sty +(/usr/share/texlive/texmf-dist/tex/latex/mathtools/mhsetup.sty Package: mhsetup 2010/01/21 v1.2a programming setup (MH) ) +LaTeX Info: Thecontrolsequence`\('isalreadyrobust on input line 129. +LaTeX Info: Thecontrolsequence`\)'isalreadyrobust on input line 129. LaTeX Info: Thecontrolsequence`\['isalreadyrobust on input line 129. LaTeX Info: Thecontrolsequence`\]'isalreadyrobust on input line 129. \g_MT_multlinerow_int=\count131 @@ -543,44 +519,291 @@ LaTeX Info: Thecontrolsequence`\]'isalreadyrobust on input line 129. \l_MT_above_shortintertext_sep=\dimen179 \l_MT_below_shortintertext_sep=\dimen180 ) +(/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty +Package: biblatex 2015/04/19 v3.0 programmable bibliographies (PK/JW/AB) + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex2.sty +Package: biblatex2 2015/04/19 v3.0 programmable bibliographies (biber) (PK/JW/A +B) + +(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2015/08/02 v2.2a e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count132 +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +(/usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.sty +Package: logreq 2010/08/04 v1.0 xml request logger +\lrq@indent=\count133 + +(/usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.def +File: logreq.def 2010/08/04 v1.0 logreq spec v1.0 +)) +(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip11 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +\c@tabx@nest=\count134 +\c@listtotal=\count135 +\c@listcount=\count136 +\c@liststart=\count137 +\c@liststop=\count138 +\c@citecount=\count139 +\c@citetotal=\count140 +\c@multicitecount=\count141 +\c@multicitetotal=\count142 +\c@instcount=\count143 +\c@maxnames=\count144 +\c@minnames=\count145 +\c@maxitems=\count146 +\c@minitems=\count147 +\c@citecounter=\count148 +\c@savedcitecounter=\count149 +\c@uniquelist=\count150 +\c@uniquename=\count151 +\c@refsection=\count152 +\c@refsegment=\count153 +\c@maxextratitle=\count154 +\c@maxextratitleyear=\count155 +\c@maxextrayear=\count156 +\c@maxextraalpha=\count157 +\c@abbrvpenalty=\count158 +\c@highnamepenalty=\count159 +\c@lownamepenalty=\count160 +\c@maxparens=\count161 +\c@parenlevel=\count162 +\blx@tempcnta=\count163 +\blx@tempcntb=\count164 +\blx@tempcntc=\count165 +\blx@maxsection=\count166 +\blx@maxsegment@0=\count167 +\blx@notetype=\count168 +\blx@parenlevel@text=\count169 +\blx@parenlevel@foot=\count170 +\blx@sectionciteorder@0=\count171 +\labelnumberwidth=\skip50 +\labelalphawidth=\skip51 +\biblabelsep=\skip52 +\bibitemsep=\skip53 +\bibnamesep=\skip54 +\bibinitsep=\skip55 +\bibparsep=\skip56 +\bibhang=\skip57 +\blx@bcfin=\read2 +\blx@bcfout=\write4 +\c@mincomprange=\count172 +\c@maxcomprange=\count173 +\c@mincompwidth=\count174 +Package biblatex Info: Trying to load biblatex default data model... +Package biblatex Info: ... file 'blx-dm.def' found. + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-dm.def) +Package biblatex Info: Trying to load biblatex style data model... +Package biblatex Info: ... file 'trad-abbrv.dbx' not found. +Package biblatex Info: Trying to load biblatex custom data model... +Package biblatex Info: ... file 'biblatex-dm.cfg' not found. +\c@afterword=\count175 +\c@savedafterword=\count176 +\c@annotator=\count177 +\c@savedannotator=\count178 +\c@author=\count179 +\c@savedauthor=\count180 +\c@bookauthor=\count181 +\c@savedbookauthor=\count182 +\c@commentator=\count183 +\c@savedcommentator=\count184 +\c@editor=\count185 +\c@savededitor=\count186 +\c@editora=\count187 +\c@savededitora=\count188 +\c@editorb=\count189 +\c@savededitorb=\count190 +\c@editorc=\count191 +\c@savededitorc=\count192 +\c@foreword=\count193 +\c@savedforeword=\count194 +\c@holder=\count195 +\c@savedholder=\count196 +\c@introduction=\count197 +\c@savedintroduction=\count198 +\c@namea=\count199 +\c@savednamea=\count266 +\c@nameb=\count267 +\c@savednameb=\count268 +\c@namec=\count269 +\c@savednamec=\count270 +\c@translator=\count271 +\c@savedtranslator=\count272 +\c@shortauthor=\count273 +\c@savedshortauthor=\count274 +\c@shorteditor=\count275 +\c@savedshorteditor=\count276 +\c@labelname=\count277 +\c@savedlabelname=\count278 +\c@institution=\count279 +\c@savedinstitution=\count280 +\c@lista=\count281 +\c@savedlista=\count282 +\c@listb=\count283 +\c@savedlistb=\count284 +\c@listc=\count285 +\c@savedlistc=\count286 +\c@listd=\count287 +\c@savedlistd=\count288 +\c@liste=\count289 +\c@savedliste=\count290 +\c@listf=\count291 +\c@savedlistf=\count292 +\c@location=\count293 +\c@savedlocation=\count294 +\c@organization=\count295 +\c@savedorganization=\count296 +\c@origlocation=\count297 +\c@savedoriglocation=\count298 +\c@origpublisher=\count299 +\c@savedorigpublisher=\count300 +\c@publisher=\count301 +\c@savedpublisher=\count302 +\c@language=\count303 +\c@savedlanguage=\count304 +\c@pageref=\count305 +\c@savedpageref=\count306 +\shorthandwidth=\skip58 +\shortjournalwidth=\skip59 +\shortserieswidth=\skip60 +\shorttitlewidth=\skip61 +\shortauthorwidth=\skip62 +\shorteditorwidth=\skip63 +Package biblatex Info: Trying to load compatibility code... +Package biblatex Info: ... file 'blx-compat.def' found. + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-compat.def +File: blx-compat.def 2015/04/19 v3.0 biblatex compatibility (PK/JW/AB) +) +Package biblatex Info: Trying to load generic definitions... +Package biblatex Info: ... file 'biblatex.def' found. + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.def +File: biblatex.def +\c@textcitecount=\count307 +\c@textcitetotal=\count308 +\c@textcitemaxnames=\count309 +\c@biburlnumpenalty=\count310 +\c@biburlucpenalty=\count311 +\c@biburllcpenalty=\count312 +\c@smartand=\count313 + + +Package biblatex Warning: Redefining '\citeyear'. + +) +Package biblatex Info: Trying to load bibliography style 'trad-abbrv'... +Package biblatex Info: ... file 'trad-abbrv.bbx' found. + (/usr/share/texlive/texmf-dist/tex/latex/biblatex-trad/bbx/trad-abbrv.bbx +File: trad-abbrv.bbx 2012/09/29 +Package biblatex Info: Trying to load bibliography style 'trad-standard'... +Package biblatex Info: ... file 'trad-standard.bbx' found. + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex-trad/bbx/trad-standard.bbx +File: trad-standard.bbx 2012/09/29 +Package biblatex Info: Trying to load bibliography style 'standard'... +Package biblatex Info: ... file 'standard.bbx' found. + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/standard.bbx +File: standard.bbx 2015/04/19 v3.0 biblatex bibliography style (PK/JW/AB) +\c@bbx:relatedcount=\count314 +\c@bbx:relatedtotal=\count315 +))) +Package biblatex Info: Trying to load citation style 'trad-abbrv'... +Package biblatex Info: ... file 'trad-abbrv.cbx' found. + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex-trad/cbx/trad-abbrv.cbx +File: trad-abbrv.cbx 2012/09/29 +Package biblatex Info: Trying to load citation style 'numeric'... +Package biblatex Info: ... file 'numeric.cbx' found. + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx +File: numeric.cbx 2015/04/19 v3.0 biblatex citation style (PK/JW/AB) +Package biblatex Info: Redefining '\cite'. +Package biblatex Info: Redefining '\parencite'. +Package biblatex Info: Redefining '\footcite'. +Package biblatex Info: Redefining '\footcitetext'. +Package biblatex Info: Redefining '\smartcite'. +Package biblatex Info: Redefining '\supercite'. +Package biblatex Info: Redefining '\textcite'. +Package biblatex Info: Redefining '\textcites'. +Package biblatex Info: Redefining '\cites'. +Package biblatex Info: Redefining '\parencites'. +Package biblatex Info: Redefining '\smartcites'. +)) +Package biblatex Info: Trying to load configuration file... +Package biblatex Info: ... file 'biblatex.cfg' found. + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.cfg +File: biblatex.cfg +))) +Package biblatex Info: Trying to load language 'english'... +Package biblatex Info: ... file 'english.lbx' found. + +(/usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/english.lbx +File: english.lbx 2015/04/19 v3.0 biblatex localization (PK/JW/AB) +) +\@quotelevel=\count316 +\@quotereset=\count317 + (./ipfs-cap2pfs.aux) \openout1 = `ipfs-cap2pfs.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. - -(/usr/local/texlive/2014basic/texmf-dist/tex/context/base/supp-pdf.mkii +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 17. +LaTeX Font Info: ... okay on input line 17. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 17. +LaTeX Font Info: ... okay on input line 17. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 17. +LaTeX Font Info: ... okay on input line 17. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 17. +LaTeX Font Info: ... okay on input line 17. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 17. +LaTeX Font Info: ... okay on input line 17. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 17. +LaTeX Font Info: ... okay on input line 17. + +(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count132 +\scratchcounter=\count318 \scratchdimen=\dimen181 \scratchbox=\box41 -\nofMPsegments=\count133 -\nofMParguments=\count134 +\nofMPsegments=\count319 +\nofMParguments=\count320 \everyMPshowfont=\toks45 -\MPscratchCnt=\count135 +\MPscratchCnt=\count321 \MPscratchDim=\dimen182 -\MPnumerator=\count136 -\makeMPintoPDFobject=\count137 +\MPnumerator=\count322 +\makeMPintoPDFobject=\count323 \everyMPtoPDFconversion=\toks46 -) (/usr/local/texlive/2014basic/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO ) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/oberdiek/ifluatex.sty -Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) -Package ifluatex Info: LuaTeX not detected. -) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/oberdiek/ifpdf.sty +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) Package ifpdf Info: pdfTeX in PDF mode is detected. ) @@ -589,119 +812,156 @@ Package pdftexcmds Info: \pdf@primitive is available. Package pdftexcmds Info: \pdf@ifprimitive is available. Package pdftexcmds Info: \pdfdraftmode found. ) -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/oberdiek/grfext.sty +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) -)) (/usr/local/texlive/2014basic/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) - -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) - -(/usr/local/texlive/2014basic/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) -Package etexcmds Info: Could not find \expanded. -(etexcmds) That can mean that you are not using pdfTeX 1.50 or -(etexcmds) that some package has redefined \expanded. -(etexcmds) In the latter case, load this package earlier. -))) +)) Package grfext Info: Graphics extension search list: (grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE G,.JBIG2,.JB2,.eps] (grfext) \AppendGraphicsExtensions on input line 452. -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv e -)) ABD: EveryShipout initializing macros -LaTeX Font Info: Try loading font information for U+msa on input line 26. +)) +ABD: EveryShipout initializing macros +Package biblatex Info: No input encoding detected. +(biblatex) Assuming 'ascii'. +Package biblatex Info: Automatic encoding selection. +(biblatex) Assuming data encoding 'ascii'. +\openout4 = `ipfs-cap2pfs.bcf'. -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Try loading font information for U+msb on input line 26. +Package biblatex Info: Trying to load bibliographic data... +Package biblatex Info: ... file 'ipfs-cap2pfs.bbl' found. + (./ipfs-cap2pfs.bbl -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) -LaTeX Font Info: Try loading font information for U+lasy on input line 26. +Package biblatex Warning: The following entry could not be found +(biblatex) in the database: +(biblatex) LBFS +(biblatex) Please verify the spelling and rerun +(biblatex) LaTeX afterwards. -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/base/ulasy.fd -File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions -) -LaTeX Warning: Citation `CFS' on page \thepage undefined on input line 33. +Package biblatex Warning: The following entry could not be found +(biblatex) in the database: +(biblatex) FUSE +(biblatex) Please verify the spelling and rerun +(biblatex) LaTeX afterwards. + + +Package biblatex Warning: The following entry could not be found +(biblatex) in the database: +(biblatex) WebRTC +(biblatex) Please verify the spelling and rerun +(biblatex) LaTeX afterwards. + +Package biblatex Warning: The following entry could not be found +(biblatex) in the database: +(biblatex) RabinFingerprints +(biblatex) Please verify the spelling and rerun +(biblatex) LaTeX afterwards. -LaTeX Warning: Citation `Camlistore' on page \thepage undefined on input line -39. +Package biblatex Warning: The following entry could not be found +(biblatex) in the database: +(biblatex) rsync +(biblatex) Please verify the spelling and rerun +(biblatex) LaTeX afterwards. -LaTeX Warning: Citation `Dat' on page \thepage undefined on input line 39. -[1{/usr/local/texlive/2014basic/texmf-var/fonts/map/pdftex/updmap/pdftex.map} +Package biblatex Warning: The following entry could not be found +(biblatex) in the database: +(biblatex) Plan9 +(biblatex) Please verify the spelling and rerun +(biblatex) LaTeX afterwards. + + +Package biblatex Warning: The following entry could not be found +(biblatex) in the database: +(biblatex) Fossil +(biblatex) Please verify the spelling and rerun +(biblatex) LaTeX afterwards. + + +Package biblatex Warning: The following entry could not be found +(biblatex) in the database: +(biblatex) Venti +(biblatex) Please verify the spelling and rerun +(biblatex) LaTeX afterwards. + + +Package biblatex Warning: The following entry could not be found +(biblatex) in the database: +(biblatex) Proquint +(biblatex) Please verify the spelling and rerun +(biblatex) LaTeX afterwards. + +) +Package biblatex Info: Reference section=0 on input line 17. +Package biblatex Info: Reference segment=0 on input line 17. +LaTeX Font Info: Try loading font information for U+msa on input line 30. + (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Try loading font information for U+msb on input line 30. + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Try loading font information for U+lasy on input line 30. + +(/usr/share/texlive/texmf-dist/tex/latex/base/ulasy.fd +File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions +) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} ] -LaTeX Font Info: Try loading font information for T1+aett on input line 88. +LaTeX Font Info: Try loading font information for T1+aett on input line 92. -(/usr/local/texlive/2014basic/texmf-dist/tex/latex/ae/t1aett.fd +(/usr/share/texlive/texmf-dist/tex/latex/ae/t1aett.fd File: t1aett.fd 1997/11/16 Font definitions for T1/aett. ) -Overfull \hbox (3.61647pt too wide) in paragraph at lines 95--100 -\T1/aer/m/n/9 ``find-ing nearby data with-out query-ing dis-tant nodes'' [5] +Overfull \hbox (3.61647pt too wide) in paragraph at lines 99--104 +\T1/aer/m/n/9 ``find-ing nearby data with-out query-ing dis-tant nodes'' [7] [] -Overfull \hbox (6.5502pt too wide) in paragraph at lines 128--130 -\T1/aer/m/n/9 ex-ploita-tive band-width shar-ing strate-gies. Prop-Share [8] +Overfull \hbox (11.16713pt too wide) in paragraph at lines 132--134 +\T1/aer/m/n/9 ex-ploita-tive band-width shar-ing strate-gies. Prop-Share [10] [] -Overfull \hbox (4.33636pt too wide) in paragraph at lines 135--136 +Overfull \hbox (4.33636pt too wide) in paragraph at lines 139--140 \T1/aer/m/n/9 chang-ing over time and dis-tribute dif-fer-ent ver-sions ef-fi-c iently. [] [2] -Overfull \hbox (1.62833pt too wide) in paragraph at lines 176--177 +Overfull \hbox (1.62833pt too wide) in paragraph at lines 180--181 []\T1/aer/bx/n/9 Exchange \T1/aer/m/n/9 - a novel block ex-change pro-to-col (B itSwap) [] -Underfull \hbox (badness 1132) in paragraph at lines 194--194 +Underfull \hbox (badness 1132) in paragraph at lines 198--198 [][]\T1/aer/m/n/9 Throughout this doc-u-ment, \T1/aer/m/it/9 hash \T1/aer/m/n/9 and \T1/aer/m/it/9 check-sum \T1/aer/m/n/9 re-fer [] -Overfull \hbox (9.94414pt too wide) in paragraph at lines 222--222 +Overfull \hbox (9.94414pt too wide) in paragraph at lines 226--226 [] \T1/aett/m/n/9 p = count_preceding_zero_bits(hash(n.NodeId))[] [] - -Overfull \hbox (3.7414pt too wide) in paragraph at lines 237--238 -[]\T1/aer/m/n/9 IPFS nodes com-mu-ni-cate regualarly with hun-dreds of other - [] - - -LaTeX Warning: Citation `WebRTC' on page \thepage undefined on input line 240. - - [3] -Overfull \hbox (1.94928pt too wide) in paragraph at lines 333--334 -\T1/aer/m/n/9 possible), to Bit-Thief [8] (ex-ploit-ing a vul-ner-a-bil-ity and - never - [] - - -Overfull \hbox (2.86789pt too wide) in paragraph at lines 338--340 +Overfull \hbox (2.86789pt too wide) in paragraph at lines 342--344 []\T1/aer/m/n/9 be ef-fec-tive with and re-sis-tant to other, un-known strate- [] @@ -711,70 +971,70 @@ runsystem(gnuplot ipfs-cap2pfs.pgf-plot.gnuplot)...disabled (restricted). Package pgf Warning: Plot data file `ipfs-cap2pfs.pgf-plot.table' not found. on - input line 369. + input line 373. -Overfull \hbox (1.67198pt too wide) in paragraph at lines 376--387 +Overfull \hbox (1.67198pt too wide) in paragraph at lines 380--391 \T1/aer/m/n/9 as the nodes' \T1/aer/m/it/9 debt ra-tio \T1/aer/m/n/9 sur-passes twice the es-tab-lished credit. [] [4] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 470--470 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 474--474 [] \T1/aett/m/n/9 send_block (block :Block) -> (complete :Bool);[] [] -Overfull \hbox (4.7758pt too wide) in paragraph at lines 496--502 +Overfull \hbox (4.7758pt too wide) in paragraph at lines 500--506 \T1/aett/m/n/9 last_seen \T1/aer/m/n/9 times-tamp. Then, it com-pares the re-ce ived \T1/aett/m/n/9 Ledger [] -Overfull \hbox (13.81113pt too wide) in paragraph at lines 506--510 +Overfull \hbox (13.81113pt too wide) in paragraph at lines 510--514 []\T1/aer/m/n/9 While the con-nec-tion is open, nodes ad-ver-tise their \T1/aet t/m/n/9 want_list [] [5] -Overfull \hbox (4.14857pt too wide) in paragraph at lines 616--616 +Overfull \hbox (4.14857pt too wide) in paragraph at lines 620--620 []\T1/aett/m/n/9 XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x 189458 less[] [] -Overfull \hbox (8.8645pt too wide) in paragraph at lines 616--616 +Overfull \hbox (8.8645pt too wide) in paragraph at lines 620--620 []\T1/aett/m/n/9 XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5 19441 script[] [] -Overfull \hbox (13.58043pt too wide) in paragraph at lines 616--616 +Overfull \hbox (13.58043pt too wide) in paragraph at lines 620--620 []\T1/aett/m/n/9 XLF4hwVHsVuZ78FZK6fozf8Jj9WEURMbCX4 5286 template[] [] -Overfull \hbox (8.43875pt too wide) in paragraph at lines 618--619 +Overfull \hbox (8.43875pt too wide) in paragraph at lines 622--623 []\T1/aer/m/n/9 Resolve string path lookups, such as \T1/aett/m/n/9 foo/bar/baz \T1/aer/m/n/9 . Given [] [6] [7] -Overfull \hbox (1.43738pt too wide) in paragraph at lines 750--755 +Overfull \hbox (1.43738pt too wide) in paragraph at lines 754--759 \T1/aer/m/n/9 made up of sev-eral IPFS \T1/aett/m/n/9 blobs \T1/aer/m/n/9 con-c ate-nated to-gether. \T1/aett/m/n/9 lists [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 770--770 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 774--774 [] \T1/aett/m/n/9 { "hash": "XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 770--770 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 774--774 [] \T1/aett/m/n/9 { "hash": "XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 770--770 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 774--774 [] \T1/aett/m/n/9 { "hash": "XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z",[] [] @@ -784,120 +1044,125 @@ Missing character: There is no ; in font nullfont! Missing character: There is no ; in font nullfont! Missing character: There is no ; in font nullfont! -Overfull \hbox (5.22821pt too wide) in paragraph at lines 874--874 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 878--878 [] \T1/aett/m/n/9 { "hash": "XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 874--874 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 878--878 [] \T1/aett/m/n/9 { "hash": "XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 874--874 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 878--878 [] \T1/aett/m/n/9 { "hash": "XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 897--897 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 901--901 [] \T1/aett/m/n/9 { "hash": "XLa1qMBKiSEEDhojb9FFZ4tEvLf7FEQdhdU",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 897--897 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 901--901 [] \T1/aett/m/n/9 { "hash": "XLGw74KAy9junbh28x7ccWov9inu1Vo7pnX",[] [] [8] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 897--897 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 901--901 [] \T1/aett/m/n/9 { "hash": "XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm",[] [] -LaTeX Warning: Citation `RabinFingerprints' on page \thepage undefined on inpu -t line 921. - - -LaTeX Warning: Citation `LBFS' on page \thepage undefined on input line 921. - - -LaTeX Warning: Citation `rsync' on page \thepage undefined on input line 922. - - -Overfull \hbox (8.9342pt too wide) in paragraph at lines 938--942 +Overfull \hbox (8.9342pt too wide) in paragraph at lines 942--946 []\T1/aer/bx/n/9 flattened trees\T1/aer/m/n/9 : for any given \T1/aett/m/n/9 tr ee\T1/aer/m/n/9 , a spe-cial \T1/aett/m/n/9 flattened [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 964--964 +Overfull \hbox (5.22821pt too wide) in paragraph at lines 968--968 [] \T1/aett/m/n/9 "name": "ttt333-name/lll111-name/bbb222-name" },[] [] +[9] +Overfull \hbox (9.94414pt too wide) in paragraph at lines 1059--1059 +[]\T1/aett/m/n/9 ipfs link //friends/bob /[] + [] -LaTeX Warning: Citation `Plan9' on page \thepage undefined on input line 979. +Overfull \hbox (14.66006pt too wide) in paragraph at lines 1059--1059 +[]\T1/aett/m/n/9 ipfs link /[] + [] -LaTeX Warning: Citation `Fossil' on page \thepage undefined on input line 979. +Overfull \hbox (3.25519pt too wide) in paragraph at lines 1106--1107 +[]\T1/aer/m/n/9 As a mounted global filesys-tem, un-der \T1/aett/m/n/9 /ipfs \T +1/aer/m/n/9 and \T1/aett/m/n/9 /ipns\T1/aer/m/n/9 . + [] +[10] +Overfull \hbox (10.76414pt too wide) in paragraph at lines 1146--1146 +[]\T1/aer/m/n/9 J. Dean and S. Ghe-mawat. Leveldb--a fast and lightweight + [] -LaTeX Warning: Citation `Venti' on page \thepage undefined on input line 979. +Overfull \hbox (3.16586pt too wide) in paragraph at lines 1146--1146 +[]\T1/aer/m/n/9 J. H. Howard, M. L. Kazar, S. G. Me-nees, D. A. Nichols, + [] -LaTeX Warning: Citation `LBFS' on page \thepage undefined on input line 979. -[9] -Overfull \hbox (9.94414pt too wide) in paragraph at lines 1055--1055 -[]\T1/aett/m/n/9 ipfs link //friends/bob /[] +Overfull \hbox (2.85959pt too wide) in paragraph at lines 1146--1146 +\T1/aer/m/n/9 M. Satya-narayanan, R. N. Side-botham, and M. J. West. [] -Overfull \hbox (14.66006pt too wide) in paragraph at lines 1055--1055 -[]\T1/aett/m/n/9 ipfs link /[] +Overfull \hbox (7.46931pt too wide) in paragraph at lines 1146--1146 +\T1/aer/m/it/9 com-mu-ni-ca-tion re-view\T1/aer/m/n/9 . Vol. 38. (4). ACM, 2008 +, pp. 243^^U [] -LaTeX Warning: Citation `Proquint' on page \thepage undefined on input line 10 -75. +Overfull \hbox (4.84273pt too wide) in paragraph at lines 1146--1146 +\T1/aer/m/it/9 sym-po-sium on op-er-at-ing sys-tems prin-ci-ples\T1/aer/m/n/9 . + ACM, 2013, + [] -Overfull \hbox (3.25519pt too wide) in paragraph at lines 1102--1103 -[]\T1/aer/m/n/9 As a mounted global filesys-tem, un-der \T1/aett/m/n/9 /ipfs \T -1/aer/m/n/9 and \T1/aett/m/n/9 /ipns\T1/aer/m/n/9 . +Overfull \hbox (11.47125pt too wide) in paragraph at lines 1146--1146 +\T1/aer/m/n/9 Low ex-tra de-lay back-ground trans-port (LED-BAT). \T1/aer/m/it/ +9 Draft- [] -[10] - -LaTeX Warning: Citation `FUSE' on page \thepage undefined on input line 1121. +[11] (./ipfs-cap2pfs.aux) +Package logreq Info: Writing requests to 'ipfs-cap2pfs.run.xml'. +\openout1 = `ipfs-cap2pfs.run.xml'. -(./ipfs-cap2pfs.bbl) [11] (./ipfs-cap2pfs.aux) ) + ) Here is how much of TeX's memory you used: - 13945 strings out of 494522 - 276351 string characters out of 6167205 - 310906 words of memory out of 5000000 - 16894 multiletter control sequences out of 15000+600000 - 52073 words of font info for 72 fonts, out of 8000000 for 9000 - 319 hyphenation exceptions out of 8191 - 55i,11n,54p,1259b,862s stack positions out of 5000i,500n,10000p,200000b,80000s -{/usr/local/texlive/2014basic/t -exmf-dist/fonts/enc/dvips/base/8r.enc} -Output written on ipfs-cap2pfs.pdf (11 pages, 213363 bytes). + 19431 strings out of 494965 + 373343 string characters out of 6181076 + 766453 words of memory out of 5000000 + 22324 multiletter control sequences out of 15000+600000 + 55009 words of font info for 77 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 55i,11n,54p,1276b,973s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc} +Output written on ipfs-cap2pfs.pdf (11 pages, 221790 bytes). PDF statistics: - 92 PDF objects out of 1000 (max. 8388607) - 66 compressed objects within 1 object stream + 96 PDF objects out of 1000 (max. 8388607) + 69 compressed objects within 1 object stream 0 named destinations out of 1000 (max. 500000) 13 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.run.xml b/ipfs-cap2pfs/ipfs-cap2pfs.run.xml new file mode 100644 index 0000000..5796d85 --- /dev/null +++ b/ipfs-cap2pfs/ipfs-cap2pfs.run.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + latex + + ipfs-cap2pfs.bcf + + + ipfs-cap2pfs.bbl + + + blx-dm.def + blx-compat.def + biblatex.def + trad-abbrv.bbx + trad-standard.bbx + standard.bbx + trad-abbrv.cbx + numeric.cbx + biblatex.cfg + english.lbx + + + + biber + + biber + ipfs-cap2pfs + + + ipfs-cap2pfs.bcf + + + ipfs-cap2pfs.bbl + + + ipfs-cap2pfs.bbl + + + ipfs-cap2pfs.bcf + + + ipfs-cap2pfs.bib + + + diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 3af6a75..b4b100c 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -10,6 +10,10 @@ \usepackage{mathtools} \DeclarePairedDelimiter{\ceil}{\lceil}{\rceil} +%% This supports ``@online{}`` in bibliography. +\usepackage[backend=biber,style=trad-abbrv]{biblatex} +\bibliography{ipfs-cap2pfs} + \begin{document} \title{IPFS - Content-Addressed, Versioned, P2P File System (DRAFT 3)} @@ -1136,8 +1140,7 @@ \section{Acknowledgments} \section{References TODO} -\bibliographystyle{abbrv} -\bibliography{ipfs-cap2pfs} +\printbibliography %\balancecolumns %\subsection{References} \end{document} diff --git a/ipfs-cap2pfs/ipfs-p2p-file-system.pdf b/ipfs-cap2pfs/ipfs-p2p-file-system.pdf index eda0b8c15b40af106745e4a28dee62c76409b52c..7966ccd90a1a441c2c4f47789f501942ac0b9e77 100644 GIT binary patch delta 137576 zcmV)6K*+!If(_op4Ui)PH8?Pnfi5V2m0U@8+{lr>>sQqC34Bil1IWZSCu?cRZI9KO zR@wb#%U+U!?l8do}9m3a~8wOVa2Vm_)6K7&zpT=#j?=1ItG`1$ye>|GsX6RYe zjtyiy64^VG?v7F|jXs&=qxl&|$U6}cEE=@;(fmLKAi{;i(r%!?4gI-)gXM|ZwqF}6 zXysyl){+ZdQ%^hSd4Mup#Dv!`rKv#0zWZW+-*YqV?q;pbeEylF+I+%>E0sh;Fj~lg zG%Q3jQiY*yzXA=HUMP19BRk_F!Q@lS7>NcJ=y;^`mS=Ff^TyIar2{nt^Jr)1@U7!! zThq5L%IE>A((uf8VMp43Qt<%&p1kj1YES_NvZq4346uap&AL)4?>SNqGVE5mHbZUT z*W+MLkFHCk{z%(7GkDn5Jjt=4?j&5&(EjB~!CPyRIvRNrK>y24l}9aXoarXldF1vG z%e`K)uB#&@2u5l!O2jH0W5B6*z^mC<`*iJ1-PTRJlrY>*k}LPyuMW464=v~0PmiI8^!H%ZksZ97&1HpQJ!vnV{v zhOml&yZZ}Je}le%cFeWVZbKBeynYAbUns%edfB}L&vf=IxYJ{%ZBEt2iYMsFrq;}3 zJN^MRz-J$-0WTddxGcCUUm=^8XT(`HJdTzMPQ;^z94B;Su1t&YC_Xu$naNy@5LOmO zn3;ZV@raom7I^(p_~k1fRGn7QMwkLbXI7arZN}N3h;<-;qoLLgG#1`c6id+D_ZB-x zlD|P||5Ze|sr&ZE{CWlBc>i*K^k&8+w;EbSB$>Z&0H>(-*Fd!5Wx{dqir~iH-_{UO_?+Byp{uk*!vzz@WZ(1HvOms#N8) zMV-uXMjPg}ozieC9NVBk;#GSI?a2hO0?Nv5z~dbr`R`t__&7?zeV;QVXFH_Prd?w*_j(fy*S+Q7ft{UlP)LH%v7?g z;@Y@yubnr*V>>UZgv~qIV`YRU>t2LqUYaBZD1O-dd}DylPjCPJ zX7l5JPakGrCZr4&HUPEG(*SCcfKa(Cc_s%MGOZ$S&-8h+41z)u^O{jO`h+6Jd<ykT=aJGlR3Mrpma$+v?=O7IHg}XcoQm2`C+x^TT0|*nyA(K-Cq6Zh!K&($5>m?!5IHhHOrd?uFvN8lb2U2;e2#;Z2FxxQz?FY(q zoZT{6fPb+7XLNi7krx97OO3J-RqO3VVPPSp8yW8GTz0bm-PW9GM&OPy?l{Gh(YeAd z`M?AHXOpbV&#&;A`sW`?hhR<2%ra6jrU)^b1qY8*-PZ?ZaXV>dWL7yIXAv`Op&`S6 za|(N_5S0k}An?u5ElrHt`6*a_Apcx5LMiJgr|IN&IzHPd8sKH5w7*=90Al1`uy_QW z8$!>-n9-*p>%cSsWojcE?!6r#aA=k!QPv<~XukE}TYKvG3sGksSUaZbNr3H0-!r}M z(J0{JD`h{o12e}<`7#JT8JFRzudR81>Hu2{=8e|DnO~EFW%EajKWMFCnI(s#+j^+V z;+a9ZhT13F4sqPfJWzQe4ep`QnKV!{DQBZ#Ngi3NjA1W;+Y{|RF>6C~V8b)%J?~I= zp~gLS2TErEK&NQuBd)2-0@0?oZ@E>jPnhu*kf6wTNoLRoF1WM1+H=WYx#a(U;MXfW z?nQ7Sjk0+y=zVj;CY7<}JXr`;K4&ZsOj>4hN6-)tB60|~SX?jT^l*eaK$Y4#Fvh;) zDc*-WZ^#rb6=?!yT&ygT`YyoLec)Uu;e0u6CZo>Oh5bnI2Wd_$lBV4nUdsr&AD`SE zlon#fu_jdq931!HYj<|zXb4`M8s<7w zkUWwlO>$@9D-7x6f!(!ADl%Ivc1f(sM|~OsfqEu6S=>3Id8B6w*y`X-=waQG(pp|D z0Fd%CY-)`h3x{oHW)^V`Z09wB-~quoCwPEzknMSZ?;7Px-wHKIJfJ#%%Q)FAA^Vk^ z;MqcwIHR|gsy&(T=^qoOumI~naP(!R(-&;KU>2@H$4wr_W6Kr@AU?_DmaR;D+D3UDtMO*?$uI(^ROI2A( zR}n3l^kLn@XCfP>I9A{QROm&V<77Nf*?Iw*5vm^8x>2hx6kP-8nA; z69$%5MrXY9Oa&5kzF9_t`)GCEt&bEy8F)Tb{_b26Gt$!d;lgY~ zDh!Ea0WQ8r^AA*ilQg;AwLFRTm!7JL^)rl%cBUOlky(*7Sf3BA@)6lugxMn%w7=O! z9R3Sbu@Oe#K-_#}V*-r3*Nz@-IFv-jC#F_cKuaaSG^hff?lA-b8f^8_x>a=V;Q zfFWduiSUJ-%bxxQcNu@6cH02;RH>)g1;Et=a={2Kv*?X~Nb*JhvzWCy5#RhReFT7`$X8D)wAJ8q=aPHd{Ds<-o23f*&tyo! zC_d}+R4&th#7-R#tx(s%0kWhgykQtPGvHnAU3212iBg2Q=UEc{FFIyNae`C;NU@o{ z0MDb>?!_gc_^Wubcq}_ao_XoJU5IjOH1O7meO%}4^-H7g9@x~i_DPWO9N_f5J3xs` zl+lG&{k!ZBAe-m5f8Wc!q#>~YoX(tE&)uS*BdMK#Um;DRBO?v`;H}(`?&eMmE)-3C z5mK9FeFyu~6Z2tR@Ae>1iJ$3)<<1HA(U}0?E6Fn!78mB9Z_Xz;Gkm$AM4!ZyP|4nZ zr0fGS3?&SP6FELoW=H-p|F&+BEjhv%wIa~%27aFUM6h)S!R_(vXHJeVjVi6SXD@vU z2eJ}>7XiD#%FvBx(Wl%!9O)pESJo$Y4%f!>huc{mx%epeSEQ@QMt+uBZpMOnOJ5y$sAy%g70Vz+bG_7OsZYQhb>eGw=q2QAM z+~qpXAR0v%vC7h?;a!04-q~AXP(R9OVR4;*-N~-1I*b0hvlIOd2(#aDEJ^;FHsLM| zA%RIhYb{q!Mpb+xfEQ6LS=Tx)5>3eCO1$bib6D&veOosaiY~ectAqVCM6Z2R_g%Pt z$399WK_+xu;6xkcMlfgKUfck9?7>)OY(L?3ZyMjMi}pge@*r12EqyQD-Nv(lH}ZFX zl@%&Bl4_MFX`E&Zc1F=R;)F5m8rXxKC@52aj)V)PecvOQHLAK6tb;)89o6aB+)-tq z)>MTHdLM=;D09G0SC`qK;d71qbU(pwG^4#pS5+oX*RWgPpQv@fX1bVVGeafj1$Kt&gadk>2B+Yeb-ujb@v3N4KXfL4C-+AC zK*Vr$J*MM&(1j?NUJJ{Q2`loFSx?WrYf*W;CmGR3-@@ul4Y!j*Un5W z=C2j4xtbMh-NNDZdk2g7L`DmL86k$!Lezl>P;6e=U#jd7FEB0>$<{_Jy?#* zD|d=s|u73KVT5ICOfvZk?AT6b4xq-nphvVFY`cGkaFuH4{MCQ2=#z z732gQJxUxLy5;iZi;ZQ4_MVFNTrls@%u^ zQn||8@~}+frNo0ge{=?aL;bOBPs=Cd}V=qkoxqB&t2#)v-TH|9B?6rp6sk@^n<=P067GnbOUW7%# zdI~N!Xz{EAtSEhzwji~ZRK~?!EG-!;M~Qby6x_9Day5m2I`B8X_agW89ep5OWMiCMw`@c%x^v*NB|zwz^HzbOE1-8k<8QwRNq_2nXneQ^(-cqxr$Z+h3i?9O zxm)f;P1F}>brRM#yT%;uQ_TeSVt1jj-e1DlysL>!f__jy!sY}wh>&^mxZnCUP{v!o ziRReL*0QC4h=e;Td`=EZ0|KicmfrHtkpPHPo;_WCbM2tb5;|bm-&eC0xi83&AB}#0 zFFVh`C2$))d-(#L3}PhpTUT%Exf3XdHL9mP=he`~H}i<4()4<}UQ+lRHa}T!kmx(A zb{!T9%WBOu8v|xC{YNa6V|UiY`nw`l)dN z8)~$vywm~=!B0T2^61@4nlS}o)!lhXiQ+XddDe}Qr|mAr;E1QEyN@boQE}Cf3 z5LZe~E~dd)@?o%2`Z{zL>zth@}r$T_pxe|dPah%F9{qfp0&NpHo#H@jX zA&#nlSto5;OE3~)s;(FJ9bTWY@;1#ZzvHn6Uy)i*lUs8-C3WhB?ov>BHAzg902uR*W|jo-U+Zy>HwAG2D`jv z&VV#T>829bs_|(B1VH;D6~4D}k#i+dC(;vth)3_ZxR)sYJCA3aRvf5sjpDJuU8kZa zFQ?fZS}HwF^i2=;zrnum#qq7fSY(~fp(V}Sz|#NTiz3;!OM>e;;iOe~t?q3Ul+qb& zy>N5P#2w6N|_+p-f5K5e@rTUEkQ_{?o8D5=(8p|9?^3+pf4z=h^WRngZlOqyg?#YkSH>h zJ97tJL~yZW;~7QzKsz1Rymf%Vw&XbhA?s<}yc{3~{!;hM0IwQk*gmg%h9!{LTfkhH z3`TQsZHQ%^vpd51A{?^mg8&@=^#VM>qX3OXGxKf?!ZQ6xMt<)o z>k75_NJ9}`tR48p73R!(?YTP-tih+e6~lUTpy(ykBAnm&KHb!r5}tIYg3ia)*Uooz z$tJb`G>xp>gdB@W%~wPAlIBRc{?qNHhal;Tx?YXh50 zo_CwSy^U%)dzTONXxzikgJ2Q{(1QqH4ExNzr?Q`x9w6E^zqJDOJ1=*x4F(|x%sKFQ z@{@qX-Oj;>ye&jf0U38*nAk{J7A8!iv831sN3)T{ZwQjuD6U$CA=pMlHllmhduJls zknkN>ay1Tf>N%^k2%qz{M~*~)$j}3df5Koo$eBbXFGLG_F~PblowzaS;hyzdX(N^) z*?HdkvWh10y;Y&@liZeQ!WWVf%LyeOM_`|K#v1MItIF=q1617g>|2!?b0r8{`Qy91 z_Tm#%9Tyn{NLc&=JD#D3XyO^UifvFjPO6~pK+XkkA<)0D?1u3FH358ohk6@we7()L zWs`q#QNlmf$X4sDi1VVP;big-@ija`q6O#7VC4>ZNNN_3m7Beo*dJE^WN?(!&`bRn$~fd*Ro3~Z`0du7%`SNiS9?#v3U~xxfyOL zwYf2ezWD+&`{|wIfQz>a-XwI8CUn2q4D7&6DvFM|#(AKn@E^P2ZRlX{2uQWLcOH|+ zevo-@{jo`9BW&R9hBGY47@9* ze-H3?&9{5J@2Si*D{R;D9oOP>R7g+o@2T}YeY{+oYITIG2dv?Wdn)Yk*EAw>(jsHmk32Vpw){SzGR5=wz1Ef8bBjQ7FN(q@k5%G8=I&X5BaW;889T#$m6gmme>4|UuZUtq%DeIRm+Jy1_mlM04SmO~gHIia<&br< zEGhFk=AV|=0y=~(150(o++Dy3H^M7C9~{z#Ue2^FL)w-g85&p=kqO+Q2wD_L+LYR0 z2W$fiawF~X3!5}mRbo3BVr7BTfb*a|GujL@6-fq66g2uFwdu@j^TgJLf4=rG(~(WA zbpwY^vYFXMopdvuR7q_z{}!dVW3J?KU4qP_F+x!y#HQkMWl~)3l9=Im$vb#t3T#Cv zVRcI+1lmOQz`h=8Zu88+PvhUmq*&?Y*H@knEUF(2!u-j)k$#PhM{JBnS z*a;14X04D0lWn%H>jYMSf3~A>OtG*VzoRZ`C1BZVVPe%F!*w8xNoDnp$)S0*I{NK^ z%}Lg)l!9GWrWHML($-9_6PE4q->*Cmsy*H6UaEKx;ojWi1*mMGqY zBrJAJ**)#?u@!FWL`3!~(mSVxSrmvsJPKdnux~}64D;le(!q@sf9W8smoE|GFG|sV zRPBBc5rX2ZsaGc)N>jmdTh{c065~OJ42?*3YX__%rRF2vJn}V(b)3nz8;1TsOG15< z{5{ALtyRl70$(ptV0ITju^RkTv9uU}bIOKSnkUGUy79&RA=Gcrpc_)^%zp|~`i;|e zaC4L;A72V*==$$ue~AUW;SiS8!@I*}o-*+2@Ub0f;3k52MZNl}mzT}}p=^ck2k^8# z4txJbdQJsbtj_oqx(NVL9782VB}T>B6c5oZ+$o`tvY-=k`W^8BF0+P!hLCQGeAZc$ zfS8WK0D>PQ;OF%b6sKLaJ3&A1KNtS|?N;Q^uH)4hk0c<3e;sO1Z6y6^mIrEt9tHOS zlVYe#h-#ER_0d5(y$)EU<)V+WWV}KfT<1GoB7UG>v-ZLHRPllj-9~!bJ>v5PaWVcf z6dRcVOkK0Q>AB|&mgI>LEZ{EZ8*H?T)CeEn~^#hbH0CK1y$z+6t zBx#YIKs0!JqZjG&z+wW5kf$EGSo$O40BuVwDFlcG%)axe9d@8z!MIJ0+(;fPjsxl+?&qq^Uj&{FAiobp(! zpi7{ewbfLx;j=rHXk4@7jYqHnW(b0z1Z%&)x%4v_c+)xxZHYQx%uQp43ygq15eay| zZw02{4Gm&&fKp2N36DFWunq}>xAEjysM#zMe}vEz+Y1{RPL|Fv+T6xt=0gcn=5sQv zZV0OtAi{&)0tF3k>=SxN4D0|Mvm5-tjokes_r~Jwn!7~6iiK+HNImh>th?qaP$MYO zz5X~UA)u6?r;@f8ExDP97;Q+iinUDftd>#d&n??>MV_y|QOI=)4TqP{%ICsn6G4O} zf9rmCB#%cN>h?)eETSd>Kx8%l00?he=?KldCBE=e!OAJ70*U{TfrCUE8HRlEVpCR7&$80C$jv>Dax-tE{f zm_UEav+6@@5z1mbV>5@+*!5{u7x4N#a*-1>Xfw3@6DUuC-qx*Q;67O|sjk(He`wMw zKRv$SpxEVzNZm>a!2QCWP~UC;0Wkg+bD zLv=%Y!5Oy092xT>DNF0U=P(}c06I*#S>2A}uN=A?@9LqF0JY%l=)97NNaP~1X|s%| z^31=uRnI^-`Upe}4zan~e-qH)Csj*>NFKGpzAJCI~kV1DKlG31a6;9U@X#C~{|!{em;NXkYq)6{b= zs4p0!e;|XNS@3*Tk*AH77F!VNa>3Gpd;|}oF};T^Ht-5V#B81Ef4>n;S!AKhdFTD* zcMmQg@mt+vxwyyPzxpSmgShox!QX;YqD(nTh!Mh)7xb4Chu^$UqYNKMfv1)~KCWzA zI$$i)U?Up5^bXoEh&!J6d5Y34JI0)`+J`RfB3p84vxioQ=0iEtsIGWWZRAmze+hj47N?4%(52Wa@e-SA*5DYqY7`kQbmijO5d~XxI?k`QL}UOKndw_I@ao(fp_IxonJcF;wt&$x8aDAeOFl#qNC zWquHaAjt{;irN3P2q|(qAG#^>GEA-Tnu;C)L!=HIxFeTNkUe+eRQBJGlF8Jt58gWd zR~8vxE}=v+iUC==2(x=Z;kXZ~-MT%vSU~R31<`3de{svXI6@vdbMi1UEKhGVevn6R z4S0Tr368-GIi!@b8p><$8OR%vZDSW&VYx>ztOD*={*XJ)hZeGS;+>q1v2RtXY^f8 zSprvd`=E&$g)ls;79`_p_bnxD7Q^(1Tb)!C-Fk4Y` ze}=dLY0P?>^&{Q*Jqj(=2!+choMYj9YZijNirRVMEH3Yz2dJ^S=#rr_K|Ax85}6>ZD^_FNS%y5+9fF?TKXr^Jc4lq?<=B zj_HB!6Bi5{u6+u}oVifDaNUt_<4m(TKQXpiv@v3?Hq#67gdHj@zmFWITqhK;sqv(pWZg{$ z8-c(gbK8p98NhO6vOdqD`M)GFamz;On<_qsYpy)0;#sp6SO+-@CvMV9e?LE~%Zg1> zC_HgkW?&t=57UynGdK9?Rq5X8gQ*Dv1ee_O0Hqk`{Qm1D{GfR6 zF%uPyme>li_A*IEFN&f41*5qjW;cz#Ul-_@dT2A~o9<+=I@9Eps}@)(v;+cr1(68+`Ih z?Bm_cF`lxfGc$Qor_J&yo(i^(xmX9Sj(pzFmaD(}C``WE#}2?94`F(|tIQ)^EasB> zH;Q>)>%{rtf?ZzX*r`Qy_Dlm%&f38^AY{oVoRYJ2aJUMn99u0WO zha%Js6X;LM$D*f2fHU4+TE0N0BhXE)*kB{yENPaM^?!R%nnGK4h^Pv|5})-=5KnAL zc%eL@Y8^wabV9)7X9r6Wak4a!6fkVu%kPvum)Q6e?w64c zc?M3VVrG%XnGB6to|$wsbbHMe?X=`p;K-x8W=DAcRWtFi}s+%$JWU>lc!Vg92<6G`{Ci};M^V-MC{t@N!YVvGaOd> z=-)^lB$%&yQu>qg5wV&h8`OJ_I_c&ne}b|aOI^rhZZGu&_r1#j5)YGYOh{JDU+yQi zpmOkoN|9@B*Yb~KvB~rgvV4-8NiFot0vIgQ#Uvkc?7%%wZ#5=MOyL0P`)(%@Ac<3I zeSFr1;g0M!w4%C8YdE*Zz#i~frtWJkdyP&_w}4Gj(gfS%uaHY`G!<3i53b9+>*w}YE+4n$~EO$2Yp>-bm znKKE6Yo`WSqu7z&6AHJc2u`q5ZFq>COGv^EPIjn|0c!e_AH8P^$#ky@e^8UrhIM|q zCJitN-p5DfpxV0}`|ac86eB-yM!*dpUi3+nP3mG#ojWlOh0gdr@01TT`Io<3(jR0* zX=t+#Q#-4g9DVZft4K>}VaK3bzRh5>2wO*uT&h}C>sbwFp$u*Cs2h3JEcnOfq~_A<3srI8T>4dn{(0gk&`E4 zIpR)u-gn`Whbh8%@>%_@_Xo;Z9r?bAlT~^zSV2As<6z3K(ZdY36exIKwUcgtxO(x^ z3rvJgFS3gq%!fKN7nucYS(uB>{>6tM(~E1UgefO^Q(t_drh9ofb6oOOmdSw{TZjo{~Ng}=)(bIvG{LH(EMQ9c&KRes3{~YJE`Jbu-;Vg zfBZALPxQF2h2^Qok=$q>9B#(yAcNL}xpk40X`$#fa??469yHA=JfvO#2tM70Cvq(@ zHT=Z>bxZ)KknGTPRQR2Tre3{q2RvrK_2OJ>b>U9vS8STuGB}ke3>*yIpOAD3oY40!wh0oQBkGn3In6Bjff zFd%PYY6?6&3NK7$ZfA68AT=~IGn0WXDu3B>+enh{{tCvv3>DFYfx_)RBHX^(+cRFT zt%-T)aZFGoC~?d~4Nz9g6Z7wzXB}WsmV2ikC;)X=R^FMVbaFXKC$Ao*^8E4q(c_n8 zG0C!|ElV>wUrow9soQ2!*G-a{c5=R){4&jxvssp=>Gbv6m+#MJrc9^LU%Y?)>VM7I zhx7k_{4&obP106Xf&KBVp3E`>BO31h`YfBieF=Y{Z&6g!HM|b^T2JR(vV;;UJ;0xS zeF1-O;D=w`lAHWJ%?kM3U=jBn?zBg@o$mxBPaEo9RB`n)Wis zpfxj7PrI(4;V$Sa9X=;4|;wBrEN=7?r^mm8IoX!C6~1JRF<9bx}X09HRsql z&&%nL*cOL8KWoY<&fE7L4TunuMz7Wadit)WbD438pE(?2HhqbI68tV;D1QMge=hcR zJUUDGV~-O*xSE>c>xy4J6p3tNO(&I3>FBoCf(Gl=o!dICwy4S}z#Hbqp*No*)!t@s zL_F3#td`2Ug)WjiQ42c6J&p+jH`8v%#RqOrn8xj~->)}}SFt@@HzyJ`vm5|AC&J_3hS>*i@t}0OqvZ=Zn1CFpKYu-FNASDF&vwL{ zuz_v{Yl&p(^g{ZGERAQ1>`1Ty#w6s}??TX+x}ojRVO@4yu+**1nS6_o@}N!4^m`+~ zSaLt6DMWquB^1UeiNzjTnYsl)$oek0no$Z1Hmig-(BXJ=+8FYy_ zQ(g<4nRUWuMd*GnE2IMkEH-WK69Rr7bUj2bD}P}?rY(Z4^5jfV3A0iw zK!%P-IsqE2>N{pGgiFF)pu$-7fDXAe_tVaJH+kjJ20fvu7HvdTgM-ioa5e-saDsCc zdsT=i`2Ci}2Az|h;9gD;s!^ihQx%_2R+Cst11m-Ge2~w@HZmM!)g*~NB968yR!y5S zZ@&O^o?YAZSbq$mC2f?#THF|ulh5=>7Zb6BBd)Mh&mCy-0Qj81=#HalSV`LHVLQ1G ztKF~;BCPlcZp-SU6WAPRp0LR_sdK@-j8MgI_V{I0c`7GpuT|ba4fBwtAo=bL&WOZ0 z{pnPsjTF|ROxilv-ZO+iKHXZ8$3y%%*Swadkuo2SPmCeh7Mq;?ES)wQaRm}$($V6ZmGy09MdK9(O84h^Z zw<=Tt7S#C^#UeeD<^>ARGu^bXzf0v&b5SccEE|p)`d4Cy!!L&&=3&^8e;szb!#!GS zVRsor43iY8j~Hbk6ub6qkGX<-;1;SKt$=@JjDJY}zRJQ7v&H8~>>ilV%YsF(Aj(46 zUqSqrF@#q(Qa#10!)0WtPwDs>6?SmEZDpqKh-ZaNc_|ypEMnj&7q$&!H5DE!50Ux% zxWc^MyL}g?63d40yc5}7r!Aln0(7n_qiXulK`k9qkuH!(I z;D4*-7MVwwoc+g8Ie!=`7hi|UFMcD;07iE;XIw@QM)0{xvaIkWkReM6A1rNvKd=hE z;nE8>XZUnQ@}t1`O;v#_PkyQFf(F;8wGtfm?`fI-C|vXKo~#+~D4;eIH0K2er=Z-F z=>?c4PwZLFy;Uoywgb|s7BZVv9oFBz1be}yPe5_x>Jgm%a)}mm}LorM{DZv;g zUk!2er6SOn1m4TQy|w)>*E%=g_&~;3l%&LVD1iSEEe{Lvz^N=$QhE>_!LN82DSwq; zM@s+0v<)KfpK8M38lw7KnwYHdrGp`emnJ2o==zVM&tk=Mgv?X?^NI^Zd&bv=JqtWl zcfKM|`ic5guo!jU=QR^vB`aE(M!2GxFo+ zRZ3iA&5ChvnU_W1DhoU=Wy{C1C8w1DGP-hgh>R6vrijpgHvB%FIYt8I!|=cQI{Zh= za=p37iZMl!H9pp(u@>_Yb!xGvqoXjbf<@g{*v6hka6V$$w9e%;TuZ~glYh}KY^xM# zOHh{u_)J#&A67`KFM(b#qy9>J1$Vx6F7^@Rb9hZlAM${*Px&!)2;9|-q6fViB&$2M z0qm*q)Ow4s46eh_l+ zk(!|q72L_dWJb#!RJ9QYoPYRDS=FS^wWsBFqB+}d%YeT{NR-ZnbH|C*x0+&|Blp)HC?*(WpIV68+(#NV;vU)!CPPBUTcl|^*OX~hQ4MR z(~AOS>GZU_33k~Y`>n9giaKn^<3;urS~~~rR`3$9Ew&zq@!lx9&BqRcCn%nZV>OML z;vpvCxZ0Oab?SM(#_F83m!sIIVt?y~VPCN|`BcqW&rTw&uT}6zJJSZcUT|R-SDtz@0*CzJ@uUKY0O#X?E`}cR(8}aJ3fIy=RSi@ z)1)aJhZZO+DZW-B9}CF_#7?WdzF|+XAGc^Y?$+O3ThwK$@8{QNW-8%jT9(>6!<9^w zPtZ$OS2$5yB`t8tJZVx5p+}Z8GkF1UL&si`n5uQoX>{KfhJS28cwBqz)P|@~3H?Z{ z1IVG)kY(%{xST1wid-!tq?5v)4-Ds0hKJc?-)2#sLT5tY`PI7Tf&d_FK2dqVzQx+bZq`Y6PzK&u*a?qq$oTD) zcCnk?XBQ13+<&f}w}m~pIX%e;lH?e6uOGWs4?=@IU`nG*m+u8od8}X9N0?@g&7^! z69t~+Mq#N-J)@Tlusp3?T>8M@o4o>Q;DJd%EY!Rp9)Fig?D$|ssB<63r3Aa(g}?Zb zC$O&~(XzswgqXdI^&YRHw1Uqb*Hx!-f&I45^JptoFd|u5Z7$S6Jxw$pajcQHbs)*i zWJgA9euDo|)nB}5uHwv(v@HB*8SCx~ z@UiFr;{4ICk1}{oCzrJ5|ZkAC@(PL@yyYf5scx}}y|5aexwf;^pUChs5p zFDG^dBB=xs0}ZmgPV%xmEtJ4A1M9()T%_IiA%FckdIs99#oMb89=K@fG`}0gc}qm! zhzipBLfw>!u`-x34-z?u9O!R0YZ_KtsTGb zR$VWKE8s!X6s(J>dF5$qYZr^LZg+JS7RKikr}YfnvLTU+?L0lhIrKDhsxaf6ju=ll z#eZAcEHR+(Re)w?(cX*ON`Rk&h{(h7`;Vjlk9Gx~PnW1Qdmz8Gt2oF^PSvNXf6=Hd z(Ay}oa}V2%RXvXZ!e<;KV1AjWoET4`6&df#=SXNC+3de#3M_CPV+!)Fl*%ve)h`Kq zFBGL!fZE&`$)7;Mdm@^Sb+Kr=8d*;sB7aq5%U15clAl7`mwE!o@A>hahl~nGl^s1d zvFUPw8^<-r@*m>POMj*@HvJ2J|BiJNo_jCW?!-|a$2?Npu)p8T$C?pReeZDVXTkHt zgTrn#_*>PEWK>kT{m@dVi0B&bA++yf;@pn=rM(`_>teRv;0sUQ>0$pvI7;t@BY!&0 z#`OYk|IjdywB1XYax&FOWx-$AM;s8c4?jW|C1BdjttY8Bj{nI-*NWPKMsz<-xOpGK z9{y@wV`5QY;;M+uemL;=!gHI1`5az4Z%KY87hK1VqX?)M{>0jt-H7F$E%?niNNznZ zBXHVDI1BjWlZcxlPm?kW6q@6s4S#ac1WCpy8|VH4cRDF7`Bi$%rN_WkrzUu)(IzKVqDV-UGllm_XK+ zO)DNPW0E3M*Wdoo@!f^}j-Ss!|3c?sI=uv-l+*e36*)Sf>gCODaaiwnLw|C@={3TJ zck^+AWSs^f@f{ZhVeN*L7Z(d?!yMWmO0|^+dw$M&xF8*S?UUwQ(l2F{?!XLCY~LDGh=@`S|if=JL!b{!e0WZp9bY zJFa3igQ1I#Elxc;Z+{qVbp&Y@9$3j&E>1~se`MexH#(^V0p|J*oQQnGs@Gy71MnbD zeAxR*Rz3F~RGQt$r4=zAPzY{_i}r z8+)VY)`k8CKPp*dr!v&@!ev2`3Ayd;Ign-&+o?Kj_R1=(?Wrmn#Y^uAuBBhp&QC^3D|wK# zk|((-L-q}*U*DJL(k5wZHT(0kwgGa`Fw-?&LK6kyNq+=6OOw=v4WFA6=KH95K##;aRd{tleUM+2zp%) z+W!sdx60FnT94}~F4+l$cdTygAXnBGXTcXUKf3t3Cg8@fdd zhc1)-`NeZg9ezp>;wBXCg&(F5eGnH#avuuM7$0X@mDElBJ5czY`jW}pc%eyi>}UaO zwl|K(xLhQaDWkYt<^e93g?}U1;}ix|$-eU=>27*^6$pQNuUGu^8EJSogi)ARbYxQ> z^ACG}O9L*A#Ci|>uFGvm`B>|68@ZB6SrDzG6?i#HDN+ycG544kIf_1!d-!e*WRPCI4wskZ$*YXta*F@@ zz};L<03Bdi`1!y1*>{RuWnoi}F z9hy%ZIy-DHW&PoRHp|w?#RQ6QV#+hxG=_ilTF2Mf+7itG9;aY9L=BDLq-qzy-uIpR zPXeP`Dsq{X+RxoZf{{BD(4lSbb7uylo^WU8^$B;T<|X19Ja3$Ag8yfX`Vg!mvw;Ce z-WyeJO%eErjHsq@)ykU8-SM4U9cb?c8El@`7)UuV=qmqz0jWSdP2ImI8LN~-kON;T zH@FB}7$^9!iZI^E6rPEw1>2FS4nZv}sm#CcjBRtf{`{Ml3{{c($aD|i6Lnr|@lYlNM zf4y8=bL7T#e&1g)Re8{`%z@BA^2HBt@|oYamv6rQzAhJS*44FLT;43|GBaJZ zXqq-NMYp)zEZ#5wfKNCE1%{#cKTO4}$1Pka>togv*2PEb-Q+Br|ZZE3}f7gBG7{6Zr z+za!J8Bnb9oX-bZRu%`lhUxA^mUwbF9~@9kTGAZ{lqNip zLG%lrrt7fb`%x%MXU%hNf9I4g3NT6Y%9b5!9G*!6x5gO$9K$M@OaNNeMEj8e`Pg^@bKuRu>D-`3^?TZe(Z}sC&;rcjcn(+} z_p&1b^ZYH%&yy#1#j1w%E+0-=IVv9L_aHjK;x0gK(epd6a?k`sAf|Pe!|BhQrT~`y zgZq1%Fc!vUxq~~oe_xED;f2j$-towWdO#6!PdDC1;1R&Wo~f@WgDRFVE zmyQHQOp5Q%+B)pF!~L#@+W-TgF>$7#IqD*wuk%b+x-(Ea7^!9GZ~CFXKP#5ks3ds| z)agzkJM(b|9UDc6PR(#i^2xFOJ5RXb)&I!XW8w_T3QWG7e*w#WX^Yt6SQ9LcHIc=! zz_eg)I^4XCY2j|Km|kG>+a+%ABkDOkjH1rEwvE)rrGFVkt)RX4!_At-jt5qYjSP%? zjSR^pkHL*cHSWy;Mdd)Y+G~8X{05eF0@bJV&TQ$H-e#>aLDfAo#_9<(#=6HW|H7y8 zs6Z*(naW!Re|pq2K)qo)Ux!iuhGYY9Rx@xegn`458=ksXW3jB?N4$YU&asO}M6p)? z8tp8;DdNFahk(0>*lV6yHtV5=f9AXDg?<$VyI12si4>u}_D+JwRNQqGKKG6V)8|5s z^i>z? zDT4Lo#QKvG6%ik?xg%e{E}m=U4vXfw_v*yc%q!1W@FrS9>3kuyNbIN3i;1~Y;(r^S zp3*o$f5E9DOHpmA+{Rx;$@9P@N(Qt-{sIP_*M;}IggtY=iYu@QOR2#zP3MW#_`lG5 z#nwYH&EFHqU`19=1pvfQ9D6jBtID*5#++kaqKWR=T(8Q8Jr1z9P2ippF_3FOqstPi zJM4D!^37qO2P3Z?C^sHG6T&px@D5?XCZI!De^NiJPCa@)IknPy5?=@uhG*lmOpN~I zNUgwZea6&wD7@03uW5vjpeyc_1qtrcK?3B$vaP}%**$mfQ~+fX+_#0eMqLAp0jzc% zK)kJ+^gPJOxZ<`f0cp9%j}C}}?^Cyt`{Zt??vooe9g1-eC=`R-v8NWLG2r%!0A*?; zf8!IZW6k)9k>`ed8}X@ZQTg~@Pmg4^>m%KBe1|0vS{@~MfFT-a!Pol@OTVK-liTI* zQQwe_ua_0SI#>&ge#459RnWlAp#8bJQHBsU>!3 zId=GVcer-=t*G+l?>}GPt?zGpx?9oD+wJkz&tb06MJG}mKw9$lU<2}(% zMK3%(Cx%~|$h9A~tY;o4zCCmkqoFwTKAhVXknx#(3*fiU?8X^ygl~0R3Ev2Ae^JA3 z(KxHF@D$xaJI>4F&?7W)plPf57WW6e-@?R4R81|3(14K#QGn1@-W(sibG?zdAl`LU z3ndQPIsIQ7OQXZuE)b(DG0sw4^vA6aw-B*jUfsFs#Am|uv^)*B$xJeme`%kIK!P9^?CHkmiS39?PQ7+(vf8xbdOs;%fqnkO z{IO+KbxiQTEwZAG11QAlMI2Qw1oLRcQ-l!V;mmu-6zdS+aio4P?U7}`JwjR*G}?_= z-ZJa*GE$E>5J9(<$6D6OdH~5r|*UGQlv8rhU$k_LEe>1T2tl!zok>cU@g5X^bf592Zkvq>vn{)u1 z=p(r%Z_3>A=`5Q( z*K3>QwEdbqf;8ikRZSp-{}va12g@{dfQ6O^J2pHJ z`v;|8QO?6K=&Iu0e|2iXG(HIUf@?PP0yCdUVpDvU7v7=peTIH5-YJV-Y0Nad0iC@= zG#PQ|CrW{pRe{I7J1{(y?YQXU)ukjwu5TYuu32ipIsi3n2+(n$o`UM&CC!aBd-8j_@l0E%td}7c4QX)1 zMR`qRI$#cfTU1d;pUmAXin`2Pr$t?rS!KDb>Pg@(x_4Eaw5sBK@32ifg*K$1sxASY2u>8x$|JY}_otqLYt%p_ zdWmiik>!K_BGXec)`{gge^XH z-fZ7{;2Oesa4iuJ)QdfL*d9Y?wdfSPo-qD7f6?J-OT+T@NCJoV(4T*7hS02x_Q+*V!$2Q&4UAaWAKGYHQBtaoF0%rv8SHu6S!VsJE`HEZhRSs_jroWR1muX(0s# zWo9!YAyXX^{dPDjAv(TIMKkKGDC)TUQmQFzTZQ5^70)|x#-NRr9yW+jVRcn&L*Y}B z59pnQK5Z+HQ6Rz5O9-Q_f(L&e5J^3we-Y6e=y2ErUFt*P+nz9=QY+6X<&k&Z8FQDx z9ggZ0u<4u}8joqalLcWB+$}b;7BjI`?UwzFLm(A?jToj`zJBX*AjVhF0qT9+lE4GS zdv7p&(XYf8k*Wi4J1dTW%t0?ErrtuKb;{Q9pv zMvkkuK*Iv|0>xUDp&l`dd%a&(j#=K}yaY|0V}BgHr}L3pbPZ;immw6ej_NA#85bjX z9aC_ID1<~y)(pdzJ(ymXU2&L#Bd~Wg1gnAqFa*%Un5-__m?$Sab+X-+e}ApPuT4Vv z@oQu;3>?H8mss;j7R$$74s;m_qF_5?VmxR}e4=aq-3kLul*2BH6Exn@TFuf%;z+|L z$^wO@S`!5Ye6~|Z%`Bh6nvubc*Hn^u8iV!kuObLxRG5mK5GhG@=DuP+H7CUuj!1Q+ z7T_L04E(O?XR67uaU+7gf7R-}X|&5P0!)Z0+QnHg_9JbL>Jg=)^QK;f3Hz8Jc$iWQ~6ImdV|qD?a_= z0v_xS@&yp94gqET3fIBHMlqtAbnSOQgBuxf$5XtR!b*o9=tDOyYu4YCZB(t|KY-zj z6o$VzIu>*6>15mHf6LqFe+#4^MO|u9Q9!^v1t|@_c zYwWQP!B;&0IYfUN#ViWvFN=8Xo~dP~ve-8c>C3s};N*Be2!q#D< z9x7Hq^_q(5bAZ6MPy>QdwreK86?e@x0&9*US0Io?*Oe|?0~x_AIDXj$FZ!=hhHbAE zgl# z$$R;T7e2e{{9z)GKS+LSD|p9$Wm(f#nDz3LWXmX7b%M|Qp?13ZB(Wp$Xeby~*+S8( z5A0KQ9+`njd^d={co8{2G{SrJk@5#>Iz0zfJ8RAKe^b7L|0YsYet?<2F62}bfGgzC z=P)f=F|Frp)28HbOCOxkIox{eBnS#0MPJ4>;TtbR!CRFU9oYpmO`I*|7pEWV?dJ4A zaEcqF5`7qnn~G65ZwvqF#jkKE$6hFMVHQ{jGe zfB<^yNV>Zn`cPY?vn=ooT|U-&A(?kh_*BH~BXJU>F5p{KhYGYFn|HKHy-5=2mC%EI zl@M6N*-I)@F-YXO9|v(JbZmZ-y;+&8HAU=c`v|#dCdSYgB}mQ}x_GVL#D#Y)&MjfY zf9rnIyY*i(`1Cm_=A)jbSA@e?1eUp;(=vrQa2uM;U- zC`9#@vJ{#D7J@Gt&iIpK4)Y|wk!`cae>q|N@;6exS!PW+A^sox<0KW7SV~#I7d2nL z6dTtJx5gK|4ygb{W_@6TB`ACZ()S^X#gVSll1Ure3Tr|-G<+8-r^Lv6(f#_W4{C z?FkF}im21r?2asu$X@hOwu&ZBe~hc)x_i%rDpqRzSNJcpR-HM-i(d}r!dUOPTN{ak zaTi_Im4%dy7I|X0Hp|`7u2jddzu$1jT2s|zw(;lmb7H6}GsTqZ?S$8-OESr?Tc%6; zEd*VwrAaKy)Q$toP{*FrcyW2!2>Z^n`tct7(rBvP=VwuP5mbuH?+8+RB z7KR5^{e+*JBHTq2C~jq9wY>()S3c!*#}K0^P7<40vf9vz(*FXQ1QPs{ELtc6H#w7m zE+~_JS`mLto*H0))ndl*Kx<1Y4g4S*Ms*ciqE$x^NvYj7_TM)mG9nKi)h)~Wu=}7c zG8xQ_h>SafN>}ez>FS#&>F8I%-*lx`O6w%A^Hpi8q%8GncYN}%6+nHnBG4ykV(Kbi z-K}UiftTRlarH#03f`-s`DK1g4eQC!BQ}k)_GL|WL+1!kon;Th)8r@Rd#Gge>d{Ty|*D|{q*J^PyY7CO*V#tsa^$33ATdlE21daE&MSi$@8-EdnKf7 zLV5)1|ISuzbe?EktxTQd@a7-dtGY}~0n3+Vg;>sS6$1$j?bJ)$DS%S}T$w1iNG-sR zX`V7nI9HLV%)#`{Y0of4C>kosN`d)hW|DtAQCgmNGl&#PU51FLu~>~LilvI#y77Ds z#R|8n64Bb|1h%#^UbdqBNl=e;k^*vnXm^xG*~wvhbdi*q^4k+qD^LPNRHtK-$511h z0acHwrB_#p$%-nZS%xms4GW~Oe_uv)8^Y+0sn3g~s7-&N zL-O6&Mf&p$T*sI0d|BWM57Ez15&e2X{|IVCKchRQzsi9vX%^A%#xBxdX;|jV$k%C} z81s2fo#Ho z5!Bd;GQMLT2<4*mfUBch#%ArFN|S#oFVT)>dHo0FA8>-m49G9CM4Kh~XD9($(Ekxs zOgl?Z1-VwF-`DrzYL~=6KKAt3mi_o(b;JLtjl&MK{#-8-=S8Cn9 zgFhePU)NlL-!W_T>}r$iZ2hu3!|3%E|FrPufPaQ7qu2Kq5Fg**Www3|mkodXJM9tZ z^v(io`xytSiZao#jj<1nP%V?%J7Jn|XYo@wrCo`pc9HdHb2h3fFoXft)*vjko$1Yc zdY9G%b_Xa`Abk#_Jwja%R~uaxfL;!CAmNC|dB)*qX`<31#I}c5GYxOSk6Is_Esc35 z<3r{hUJl(y1{i?zS(>j8#7ckMo91+->-At~8VCb=XU|-?#`%%5D1Yt z++S7s`YF6!YPUWvT@>ph&e7pa?ZHilk4oV#LVe_yKJf3ESc+FXs|CQF@q5?!RVK_; z>jZSlq*er5S+t-?6;YHxaZD63nwBSK%U_0L?t=u7IEMha% z;pE*`b_fNxw)W~E$hT+Sqn=sa-tx^;RQhz?SOq&-9cgd8Zk&JooPnx{uJV%+PrY`v zfo?Y_|F;BnCXBn*DojX{rATyO%N#x6I$5?J&h|HuOe99=h9{q{@{(RVd}K^eYqBEJ zMS$b&+PUq*LF9rJO{-rY83k5sf^o*>{DD~3+u^R6GJDoi^rD2f%q29!Bg>bm$nsT| zI5xb*%1#8Q+lGJYpQ*q)5O?DRntKb>9vJ~)BCe6JGt?LwKyqGFpk+f^hQ z`3h(Pv3cGOukW_Fr+K=5(d@y{f-KEvrdr$7sLr|O@f;a}n4$kBrQccsF=;X9BGQsg zM+A&o|FNSA+9Yih5yh%J-r6!Z!ioXSV%RF2EAe=ebcebo_v>BkRm5*;YFZl!N2CfnNd!x7=7y@+uly&{ZCI3jCdD>xe2B_irsH_yrgr}7GNSu3xrWr zXUN!62p%BNIIk|A-&E@#mC10(LHwH?4?S*?tzX2351Cz597S2v?o3_bZAPI1c57#* z2N8eQdW;iw%50k&0?R|~yfd-KdO`G#_-N$GaA+ppg3&t{W5LbD+2PGO}tAt>yz2?+hoV2Y?XUv8r<96i2R3+b|f|P_zIkl)c*p5D(9VY z$&wAfIy=*7;#=ltH;5TzxUq|vp^V%NXu^L@*EBv9INQM)4@n@c4@0&-NI8<%3Qh7} zk|UO%rxq}Zv`}epg!m~6LlC#3+J@jWu-(<9~?*g77Ad0bpz<203KCB;3L;V8bEvi`qk zf=SwZI;#tW;Jc}BXRYigUCdYs^3?eJ)WjiW9%~=IG>S0o;9MMK-EE%v8P0)$%E1tj zw@(eb+NF3>tlMBCP?3}!ajoA<&<1}2?9I8eFrt)Q*X;b8XP0h~q-}@5k)6azX6x_8 zl;8VM*jXRzcR$*>BO^J9z2~H(ae;T&atNDMncEb+Cfm@s`UxOaRc2;0$M1=M?$3B{ zcysXyZ!TWG6SceM3y$mXnJ|r_!L%SNjhIEebaAOI=kWeOn1_GD0GrfH z?V}6xkF3;TZbA2wkKn8aPW$OW#3C9QMR5JI2f`}DMZW{vWX^tBI;0juR-XJYr-`8` z!ZQjoS?ry6pdG$P6+V-MNH#t31IP#$RUIBkHVdC?W^=jb>)U46{+OnEw;kH^>4Ah( zJ(O@dTF3boka2SkQZ)3}Oq_os$|chW=5$o`v2!|Mdz6c-lZsBn1MBuRy!^Gb$N$a} zxesIXK(8&2BUiU|mY#+`Fon05toq2IJ`YxV&F+xd_XnNoVb(?4VjjG9bPK5UTlhEc zBGvjQ_&4wEX9x?}_~P>NzWge#pN7SAXm93Q|I%rM@nPNW_OQ=}%c$c_c!{CyO9&RF-mpzb*Q**g0tsH}_G9@OA5B>{g&uD#E={R}tM24{;0 z#xjV{{ul63>#vsN_VGqXPY8L*Gx)I3*Iy3fJlijL6NCvk_H3>!_uzX==58991!o!~ zx6UcU1=IHILiq92Ytw=idbSwGaZaJuf0;c`3xX4I{EyTqCh3vTh~N(+&=(Qd=Oa3m z-4L;br-;b&8KHl-nHNHA;O?){R3d6FRS9f<6Hj|~Qn^5nC1)34(EC|7=f70=b%O%9pv_dYeZGi`seJa-s$T+;0ucVIV4A1hd- zR?-x-oMuhgYI4Yyb9pm9IX!U2Habey&b4(-Ga`n%c&n_SUDCNUX)X}`dZZriAaQ~G z#Y4L(Kd^mKD@WGD`aaK`JWWzJNpxU3Uaw55%C(Tq`={yjwyw=DjajKvY$el{l@ex} zC0_oAJ3xOzjt~QjpcL3hv4^bm!ij7nB_4ZJa9P+#SftUGXG>^)%X=n1r4up59>6kp zJvof|&YeX%W0$4&tT^=w+Syw?_@G~0W3&K05JSahep!5=gST?L(Ty5A&`v3p6xgLX zcABx#@McAhSq3SOSiRQS>3|^LWRlT6%wPdNS|oR=quSkF;r~=C;w8z!cOD zUTOKpp-PFBO2O8hZ<`Zx>$~&5`F8(w-0XoAB{T9&S22fvaGd}t*9j&?f;P})Jlxl* z-Qa9eprb*5P~D2BaR=4C?PuKba?28IgB+aBmSo@CH?}jXy_unEF&(?4;1m#*wy7ZO z9?5_3G~Jyl;1OaL9=7A-tsPtDpAZDFEnfn>D=$~J`)tdx4T6ah(Cp-g<&h}Ea3Nm;qCfxeF-_8H+*a9IiT(H1-W-hNkdj5xabrOo+)6 zrL*wsfr$K|hP)dkZTskCWaf)Vla&6WhM72srKPA{i%Hm~6cnADq`_d*5pRFGDLC@A z;PM*T9{RK;{V_{$pq#eIV zOF|BB--&<5o3OB~Xs6|*R4RW4O7VvuT_40X_^y;Em0EW5D$kO_Impkj(`9LsCcBC<)6Zn{1`_h5DAlszLV8;MVgj%IcQ8O~QEBJ$;n{y66$!j?&9_nl zg7jwHOuA#KLnAZ34;IJq4wOn)l9>@wO*)y%P+J4=z_W{o!!NC}lwwu``ohsmweta!#R&~=LHXOzF z{P_j8_GamlLb*Cj8P@fzX5&W^@`VHf$nPjx${=y%aCRHigGzrA&nUmj;$FB@9BblJ z??T2p{5TJ5%=Ggwj7|};o56h-VykHokapWs5JOS?Ev@zVm=Wb~d}RCEosWR$gDFO1 z7X{3O!)7V+wa&jH#K21Wl4|e~gkeK`vX__KURfr!HeVuKS)M4P=ga{t%}m~V0#!L; zG7NNciL@##jirB-F>Iu$O_JvMD9e$0?S>SY;=c<)+$5jRg1qEYly|Dxni9s!#g{Qn zC%Vdm(o&XZlpPv1Q#LcUHaNJ7Xm1DEux?77PXY;?upNYHd6KGZtSBrwjpbNxi_Vkc z0F7cJEdKgqYr6IAgm_;{kcW?)kH$HrbI+YkP|gca!mWQRdF$|_hO+hr0+_ewTs5n5 zj*jMz>tPLT$EpV44zf{3!U5ho!g01G;6s&XE7X)mTNHi@l(FvNfm0()F#$jjbDSiHJc?T7?)VIseLkW8@M5gQH-m-(zRi z-r^v+4P1_+{!8Cv1qZ;*ukis>SQj{hfmt_8U$qQ!JaiHR5ge2K2nO=Phk$dfWPf|} zD6#u0w^ui#sjRayub+({}`k`>9ZW%;7xoRwPb zV#zi4pa85W%9a0~KIgy!B(2JWA65hggE@M7y1)LWq4@0bEIxbnSuB5_UwroTWtyB- zQC$?-*~R*-Fi~0LXJuJMiK)*nR%id5{dk_tZqDbXoE_k5e?HIhc=mse=-ZcvP0Np1b__#g}JuoLG4_PvR&m5}r-lEb%$^@c!IXv!;b6>TI^7)}S3O z?XWcUr+}5HTfa}PwQhfLggfl>>B}PZ*a}&Xm zWLZ=jZJ?)7j`R~pRg!A0D_NEI($%B7F_EcqZ2@GN#_3F#X2s$(Ngc&;5eoFJRSg!_ zJS`GmZfRjog^ugak6ah@A`Y+Fi+CETbF><`l9~0cZQIqxHHv?eZC0d-*h=RHb>Pdk z0R_(S;Zo%RQ|Ea(N$U(U9_C7Zn_gsj&>gVFN(qPpbmET2)^SPiv>P>KBSY_La1nJo zqN9IdeK(-!pzkKDM>h(#xRG6gb>3s|O^bcV?p&&<{A%lkjDCv^z(Sj%3iKR$?PLiI zZx1Nhbo_R+u~mQN$xcncd~(mNk23OQI38y%(j+5k;`${8FL5so^G@5y8&o+DmIq!K zRj>#QLRQW$Y`xsp6It=gye;T*-8QaKyVZEFHc!sSn8Z5P|wqljQC5IuI z*_(r>!*Rkkix-RTpUV>UKfph?IMxMk0eskeu-k#Px08QHM7?8HOsUbj?J_bGHL_Jo zmKFZA4cT&hi>w_Q?<#wgrG~ecD14pFUVbRjEht)^)U)ou6(7}J#_LGd6*lqdCjA9! zf%e{BiM&WvuDB3Ib2y6STX7lLg@wBpk>TY=^;5hQt13MbNuKyRlB_>qsH?83s6_-+ zdgU35rt5#lR-$XHAru9I-S!LqDXFEl;i8k(XHy5y>~!#wt#ZRROBw7@EaDZ4sShfy z54Mj=T_|1q7I(o#n~wipiqv_>?Z;+iM(Z{OT+)uhZfaH+f>F0#UG2B7><+WGVc-&=Qo#yV zmrj2V;kt9E0DJqLR5`e=_tJC^Mz(+{vKJju%Jo9MUxPTuRH1OP5ienK@pI_lxza(j zx98jbz=Ca?xo3T4P9_Vx$R8mGT%;Xo(|l|a1VpTD-_ivQuFA>F{b`wYQ#f}pX7fKT9=== z_`Os+KCtk4l$2?(@BpCVG^*n|Fka74p%k2$v=}u|2Gl62eib&!qawD7K?tbp78-#| zpqZDaY=KEf{H;lIpBTW~6Jh`hee{9%vho!f&Apf?FyK{j3QH|Laj%!!^U%{WW-)MY zelS|(p~Wk5;aFhP_O6ev*VunTV*hz=@_PVj9Rnh@e9UW)G`h6PbGi&^0+Y0F?F6r| zG60-5W{kTL-KJ6N2%#jNtq(0f8jvCDqfC&2g6xycT5O?!qRj0nw!v$T#&}anRIqXZ zLMH-xOgQl7&^O(^<}FDhz*%VJqOwdr!MMHgV8eWLg`%RewG|CEs(63H{b8cq1sJkF zP(^e#(Y~43hLVYk9}@{q7e0Z)TZP|w5KCffBOr^^0(rl*oKlMlmQ!PlPhTQB@fq0{P+Zf0TTXUU5FxW6%f2>{!ncp`vDnEG~|yZ8X*a2XE>; zh;>fc;S4aO?j*VqmVti+%_K0E2F`GlD%M&DzNA@8ZQMKbmt0sX?k?ly)Q#V)_~F7) zvIDm^cZx!&OheZb4eIWq&5Eenk>P!@YPuI0+;9+PUh7Utvbb`kY8KMu?&o$vaa@Sse5XP z4{9PP&~> zoK_vgB({Hx8x3iA;2Fr&hW}S$O0iJM>dF}eEbgi6OJxx|uF;TDGnO%4d34;0U)=1a z0nZgy;$)82f^}0t*~OJTqXbxD*a;d#Clf}@JsGI>ej45wJ2Mkt*UY3~brSZnhKIip zVjJ&y3mp|_2@S@M5bURD*>>tM#nU;TSL0LVjTe6~`o;(EcR>K*<7LBm*=S4dSceRB zBW{?mwh~9%qY_sXdE$^th%Y;7arZJ!-EJH|p)d8FC=GW! zfZY=d7O~CI^ZcwB9;bmg3R1~x42kVe0Hnc*cIOkNWe>n`Hy-cp#cLO?&kx4 zI^hM$)cZcjhVnx-kOgHeCD9G%`ZP6Hw4blx1V8?sRva9|V_ zCqaxRz+f*m?zkvmkb+9&Rxv1ty%ik#KpjnPfJ=KwIiEVJrBzVlwP>aDEKUau4weL) z1nxKXAm#%Wgo~n_8pn)P7$jzrY1Du5t?2Z*)((p8RGU`Wc(ZnJK_)C)rt%L(H0Ui%+5YQ*LR0+PK(Uyj*w* zb)vaiW6hVn2f^j(Hkh{TK+F#`BDyaEltAx%{TMJY+{xZFmLiNhdsywo3DV9WTEN$? zPDe7B+d>*prmYVqBm?mc$#-UnRZTTl${`)+6VDsEBM3sfE^xcWXPCFlw$pEwXqkAjjnoKbBMxzut zHucV)XjwHqSj})`u*fbPz`g4^wEs0>6abr%iA`uAv!V$?8g*+~mc3mjV3WbFp z!VN$>Q^pI#6)PHC*J*!lFJ=^Gl@FY-8EN~i*LLahD*WSV`wG$)_}9aM_>%H~B!USp zOph~d-Z)YPiDxr@;1h^Tm+mOjA~rj>1~|mQLjtzr_|1X{t=;GWW1XMIJwz95`Au(x zEthy{@*$Npj8Gte(C}z0am62yl}a8zc5Gv5lS1J(vxg04aD0ENRq1(eK@*jGDo<^M z$OTJyQg`D=BNC$>lxoD!32xQ*Su6@73XB32`IUmi(nr;3hnY4 zbQw#``zMEJZsZWjLwa(F{_k(%w*LV?B-sl1A#H-b;Y$G$IKxt0{882qozV+{GJh6F z+gMl5@4S@y-@~thUncccE#ApzARnpC5xvsE{ap~irM!Ps$Y5W{Gwk#`>Ew; zcQT+KWfHBlxs*ZtAn%v5CGh?WX-@_6f#sD*7q!eKr+X_^Wr@1`rh-jBmtpQiHs48G zoyh!48Rkml{H@6GDE(Hlsvo6OoZf|~)%UVfQWijik(~^MYT#9_Di|{N+i3M;eM3s%2PWW-%p}mKg#gG7WMmFR5#;s z=c2V0HEZ#9BSO}#bn>}@k0k$it{Zg}K0i#ICc5h$Xeo>ng15G((PtR!VeR|!=GdME zrr=kZ!0*YB9b_o>ED`=t_~4)Q82}gRC;BVCcb|W~VH4L%`sv3!IbZtx3cj@%%}mQ6 z_DvE$?foFXry^SoA^iJ~W9QmN^ z7}9@YzZ3Qgp7{Mh}29VjOsk0DKsr6zsQM@bTXE?*9wPlqmL!<`P`C zp8Gh;eP=C~stV+4tg@HN3L);LWl{Za(*H)-XyjII}9yq4Zy%j|!8 z0VAIa7PN#IdFBFZs$`%n2)C!V8h(JL3WCFwvVk-PjB^zs`Wb#c$2#D8=5=`WC>6Lj{AQf zOzG!w>67&dYr>H?JpM_~6^KnWrDWceF3U$SM0e*mPnTUI?_7DQds+Cg9zK4xnQ*Fq zV~j#op(a=kaLYxaQN24V)f2i((lBrM+NL$v!vh{H3Ukh|{?h--Y-2xOlonj#o9op3 zY;$B~Zi25TyrdR;L=vtx-cM;afA}`9Of|yC!h6@`iqS&M-=F7#kSu3k`iwL=)M|u! zl@)Clt041c?Bw|nd~Z8XQ>2!+HYs3#_`fZr`2Z!k@Pt41N^>30k_Uq&uiehah+)O0 zFMO;eUzN0*8^_nDX)&0t*Zj&$79P&bvowNhR{S4Stla-ya@4@nrVA9D?xg^MB7*KJ zIMSp_-JM#6X4i2Mj>%>(LrEG8L8e@Irg3-fF_@OXok}tENnK3+9tQn_Qst?C&90u8 zm5d1U%$IF=8i`+1S?q-n5r%iiRZlZksje`&3!WMX0^@{2&p$d1v=R^LPw@B1KAJ3b z#}k;4vkSjtlmASF>e>HCBg|;cTt;h{PlC68;A#L24}uA(F-TU0)=vIM11uaQGI!Gn zy27PPG>sO^4~#p_{jP)j}ka2+%10Z8;`+9L;Cm67oYtP5jo_Zlcj?w z0x>j`fi5V2y3%KC}#292R#Df&e|4bl>DodOC@NB$(tumS~$}Egn*C zx91}NJ$1IKQ)J2RMjCmLMAp8XI_En}DLuP6OV8eZmGbYmmtTGTrpnGtnzUupo?Tv_ zl~q#a%~@SHiOFor=IqBso|K6>Uz#*c7w^xTbg?>r-j3)0y!`#wZ*p_iByCj{P`665 ztUg(A%QqD~hF`*?M}EUU#&-P%4M?Pr86vska}^PY;?B3ZrY zDC0P+&a-y$0lvCn>^4;9vFG}?RBT1bBP0#|-hSUu%KbTH+OoIw{u;&v1502IXG@p> z3_DGKii$@4{yb}_3O0{J%&Tni2$6DA(D~6J>4e)>M!r?GmP+W^!|_36p#zek541igvT9sz2X)&IG>cKVrVWh1z1cw`oEqx z<)XX7*)MBTEG|{%A9xDG-PR|52a|pcUvD9QpBVih+P%VWLtz54gm)-C zbW{wwxu!?8cJO+QTfh4T2I$U^{Mv(*tFzE1c?(3ZGV$je8_y<`*CB@hS>tEcSDNT%whlVH4dVM-{v_SyeP%M=LnncjMz966@$ z7J31ylC}F;F^gcwFpA4fAcwj4l;lw@r+lo+m6} zUQJFjb;YH2c%UQG@hc1sb#6I-id2@02RV$8oLh==E6*Gj$|?>EHSEYSxfkk7MPTBy zV`sP2q^udUW^Pl12ROG!UX9Ywf$AOYP3F{(zOC&e33ofKCmBq@>EU%PytTU!YMmDy zxNz_D_HtTi54XZDS++xw;ouh7jlZ(;b)JbS(n55v1Vb(J9KlKJsB61_fkcrLP6|^= zE!OO7PfS@l9#K*|s^coMAb0dGLNd?Y-tC!fZWSMaA!xcB9S7<5%z2+8Qb1a-N~F^s zxmT~-p-fkVgzl$=wbc5^JaCDgCXMRZE>E!w z2YtJZKOJ?2k`fQx2WV@5IP66_J63GTr70UcU3<5b0x2!6mL?@a=%_^;=nnS&fwyMG zC<<~l)!Wwz_1P4Ku_IIQbA{1$nt8VEVzuF6ft>9|h5v9Gtu6VQK^qi5p&67`=WyH< zT8$oIDYfQLHzQ&w@d46S&w}KBuuIU?MAQPV65`$tgHnrG)3|znz+j--u3LEug@mKR zYDcPb!=yqdavzo(x{eZJ^bF}eR$$idc4mSi!qfDt30@HlD2!>Cy#EqY?M#x^ji8K+ zC_EPG8X1$%cNCNR(PQp4ZB}rixV0&;b)+>9Uvoc-$aAmjs_>!H#%teg6|nBB8Iq*A0OgH9bryWAMMQKcA5s>|n78BY0aobBV%?GCbk>+qc-TVn zOEO!uFi?0yts+{3_fcu~>n^rQ4DGw#qg#@<^W6g7qHP?1 zhC+%iK+f)!+R+OILOEy0B83r=$c}+a9yYn6A2um}+0siCnPu(N*@u}4f#(t)j-tfr zKj_26O7TdKTRtUQrj#p6{t@*3e_l`%atQ3>#&I8{dEO()@gl46#ATmDYf}+pZh!%S zjH-gkC^D~uvdeVCh#aVP=M%VQ_c5@sbdnuRG zXbDeT>n$PBWl3;@PCd>P?3s|x3KP>BY}7VT#GzCrngvt{q*q-yz&a_W

I2n2!Ct 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 z

|2j=#tkuuL<*kUBNnP_b2p>sKHFUZ>U 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

lKP717@sLm}@ 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 From 7cff71e4600a6f3cab78d9cc006aa3757b54115f Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Tue, 17 Nov 2015 13:39:02 +0100 Subject: [PATCH 05/36] ipfs-cap2pfs: more caps preservation in bibliography License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index d2e3b8d..b66ab14 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -58,7 +58,7 @@ @incollection{maymounkov02 @inproceedings{wang13, title={Measuring large-scale distributed systems: case of {BitTorrent Mainline DHT}}, author={Wang, Liang and Kangasharju, Jussi}, - booktitle={Peer-to-Peer Computing (P2P), 2013 IEEE Thirteenth International Conference on}, + booktitle={Peer-to-Peer Computing ({P2P}), 2013 {IEEE} Thirteenth International Conference on}, pages={1--10}, year={2013}, organization={IEEE} @@ -91,7 +91,7 @@ @misc{dean11 } @inproceedings{baumgart07, - title={S/kademlia: A practicable approach towards secure key-based routing}, + title={{S/Kademlia}: A practicable approach towards secure key-based routing}, author={Baumgart, Ingmar and Mies, Sebastian}, booktitle={Parallel and Distributed Systems, 2007 International Conference on}, volume={2}, From 75982eeafa69ac199fa04d690d067cf2cd0cce85 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Tue, 17 Nov 2015 13:49:04 +0100 Subject: [PATCH 06/36] ipfs-cap2pfs: minor fixes to section on DHTs Also fix "Sybil attack" capitalization. License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index b4b100c..a7efe7e 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -50,7 +50,7 @@ \section{Background} \subsection{Distributed Hash Tables} -Distributed Hash Tables (DHTs) are widely used to coordinate and maintain metadata about peer-to-peer systems. For example, the BitTorrent MainlineDHT tracks sets of peers part of a torrent swarm. +Distributed Hash Tables (DHTs) are widely used to coordinate and maintain metadata about peer-to-peer systems. For example, the BitTorrent Mainline DHT tracks sets of peers part of a torrent swarm. \subsubsection{Kademlia DHT} @@ -59,7 +59,7 @@ \subsubsection{Kademlia DHT} \begin{enumerate} \item Efficient lookup through massive networks: - queries on average contact $ \ceil{log_2 (n)} $ nodes. + queries on average contact $ \ceil{log_2 (n)} $ nodes (e.g. $20$ hops for a network of $10,000,000$ nodes). \item Low coordination overhead: it optimizes the number of @@ -67,10 +67,10 @@ \subsubsection{Kademlia DHT} \item Resistance to various attacks by preferring long-lived nodes. - \item Wide usage in peer-to-peer applications, including \\ - Gnutella and BitTorrent, forming networks of over 20 million nodes~\cite{wang13}. + \item Wide usage in peer-to-peer applications, including + Gnu\-tella and BitTorrent, forming networks of over 20 million nodes~\cite{wang13}. - \end{enumerate} +\end{enumerate} \subsubsection{Coral DSHT} @@ -82,7 +82,7 @@ \subsubsection{Coral DSHT} \begin{enumerate} - \item Kademlia stores values in nodes whose ids are ``nearest'' (using + \item Kademlia stores values in nodes whose identifiers are ``nearest'' (using XOR-distance) to the key. This does not take into account application data locality, ignores ``far'' nodes that may already have the data, and forces ``nearest'' nodes to store it, whether they need it or not. @@ -111,7 +111,7 @@ \subsubsection{S/Kademlia DHT} \begin{enumerate} \item S/Kademlia provides schemes to secure \texttt{NodeId} generation, - and prevent Sybill attacks. It requires nodes to create a PKI key pair, derive their identity from it, and sign their messages to each other. One scheme includes a proof-of-work crypto puzzle to make generating Sybills expensive. + and prevent Sybil attacks. It requires nodes to create a PKI key pair, derive their identity from it, and sign their messages to each other. One scheme includes a proof-of-work crypto puzzle to make generating Sybils expensive. \item S/Kademlia nodes lookup values over disjoint paths, in order to ensure honest nodes can connect to each other in the presence of a large fraction of adversaries in the network. S/Kademlia achieves a success rate of 0.85 even with an adversarial fraction as large as half of the nodes. @@ -383,7 +383,7 @@ \subsubsection{BitSwap Strategy} lenient to debts between nodes that have previously exchanged lots of data successfully, and merciless to unknown, untrusted nodes. This (a) provides resistance to attackers who would create lots of new nodes -(sybill attacks), +(Sybil attacks), (b) protects previously successful trade relationships, even if one of the nodes is temporarily unable to provide value, and (c) eventually chokes relationships that have deteriorated until they @@ -1136,7 +1136,7 @@ \section{The Future} \section{Acknowledgments} -IPFS is the synthesis of many great ideas and systems. It would be impossible to dare such ambitious goals without standing on the shoulders of such giants. Personal thanks to David Dalrymple, Joe Zimmerman, and Ali Yahya for long discussions on many of these ideas, in particular: exposing the general Merkle DAG (David, Joe), rolling hash blocking (David), and s/kademlia sybill protection (David, Ali). And special thanks to David Mazieres, for his ever brilliant ideas. +IPFS is the synthesis of many great ideas and systems. It would be impossible to dare such ambitious goals without standing on the shoulders of such giants. Personal thanks to David Dalrymple, Joe Zimmerman, and Ali Yahya for long discussions on many of these ideas, in particular: exposing the general Merkle DAG (David, Joe), rolling hash blocking (David), and S/Kademlia Sybil protection (David, Ali). And special thanks to David Mazieres, for his ever brilliant ideas. \section{References TODO} From 2b15093c2e9446b3ca5343a395acccf34078302b Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Tue, 17 Nov 2015 16:28:14 +0100 Subject: [PATCH 07/36] ipfs-cap2pfs: more caps preservation in bibliography License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index b66ab14..6887c1c 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -110,7 +110,7 @@ @inproceedings{cohen03 } @inproceedings{levin08, - title={Bittorrent is an auction: analyzing and improving bittorrent's incentives}, + title={{BitTorrent} is an auction: analyzing and improving {BitTorrent}'s incentives}, author={Levin, Dave and LaCurts, Katrina and Spring, Neil and Bhattacharjee, Bobby}, booktitle={ACM SIGCOMM Computer Communication Review}, volume={38}, From 1dfcd0ad95d724e3516b09fe9ec585f625299f81 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Tue, 17 Nov 2015 16:44:55 +0100 Subject: [PATCH 08/36] ipfs-cap2pfs: minor fixes to sections on BitTorrent, Git and SFS License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index a7efe7e..f0c10ff 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -136,7 +136,7 @@ \subsection{Block Exchanges - BitTorrent} \subsection{Version Control Systems - Git} -Version Control Systems provide facilities to model files changing over time and distribute different versions efficiently. The popular version control system Git provides a powerful Merkle DAG \footnote{Merkle Directed Acyclic Graph -- similar but more general construction than a Merkle Tree. Deduplicated, does not need to be balanced, and non-leaf nodes contain data.} object model that captures changes to a filesystem tree in a distributed-friendly way. +Version Control Systems provide facilities to model files changing over time and distribute different versions efficiently. The popular version control system Git provides a powerful Merkle DAG\footnote{Merkle Directed Acyclic Graph -- similar but more general construction than a Merkle Tree. Deduplicated, does not need to be balanced, and non-leaf nodes contain data.} object model that captures changes to a filesystem tree in a distributed-friendly way: \begin{enumerate} \item Immutable objects represent Files (\texttt{blob}), Directories (\texttt{tree}), and Changes (\texttt{commit}). @@ -150,7 +150,7 @@ \subsection{Version Control Systems - Git} \subsection{Self-Certified Filesystems - SFS} -SFS~\cite{mazieres98, mazieres00} proposed compelling implementations of both (a) distributed trust chains, and (b) egalitarian shared global namespaces. SFS introduced a technique for building \textit{Self-Certified Filesystems}: addressing remote filesystems using the following scheme +SFS~\cite{mazieres98, mazieres00} proposed compelling implementations of both (a) distributed trust chains, and (b) egalitarian shared global namespaces. SFS introduced a technique for building \textit{Self-Certified Filesystems}, addressing remote filesystems using the following scheme: \begin{verbatim} /sfs/: From 654e874a1035bc8ce83ff27375b67f2b1b8979c1 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Tue, 17 Nov 2015 17:07:11 +0100 Subject: [PATCH 09/36] ipfs-cap2pfs: minor fixes to IPFS design introduction Replaced hardwired section links with proper ``cleveref`` references. Also harmonized capitalization of mentions to the Web. License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index f0c10ff..6f7e6af 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -14,6 +14,8 @@ \usepackage[backend=biber,style=trad-abbrv]{biblatex} \bibliography{ipfs-cap2pfs} +\usepackage{cleveref} + \begin{document} \title{IPFS - Content-Addressed, Versioned, P2P File System (DRAFT 3)} @@ -166,24 +168,24 @@ \subsection{Self-Certified Filesystems - SFS} \section{IPFS Design} -IPFS is a distributed file system which synthesizes successful ideas from previous peer-to-peer sytems, including DHTs, BitTorrent, Git, and SFS. The contribution of IPFS is simplifying, evolving, and connecting proven techniques into a single cohesive system, greater than the sum of its parts. IPFS presents a new platform for writing and deploying applications, and a new system for distributing and versioning large data. IPFS could even evolve the web itself. +IPFS is a distributed file system which synthesizes successful ideas from previous peer-to-peer sytems, including DHTs, BitTorrent, Git, and SFS. The contribution of IPFS is simplifying, evolving, and connecting proven techniques into a single cohesive system, greater than the sum of its parts. IPFS presents a new platform for writing and deploying applications, and a new system for distributing and versioning large data. IPFS could even evolve the Web itself. -IPFS is peer-to-peer; no nodes are privileged. IPFS nodes store IPFS objects in local storage. Nodes connect to each other and transfer objects. These objects represent files and other data structures. The IPFS Protocol is divided into a stack of sub-protocols responsible for different functionality: +IPFS is peer-to-peer: no nodes are privileged. IPFS nodes store IPFS objects in local storage. Nodes connect to each other and transfer objects. These objects represent files and other data structures. The IPFS Protocol is divided into a stack of sub-protocols responsible for different functionality: \begin{enumerate} - \item \textbf{Identities} - manage node identity generation and verification. Described in Section 3.1. + \item \textbf{Identities} - manage node identity generation and verification. Described in \Cref{sec:design-identities}. - \item \textbf{Network} - manages connections to other peers, uses various underlying network protocols. Configurable. Described in Section 3.2. + \item \textbf{Network} - manages connections to other peers, uses various underlying network protocols. Configurable. Described in \Cref{sec:design-network}. - \item \textbf{Routing} - maintains information to locate specific peers and objects. Responds to both local and remote queries. Defaults to a DHT, but is swappable. Described in Section 3.3. + \item \textbf{Routing} - maintains information to locate specific peers and objects. Responds to both local and remote queries. Defaults to a DHT, but is swappable. Described in \Cref{sec:design-routing}. - \item \textbf{Exchange} - a novel block exchange protocol (BitSwap) that governs efficient block distribution. Modelled as a market, weakly incentivizes data replication. Trade Strategies swappable. Described in Section 3.4. + \item \textbf{Exchange} - a novel block exchange protocol (BitSwap) that governs efficient block distribution. Modelled as a market, weakly incentivizes data replication. Trade strategies are swappable. Described in \Cref{sec:design-exchange}. - \item \textbf{Objects} - a Merkle DAG of content-addressed immutable objects with links. Used to represent arbitrary datastructures, e.g. file hierarchies and communication systems. Described in Section 3.5. + \item \textbf{Objects} - a Merkle DAG of content-addressed immutable objects with links. Used to represent arbitrary data structures, e.g. file hierarchies and communication systems. Described in \Cref{sec:design-objects}. - \item \textbf{Files} - versioned file system hierarchy inspired by Git. Described in Section 3.6. + \item \textbf{Files} - versioned file system hierarchy inspired by Git. Described in \Cref{sec:design-files}. - \item \textbf{Naming} - A self-certifying mutable name system. Described in Section 3.7. + \item \textbf{Naming} - A self-certifying mutable name system. Described in \Cref{sec:design-ipns}. \end{enumerate} @@ -194,6 +196,7 @@ \section{IPFS Design} Notation: data structures and functions below are specified in Go syntax. \subsection{Identities} +\label{sec:design-identities} Nodes are identified by a \texttt{NodeId}, the cryptographic hash\footnote{Throughout this document, \textit{hash} and \textit{checksum} refer specifically to cryptographic hashes of data.} of a public-key, created with S/Kademlia's static crypto puzzle~\cite{baumgart07}. Nodes store their public and private keys (encrypted with a passphrase). Users are free to instatiate a ``new'' node identity on every launch, though that loses accrued network benefits. Nodes are incentivized to remain the same. @@ -237,6 +240,7 @@ \subsection{Identities} This allows the system to (a) choose the best function for the use case (e.g. stronger security vs faster performance), and (b) evolve as function choices change. Self-describing values allow using different parameter choices compatibly. \subsection{Network} +\label{sec:design-network} IPFS nodes communicate regularly with hundreds of other nodes in the network, potentially across the wide Internet. The IPFS network stack features: @@ -261,6 +265,7 @@ \subsubsection{Note on Peer Addressing} \end{verbatim} \subsection{Routing} +\label{sec:design-routing} IPFS nodes require a routing system that can find (a) other peers' network addresses and (b) peers who can serve particular objects. IPFS achieves this using a DSHT based on S/Kademlia and Coral, using the properties discussed in 2.1. The size of objects and use patterns of IPFS are similar to Coral \cite{freedman04} and Mainline~\cite{wang13}, so the IPFS DHT makes a distinction for values stored based on their size. Small values (equal to or less than \texttt{1KB}) are stored directly on the DHT. For larger values, the DHT stores references, which are the \texttt{NodeIds} of peers who can serve the block. @@ -290,6 +295,7 @@ \subsection{Routing} Note: different use cases will call for substantially different routing systems (e.g. DHT in wide network, static HT in local network). Thus the IPFS routing system can be swapped for one that fits users' needs. As long as the interface above is met, the rest of the system will continue to function. \subsection{Block Exchange - BitSwap Protocol} +\label{sec:design-exchange} In IPFS, data distribution happens by exchanging blocks with peers using a BitTorrent inspired protocol: BitSwap. Like BitTorrent, BitSwap peers are @@ -566,6 +572,7 @@ \subsubsection{BitSwap Specification} % TODO: Rate Limiting / Node Silencing \subsection{Object Merkle DAG} +\label{sec:design-objects} The DHT and BitSwap allow IPFS to form a massive peer-to-peer system for storing and distributing blocks quickly and robustly. On top of these, IPFS builds a Merkle DAG, a directed acyclic graph where links between objects are cryptographic hashes of the targets embedded in the sources. This is a generalization of the Git data structure. Merkle DAGs provide IPFS many useful properties, including: @@ -723,6 +730,7 @@ \subsubsection{Object-level Cryptography} \subsection{Files} +\label{sec:design-files} IPFS also defines a set of objects for modeling a versioned filesystem on top of the Merkle DAG. This object model is similar to Git's: @@ -969,6 +977,7 @@ \subsubsection{Path Lookup Performance} \subsection{IPNS: Naming and Mutable State} +\label{sec:design-ipns} So far, the IPFS stack forms a peer-to-peer block exchange constructing a content-addressed DAG of objects. It serves to publish and retrieve immutable objects. It can even track the version history of these objects. However, there is a critical component missing: mutable naming. Without it, all communication of new content must happen off-band, sending IPFS links. What is required is some way to retrieve mutable state at \textit{the same path}. @@ -978,7 +987,7 @@ \subsection{IPNS: Naming and Mutable State} Objects are \textbf{permanent} \end{center} -\noindent These are the critical properties of a high-performance distributed system, where data is expensive to move across network links. Object content addressing constructs a web with (a) significant bandwidth optimizations, (b) untrusted content serving, (c) permanent links, and (d) the ability to make full permanent backups of any object and its references. +\noindent These are the critical properties of a high-performance distributed system, where data is expensive to move across network links. Object content addressing constructs a Web with (a) significant bandwidth optimizations, (b) untrusted content serving, (c) permanent links, and (d) the ability to make full permanent backups of any object and its references. The Merkle DAG, immutable content-addressed objects, and Naming, mutable pointers to the Merkle DAG, instantiate a dichotomy present in many successful distributed systems. These include the Git Version Control System, with its immutable objects and mutable references; and Plan9 \cite{Plan9}, the distributed successor to UNIX, with its mutable Fossil \cite{Fossil} and immutable Venti \cite{Venti} filesystems. LBFS \cite{LBFS} also uses mutable indices and immutable chunks. @@ -1113,7 +1122,7 @@ \subsection{Using IPFS} \item As a linked (and encrypted) communications platform. \item As an integrity checked CDN for large files (without SSL). \item As an encrypted CDN. - \item On webpages, as a web CDN. + \item On webpages, as a Web CDN. \item As a new Permanent Web where links do not die. \end{enumerate} @@ -1131,7 +1140,7 @@ \section{The Future} The ideas behind IPFS are the product of decades of successful distributed systems research in academia and open source. IPFS synthesizes many of the best ideas from the most successful systems to date. Aside from BitSwap, which is a novel protocol, the main contribution of IPFS is this coupling of systems and synthesis of designs. -IPFS is an ambitious vision of new decentralized Internet infrastructure, upon which many different kinds of applications can be built. At the bare minimum, it can be used as a global, mounted, versioned filesystem and namespace, or as the next generation file sharing system. At its best, it could push the web to new horizons, where publishing valuable information does not impose hosting it on the publisher but upon those interested, where users can trust the content they receive without trusting the peers they receive it from, and where old but important files do not go missing. IPFS looks forward to bringing us toward the Permanent Web. +IPFS is an ambitious vision of new decentralized Internet infrastructure, upon which many different kinds of applications can be built. At the bare minimum, it can be used as a global, mounted, versioned filesystem and namespace, or as the next generation file sharing system. At its best, it could push the Web to new horizons, where publishing valuable information does not impose hosting it on the publisher but upon those interested, where users can trust the content they receive without trusting the peers they receive it from, and where old but important files do not go missing. IPFS looks forward to bringing us toward the Permanent Web. \section{Acknowledgments} From faa0c3d9a58fe2d2ea0c25ff8975a1fe551faa32 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Tue, 17 Nov 2015 17:39:14 +0100 Subject: [PATCH 10/36] ipfs-cap2pfs: more caps preservation in bibliography License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index 6887c1c..d818a86 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -156,7 +156,7 @@ @book{SCTP } @article{ICE, - title={Interactive connectivity establishment (ice): A protocol for network address translator (nat) traversal for offer/answer protocols}, + title={{Interactive Connectivity Establishment} ({ICE}): A protocol for {Network Address Translator} ({NAT}) traversal for offer/answer protocols}, author={Rosenberg, Jonathan and Keranen, Ari}, year={2013} } From fa84693583533cacfab387d3f206c0a15090afb5 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Tue, 17 Nov 2015 17:53:49 +0100 Subject: [PATCH 11/36] ipfs-cap2pfs: bibliography entry for WebRTC Obtained from . License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index d818a86..70eea82 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -141,6 +141,17 @@ @article{UTP author={Rossi, Dario} } +@techreport{WebRTC, + author={Narayanan, Anant and Jennings, Cullen and Bergkvist, Adam and Burnett, Daniel}, + title={{WebRTC} 1.0: Real-time Communication Between Browsers}, + month=sep, + note={http://www.w3.org/TR/2013/WD-webrtc-20130910/}, + year={2013}, + bibsource={http://w2.syronex.com/jmr/w3c-biblio}, + type={{W3C} Working Draft}, + institution={W3C}, +} + @article{LEDBAT, title={Low extra delay background transport ({LEDBAT})}, author={Shalunov, Stanislav and Hazel, Greg and Iyengar, Janardhan and Kuehlewind, Mirja}, From 1a4ef144a0d8d9cb9023c6cd874f415143b628ff Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Tue, 17 Nov 2015 18:06:15 +0100 Subject: [PATCH 12/36] ipfs-cap2pfs: minor fixes to identities, network and routing design License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 6f7e6af..c3631da 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -51,6 +51,7 @@ \section{Background} This section reviews important properties of successful peer-to-peer systems, which IPFS combines. \subsection{Distributed Hash Tables} +\label{sec:bg-dhts} Distributed Hash Tables (DHTs) are widely used to coordinate and maintain metadata about peer-to-peer systems. For example, the BitTorrent Mainline DHT tracks sets of peers part of a torrent swarm. @@ -170,7 +171,7 @@ \section{IPFS Design} IPFS is a distributed file system which synthesizes successful ideas from previous peer-to-peer sytems, including DHTs, BitTorrent, Git, and SFS. The contribution of IPFS is simplifying, evolving, and connecting proven techniques into a single cohesive system, greater than the sum of its parts. IPFS presents a new platform for writing and deploying applications, and a new system for distributing and versioning large data. IPFS could even evolve the Web itself. -IPFS is peer-to-peer: no nodes are privileged. IPFS nodes store IPFS objects in local storage. Nodes connect to each other and transfer objects. These objects represent files and other data structures. The IPFS Protocol is divided into a stack of sub-protocols responsible for different functionality: +IPFS is peer-to-peer; no nodes are privileged. IPFS nodes store IPFS objects in local storage. Nodes connect to each other and transfer objects. These objects represent files and other data structures. The IPFS Protocol is divided into a stack of sub-protocols responsible for different functionality: \begin{enumerate} \item \textbf{Identities} - manage node identity generation and verification. Described in \Cref{sec:design-identities}. @@ -198,7 +199,7 @@ \section{IPFS Design} \subsection{Identities} \label{sec:design-identities} -Nodes are identified by a \texttt{NodeId}, the cryptographic hash\footnote{Throughout this document, \textit{hash} and \textit{checksum} refer specifically to cryptographic hashes of data.} of a public-key, created with S/Kademlia's static crypto puzzle~\cite{baumgart07}. Nodes store their public and private keys (encrypted with a passphrase). Users are free to instatiate a ``new'' node identity on every launch, though that loses accrued network benefits. Nodes are incentivized to remain the same. +Nodes are identified by a \texttt{NodeId}, the cryptographic hash\footnote{Throughout this document, \textit{hash} and \textit{checksum} refer specifically to cryptographic hashes of data.} of a public key, created with S/Kademlia's static crypto puzzle~\cite{baumgart07}. Nodes store their public and private keys (encrypted with a passphrase). Users are free to instatiate a ``new'' node identity on every launch, though that loses accrued network benefits. Nodes are incentivized to remain the same. \begin{verbatim} type NodeId Multihash @@ -210,13 +211,13 @@ \subsection{Identities} // self-describing keys type Node struct { - NodeId NodeID + NodeId NodeId PubKey PublicKey - PriKey PrivateKey + PrivKey PrivateKey } \end{verbatim} -S/Kademlia based IPFS identity generation: +S/Kademlia-based IPFS identity generation: \begin{verbatim} difficulty = @@ -229,7 +230,7 @@ \subsection{Identities} \end{verbatim} -Upon first connecting, peers exchange public keys, and check: \texttt{hash(other.PublicKey) equals other.NodeId}. If not, the connection is terminated. +Upon first connecting, peers exchange public keys, and check that \texttt{hash(other.PublicKey)} equals \texttt{other.NodeId}. If not, the connection is terminated. \paragraph{Note on Cryptographic Functions} Rather than locking the system to a particular set of function choices, IPFS favors self-describing values. Hash digest values are stored in \texttt{multihash} format, which includes a short header specifying the hash function used, and the digest length in bytes. Example: @@ -245,16 +246,16 @@ \subsection{Network} IPFS nodes communicate regularly with hundreds of other nodes in the network, potentially across the wide Internet. The IPFS network stack features: \begin{itemize} - \item \textbf{Transport:} IPFS can use any transport protocol, and is best suited for WebRTC DataChannels~\cite{WebRTC} (for browser connectivity) or uTP(LEDBAT~\cite{LEDBAT}). + \item \textbf{Transport:} IPFS can use any transport protocol, and is best suited for WebRTC data channels~\cite{WebRTC} (for browser connectivity) or uTP (LEDBAT~\cite{LEDBAT}). \item \textbf{Reliability:} IPFS can provide reliability if underlying networks do not provide it, using uTP (LEDBAT~\cite{LEDBAT}) or SCTP~\cite{SCTP}. - \item \textbf{Connectivity:} IPFS also uses the ICE NAT traversal techniques \cite{ICE}. - \item \textbf{Integrity:} optionally checks integrity of messages using a hash checksum. - \item \textbf{Authenticity:} optionally checks authenticity of messages by digitally signing them with the sender's private key. + \item \textbf{Connectivity:} IPFS also uses the ICE NAT traversal techniques~\cite{ICE}. + \item \textbf{Integrity:} IPFS optionally checks integrity of messages using a hash checksum. + \item \textbf{Authenticity:} IPFS optionally checks authenticity of messages by digitally signing them with the sender's private key. \end{itemize} \subsubsection{Note on Peer Addressing} -IPFS can use any network; it does not rely on or assume access to IP. This allows IPFS to be used in overlay networks. IPFS stores addresses as \texttt{multiaddr} formatted byte strings for the underlying network to use. \texttt{multiaddr} provides a way to express addresses and their protocols, including support for encapsulation. For example: +IPFS can use any network; it does not rely on or assume access to IP. This allows IPFS to be used in overlay networks. IPFS stores addresses as \texttt{multiaddr}-formatted byte strings for the underlying network to use. \texttt{multiaddr} provides a way to express addresses and their protocols, including support for encapsulation. For example: \begin{verbatim} # an SCTP/IPv4 connection @@ -267,12 +268,11 @@ \subsubsection{Note on Peer Addressing} \subsection{Routing} \label{sec:design-routing} -IPFS nodes require a routing system that can find (a) other peers' network addresses and (b) peers who can serve particular objects. IPFS achieves this using a DSHT based on S/Kademlia and Coral, using the properties discussed in 2.1. The size of objects and use patterns of IPFS are similar to Coral \cite{freedman04} and Mainline~\cite{wang13}, so the IPFS DHT makes a distinction for values stored based on their size. Small values (equal to or less than \texttt{1KB}) are stored directly on the DHT. For larger values, the DHT stores references, which are the \texttt{NodeIds} of peers who can serve the block. +IPFS nodes require a routing system that can find (a) other peers' network addresses and (b) peers who can serve particular objects. IPFS achieves this using a DSHT based on S/Kademlia and Coral, using the properties discussed in \Cref{sec:bg-dhts}. The size of objects and use patterns of IPFS are similar to Coral~\cite{freedman04} and Mainline~\cite{wang13}, so the IPFS DHT makes a distinction for values stored based on their size. Small values (equal to or less than 1~KiB) are stored directly on the DHT. For larger values, the DHT stores references, which are the \texttt{NodeIds} of peers who can serve the block. The interface of this DSHT is the following: \begin{verbatim} - type IPFSRouting interface { FindPeer(node NodeId) @@ -292,7 +292,7 @@ \subsection{Routing} } \end{verbatim} -Note: different use cases will call for substantially different routing systems (e.g. DHT in wide network, static HT in local network). Thus the IPFS routing system can be swapped for one that fits users' needs. As long as the interface above is met, the rest of the system will continue to function. +Note: different use cases will call for substantially different routing systems (e.g. DHT in wide networks, static HT in local networks). Thus the IPFS routing system can be swapped for one that fits users' needs. As long as the interface above is met, the rest of the system will continue to function. \subsection{Block Exchange - BitSwap Protocol} \label{sec:design-exchange} From 80f8f38ac82540aa00ebfad3fab35ea001fc8231 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Wed, 18 Nov 2015 10:50:29 +0100 Subject: [PATCH 13/36] ipfs-cap2pfs: mark WebRTC's URL as such in bibliography License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index 70eea82..019792a 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -145,7 +145,7 @@ @techreport{WebRTC author={Narayanan, Anant and Jennings, Cullen and Bergkvist, Adam and Burnett, Daniel}, title={{WebRTC} 1.0: Real-time Communication Between Browsers}, month=sep, - note={http://www.w3.org/TR/2013/WD-webrtc-20130910/}, + url={http://www.w3.org/TR/2013/WD-webrtc-20130910/}, year={2013}, bibsource={http://w2.syronex.com/jmr/w3c-biblio}, type={{W3C} Working Draft}, From 167b55fccd88e6ccbe4c6fa80f32e99237cafa33 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Wed, 18 Nov 2015 10:52:26 +0100 Subject: [PATCH 14/36] ipfs-cap2pfs: change manually indented verbatim envs to quote+verbatim And remove manual indentation so that it looks consistent over the document. License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 361 ++++++++++++++++++---------------- 1 file changed, 195 insertions(+), 166 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index c3631da..7d51f6f 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -155,15 +155,19 @@ \subsection{Self-Certified Filesystems - SFS} SFS~\cite{mazieres98, mazieres00} proposed compelling implementations of both (a) distributed trust chains, and (b) egalitarian shared global namespaces. SFS introduced a technique for building \textit{Self-Certified Filesystems}, addressing remote filesystems using the following scheme: +\begin{quote} \begin{verbatim} - /sfs/: +/sfs/: \end{verbatim} +\end{quote} \noindent where \texttt{Location} is the server network address, and: +\begin{quote} \begin{verbatim} - HostID = hash(public_key || Location) +HostID = hash(public_key || Location) \end{verbatim} +\end{quote} Thus the \textit{name} of an SFS file system certifies its server. The user can verify the public key offered by the server, negotiate a shared secret, and secure all traffic. All SFS instances share a global namespace where name allocation is cryptographic, not gated by any centralized body. @@ -201,42 +205,47 @@ \subsection{Identities} Nodes are identified by a \texttt{NodeId}, the cryptographic hash\footnote{Throughout this document, \textit{hash} and \textit{checksum} refer specifically to cryptographic hashes of data.} of a public key, created with S/Kademlia's static crypto puzzle~\cite{baumgart07}. Nodes store their public and private keys (encrypted with a passphrase). Users are free to instatiate a ``new'' node identity on every launch, though that loses accrued network benefits. Nodes are incentivized to remain the same. +\begin{quote} \begin{verbatim} - type NodeId Multihash - type Multihash []byte - // self-describing cryptographic hash digest - - type PublicKey []byte - type PrivateKey []byte - // self-describing keys - - type Node struct { - NodeId NodeId - PubKey PublicKey - PrivKey PrivateKey - } +type NodeId Multihash +type Multihash []byte +// self-describing cryptographic hash digest + +type PublicKey []byte +type PrivateKey []byte +// self-describing keys + +type Node struct { + NodeId NodeId + PubKey PublicKey + PrivKey PrivateKey +} \end{verbatim} +\end{quote} S/Kademlia-based IPFS identity generation: +\begin{quote} \begin{verbatim} - difficulty = - n = Node{} - do { - n.PubKey, n.PrivKey = PKI.genKeyPair() - n.NodeId = hash(n.PubKey) - p = count_preceding_zero_bits(hash(n.NodeId)) - } while (p < difficulty) +difficulty = +n = Node{} +do { + n.PubKey, n.PrivKey = PKI.genKeyPair() + n.NodeId = hash(n.PubKey) + p = count_preceding_zero_bits(hash(n.NodeId)) +} while (p < difficulty) \end{verbatim} - +\end{quote} Upon first connecting, peers exchange public keys, and check that \texttt{hash(other.PublicKey)} equals \texttt{other.NodeId}. If not, the connection is terminated. \paragraph{Note on Cryptographic Functions} Rather than locking the system to a particular set of function choices, IPFS favors self-describing values. Hash digest values are stored in \texttt{multihash} format, which includes a short header specifying the hash function used, and the digest length in bytes. Example: +\begin{quote} \begin{verbatim} - + \end{verbatim} +\end{quote} This allows the system to (a) choose the best function for the use case (e.g. stronger security vs faster performance), and (b) evolve as function choices change. Self-describing values allow using different parameter choices compatibly. @@ -257,13 +266,15 @@ \subsubsection{Note on Peer Addressing} IPFS can use any network; it does not rely on or assume access to IP. This allows IPFS to be used in overlay networks. IPFS stores addresses as \texttt{multiaddr}-formatted byte strings for the underlying network to use. \texttt{multiaddr} provides a way to express addresses and their protocols, including support for encapsulation. For example: +\begin{quote} \begin{verbatim} - # an SCTP/IPv4 connection - /ip4/10.20.30.40/sctp/1234/ +# an SCTP/IPv4 connection +/ip4/10.20.30.40/sctp/1234/ - # an SCTP/IPv4 connection proxied over TCP/IPv4 - /ip4/5.6.7.8/tcp/5678/ip4/1.2.3.4/sctp/1234/ +# an SCTP/IPv4 connection proxied over TCP/IPv4 +/ip4/5.6.7.8/tcp/5678/ip4/1.2.3.4/sctp/1234/ \end{verbatim} +\end{quote} \subsection{Routing} \label{sec:design-routing} @@ -272,25 +283,27 @@ \subsection{Routing} The interface of this DSHT is the following: +\begin{quote} \begin{verbatim} - type IPFSRouting interface { +type IPFSRouting interface { - FindPeer(node NodeId) - // gets a particular peer's network address + FindPeer(node NodeId) + // gets a particular peer's network address - SetValue(key []bytes, value []bytes) - // stores a small metadata value in DHT + SetValue(key []bytes, value []bytes) + // stores a small metadata value in DHT - GetValue(key []bytes) - // retrieves small metadata value from DHT + GetValue(key []bytes) + // retrieves small metadata value from DHT - ProvideValue(key Multihash) - // announces this node can serve a large value + ProvideValue(key Multihash) + // announces this node can serve a large value - FindValuePeers(key Multihash, min int) - // gets a number of peers serving a large value - } + FindValuePeers(key Multihash, min int) + // gets a number of peers serving a large value +} \end{verbatim} +\end{quote} Note: different use cases will call for substantially different routing systems (e.g. DHT in wide networks, static HT in local networks). Thus the IPFS routing system can be swapped for one that fits users' needs. As long as the interface above is met, the rest of the system will continue to function. @@ -422,15 +435,17 @@ \subsubsection{BitSwap Ledger} BitSwap nodes keep ledgers accounting the transfers with other nodes. This allows nodes to keep track of history and avoid tampering. When activating a connection, BitSwap nodes exchange their ledger information. If it does not match exactly, the ledger is reinitialized from scratch, losing the accrued credit or debt. It is possible for malicious nodes to purposefully ``lose'' the Ledger, hoping to erase debts. It is unlikely that nodes will have accrued enough debt to warrant also losing the accrued trust; however the partner node is free to count it as misconduct, and refuse to trade. +\begin{quote} \begin{verbatim} - type Ledger struct { - owner NodeId - partner NodeId - bytes_sent int - bytes_recv int - timestamp Timestamp - } +type Ledger struct { + owner NodeId + partner NodeId + bytes_sent int + bytes_recv int + timestamp Timestamp +} \end{verbatim} +\end{quote} Nodes are free to keep the ledger history, though it is not necessary for correct operation. Only the current ledger entries are useful. Nodes are @@ -441,43 +456,45 @@ \subsubsection{BitSwap Specification} BitSwap nodes follow a simple protocol. +\begin{quote} \begin{verbatim} - // Additional state kept - type BitSwap struct { - ledgers map[NodeId]Ledger - // Ledgers known to this node, inc inactive - - active map[NodeId]Peer - // currently open connections to other nodes - - need_list []Multihash - // checksums of blocks this node needs - - have_list []Multihash - // checksums of blocks this node has - } - - type Peer struct { - nodeid NodeId - ledger Ledger - // Ledger between the node and this peer - - last_seen Timestamp - // timestamp of last received message - - want_list []Multihash - // checksums of all blocks wanted by peer - // includes blocks wanted by peer's peers - } - - // Protocol interface: - interface Peer { - open (nodeid :NodeId, ledger :Ledger); - send_want_list (want_list :WantList); - send_block (block :Block) -> (complete :Bool); - close (final :Bool); - } +// Additional state kept +type BitSwap struct { + ledgers map[NodeId]Ledger + // Ledgers known to this node, inc inactive + + active map[NodeId]Peer + // currently open connections to other nodes + + need_list []Multihash + // checksums of blocks this node needs + + have_list []Multihash + // checksums of blocks this node has +} + +type Peer struct { + nodeid NodeId + ledger Ledger + // Ledger between the node and this peer + + last_seen Timestamp + // timestamp of last received message + + want_list []Multihash + // checksums of all blocks wanted by peer + // includes blocks wanted by peer's peers +} + +// Protocol interface: +interface Peer { + open (nodeid :NodeId, ledger :Ledger); + send_want_list (want_list :WantList); + send_block (block :Block) -> (complete :Bool); + close (final :Bool); +} \end{verbatim} +\end{quote} Sketch of the lifetime of a peer connection: @@ -588,28 +605,28 @@ \subsection{Object Merkle DAG} The IPFS Object format is: +\begin{quote} \begin{verbatim} +type IPFSLink struct { + Name string + // name or alias of this link - type IPFSLink struct { - Name string - // name or alias of this link - - Hash Multihash - // cryptographic hash of target - - Size int - // total size of target - } + Hash Multihash + // cryptographic hash of target - type IPFSObject struct { - links []IPFSLink - // array of links + Size int + // total size of target +} - data []byte - // opaque content data - } +type IPFSObject struct { + links []IPFSLink + // array of links + data []byte + // opaque content data +} \end{verbatim} +\end{quote} The IPFS Merkle DAG is an extremely flexible way to store data. The only requirements are that object references be (a) content-addressed, and (b) encoded in the format above. IPFS grants applications complete control over the data field; applications can use any custom data format they chose, which IPFS may not understand. The separate in-object link table allows IPFS to: @@ -655,21 +672,25 @@ \subsubsection{Paths} IPFS objects can be traversed with a string path API. Paths work as they do in traditional UNIX filesystems and the Web. The Merkle DAG links make traversing it easy. Note that full paths in IPFS are of the form: +\begin{quote} \begin{verbatim} - # format - /ipfs// +# format +/ipfs// - # example - /ipfs/XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x/foo.txt +# example +/ipfs/XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x/foo.txt \end{verbatim} +\end{quote} The \texttt{/ipfs} prefix allows mounting into existing systems at a standard mount point without conflict (mount point names are of course configurable). The second path component (first within IPFS) is the hash of an object. This is always the case, as there is no global root. A root object would have the impossible task of handling consistency of millions of objects in a distributed (and possibly disconnected) environment. Instead, we simulate the root with content addressing. All objects are always accessible via their hash. Note this means that given three objects in path \texttt{/bar/baz}, the last object is accessible by all: +\begin{quote} \begin{verbatim} - /ipfs//bar/baz - /ipfs//baz - /ipfs/ +/ipfs//bar/baz +/ipfs//baz +/ipfs/ \end{verbatim} +\end{quote} \subsubsection{Local Objects} @@ -705,26 +726,28 @@ \subsubsection{Object-level Cryptography} IPFS is equipped to handle object-level cryptographic operations. An encrypted or signed object is wrapped in a special frame that allows encryption or verification of the raw bytes. +\begin{quote} \begin{verbatim} - type EncryptedObject struct { - Object []bytes - // raw object data encrypted +type EncryptedObject struct { + Object []bytes + // raw object data encrypted - Tag []bytes - // optional tag for encryption groups - } + Tag []bytes + // optional tag for encryption groups +} - type SignedObject struct { - Object []bytes - // raw object data signed +type SignedObject struct { + Object []bytes + // raw object data signed - Signature []bytes - // hmac signature + Signature []bytes + // hmac signature - PublicKey []multihash - // multihash identifying key - } + PublicKey []multihash + // multihash identifying key +} \end{verbatim} +\end{quote} Cryptographic operations change the object's hash, defining a different object. IPFS automatically verifies signatures, and can decrypt data with user-specified keychains. Links of encrypted objects are protected as well, making traversal impossible without a decryption key. It is possible to have a parent object encrypted under one key, and a child under another or not at all. This secures links to shared objects. @@ -824,41 +847,41 @@ \subsubsection{File Object: \texttt{list}} \caption{Sample Object Graph} \label{fig:sample-object-graph} \begin{verbatim} - > ipfs file-cat --json - { - "data": { - "type": "tree", - "date": "2014-09-20 12:44:06Z", - "message": "This is a commit message." - }, - "links": [ - { "hash": "", - "name": "parent", "size": 25309 }, - { "hash": "", - "name": "object", "size": 5198 }, - { "hash": "", - "name": "author", "size": 109 } - ] - } - - > ipfs file-cat --json - { - "data": nil, - "links": [ - { "hash": "", - "name": "ttt222-name", "size": 1234 }, - { "hash": "", - "name": "ttt333-name", "size": 3456 }, - { "hash": "", - "name": "bbb222-name", "size": 22 } - ] - } - - > ipfs file-cat --json - { - "data": "blob222 data", - "links": [] - } +> ipfs file-cat --json +{ + "data": { + "type": "tree", + "date": "2014-09-20 12:44:06Z", + "message": "This is a commit message." + }, + "links": [ + { "hash": "", + "name": "parent", "size": 25309 }, + { "hash": "", + "name": "object", "size": 5198 }, + { "hash": "", + "name": "author", "size": 109 } + ] +} + +> ipfs file-cat --json +{ + "data": nil, + "links": [ + { "hash": "", + "name": "ttt222-name", "size": 1234 }, + { "hash": "", + "name": "ttt333-name", "size": 3456 }, + { "hash": "", + "name": "bbb222-name", "size": 22 } + ] +} + +> ipfs file-cat --json +{ + "data": "blob222 data", + "links": [] +} \end{verbatim} \caption{Sample Objects} \label{fig:sample-objects} \end{figure} @@ -1074,38 +1097,44 @@ \subsubsection{Human Friendly Names} looks up key \texttt{ipns} in its \texttt{DNS TXT} records. IPFS interprets the value as either an object hash or another IPNS path: +\begin{quote} \begin{verbatim} - # this DNS TXT record - ipfs.benet.ai. TXT "ipfs=XLF2ipQ4jD3U ..." +# this DNS TXT record +ipfs.benet.ai. TXT "ipfs=XLF2ipQ4jD3U ..." - # behaves as symlink - ln -s /ipns/XLF2ipQ4jD3U /ipns/fs.benet.ai +# behaves as symlink +ln -s /ipns/XLF2ipQ4jD3U /ipns/fs.benet.ai \end{verbatim} +\end{quote} \paragraph{Proquint Pronounceable Identifiers} There have always been schemes to encode binary into pronounceable words. IPNS supports Proquint \cite{Proquint}. Thus: +\begin{quote} \begin{verbatim} - # this proquint phrase - /ipns/dahih-dolij-sozuk-vosah-luvar-fuluh +# this proquint phrase +/ipns/dahih-dolij-sozuk-vosah-luvar-fuluh - # will resolve to corresponding - /ipns/KhAwNprxYVxKqpDZ +# will resolve to corresponding +/ipns/KhAwNprxYVxKqpDZ \end{verbatim} +\end{quote} \paragraph{Name Shortening Services} Services are bound to spring up that will provide name shortening as a service, offering up their namespaces to users. This is similar to what we see today with DNS and Web URLs: +\begin{quote} \begin{verbatim} - # User can get a link from - /ipns/shorten.er/foobar +# User can get a link from +/ipns/shorten.er/foobar - # To her own namespace - /ipns/XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm +# To her own namespace +/ipns/XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm \end{verbatim} +\end{quote} \subsection{Using IPFS} From d36c0ba2cb3e65fab99c1bf9129b4cd07e0decd7 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Wed, 18 Nov 2015 11:09:11 +0100 Subject: [PATCH 15/36] ipfs-cap2pfs: turn more verbatim envs to quote+verbatim Some cause quite overfull hboxes but that should be solved in other way (e.g. restructuring lines or making the fonts of particular blocks smaller). License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 7d51f6f..0469444 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -773,12 +773,14 @@ \subsubsection{File Object: \texttt{blob}} The \texttt{blob} object contains an addressable unit of data, and represents a file. IPFS Blocks are like Git blobs or filesystem data blocks. They store the users' data. Note that IPFS files can be represented by both \texttt{lists} and \texttt{blobs}. Blobs have no links. +\begin{quote} \begin{verbatim} { "data": "some data here" // blobs have no links } \end{verbatim} +\end{quote} \subsubsection{File Object: \texttt{list}} @@ -788,6 +790,7 @@ \subsubsection{File Object: \texttt{list}} In a sense, the IPFS \texttt{list} functions like a filesystem file with indirect blocks. Since \texttt{lists} can contain other \texttt{lists}, topologies including linked lists and balanced trees are possible. Directed graphs where the same node appears in multiple places allow in-file deduplication. Of course, cycles are not possible, as enforced by hash addressing. +\begin{quote} \begin{verbatim} { "data": ["blob", "list", "blob"], @@ -803,6 +806,7 @@ \subsubsection{File Object: \texttt{list}} ] } \end{verbatim} +\end{quote} \begin{figure} @@ -892,6 +896,7 @@ \subsubsection{File Object: \texttt{tree}} The \texttt{tree} object in IPFS is similar to Git's: it represents a directory, a map of names to hashes. The hashes reference \texttt{blobs}, \texttt{lists}, other \texttt{trees}, or \texttt{commits}. Note that traditional path naming is already implemented by the Merkle DAG. +\begin{quote} \begin{verbatim} { "data": nil, @@ -907,12 +912,14 @@ \subsubsection{File Object: \texttt{tree}} ] } \end{verbatim} +\end{quote} \subsubsection{File Object: \texttt{commit}} The \texttt{commit} object in IPFS represents a snapshot in the version history of any object. It is similar to Git's, but can reference any type of object. It also links to author objects. +\begin{quote} \begin{verbatim} { "data": { @@ -930,6 +937,7 @@ \subsubsection{File Object: \texttt{commit}} ] } \end{verbatim} +\end{quote} \subsubsection{Version control} @@ -978,6 +986,7 @@ \subsubsection{Path Lookup Performance} For example, \texttt{flattened tree} for \texttt{ttt111} above: +\begin{quote} \begin{verbatim} { "data": @@ -997,6 +1006,7 @@ \subsubsection{Path Lookup Performance} "name": "bbb222-name" } ] } \end{verbatim} +\end{quote} \subsection{IPNS: Naming and Mutable State} @@ -1076,6 +1086,7 @@ \subsubsection{Human Friendly Names} As encouraged by SFS, users can link other users' Objects directly into their own Objects (namespace, home, etc). This has the benefit of also creating a web of trust (and supports the old Certificate Authority model): +\begin{quote} \begin{verbatim} # Alice links to bob Bob ipfs link //friends/bob / @@ -1089,6 +1100,7 @@ \subsubsection{Human Friendly Names} # access Verisign certified domains //foo.com \end{verbatim} +\end{quote} \paragraph{DNS TXT IPNS Records} From e86035e3549eef8f0786eda6a93cfb1a61ada8d2 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Wed, 18 Nov 2015 11:11:45 +0100 Subject: [PATCH 16/36] ipfs-cap2pfs: remove hack to avoid overfull verbatim hbox This should be solved in other way (e.g. restructuring lines or making the fonts of particular blocks smaller). Fortunately, it doesn't run over the next column. License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 2 -- 1 file changed, 2 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 0469444..a79dbfd 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -1063,7 +1063,6 @@ \subsubsection{Self-Certified Names} \end{verbatim} \item Any links in the Object published act as sub-names in the namespace: -\end{itemize} \begin{verbatim} /ipns/XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm/ @@ -1071,7 +1070,6 @@ \subsubsection{Self-Certified Names} /ipns/XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm/docs/ipfs \end{verbatim} -\begin{itemize} \item it is advised to publish a \texttt{commit} object, or some other object with a version history, so that clients may be able to find old names. This is left as a user option, as it is not always desired. \end{itemize} From 7853b5415a742ea25202b8706a8a98aa5a35399c Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Wed, 18 Nov 2015 11:13:09 +0100 Subject: [PATCH 17/36] ipfs-cap2pfs: odd minor corrections License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index a79dbfd..5f9ccd9 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -239,7 +239,7 @@ \subsection{Identities} Upon first connecting, peers exchange public keys, and check that \texttt{hash(other.PublicKey)} equals \texttt{other.NodeId}. If not, the connection is terminated. -\paragraph{Note on Cryptographic Functions} Rather than locking the system to a particular set of function choices, IPFS favors self-describing values. Hash digest values are stored in \texttt{multihash} format, which includes a short header specifying the hash function used, and the digest length in bytes. Example: +\paragraph{Note on Cryptographic Functions} Rather than locking the system to a particular set of function choices, IPFS favors self-describing values. Hash digest values are stored in \texttt{multihash} format, which includes a short header specifying the hash function used, and the digest length in bytes: \begin{quote} \begin{verbatim} @@ -1070,7 +1070,7 @@ \subsubsection{Self-Certified Names} /ipns/XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm/docs/ipfs \end{verbatim} - \item it is advised to publish a \texttt{commit} object, or some other object with a version history, so that clients may be able to find old names. This is left as a user option, as it is not always desired. + \item It is advised to publish a \texttt{commit} object, or some other object with a version history, so that clients may be able to find old names. This is left as a user option, as it is not always desired. \end{itemize} From 37d368e50a253cd56d71dfd862a40684545b61ee Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Fri, 20 Nov 2015 12:15:18 +0100 Subject: [PATCH 18/36] ipfs-cap2pfs: rebuild PDF using ``make`` License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.aux | 19 ++ ipfs-cap2pfs/ipfs-cap2pfs.bbl | 43 +++-- ipfs-cap2pfs/ipfs-cap2pfs.bcf | 5 +- ipfs-cap2pfs/ipfs-cap2pfs.blg | 52 +++--- ipfs-cap2pfs/ipfs-cap2pfs.log | 246 +++++++++++++++----------- ipfs-cap2pfs/ipfs-p2p-file-system.pdf | Bin 221790 -> 222632 bytes 6 files changed, 226 insertions(+), 139 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.aux b/ipfs-cap2pfs/ipfs-cap2pfs.aux index 802cfb6..bca32ac 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.aux +++ b/ipfs-cap2pfs/ipfs-cap2pfs.aux @@ -14,6 +14,8 @@ \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {2}Background}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Distributed Hash Tables}{\thepage }} +\newlabel{sec:bg-dhts}{{2.1}{\thepage }} +\newlabel{sec:bg-dhts@cref}{{[subsection][1][2]2.1}{\thepage }} \abx@aux@cite{maymounkov02} \abx@aux@cite{freedman04} \abx@aux@cite{baumgart07} @@ -33,15 +35,24 @@ \abx@aux@cite{ICE} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {3}IPFS Design}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Identities}{\thepage }} +\newlabel{sec:design-identities}{{3.1}{\thepage }} +\newlabel{sec:design-identities@cref}{{[subsection][1][3]3.1}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Note on Cryptographic Functions}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Network}{\thepage }} +\newlabel{sec:design-network}{{3.2}{\thepage }} +\newlabel{sec:design-network@cref}{{[subsection][2][3]3.2}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Note on Peer Addressing}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Routing}{\thepage }} +\newlabel{sec:design-routing}{{3.3}{\thepage }} +\newlabel{sec:design-routing@cref}{{[subsection][3][3]3.3}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Block Exchange - BitSwap Protocol}{\thepage }} +\newlabel{sec:design-exchange}{{3.4}{\thepage }} +\newlabel{sec:design-exchange@cref}{{[subsection][4][3]3.4}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}BitSwap Credit}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.2}BitSwap Strategy}{\thepage }} \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Probability of Sending as $r$ increases}}{\thepage }} \newlabel{fig:psending-graph}{{1}{\thepage }} +\newlabel{fig:psending-graph@cref}{{[figure][1][]1}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3}BitSwap Ledger}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.4}BitSwap Specification}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Peer.open(NodeId, Ledger)}{\thepage }} @@ -50,6 +61,8 @@ \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Peer.close(Bool)}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Notes}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Object Merkle DAG}{\thepage }} +\newlabel{sec:design-objects}{{3.5}{\thepage }} +\newlabel{sec:design-objects@cref}{{[subsection][5][3]3.5}{\thepage }} \abx@aux@cite{dean11} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1}Paths}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2}Local Objects}{\thepage }} @@ -57,14 +70,18 @@ \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4}Publishing Objects}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.5}Object-level Cryptography}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Files}{\thepage }} +\newlabel{sec:design-files}{{3.6}{\thepage }} +\newlabel{sec:design-files@cref}{{[subsection][6][3]3.6}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}File Object: \texttt {blob}}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2}File Object: \texttt {list}}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.3}File Object: \texttt {tree}}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.4}File Object: \texttt {commit}}{\thepage }} \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Sample Object Graph}}{\thepage }} \newlabel{fig:sample-object-graph}{{2}{\thepage }} +\newlabel{fig:sample-object-graph@cref}{{[figure][2][]2}{\thepage }} \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Sample Objects}}{\thepage }} \newlabel{fig:sample-objects}{{3}{\thepage }} +\newlabel{fig:sample-objects@cref}{{[figure][3][]3}{\thepage }} \abx@aux@cite{RabinFingerprints} \abx@aux@cite{LBFS} \abx@aux@cite{rsync} @@ -76,6 +93,8 @@ \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.7}Splitting Files into Lists and Blob}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.8}Path Lookup Performance}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}IPNS: Naming and Mutable State}{\thepage }} +\newlabel{sec:design-ipns}{{3.7}{\thepage }} +\newlabel{sec:design-ipns@cref}{{[subsection][7][3]3.7}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.1}Self-Certified Names}{\thepage }} \abx@aux@cite{Proquint} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2}Human Friendly Names}{\thepage }} diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bbl b/ipfs-cap2pfs/ipfs-cap2pfs.bbl index 6d93371..d7d8f1c 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bbl +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bbl @@ -34,7 +34,7 @@ \field{labelnamesource}{author} \field{labeltitlesource}{title} \field{booktitle}{Parallel and Distributed Systems, 2007 International Conference on} - \field{title}{S/kademlia: A practicable approach towards secure key-based routing} + \field{title}{{S/Kademlia}: A practicable approach towards secure key-based routing} \field{volume}{2} \field{year}{2007} \field{pages}{1\bibrangedash 8} @@ -215,7 +215,7 @@ \field{labeltitlesource}{title} \field{booktitle}{ACM SIGCOMM Computer Communication Review} \field{number}{4} - \field{title}{Bittorrent is an auction: analyzing and improving bittorrent's incentives} + \field{title}{{BitTorrent} is an auction: analyzing and improving {BitTorrent}'s incentives} \field{volume}{38} \field{year}{2008} \field{pages}{243\bibrangedash 254} @@ -300,6 +300,30 @@ \field{pages}{118\bibrangedash 125} \range{pages}{8} \endentry + \entry{WebRTC}{report}{} + \name{author}{4}{}{% + {{hash=f3a972f98579c8c7dc759d18c35d01c5}{Narayanan}{N\bibinitperiod}{Anant}{A\bibinitperiod}{}{}{}{}}% + {{hash=6ec10d8f26f4d082a049a9e605d73b99}{Jennings}{J\bibinitperiod}{Cullen}{C\bibinitperiod}{}{}{}{}}% + {{hash=e3fc3deeb08ccdeddb6a6c6d1fd14bf2}{Bergkvist}{B\bibinitperiod}{Adam}{A\bibinitperiod}{}{}{}{}}% + {{hash=5dfb8d044989b31e30f9cf39d91b9ee0}{Burnett}{B\bibinitperiod}{Daniel}{D\bibinitperiod}{}{}{}{}}% + } + \list{institution}{1}{% + {W3C}% + } + \strng{namehash}{2a0871b7c6e5ddf1f6c2631425f1cf65} + \strng{fullhash}{2a0871b7c6e5ddf1f6c2631425f1cf65} + \field{sortinit}{N} + \field{sortinithash}{925374ca63e7594de7fafdb83e64d41d} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{month}{09} + \field{title}{{WebRTC} 1.0: Real-time Communication Between Browsers} + \field{type}{{W3C} Working Draft} + \field{year}{2013} + \verb{url} + \verb http://www.w3.org/TR/2013/WD-webrtc-20130910/ + \endverb + \endentry \entry{Dat}{online}{} \name{author}{1}{}{% {{hash=e856ccc06edc669a0ee4e98decb88cc5}{Ogden}{O\bibinitperiod}{Max}{M\bibinitperiod}{}{}{}{}}% @@ -326,7 +350,7 @@ \field{sortinithash}{c7387613477035a752d935acfc3e3ea2} \field{labelnamesource}{author} \field{labeltitlesource}{title} - \field{title}{Interactive connectivity establishment (ice): A protocol for network address translator (nat) traversal for offer/answer protocols} + \field{title}{{Interactive Connectivity Establishment} ({ICE}): A protocol for {Network Address Translator} ({NAT}) traversal for offer/answer protocols} \field{year}{2013} \endentry \entry{LEDBAT}{article}{} @@ -377,22 +401,21 @@ \field{sortinithash}{99e3ba1b3f78bb6f073e7fa7ac11636b} \field{labelnamesource}{author} \field{labeltitlesource}{title} - \field{booktitle}{Peer-to-Peer Computing (P2P), 2013 IEEE Thirteenth International Conference on} + \field{booktitle}{Peer-to-Peer Computing ({P2P}), 2013 {IEEE} Thirteenth International Conference on} \field{title}{Measuring large-scale distributed systems: case of {BitTorrent Mainline DHT}} \field{year}{2013} \field{pages}{1\bibrangedash 10} \range{pages}{10} \endentry \endsortlist - \missing{LBFS} + \missing{Venti} \missing{FUSE} - \missing{WebRTC} - \missing{RabinFingerprints} - \missing{rsync} - \missing{Plan9} + \missing{LBFS} \missing{Fossil} - \missing{Venti} + \missing{Plan9} + \missing{RabinFingerprints} \missing{Proquint} + \missing{rsync} \endrefsection \endinput diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bcf b/ipfs-cap2pfs/ipfs-cap2pfs.bcf index d370384..88e23ef 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bcf +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bcf @@ -1,5 +1,5 @@ - + @@ -418,6 +418,9 @@ + + + diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.blg b/ipfs-cap2pfs/ipfs-cap2pfs.blg index 37ad7a1..db9da9f 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.blg +++ b/ipfs-cap2pfs/ipfs-cap2pfs.blg @@ -1,26 +1,26 @@ -[2] Config.pm:325> INFO - This is Biber 2.1 -[3] Config.pm:328> INFO - Logfile is 'ipfs-cap2pfs.blg' -[145] biber:276> INFO - === dt nov 10, 2015, 13:32:36 -[146] Biber.pm:334> INFO - Reading 'ipfs-cap2pfs.bcf' -[500] Biber.pm:646> INFO - Found 28 citekeys in bib section 0 -[548] Biber.pm:2978> INFO - Processing section 0 -[595] Biber.pm:3116> INFO - Looking for bibtex format file 'ipfs-cap2pfs.bib' for section 0 -[600] bibtex.pm:1010> INFO - Decoding LaTeX character macros into UTF-8 -[606] bibtex.pm:884> INFO - Found BibTeX data source 'ipfs-cap2pfs.bib' -[718] Utils.pm:146> WARN - I didn't find a database entry for 'WebRTC' (section 0) -[719] Utils.pm:146> WARN - I didn't find a database entry for 'RabinFingerprints' (section 0) -[719] Utils.pm:146> WARN - I didn't find a database entry for 'LBFS' (section 0) -[719] Utils.pm:146> WARN - I didn't find a database entry for 'rsync' (section 0) -[720] Utils.pm:146> WARN - I didn't find a database entry for 'Plan9' (section 0) -[720] Utils.pm:146> WARN - I didn't find a database entry for 'Fossil' (section 0) -[720] Utils.pm:146> WARN - I didn't find a database entry for 'Venti' (section 0) -[721] Utils.pm:146> WARN - I didn't find a database entry for 'Proquint' (section 0) -[721] Utils.pm:146> WARN - I didn't find a database entry for 'FUSE' (section 0) -[1666] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized' -[1667] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable' -[1667] Biber.pm:2855> INFO - Sorting list 'nty' of type 'entry' with scheme 'nty' and locale 'en-US' -[1668] Biber.pm:2859> INFO - No sort tailoring available for locale 'en-US' -[1866] bbl.pm:505> INFO - Writing 'ipfs-cap2pfs.bbl' with encoding 'ascii' -[1879] Utils.pm:146> WARN - The entry 'mashtizadeh13' has characters which cannot be encoded in 'ascii'. Recoding problematic characters into macros. -[1884] bbl.pm:596> INFO - Output to ipfs-cap2pfs.bbl -[1885] Biber.pm:107> INFO - WARNINGS: 10 +[1] Config.pm:325> INFO - This is Biber 2.1 +[2] Config.pm:328> INFO - Logfile is 'ipfs-cap2pfs.blg' +[156] biber:276> INFO - === dv nov 20, 2015, 12:13:51 +[157] Biber.pm:334> INFO - Reading 'ipfs-cap2pfs.bcf' +[494] Utils.pm:146> WARN - Warning: Found biblatex control file version 2.8, expected version 2.7 +[499] Biber.pm:646> INFO - Found 28 citekeys in bib section 0 +[651] Biber.pm:2978> INFO - Processing section 0 +[813] Biber.pm:3116> INFO - Looking for bibtex format file 'ipfs-cap2pfs.bib' for section 0 +[837] bibtex.pm:1010> INFO - Decoding LaTeX character macros into UTF-8 +[844] bibtex.pm:884> INFO - Found BibTeX data source 'ipfs-cap2pfs.bib' +[1054] Utils.pm:146> WARN - I didn't find a database entry for 'RabinFingerprints' (section 0) +[1055] Utils.pm:146> WARN - I didn't find a database entry for 'LBFS' (section 0) +[1056] Utils.pm:146> WARN - I didn't find a database entry for 'rsync' (section 0) +[1057] Utils.pm:146> WARN - I didn't find a database entry for 'Plan9' (section 0) +[1058] Utils.pm:146> WARN - I didn't find a database entry for 'Fossil' (section 0) +[1058] Utils.pm:146> WARN - I didn't find a database entry for 'Venti' (section 0) +[1059] Utils.pm:146> WARN - I didn't find a database entry for 'Proquint' (section 0) +[1060] Utils.pm:146> WARN - I didn't find a database entry for 'FUSE' (section 0) +[2138] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized' +[2138] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable' +[2139] Biber.pm:2855> INFO - Sorting list 'nty' of type 'entry' with scheme 'nty' and locale 'en-US' +[2139] Biber.pm:2859> INFO - No sort tailoring available for locale 'en-US' +[2338] bbl.pm:505> INFO - Writing 'ipfs-cap2pfs.bbl' with encoding 'ascii' +[2351] Utils.pm:146> WARN - The entry 'mashtizadeh13' has characters which cannot be encoded in 'ascii'. Recoding problematic characters into macros. +[2356] bbl.pm:596> INFO - Output to ipfs-cap2pfs.bbl +[2357] Biber.pm:107> INFO - WARNINGS: 10 diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.log b/ipfs-cap2pfs/ipfs-cap2pfs.log index a395480..d5ed159 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.log +++ b/ipfs-cap2pfs/ipfs-cap2pfs.log @@ -1,10 +1,10 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex 2015.10.18) 10 NOV 2015 13:32 +This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex 2015.11.18) 20 NOV 2015 12:13 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **ipfs-cap2pfs.tex (./ipfs-cap2pfs.tex -LaTeX2e <2015/10/01> patch level 1 +LaTeX2e <2015/10/01> patch level 2 Babel <3.9m> and hyphenation patterns for 2 languages loaded. (./sig-alternate.cls (/usr/share/texlive/texmf-dist/tex/latex/graphics/epsfig.sty @@ -487,7 +487,7 @@ Package: array 2014/10/28 v2.4c Tabular extension package (FMi) \backup@length=\skip45 ) (/usr/share/texlive/texmf-dist/tex/latex/mathtools/mathtools.sty -Package: mathtools 2015/06/17 v1.17 mathematical typesetting tools +Package: mathtools 2015/11/12 v1.18 mathematical typesetting tools (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty Package: calc 2014/10/28 v4.3 Infix arithmetic (KKT,FJ) @@ -520,10 +520,10 @@ LaTeX Info: Thecontrolsequence`\]'isalreadyrobust on input line 129. \l_MT_below_shortintertext_sep=\dimen180 ) (/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty -Package: biblatex 2015/04/19 v3.0 programmable bibliographies (PK/JW/AB) +Package: biblatex 2015/10/21 v3.1 programmable bibliographies (PK/JW/AB) (/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex2.sty -Package: biblatex2 2015/04/19 v3.0 programmable bibliographies (biber) (PK/JW/A +Package: biblatex2 2015/10/21 v3.1 programmable bibliographies (biber) (PK/JW/A B) (/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty @@ -697,7 +697,7 @@ Package biblatex Info: Trying to load compatibility code... Package biblatex Info: ... file 'blx-compat.def' found. (/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-compat.def -File: blx-compat.def 2015/04/19 v3.0 biblatex compatibility (PK/JW/AB) +File: blx-compat.def 2015/10/21 v3.1 biblatex compatibility (PK/JW/AB) ) Package biblatex Info: Trying to load generic definitions... Package biblatex Info: ... file 'biblatex.def' found. @@ -729,7 +729,7 @@ Package biblatex Info: Trying to load bibliography style 'standard'... Package biblatex Info: ... file 'standard.bbx' found. (/usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/standard.bbx -File: standard.bbx 2015/04/19 v3.0 biblatex bibliography style (PK/JW/AB) +File: standard.bbx 2015/10/21 v3.1 biblatex bibliography style (PK/JW/AB) \c@bbx:relatedcount=\count314 \c@bbx:relatedtotal=\count315 ))) @@ -742,7 +742,7 @@ Package biblatex Info: Trying to load citation style 'numeric'... Package biblatex Info: ... file 'numeric.cbx' found. (/usr/share/texlive/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx -File: numeric.cbx 2015/04/19 v3.0 biblatex citation style (PK/JW/AB) +File: numeric.cbx 2015/10/21 v3.1 biblatex citation style (PK/JW/AB) Package biblatex Info: Redefining '\cite'. Package biblatex Info: Redefining '\parencite'. Package biblatex Info: Redefining '\footcite'. @@ -761,11 +761,14 @@ Package biblatex Info: ... file 'biblatex.cfg' found. (/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.cfg File: biblatex.cfg ))) +(/usr/share/texlive/texmf-dist/tex/latex/cleveref/cleveref.sty +Package: cleveref 2013/12/28 v0.19 Intelligent cross-referencing +) Package biblatex Info: Trying to load language 'english'... Package biblatex Info: ... file 'english.lbx' found. (/usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/english.lbx -File: english.lbx 2015/04/19 v3.0 biblatex localization (PK/JW/AB) +File: english.lbx 2015/10/21 v3.1 biblatex localization (PK/JW/AB) ) \@quotelevel=\count316 \@quotereset=\count317 @@ -773,18 +776,18 @@ File: english.lbx 2015/04/19 v3.0 biblatex localization (PK/JW/AB) (./ipfs-cap2pfs.aux) \openout1 = `ipfs-cap2pfs.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 17. -LaTeX Font Info: ... okay on input line 17. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 17. -LaTeX Font Info: ... okay on input line 17. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 17. -LaTeX Font Info: ... okay on input line 17. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 17. -LaTeX Font Info: ... okay on input line 17. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 17. -LaTeX Font Info: ... okay on input line 17. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 17. -LaTeX Font Info: ... okay on input line 17. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 19. +LaTeX Font Info: ... okay on input line 19. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 19. +LaTeX Font Info: ... okay on input line 19. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 19. +LaTeX Font Info: ... okay on input line 19. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 19. +LaTeX Font Info: ... okay on input line 19. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 19. +LaTeX Font Info: ... okay on input line 19. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 19. +LaTeX Font Info: ... okay on input line 19. (/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] @@ -843,7 +846,7 @@ Package biblatex Info: ... file 'ipfs-cap2pfs.bbl' found. Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) LBFS +(biblatex) Venti (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. @@ -857,21 +860,14 @@ Package biblatex Warning: The following entry could not be found Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) WebRTC -(biblatex) Please verify the spelling and rerun -(biblatex) LaTeX afterwards. - - -Package biblatex Warning: The following entry could not be found -(biblatex) in the database: -(biblatex) RabinFingerprints +(biblatex) LBFS (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) rsync +(biblatex) Fossil (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. @@ -885,37 +881,37 @@ Package biblatex Warning: The following entry could not be found Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) Fossil +(biblatex) RabinFingerprints (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) Venti +(biblatex) Proquint (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) Proquint +(biblatex) rsync (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. ) -Package biblatex Info: Reference section=0 on input line 17. -Package biblatex Info: Reference segment=0 on input line 17. -LaTeX Font Info: Try loading font information for U+msa on input line 30. +Package biblatex Info: Reference section=0 on input line 19. +Package biblatex Info: Reference segment=0 on input line 19. +LaTeX Font Info: Try loading font information for U+msa on input line 32. (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Try loading font information for U+msb on input line 30. +LaTeX Font Info: Try loading font information for U+msb on input line 32. (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) -LaTeX Font Info: Try loading font information for U+lasy on input line 30. +LaTeX Font Info: Try loading font information for U+lasy on input line 32. (/usr/share/texlive/texmf-dist/tex/latex/base/ulasy.fd File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions @@ -923,45 +919,63 @@ File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions ] -LaTeX Font Info: Try loading font information for T1+aett on input line 92. +Overfull \hbox (3.0741pt too wide) in paragraph at lines 73--75 +[]\T1/aer/m/n/9 Wide us-age in peer-to-peer ap-pli-ca-tions, in-clud-ing Gnu- + [] +LaTeX Font Info: Try loading font information for T1+aett on input line 95. (/usr/share/texlive/texmf-dist/tex/latex/ae/t1aett.fd File: t1aett.fd 1997/11/16 Font definitions for T1/aett. ) -Overfull \hbox (3.61647pt too wide) in paragraph at lines 99--104 +Overfull \hbox (3.61647pt too wide) in paragraph at lines 102--107 \T1/aer/m/n/9 ``find-ing nearby data with-out query-ing dis-tant nodes'' [7] [] -Overfull \hbox (11.16713pt too wide) in paragraph at lines 132--134 +Overfull \hbox (11.16713pt too wide) in paragraph at lines 135--137 \T1/aer/m/n/9 ex-ploita-tive band-width shar-ing strate-gies. Prop-Share [10] [] -Overfull \hbox (4.33636pt too wide) in paragraph at lines 139--140 +Overfull \hbox (4.33636pt too wide) in paragraph at lines 142--143 \T1/aer/m/n/9 chang-ing over time and dis-tribute dif-fer-ent ver-sions ef-fi-c iently. [] [2] -Overfull \hbox (1.62833pt too wide) in paragraph at lines 180--181 +Overfull \hbox (1.62833pt too wide) in paragraph at lines 187--188 []\T1/aer/bx/n/9 Exchange \T1/aer/m/n/9 - a novel block ex-change pro-to-col (B itSwap) [] -Underfull \hbox (badness 1132) in paragraph at lines 198--198 +Underfull \hbox (badness 1132) in paragraph at lines 206--206 [][]\T1/aer/m/n/9 Throughout this doc-u-ment, \T1/aer/m/it/9 hash \T1/aer/m/n/9 and \T1/aer/m/it/9 check-sum \T1/aer/m/n/9 re-fer [] -Overfull \hbox (9.94414pt too wide) in paragraph at lines 226--226 -[] \T1/aett/m/n/9 p = count_preceding_zero_bits(hash(n.NodeId))[] +Overfull \hbox (4.14857pt too wide) in paragraph at lines 237--237 + [] \T1/aett/m/n/9 p = count_preceding_zero_bits(hash(n.NodeId))[] [] [3] -Overfull \hbox (2.86789pt too wide) in paragraph at lines 342--344 +Overfull \hbox (4.14857pt too wide) in paragraph at lines 276--276 + []\T1/aett/m/n/9 # an SCTP/IPv4 connection proxied over TCP/IPv4[] + [] + + +Overfull \hbox (8.8645pt too wide) in paragraph at lines 305--305 + [] \T1/aett/m/n/9 // announces this node can serve a large value[] + [] + + +Overfull \hbox (13.58043pt too wide) in paragraph at lines 305--305 + [] \T1/aett/m/n/9 // gets a number of peers serving a large value[] + [] + + +Overfull \hbox (2.86789pt too wide) in paragraph at lines 361--363 []\T1/aer/m/n/9 be ef-fec-tive with and re-sis-tant to other, un-known strate- [] @@ -971,71 +985,81 @@ runsystem(gnuplot ipfs-cap2pfs.pgf-plot.gnuplot)...disabled (restricted). Package pgf Warning: Plot data file `ipfs-cap2pfs.pgf-plot.table' not found. on - input line 373. + input line 392. -Overfull \hbox (1.67198pt too wide) in paragraph at lines 380--391 +Overfull \hbox (1.67198pt too wide) in paragraph at lines 399--410 \T1/aer/m/n/9 as the nodes' \T1/aer/m/it/9 debt ra-tio \T1/aer/m/n/9 sur-passes twice the es-tab-lished credit. [] [4] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 474--474 -[] \T1/aett/m/n/9 send_block (block :Block) -> (complete :Bool);[] +Overfull \hbox (8.8645pt too wide) in paragraph at lines 496--496 + [] \T1/aett/m/n/9 send_block (block :Block) -> (complete :Bool);[] [] -Overfull \hbox (4.7758pt too wide) in paragraph at lines 500--506 +Overfull \hbox (4.7758pt too wide) in paragraph at lines 523--529 \T1/aett/m/n/9 last_seen \T1/aer/m/n/9 times-tamp. Then, it com-pares the re-ce ived \T1/aett/m/n/9 Ledger [] -Overfull \hbox (13.81113pt too wide) in paragraph at lines 510--514 +Overfull \hbox (13.81113pt too wide) in paragraph at lines 533--537 []\T1/aer/m/n/9 While the con-nec-tion is open, nodes ad-ver-tise their \T1/aet t/m/n/9 want_list [] [5] -Overfull \hbox (4.14857pt too wide) in paragraph at lines 620--620 +Overfull \hbox (4.14857pt too wide) in paragraph at lines 644--644 []\T1/aett/m/n/9 XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x 189458 less[] [] -Overfull \hbox (8.8645pt too wide) in paragraph at lines 620--620 +Overfull \hbox (8.8645pt too wide) in paragraph at lines 644--644 []\T1/aett/m/n/9 XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5 19441 script[] [] -Overfull \hbox (13.58043pt too wide) in paragraph at lines 620--620 +Overfull \hbox (13.58043pt too wide) in paragraph at lines 644--644 []\T1/aett/m/n/9 XLF4hwVHsVuZ78FZK6fozf8Jj9WEURMbCX4 5286 template[] [] -Overfull \hbox (8.43875pt too wide) in paragraph at lines 622--623 +Overfull \hbox (8.43875pt too wide) in paragraph at lines 646--647 []\T1/aer/m/n/9 Resolve string path lookups, such as \T1/aett/m/n/9 foo/bar/baz \T1/aer/m/n/9 . Given [] -[6] [7] -Overfull \hbox (1.43738pt too wide) in paragraph at lines 754--759 +[6] +Overfull \hbox (13.58043pt too wide) in paragraph at lines 682--682 + []\T1/aett/m/n/9 /ipfs/XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x/foo.txt[] + [] + +[7] +Overfull \hbox (1.43738pt too wide) in paragraph at lines 787--792 \T1/aer/m/n/9 made up of sev-eral IPFS \T1/aett/m/n/9 blobs \T1/aer/m/n/9 con-c ate-nated to-gether. \T1/aett/m/n/9 lists [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 774--774 -[] \T1/aett/m/n/9 { "hash": "XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x",[] +Overfull \hbox (18.29636pt too wide) in paragraph at lines 808--808 + [] \T1/aett/m/n/9 // lists have an array of object types as data[] + [] + + +Overfull \hbox (27.72821pt too wide) in paragraph at lines 808--808 + [] \T1/aett/m/n/9 { "hash": "XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 774--774 -[] \T1/aett/m/n/9 { "hash": "XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5",[] +Overfull \hbox (27.72821pt too wide) in paragraph at lines 808--808 + [] \T1/aett/m/n/9 { "hash": "XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 774--774 -[] \T1/aett/m/n/9 { "hash": "XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z",[] +Overfull \hbox (27.72821pt too wide) in paragraph at lines 808--808 + [] \T1/aett/m/n/9 { "hash": "XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z",[] [] Missing character: There is no ; in font nullfont! @@ -1044,108 +1068,126 @@ Missing character: There is no ; in font nullfont! Missing character: There is no ; in font nullfont! Missing character: There is no ; in font nullfont! -Overfull \hbox (5.22821pt too wide) in paragraph at lines 878--878 -[] \T1/aett/m/n/9 { "hash": "XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x",[] +Overfull \hbox (27.72821pt too wide) in paragraph at lines 914--914 + [] \T1/aett/m/n/9 { "hash": "XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 878--878 -[] \T1/aett/m/n/9 { "hash": "XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5",[] +Overfull \hbox (27.72821pt too wide) in paragraph at lines 914--914 + [] \T1/aett/m/n/9 { "hash": "XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 878--878 -[] \T1/aett/m/n/9 { "hash": "XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z",[] +Overfull \hbox (27.72821pt too wide) in paragraph at lines 914--914 + [] \T1/aett/m/n/9 { "hash": "XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 901--901 -[] \T1/aett/m/n/9 { "hash": "XLa1qMBKiSEEDhojb9FFZ4tEvLf7FEQdhdU",[] +Overfull \hbox (27.72821pt too wide) in paragraph at lines 939--939 + [] \T1/aett/m/n/9 { "hash": "XLa1qMBKiSEEDhojb9FFZ4tEvLf7FEQdhdU",[] [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 901--901 -[] \T1/aett/m/n/9 { "hash": "XLGw74KAy9junbh28x7ccWov9inu1Vo7pnX",[] +Overfull \hbox (27.72821pt too wide) in paragraph at lines 939--939 + [] \T1/aett/m/n/9 { "hash": "XLGw74KAy9junbh28x7ccWov9inu1Vo7pnX",[] [] [8] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 901--901 -[] \T1/aett/m/n/9 { "hash": "XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm",[] +Overfull \hbox (27.72821pt too wide) in paragraph at lines 939--939 + [] \T1/aett/m/n/9 { "hash": "XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm",[] [] -Overfull \hbox (8.9342pt too wide) in paragraph at lines 942--946 +Overfull \hbox (8.9342pt too wide) in paragraph at lines 981--985 []\T1/aer/bx/n/9 flattened trees\T1/aer/m/n/9 : for any given \T1/aett/m/n/9 tr ee\T1/aer/m/n/9 , a spe-cial \T1/aett/m/n/9 flattened [] -Overfull \hbox (5.22821pt too wide) in paragraph at lines 968--968 -[] \T1/aett/m/n/9 "name": "ttt333-name/lll111-name/bbb222-name" },[] +Overfull \hbox (18.29636pt too wide) in paragraph at lines 1008--1008 + [] \T1/aett/m/n/9 ["tree", "blob", "tree", "list", "blob" "blob"],[] + [] + + +Overfull \hbox (27.72821pt too wide) in paragraph at lines 1008--1008 + [] \T1/aett/m/n/9 "name": "ttt333-name/lll111-name/bbb222-name" },[] [] [9] -Overfull \hbox (9.94414pt too wide) in paragraph at lines 1059--1059 -[]\T1/aett/m/n/9 ipfs link //friends/bob /[] +Overfull \hbox (23.01228pt too wide) in paragraph at lines 1071--1071 + []\T1/aett/m/n/9 /ipns/XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm/docs/ipfs[] + [] + + +Overfull \hbox (32.44414pt too wide) in paragraph at lines 1100--1100 + []\T1/aett/m/n/9 ipfs link //friends/bob /[] [] -Overfull \hbox (14.66006pt too wide) in paragraph at lines 1059--1059 -[]\T1/aett/m/n/9 ipfs link /[] +Overfull \hbox (37.16006pt too wide) in paragraph at lines 1100--1100 + []\T1/aett/m/n/9 ipfs link /[] [] -Overfull \hbox (3.25519pt too wide) in paragraph at lines 1106--1107 +Overfull \hbox (3.25519pt too wide) in paragraph at lines 1154--1155 []\T1/aer/m/n/9 As a mounted global filesys-tem, un-der \T1/aett/m/n/9 /ipfs \T 1/aer/m/n/9 and \T1/aett/m/n/9 /ipns\T1/aer/m/n/9 . [] [10] -Overfull \hbox (10.76414pt too wide) in paragraph at lines 1146--1146 +Overfull \hbox (10.76414pt too wide) in paragraph at lines 1194--1194 []\T1/aer/m/n/9 J. Dean and S. Ghe-mawat. Leveldb--a fast and lightweight [] -Overfull \hbox (3.16586pt too wide) in paragraph at lines 1146--1146 +Overfull \hbox (3.16586pt too wide) in paragraph at lines 1194--1194 []\T1/aer/m/n/9 J. H. Howard, M. L. Kazar, S. G. Me-nees, D. A. Nichols, [] -Overfull \hbox (2.85959pt too wide) in paragraph at lines 1146--1146 +Overfull \hbox (2.85959pt too wide) in paragraph at lines 1194--1194 \T1/aer/m/n/9 M. Satya-narayanan, R. N. Side-botham, and M. J. West. [] -Overfull \hbox (7.46931pt too wide) in paragraph at lines 1146--1146 +Overfull \hbox (7.46931pt too wide) in paragraph at lines 1194--1194 \T1/aer/m/it/9 com-mu-ni-ca-tion re-view\T1/aer/m/n/9 . Vol. 38. (4). ACM, 2008 , pp. 243^^U [] -Overfull \hbox (4.84273pt too wide) in paragraph at lines 1146--1146 +Overfull \hbox (4.84273pt too wide) in paragraph at lines 1194--1194 \T1/aer/m/it/9 sym-po-sium on op-er-at-ing sys-tems prin-ci-ples\T1/aer/m/n/9 . ACM, 2013, [] - -Overfull \hbox (11.47125pt too wide) in paragraph at lines 1146--1146 +[11] +Overfull \hbox (11.47125pt too wide) in paragraph at lines 1194--1194 \T1/aer/m/n/9 Low ex-tra de-lay back-ground trans-port (LED-BAT). \T1/aer/m/it/ 9 Draft- [] -[11] (./ipfs-cap2pfs.aux) + +Overfull \hbox (2.89229pt too wide) in paragraph at lines 1194--1194 +\T1/aer/m/n/9 In \T1/aer/m/it/9 Peer-to-peer com-put-ing (P2P), 2013 IEEE thir- +teenth + [] + +[12 + +] (./ipfs-cap2pfs.aux) Package logreq Info: Writing requests to 'ipfs-cap2pfs.run.xml'. \openout1 = `ipfs-cap2pfs.run.xml'. ) Here is how much of TeX's memory you used: - 19431 strings out of 494965 - 373343 string characters out of 6181076 - 766453 words of memory out of 5000000 - 22324 multiletter control sequences out of 15000+600000 + 20917 strings out of 494965 + 406575 string characters out of 6181076 + 796944 words of memory out of 5000000 + 23806 multiletter control sequences out of 15000+600000 55009 words of font info for 77 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 - 55i,11n,54p,1276b,973s stack positions out of 5000i,500n,10000p,200000b,80000s + 55i,11n,54p,1276b,980s stack positions out of 5000i,500n,10000p,200000b,80000s {/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc} -Output written on ipfs-cap2pfs.pdf (11 pages, 221790 bytes). +Output written on ipfs-cap2pfs.pdf (12 pages, 222632 bytes). PDF statistics: - 96 PDF objects out of 1000 (max. 8388607) - 69 compressed objects within 1 object stream + 99 PDF objects out of 1000 (max. 8388607) + 71 compressed objects within 1 object stream 0 named destinations out of 1000 (max. 500000) 13 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/ipfs-cap2pfs/ipfs-p2p-file-system.pdf b/ipfs-cap2pfs/ipfs-p2p-file-system.pdf index 7966ccd90a1a441c2c4f47789f501942ac0b9e77..5b133fcc98267bd4d3131d98d65d38ada6580c86 100644 GIT binary patch delta 97470 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 M!;q7UD@efn2blA1ApigX From 8325f0174bd8ff01699c1a3fdaffc1aeb41f8f30 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Thu, 26 Nov 2015 13:19:02 +0100 Subject: [PATCH 19/36] ipfs-cap2pfs: protect more acronyms in bibliography License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index 019792a..a78ca35 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -1,7 +1,7 @@ @article{AFS, title={Scale and performance in a distributed file system}, author={Howard, John H and Kazar, Michael L and Menees, Sherri G and Nichols, David A and Satyanarayanan, Mahadev and Sidebotham, Robert N and West, Michael J}, - journal={ACM Transactions on Computer Systems (TOCS)}, + journal={{ACM} Transactions on Computer Systems ({TOCS})}, volume={6}, number={1}, pages={51--81}, @@ -12,7 +12,7 @@ @article{AFS @article{Oceanstore, title={Oceanstore: An architecture for global-scale persistent storage}, author={Kubiatowicz, John and Bindel, David and Chen, Yan and Czerwinski, Steven and Eaton, Patrick and Geels, Dennis and Gummadi, Ramakrishan and Rhea, Sean and Weatherspoon, Hakim and Weimer, Westley and others}, - journal={ACM Sigplan Notices}, + journal={{ACM} Sigplan Notices}, volume={35}, number={11}, pages={190--201}, @@ -23,7 +23,7 @@ @article{Oceanstore @inproceedings{CFS, title={Wide-area cooperative storage with {CFS}}, author={Dabek, Frank and Kaashoek, M. Frans and Karger, David and Morris, Robert and Stoica, Ion}, - booktitle={Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles}, + booktitle={Proceedings of the Eighteenth {ACM} Symposium on Operating Systems Principles}, pages={202--2015}, year={2001}, organization={ACM} @@ -40,7 +40,7 @@ @online{BitTorrentUsers @inproceedings{mashtizadeh13, title={Replication, history, and grafting in the {Ori} file system}, author={Mashtizadeh, Ali Jos{\'e} and Bittau, Andrea and Huang, Yifeng Frank and Mazieres, David}, - booktitle={Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles}, + booktitle={Proceedings of the Twenty-Fourth {ACM} Symposium on Operating Systems Principles}, pages={151--166}, year={2013}, organization={ACM} @@ -78,7 +78,7 @@ @online{Dat @inproceedings{freedman04, title={Democratizing Content Publication with {Coral}}, author={Freedman, Michael J and Freudenthal, Eric and Mazieres, David}, - booktitle={NSDI}, + booktitle={{NSDI}}, volume={4}, pages={18--18}, year={2004} @@ -112,7 +112,7 @@ @inproceedings{cohen03 @inproceedings{levin08, title={{BitTorrent} is an auction: analyzing and improving {BitTorrent}'s incentives}, author={Levin, Dave and LaCurts, Katrina and Spring, Neil and Bhattacharjee, Bobby}, - booktitle={ACM SIGCOMM Computer Communication Review}, + booktitle={{ACM} {SIGCOMM} Computer Communication Review}, volume={38}, number={4}, pages={243--254}, @@ -130,7 +130,7 @@ @article{mazieres00 @inproceedings{mazieres98, title={Escaping the evils of centralized control with self-certifying pathnames}, author={Mazieres, David and Kaashoek, M Frans}, - booktitle={Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications}, + booktitle={Proceedings of the 8th {ACM} {SIGOPS} European workshop on Support for composing distributed applications}, pages={118--125}, year={1998}, organization={ACM} From d27896725df9b5fba396ebfe84418b234edbc75f Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Thu, 26 Nov 2015 14:10:36 +0100 Subject: [PATCH 20/36] ipfs-cap2pfs: use ``pdflatex -shell-escape`` to allow running GNUplot This is needed e.g. to generate the sigmoid function graph. License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/Makefile b/ipfs-cap2pfs/Makefile index 9534125..2ff3ff7 100644 --- a/ipfs-cap2pfs/Makefile +++ b/ipfs-cap2pfs/Makefile @@ -5,7 +5,7 @@ LONG=ipfs-p2p-file-system all: $(LONG).pdf $(LONG).pdf: $(SHORT).tex sig-alternate.cls $(SHORT).bib - pdflatex $(SHORT).tex + pdflatex -shell-escape $(SHORT).tex biber $(SHORT) pdflatex $(SHORT).tex pdflatex $(SHORT).tex From e6ac55ea84bfa58d86f38ea53ef5a1a354125b93 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Thu, 26 Nov 2015 15:39:19 +0100 Subject: [PATCH 21/36] ipfs-cap2pfs: review section on BitSwap, unify notes style License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 44 +++++++++++++++++------------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 5f9ccd9..c6ff1ad 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -239,7 +239,8 @@ \subsection{Identities} Upon first connecting, peers exchange public keys, and check that \texttt{hash(other.PublicKey)} equals \texttt{other.NodeId}. If not, the connection is terminated. -\paragraph{Note on Cryptographic Functions} Rather than locking the system to a particular set of function choices, IPFS favors self-describing values. Hash digest values are stored in \texttt{multihash} format, which includes a short header specifying the hash function used, and the digest length in bytes: +\paragraph{Note on Cryptographic Functions} +Rather than locking the system to a particular set of function choices, IPFS favors self-describing values. Hash digest values are stored in \texttt{multihash} format, which includes a short header specifying the hash function used, and the digest length in bytes: \begin{quote} \begin{verbatim} @@ -262,8 +263,7 @@ \subsection{Network} \item \textbf{Authenticity:} IPFS optionally checks authenticity of messages by digitally signing them with the sender's private key. \end{itemize} -\subsubsection{Note on Peer Addressing} - +\paragraph{Note on Peer Addressing} IPFS can use any network; it does not rely on or assume access to IP. This allows IPFS to be used in overlay networks. IPFS stores addresses as \texttt{multiaddr}-formatted byte strings for the underlying network to use. \texttt{multiaddr} provides a way to express addresses and their protocols, including support for encapsulation. For example: \begin{quote} @@ -305,7 +305,7 @@ \subsection{Routing} \end{verbatim} \end{quote} -Note: different use cases will call for substantially different routing systems (e.g. DHT in wide networks, static HT in local networks). Thus the IPFS routing system can be swapped for one that fits users' needs. As long as the interface above is met, the rest of the system will continue to function. +Note that different use cases will call for substantially different routing systems (e.g. DHT in wide networks, static HT in local networks). Thus the IPFS routing system can be swapped for one that fits users' needs. As long as the interface above is met, the rest of the system will continue to function. \subsection{Block Exchange - BitSwap Protocol} \label{sec:design-exchange} @@ -315,14 +315,14 @@ \subsection{Block Exchange - BitSwap Protocol} looking to acquire a set of blocks (\texttt{want\_list}), and have another set of blocks to offer in exchange (\texttt{have\_list}). Unlike BitTorrent, BitSwap is not limited to the blocks in one torrent. -BitSwap operates as a persistent marketplace where node can acquire the +BitSwap operates as a persistent marketplace where nodes can acquire the blocks they need, regardless of what files those blocks are part of. The blocks could come from completely unrelated files in the filesystem. Nodes come together to barter in the marketplace. While the notion of a barter system implies a virtual currency could be created, this would require a global ledger to track ownership -and transfer of the currency. This can be implemented as a BitSwap Strategy, and will be explored in a future paper. +and transfer of the currency. This can be implemented as a BitSwap strategy, and will be explored in a future paper. In the base case, BitSwap nodes have to provide direct value to each other in the form of blocks. This works fine when the distribution of blocks across @@ -336,7 +336,7 @@ \subsection{Block Exchange - BitSwap Protocol} \subsubsection{BitSwap Credit} The protocol must also incentivize nodes to seed when they do not need -anything in particular, as they might have the blocks others want. Thus, +anything in particular, as they might have the blocks that others want. Thus, BitSwap nodes send blocks to their peers optimistically, expecting the debt to be repaid. But leeches (free-loading nodes that never share) must be protected against. A simple credit-like system solves the problem: @@ -347,9 +347,9 @@ \subsubsection{BitSwap Credit} \end{enumerate} Note that if a node decides not to send to a peer, the node subsequently -ignores the peer for an \texttt{ignore\_cooldown} timeout. This prevents +ignores the peer for an \texttt{ignore\_cooldown} timeout +(the default for BitSwap is 10 seconds). This prevents senders from trying to game the probability by just causing more dice-rolls. -(Default BitSwap is 10 seconds). \subsubsection{BitSwap Strategy} @@ -358,7 +358,7 @@ \subsubsection{BitSwap Strategy} \begin{enumerate} \item maximize the trade performance for the node, and the whole exchange \item prevent freeloaders from exploiting and degrading the exchange - \item be effective with and resistant to other, unknown + \item be effective with and resistant to other unknown strategies \item be lenient to trusted peers \end{enumerate} @@ -433,7 +433,7 @@ \subsubsection{BitSwap Strategy} \subsubsection{BitSwap Ledger} -BitSwap nodes keep ledgers accounting the transfers with other nodes. This allows nodes to keep track of history and avoid tampering. When activating a connection, BitSwap nodes exchange their ledger information. If it does not match exactly, the ledger is reinitialized from scratch, losing the accrued credit or debt. It is possible for malicious nodes to purposefully ``lose'' the Ledger, hoping to erase debts. It is unlikely that nodes will have accrued enough debt to warrant also losing the accrued trust; however the partner node is free to count it as misconduct, and refuse to trade. +BitSwap nodes keep ledgers accounting the transfers with other nodes. This allows nodes to keep track of history and avoid tampering. When activating a connection, BitSwap nodes exchange their ledger information. If it does not match exactly, the ledger is reinitialized from scratch, losing the accrued credit or debt. It is possible for malicious nodes to purposefully ``lose'' the ledger, hoping to erase debts. It is unlikely that nodes will have accrued enough debt to warrant also losing the accrued trust; however the partner node is free to count it as misconduct, and refuse to trade. \begin{quote} \begin{verbatim} @@ -454,7 +454,7 @@ \subsubsection{BitSwap Ledger} \subsubsection{BitSwap Specification} -BitSwap nodes follow a simple protocol. +BitSwap nodes follow a simple protocol: \begin{quote} \begin{verbatim} @@ -466,8 +466,8 @@ \subsubsection{BitSwap Specification} active map[NodeId]Peer // currently open connections to other nodes - need_list []Multihash - // checksums of blocks this node needs + want_list []Multihash + // checksums of blocks this node wants have_list []Multihash // checksums of blocks this node has @@ -499,11 +499,11 @@ \subsubsection{BitSwap Specification} Sketch of the lifetime of a peer connection: \begin{enumerate} - \item Open: peers send \texttt{ledgers} until they agree. - \item Sending: peers exchange \texttt{want\_lists} and \texttt{blocks}. + \item Open: peers send ledgers until they agree. + \item Sending: peers exchange want lists and blocks. \item Close: peers deactivate a connection. \item Ignored: (special) a peer is ignored (for the duration of a timeout) - if a node's strategy avoids sending + if a node's strategy avoids sending. \end{enumerate} @@ -511,16 +511,16 @@ \subsubsection{BitSwap Specification} When connecting, a node initializes a connection with a \texttt{Ledger}, either stored from a connection in the past or a new one -zeroed out. Then, sends an Open message with the \texttt{Ledger} to the peer. +zeroed out. Then, sends an \texttt{open} message with the \texttt{Ledger} to the peer. -Upon receiving an \texttt{Open} message, a peer chooses whether to activate +Upon receiving an \texttt{open} message, a peer chooses whether to activate the connection. If -- acording to the receiver's \texttt{Ledger} -- the sender is not a trusted agent (transmission below zero, or large outstanding debt) the receiver may opt to ignore the request. This should be done probabilistically with an \texttt{ignore\_cooldown} timeout, as to allow errors to be corrected and attackers to be thwarted. -If activating the connection, the receiver initializes a Peer object with the +If activating the connection, the receiver initializes a \texttt{Peer} object with the local version of the \texttt{Ledger} and sets the \texttt{last\_seen} timestamp. Then, it compares the received \texttt{Ledger} with its own. If they match exactly, the connections have @@ -546,7 +546,7 @@ \subsubsection{BitSwap Specification} checksum to verify it matches the expected one, and returns confirmation. Upon finalizing the correct transmission of a block, the receiver moves the -block from \texttt{need\_list} to \texttt{have\_list}, and both the receiver +block from \texttt{want\_list} to \texttt{have\_list}, and both the receiver and sender update their ledgers to reflect the additional bytes transmitted. If a transmission verification fails, the sender is either malfunctioning or @@ -682,7 +682,7 @@ \subsubsection{Paths} \end{verbatim} \end{quote} -The \texttt{/ipfs} prefix allows mounting into existing systems at a standard mount point without conflict (mount point names are of course configurable). The second path component (first within IPFS) is the hash of an object. This is always the case, as there is no global root. A root object would have the impossible task of handling consistency of millions of objects in a distributed (and possibly disconnected) environment. Instead, we simulate the root with content addressing. All objects are always accessible via their hash. Note this means that given three objects in path \texttt{/bar/baz}, the last object is accessible by all: +The \texttt{/ipfs} prefix allows mounting into existing systems at a standard mount point without conflict (mount point names are of course configurable). The second path component (first within IPFS) is the hash of an object. This is always the case, as there is no global root. A root object would have the impossible task of handling consistency of millions of objects in a distributed (and possibly disconnected) environment. Instead, we simulate the root with content addressing. All objects are always accessible via their hash. Note that this means that given three objects in path \texttt{/bar/baz}, the last object is accessible by all: \begin{quote} \begin{verbatim} From ee613681f0236dbfb5aa740fee45f85f70aa625a Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Thu, 26 Nov 2015 15:41:41 +0100 Subject: [PATCH 22/36] ipfs-cap2pfs: rebuild PDF after fixing sigmoid graph generation License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.aux | 2 +- ipfs-cap2pfs/ipfs-cap2pfs.bbl | 22 +++++----- ipfs-cap2pfs/ipfs-cap2pfs.blg | 52 +++++++++++------------ ipfs-cap2pfs/ipfs-cap2pfs.log | 35 +++++---------- ipfs-cap2pfs/ipfs-cap2pfs.pgf-plot.table | 30 +++++++++++++ ipfs-cap2pfs/ipfs-p2p-file-system.pdf | Bin 222632 -> 223613 bytes 6 files changed, 79 insertions(+), 62 deletions(-) create mode 100644 ipfs-cap2pfs/ipfs-cap2pfs.pgf-plot.table diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.aux b/ipfs-cap2pfs/ipfs-cap2pfs.aux index bca32ac..2f58bf0 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.aux +++ b/ipfs-cap2pfs/ipfs-cap2pfs.aux @@ -41,7 +41,7 @@ \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Network}{\thepage }} \newlabel{sec:design-network}{{3.2}{\thepage }} \newlabel{sec:design-network@cref}{{[subsection][2][3]3.2}{\thepage }} -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Note on Peer Addressing}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {paragraph}{Note on Peer Addressing}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Routing}{\thepage }} \newlabel{sec:design-routing}{{3.3}{\thepage }} \newlabel{sec:design-routing@cref}{{[subsection][3][3]3.3}{\thepage }} diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bbl b/ipfs-cap2pfs/ipfs-cap2pfs.bbl index d7d8f1c..f7a9e5a 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bbl +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bbl @@ -100,7 +100,7 @@ \field{sortinithash}{78f7c4753a2004675f316a80bdb31742} \field{labelnamesource}{author} \field{labeltitlesource}{title} - \field{booktitle}{Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles} + \field{booktitle}{Proceedings of the Eighteenth {ACM} Symposium on Operating Systems Principles} \field{title}{Wide-area cooperative storage with {CFS}} \field{year}{2001} \field{pages}{202\bibrangedash 2015} @@ -132,7 +132,7 @@ \field{sortinithash}{c6a7d9913bbd7b20ea954441c0460b78} \field{labelnamesource}{author} \field{labeltitlesource}{title} - \field{booktitle}{NSDI} + \field{booktitle}{{NSDI}} \field{title}{Democratizing Content Publication with {Coral}} \field{volume}{4} \field{year}{2004} @@ -158,7 +158,7 @@ \field{sortinithash}{82012198d5dfa657b8c4a168793268a6} \field{labelnamesource}{author} \field{labeltitlesource}{title} - \field{journaltitle}{ACM Transactions on Computer Systems (TOCS)} + \field{journaltitle}{{ACM} Transactions on Computer Systems ({TOCS})} \field{number}{1} \field{title}{Scale and performance in a distributed file system} \field{volume}{6} @@ -189,7 +189,7 @@ \field{sortinithash}{a7d5b3aec5a0890aae7baf85a209abfc} \field{labelnamesource}{author} \field{labeltitlesource}{title} - \field{journaltitle}{ACM Sigplan Notices} + \field{journaltitle}{{ACM} Sigplan Notices} \field{number}{11} \field{title}{Oceanstore: An architecture for global-scale persistent storage} \field{volume}{35} @@ -213,7 +213,7 @@ \field{sortinithash}{872351f18d0f736066eda0bf18bfa4f7} \field{labelnamesource}{author} \field{labeltitlesource}{title} - \field{booktitle}{ACM SIGCOMM Computer Communication Review} + \field{booktitle}{{ACM} {SIGCOMM} Computer Communication Review} \field{number}{4} \field{title}{{BitTorrent} is an auction: analyzing and improving {BitTorrent}'s incentives} \field{volume}{38} @@ -237,7 +237,7 @@ \field{sortinithash}{2684bec41e9697b92699b46491061da2} \field{labelnamesource}{author} \field{labeltitlesource}{title} - \field{booktitle}{Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles} + \field{booktitle}{Proceedings of the Twenty-Fourth {ACM} Symposium on Operating Systems Principles} \field{title}{Replication, history, and grafting in the {Ori} file system} \field{year}{2013} \field{pages}{151\bibrangedash 166} @@ -294,7 +294,7 @@ \field{sortinithash}{2684bec41e9697b92699b46491061da2} \field{labelnamesource}{author} \field{labeltitlesource}{title} - \field{booktitle}{Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications} + \field{booktitle}{Proceedings of the 8th {ACM} {SIGOPS} European workshop on Support for composing distributed applications} \field{title}{Escaping the evils of centralized control with self-certifying pathnames} \field{year}{1998} \field{pages}{118\bibrangedash 125} @@ -408,14 +408,14 @@ \range{pages}{10} \endentry \endsortlist - \missing{Venti} - \missing{FUSE} + \missing{Plan9} \missing{LBFS} + \missing{FUSE} + \missing{rsync} \missing{Fossil} - \missing{Plan9} \missing{RabinFingerprints} \missing{Proquint} - \missing{rsync} + \missing{Venti} \endrefsection \endinput diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.blg b/ipfs-cap2pfs/ipfs-cap2pfs.blg index db9da9f..cbe7e0c 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.blg +++ b/ipfs-cap2pfs/ipfs-cap2pfs.blg @@ -1,26 +1,26 @@ -[1] Config.pm:325> INFO - This is Biber 2.1 -[2] Config.pm:328> INFO - Logfile is 'ipfs-cap2pfs.blg' -[156] biber:276> INFO - === dv nov 20, 2015, 12:13:51 -[157] Biber.pm:334> INFO - Reading 'ipfs-cap2pfs.bcf' -[494] Utils.pm:146> WARN - Warning: Found biblatex control file version 2.8, expected version 2.7 -[499] Biber.pm:646> INFO - Found 28 citekeys in bib section 0 -[651] Biber.pm:2978> INFO - Processing section 0 -[813] Biber.pm:3116> INFO - Looking for bibtex format file 'ipfs-cap2pfs.bib' for section 0 -[837] bibtex.pm:1010> INFO - Decoding LaTeX character macros into UTF-8 -[844] bibtex.pm:884> INFO - Found BibTeX data source 'ipfs-cap2pfs.bib' -[1054] Utils.pm:146> WARN - I didn't find a database entry for 'RabinFingerprints' (section 0) -[1055] Utils.pm:146> WARN - I didn't find a database entry for 'LBFS' (section 0) -[1056] Utils.pm:146> WARN - I didn't find a database entry for 'rsync' (section 0) -[1057] Utils.pm:146> WARN - I didn't find a database entry for 'Plan9' (section 0) -[1058] Utils.pm:146> WARN - I didn't find a database entry for 'Fossil' (section 0) -[1058] Utils.pm:146> WARN - I didn't find a database entry for 'Venti' (section 0) -[1059] Utils.pm:146> WARN - I didn't find a database entry for 'Proquint' (section 0) -[1060] Utils.pm:146> WARN - I didn't find a database entry for 'FUSE' (section 0) -[2138] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized' -[2138] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable' -[2139] Biber.pm:2855> INFO - Sorting list 'nty' of type 'entry' with scheme 'nty' and locale 'en-US' -[2139] Biber.pm:2859> INFO - No sort tailoring available for locale 'en-US' -[2338] bbl.pm:505> INFO - Writing 'ipfs-cap2pfs.bbl' with encoding 'ascii' -[2351] Utils.pm:146> WARN - The entry 'mashtizadeh13' has characters which cannot be encoded in 'ascii'. Recoding problematic characters into macros. -[2356] bbl.pm:596> INFO - Output to ipfs-cap2pfs.bbl -[2357] Biber.pm:107> INFO - WARNINGS: 10 +[2] Config.pm:325> INFO - This is Biber 2.1 +[3] Config.pm:328> INFO - Logfile is 'ipfs-cap2pfs.blg' +[145] biber:276> INFO - === dj nov 26, 2015, 15:39:30 +[146] Biber.pm:334> INFO - Reading 'ipfs-cap2pfs.bcf' +[493] Utils.pm:146> WARN - Warning: Found biblatex control file version 2.8, expected version 2.7 +[498] Biber.pm:646> INFO - Found 28 citekeys in bib section 0 +[546] Biber.pm:2978> INFO - Processing section 0 +[593] Biber.pm:3116> INFO - Looking for bibtex format file 'ipfs-cap2pfs.bib' for section 0 +[598] bibtex.pm:1010> INFO - Decoding LaTeX character macros into UTF-8 +[605] bibtex.pm:884> INFO - Found BibTeX data source 'ipfs-cap2pfs.bib' +[729] Utils.pm:146> WARN - I didn't find a database entry for 'RabinFingerprints' (section 0) +[730] Utils.pm:146> WARN - I didn't find a database entry for 'LBFS' (section 0) +[730] Utils.pm:146> WARN - I didn't find a database entry for 'rsync' (section 0) +[731] Utils.pm:146> WARN - I didn't find a database entry for 'Plan9' (section 0) +[731] Utils.pm:146> WARN - I didn't find a database entry for 'Fossil' (section 0) +[731] Utils.pm:146> WARN - I didn't find a database entry for 'Venti' (section 0) +[732] Utils.pm:146> WARN - I didn't find a database entry for 'Proquint' (section 0) +[732] Utils.pm:146> WARN - I didn't find a database entry for 'FUSE' (section 0) +[1735] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized' +[1736] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable' +[1736] Biber.pm:2855> INFO - Sorting list 'nty' of type 'entry' with scheme 'nty' and locale 'en-US' +[1737] Biber.pm:2859> INFO - No sort tailoring available for locale 'en-US' +[1944] bbl.pm:505> INFO - Writing 'ipfs-cap2pfs.bbl' with encoding 'ascii' +[1957] Utils.pm:146> WARN - The entry 'mashtizadeh13' has characters which cannot be encoded in 'ascii'. Recoding problematic characters into macros. +[1962] bbl.pm:596> INFO - Output to ipfs-cap2pfs.bbl +[1963] Biber.pm:107> INFO - WARNINGS: 10 diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.log b/ipfs-cap2pfs/ipfs-cap2pfs.log index d5ed159..3dac9ce 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.log +++ b/ipfs-cap2pfs/ipfs-cap2pfs.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex 2015.11.18) 20 NOV 2015 12:13 +This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex 2015.11.18) 26 NOV 2015 15:39 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -846,35 +846,35 @@ Package biblatex Info: ... file 'ipfs-cap2pfs.bbl' found. Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) Venti +(biblatex) Plan9 (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) FUSE +(biblatex) LBFS (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) LBFS +(biblatex) FUSE (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) Fossil +(biblatex) rsync (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) Plan9 +(biblatex) Fossil (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. @@ -895,7 +895,7 @@ Package biblatex Warning: The following entry could not be found Package biblatex Warning: The following entry could not be found (biblatex) in the database: -(biblatex) rsync +(biblatex) Venti (biblatex) Please verify the spelling and rerun (biblatex) LaTeX afterwards. @@ -975,19 +975,6 @@ Overfull \hbox (13.58043pt too wide) in paragraph at lines 305--305 [] -Overfull \hbox (2.86789pt too wide) in paragraph at lines 361--363 -[]\T1/aer/m/n/9 be ef-fec-tive with and re-sis-tant to other, un-known strate- - [] - -\openout3 = `ipfs-cap2pfs.pgf-plot.gnuplot'. - -runsystem(gnuplot ipfs-cap2pfs.pgf-plot.gnuplot)...disabled (restricted). - - -Package pgf Warning: Plot data file `ipfs-cap2pfs.pgf-plot.table' not found. on - input line 392. - - Overfull \hbox (1.67198pt too wide) in paragraph at lines 399--410 \T1/aer/m/n/9 as the nodes' \T1/aer/m/it/9 debt ra-tio \T1/aer/m/n/9 sur-passes twice the es-tab-lished credit. @@ -1150,9 +1137,9 @@ Overfull \hbox (2.85959pt too wide) in paragraph at lines 1194--1194 [] -Overfull \hbox (7.46931pt too wide) in paragraph at lines 1194--1194 -\T1/aer/m/it/9 com-mu-ni-ca-tion re-view\T1/aer/m/n/9 . Vol. 38. (4). ACM, 2008 -, pp. 243^^U +Overfull \hbox (13.38684pt too wide) in paragraph at lines 1194--1194 +\T1/aer/m/it/9 ACM trans-ac-tions on com-puter sys-tems (TOCS)\T1/aer/m/n/9 , 6 +(1):51^^U [] @@ -1201,7 +1188,7 @@ fb> -Output written on ipfs-cap2pfs.pdf (12 pages, 222632 bytes). +Output written on ipfs-cap2pfs.pdf (12 pages, 223613 bytes). PDF statistics: 99 PDF objects out of 1000 (max. 8388607) 71 compressed objects within 1 object stream diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.pgf-plot.table b/ipfs-cap2pfs/ipfs-cap2pfs.pgf-plot.table new file mode 100644 index 0000000..40fb92d --- /dev/null +++ b/ipfs-cap2pfs/ipfs-cap2pfs.pgf-plot.table @@ -0,0 +1,30 @@ + +# Curve 0 of 1, 25 points +# Curve title: "1 - 1/(1+exp(6-3*x))" +# x y type +0.00000 0.99753 i +0.16667 0.99593 i +0.33333 0.99331 i +0.50000 0.98901 i +0.66667 0.98201 i +0.83333 0.97069 i +1.00000 0.95257 i +1.16667 0.92414 i +1.33333 0.88080 i +1.50000 0.81757 i +1.66667 0.73106 i +1.83333 0.62246 i +2.00000 0.50000 i +2.16667 0.37754 i +2.33333 0.26894 i +2.50000 0.18243 i +2.66667 0.11920 i +2.83333 0.07586 i +3.00000 0.04743 i +3.16667 0.02931 i +3.33333 0.01799 i +3.50000 0.01099 i +3.66667 0.00669 i +3.83333 0.00407 i +4.00000 0.00247 i + diff --git a/ipfs-cap2pfs/ipfs-p2p-file-system.pdf b/ipfs-cap2pfs/ipfs-p2p-file-system.pdf index 5b133fcc98267bd4d3131d98d65d38ada6580c86..84d396d972afce184110b3955c1f82cd736ea517 100644 GIT binary patch delta 54579 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

&kvuTGw<$ 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 From ac4a6f42a688fc6badd905c23fa3b758d607d40c Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 11:19:46 +0100 Subject: [PATCH 23/36] ipfs-cap2pfs: use ``Cref`` for sigmoid figure reference License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index c6ff1ad..251e472 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -396,7 +396,7 @@ \subsubsection{BitSwap Strategy} \label{fig:psending-graph} \end{figure} -As you can see in Figure \ref{fig:psending-graph}, this function drops off quickly as the nodes' +As you can see in \Cref{fig:psending-graph}, this function drops off quickly as the nodes' \textit{debt ratio} surpasses twice the established credit. The \textit{debt ratio} is a measure of trust: lenient to debts between nodes that have previously exchanged lots of data From 2934e74f8d1dd46538442e232aaa368132022ce9 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 11:41:25 +0100 Subject: [PATCH 24/36] ipfs-cap2pfs: reword "filesystem" as "file system" (as in title) License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 46 +++++++++++++++++------------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 251e472..1689b15 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -42,9 +42,9 @@ \section{Introduction} Industry has gotten away with using HTTP this long because moving small files around is relatively cheap, even for small organizations with lots of traffic. But we are entering a new era of data distribution with new challenges: (a) hosting and distributing petabyte datasets, (b) computing on large data across organizations, (c) high-volume high-definition on-demand or real-time media streams, (d) versioning and linking of massive datasets, (e) preventing accidental disappearance of important files, and more. Many of these can be boiled down to ``lots of data, accessible everywhere.'' Pressed by critical features and bandwidth concerns, we have already given up HTTP for different data distribution protocols. The next step is making them part of the Web itself. -Orthogonal to efficient data distribution, version control systems have managed to develop important data collaboration workflows. Git, the distributed source code version control system, developed many useful ways to model and implement distributed data operations. The Git toolchain offers versatile versioning functionality that large file distribution systems severely lack. New solutions inspired by Git are emerging, such as Camlistore~\cite{Camlistore}, a personal file storage system, and Dat~\cite{Dat} a data collaboration toolchain and dataset package manager. Git has already influenced distributed filesystem design~\cite{mashtizadeh13}, as its content-addressed Merkle DAG data model enables powerful file distribution strategies. What remains to be explored is how this data structure can influence the design of high-throughput oriented file systems, and how it might upgrade the Web itself. +Orthogonal to efficient data distribution, version control systems have managed to develop important data collaboration workflows. Git, the distributed source code version control system, developed many useful ways to model and implement distributed data operations. The Git toolchain offers versatile versioning functionality that large file distribution systems severely lack. New solutions inspired by Git are emerging, such as Camlistore~\cite{Camlistore}, a personal file storage system, and Dat~\cite{Dat} a data collaboration toolchain and dataset package manager. Git has already influenced distributed file system design~\cite{mashtizadeh13}, as its content-addressed Merkle DAG data model enables powerful file distribution strategies. What remains to be explored is how this data structure can influence the design of high-throughput oriented file systems, and how it might upgrade the Web itself. -This paper introduces IPFS, a novel peer-to-peer version-controlled filesystem seeking to reconcile these issues. IPFS synthesizes learnings from many past successful systems. Careful interface-focused integration yields a system greater than the sum of its parts. The central IPFS principle is modeling \textit{all data} as part of the same Merkle DAG. +This paper introduces IPFS, a novel peer-to-peer version-controlled file system seeking to reconcile these issues. IPFS synthesizes learnings from many past successful systems. Careful interface-focused integration yields a system greater than the sum of its parts. The central IPFS principle is modeling \textit{all data} as part of the same Merkle DAG. \section{Background} @@ -78,7 +78,7 @@ \subsubsection{Kademlia DHT} \subsubsection{Coral DSHT} -While some peer-to-peer filesystems store data blocks directly in DHTs, +While some peer-to-peer file systems store data blocks directly in DHTs, this ``wastes storage and bandwidth, as data must be stored at nodes where it is not needed''~\cite{freedman04}. The Coral DSHT extends Kademlia in three particularly important ways: @@ -139,7 +139,7 @@ \subsection{Block Exchanges - BitTorrent} \subsection{Version Control Systems - Git} -Version Control Systems provide facilities to model files changing over time and distribute different versions efficiently. The popular version control system Git provides a powerful Merkle DAG\footnote{Merkle Directed Acyclic Graph -- similar but more general construction than a Merkle Tree. Deduplicated, does not need to be balanced, and non-leaf nodes contain data.} object model that captures changes to a filesystem tree in a distributed-friendly way: +Version Control Systems provide facilities to model files changing over time and distribute different versions efficiently. The popular version control system Git provides a powerful Merkle DAG\footnote{Merkle Directed Acyclic Graph -- similar but more general construction than a Merkle Tree. Deduplicated, does not need to be balanced, and non-leaf nodes contain data.} object model that captures changes to a file system tree in a distributed-friendly way: \begin{enumerate} \item Immutable objects represent Files (\texttt{blob}), Directories (\texttt{tree}), and Changes (\texttt{commit}). @@ -151,9 +151,9 @@ \subsection{Version Control Systems - Git} \item Distributing version changes to other users is simply transferring objects and updating remote references. \end{enumerate} -\subsection{Self-Certified Filesystems - SFS} +\subsection{Self-Certified File Systems - SFS} -SFS~\cite{mazieres98, mazieres00} proposed compelling implementations of both (a) distributed trust chains, and (b) egalitarian shared global namespaces. SFS introduced a technique for building \textit{Self-Certified Filesystems}, addressing remote filesystems using the following scheme: +SFS~\cite{mazieres98, mazieres00} proposed compelling implementations of both (a) distributed trust chains, and (b) egalitarian shared global namespaces. SFS introduced a technique for building \textit{Self-Certified File Systems}, addressing remote file systems using the following scheme: \begin{quote} \begin{verbatim} @@ -317,7 +317,7 @@ \subsection{Block Exchange - BitSwap Protocol} Unlike BitTorrent, BitSwap is not limited to the blocks in one torrent. BitSwap operates as a persistent marketplace where nodes can acquire the blocks they need, regardless of what files those blocks are part of. The -blocks could come from completely unrelated files in the filesystem. +blocks could come from completely unrelated files in the file system. Nodes come together to barter in the marketplace. While the notion of a barter system implies a virtual currency could be @@ -670,7 +670,7 @@ \subsection{Object Merkle DAG} \subsubsection{Paths} -IPFS objects can be traversed with a string path API. Paths work as they do in traditional UNIX filesystems and the Web. The Merkle DAG links make traversing it easy. Note that full paths in IPFS are of the form: +IPFS objects can be traversed with a string path API. Paths work as they do in traditional UNIX file systems and the Web. The Merkle DAG links make traversing it easy. Note that full paths in IPFS are of the form: \begin{quote} \begin{verbatim} @@ -698,7 +698,7 @@ \subsubsection{Local Objects} on which to store and retrieve local raw data for the objects IPFS manages. The type of storage depends on the node's use case. In most cases, this is simply a portion of disk space (either managed by -the native filesystem, by a key-value store such as leveldb~\cite{dean11}, or +the native file system, by a key-value store such as leveldb~\cite{dean11}, or directly by the IPFS client). In others, for example non-persistent caches, this storage is just a portion of RAM. @@ -755,7 +755,7 @@ \subsubsection{Object-level Cryptography} \subsection{Files} \label{sec:design-files} -IPFS also defines a set of objects for modeling a versioned filesystem on top of the Merkle DAG. This object model is similar to Git's: +IPFS also defines a set of objects for modeling a versioned file system on top of the Merkle DAG. This object model is similar to Git's: \begin{enumerate} \item \texttt{block}: a variable-size block of data. @@ -764,14 +764,14 @@ \subsection{Files} \item \texttt{commit}: a snapshot in the version history of a tree. \end{enumerate} -I hoped to use the Git object formats exactly, but had to depart to introduce certain features useful in a distributed filesystem, namely (a) fast size lookups (aggregate byte sizes have been added to objects), (b) large file deduplication (adding a \texttt{list} object), and (c) embedding of \texttt{commits} into \texttt{trees}. However, IPFS File objects are close enough to Git that conversion between the two is possible. Also, a set of Git objects can be introduced to convert without losing any information (unix file permissions, etc). +I hoped to use the Git object formats exactly, but had to depart to introduce certain features useful in a distributed file system, namely (a) fast size lookups (aggregate byte sizes have been added to objects), (b) large file deduplication (adding a \texttt{list} object), and (c) embedding of \texttt{commits} into \texttt{trees}. However, IPFS File objects are close enough to Git that conversion between the two is possible. Also, a set of Git objects can be introduced to convert without losing any information (unix file permissions, etc). Notation: File object formats below use JSON. Note that this structure is actually binary encoded using protobufs, though ipfs includes import/export to JSON. \subsubsection{File Object: \texttt{blob}} The \texttt{blob} object contains an addressable unit of data, and -represents a file. IPFS Blocks are like Git blobs or filesystem data blocks. They store the users' data. Note that IPFS files can be represented by both \texttt{lists} and \texttt{blobs}. Blobs have no links. +represents a file. IPFS Blocks are like Git blobs or file system data blocks. They store the users' data. Note that IPFS files can be represented by both \texttt{lists} and \texttt{blobs}. Blobs have no links. \begin{quote} \begin{verbatim} @@ -787,7 +787,7 @@ \subsubsection{File Object: \texttt{list}} The \texttt{list} object represents a large or deduplicated file made up of several IPFS \texttt{blobs} concatenated together. \texttt{lists} contain an ordered sequence of \texttt{blob} or \texttt{list} objects. -In a sense, the IPFS \texttt{list} functions like a filesystem file with +In a sense, the IPFS \texttt{list} functions like a file system file with indirect blocks. Since \texttt{lists} can contain other \texttt{lists}, topologies including linked lists and balanced trees are possible. Directed graphs where the same node appears in multiple places allow in-file deduplication. Of course, cycles are not possible, as enforced by hash addressing. \begin{quote} @@ -944,17 +944,17 @@ \subsubsection{Version control} The \texttt{commit} object represents a particular snapshot in the version history of an object. Comparing the objects (and children) of two different commits reveals the differences between two versions of the -filesystem. As long as a single \texttt{commit} and all the children objects +file system. As long as a single \texttt{commit} and all the children objects it references are accessible, all preceding versions are retrievable and the -full history of the filesystem changes can be accessed. This falls out +full history of the file system changes can be accessed. This falls out of the Merkle DAG object model. -The full power of the Git version control tools is available to IPFS users. The object model is compatible, though not the same. It is possible to (a) build a version of the Git tools modified to use the IPFS object graph, (b) build a mounted FUSE filesystem that mounts an IPFS \texttt{tree} as a Git repo, translating Git filesystem read/writes to the IPFS formats. +The full power of the Git version control tools is available to IPFS users. The object model is compatible, though not the same. It is possible to (a) build a version of the Git tools modified to use the IPFS object graph, (b) build a mounted FUSE file system that mounts an IPFS \texttt{tree} as a Git repo, translating Git file system read/writes to the IPFS formats. -\subsubsection{Filesystem Paths} +\subsubsection{File System Paths} -As we saw in the Merkle DAG section, IPFS objects can be traversed with a string path API. The IPFS File Objects are designed to make mounting IPFS onto a UNIX filesystem simpler. They restrict \texttt{trees} to have no data, in order to represent them as directories. And \texttt{commits} can either be represented as directories or hidden from the filesystem entirely. +As we saw in the Merkle DAG section, IPFS objects can be traversed with a string path API. The IPFS File Objects are designed to make mounting IPFS onto a UNIX file system simpler. They restrict \texttt{trees} to have no data, in order to represent them as directories. And \texttt{commits} can either be represented as directories or hidden from the file system entirely. \subsubsection{Splitting Files into Lists and Blob} @@ -1022,7 +1022,7 @@ \subsection{IPNS: Naming and Mutable State} \noindent These are the critical properties of a high-performance distributed system, where data is expensive to move across network links. Object content addressing constructs a Web with (a) significant bandwidth optimizations, (b) untrusted content serving, (c) permanent links, and (d) the ability to make full permanent backups of any object and its references. -The Merkle DAG, immutable content-addressed objects, and Naming, mutable pointers to the Merkle DAG, instantiate a dichotomy present in many successful distributed systems. These include the Git Version Control System, with its immutable objects and mutable references; and Plan9 \cite{Plan9}, the distributed successor to UNIX, with its mutable Fossil \cite{Fossil} and immutable Venti \cite{Venti} filesystems. LBFS \cite{LBFS} also uses mutable indices and immutable chunks. +The Merkle DAG, immutable content-addressed objects, and Naming, mutable pointers to the Merkle DAG, instantiate a dichotomy present in many successful distributed systems. These include the Git Version Control System, with its immutable objects and mutable references; and Plan9 \cite{Plan9}, the distributed successor to UNIX, with its mutable Fossil \cite{Fossil} and immutable Venti \cite{Venti} file systems. LBFS \cite{LBFS} also uses mutable indices and immutable chunks. \subsubsection{Self-Certified Names} @@ -1151,12 +1151,12 @@ \subsection{Using IPFS} IPFS is designed to be used in a number of different ways. Here are just some of the usecases I will be pursuing: \begin{enumerate} - \item As a mounted global filesystem, under \texttt{/ipfs} and \texttt{/ipns}. + \item As a mounted global file system, under \texttt{/ipfs} and \texttt{/ipns}. \item As a mounted personal sync folder that automatically versions, publishes, and backs up any writes. \item As an encrypted file or data sharing system. \item As a versioned package manager for \textit{all} software. - \item As the root filesystem of a Virtual Machine. - \item As the boot filesystem of a VM (under a hypervisor). + \item As the root file system of a Virtual Machine. + \item As the boot file system of a VM (under a hypervisor). \item As a database: applications can write directly to the Merkle DAG data model and get all the versioning, caching, and distribution IPFS provides. \item As a linked (and encrypted) communications platform. \item As an integrity checked CDN for large files (without SSL). @@ -1179,7 +1179,7 @@ \section{The Future} The ideas behind IPFS are the product of decades of successful distributed systems research in academia and open source. IPFS synthesizes many of the best ideas from the most successful systems to date. Aside from BitSwap, which is a novel protocol, the main contribution of IPFS is this coupling of systems and synthesis of designs. -IPFS is an ambitious vision of new decentralized Internet infrastructure, upon which many different kinds of applications can be built. At the bare minimum, it can be used as a global, mounted, versioned filesystem and namespace, or as the next generation file sharing system. At its best, it could push the Web to new horizons, where publishing valuable information does not impose hosting it on the publisher but upon those interested, where users can trust the content they receive without trusting the peers they receive it from, and where old but important files do not go missing. IPFS looks forward to bringing us toward the Permanent Web. +IPFS is an ambitious vision of new decentralized Internet infrastructure, upon which many different kinds of applications can be built. At the bare minimum, it can be used as a global, mounted, versioned file system and namespace, or as the next generation file sharing system. At its best, it could push the Web to new horizons, where publishing valuable information does not impose hosting it on the publisher but upon those interested, where users can trust the content they receive without trusting the peers they receive it from, and where old but important files do not go missing. IPFS looks forward to bringing us toward the Permanent Web. \section{Acknowledgments} From 3f3c284c1e62006010f14e6bc58c5c4b57194cab Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 13:40:17 +0100 Subject: [PATCH 25/36] ipfs-cap2pfs: missing bibliography in splitting files section License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index a78ca35..1de0a0a 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -90,6 +90,30 @@ @misc{dean11 year={2011} } +@book{RabinFingerprints, + title={Fingerprinting by random polynomials}, + author={Rabin, Michael O. and others}, + year={1981}, + publisher={Center for Research in Computing Techn., Aiken Computation Laboratory, Univ.} +} + +@inproceedings{LBFS, + title={A low-bandwidth network file system}, + author={Muthitacharoen, Athicha and Chen, Benjie and Mazieres, David}, + booktitle={ACM SIGOPS Operating Systems Review}, + volume={35}, + number={5}, + pages={174--187}, + year={2001}, + organization={ACM} +} + +@article{rsync, + title={The rsync algorithm}, + author={Tridgell, Andrew and Mackerras, Paul and others}, + year={1996} +} + @inproceedings{baumgart07, title={{S/Kademlia}: A practicable approach towards secure key-based routing}, author={Baumgart, Ingmar and Mies, Sebastian}, From ee3f1ecf8db8b9209119660fdb7a4e052af4a685 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 13:42:02 +0100 Subject: [PATCH 26/36] ipfs-cap2pfs: minor corrections to Merkle DAG and files sections License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 1689b15..9fbac6f 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -662,7 +662,7 @@ \subsection{Object Merkle DAG} A raw data field and a common link structure are the necessary components for constructing arbitrary data structures on top of IPFS. While it is easy to see how the Git object model fits on top of this DAG, consider these other potential data structures: (a) key-value stores (b) traditional relational databases -(c) Linked Data triple stores +(c) linked data triple stores (d) linked document publishing systems (e) linked communications platforms (f) cryptocurrency blockchains. @@ -764,9 +764,11 @@ \subsection{Files} \item \texttt{commit}: a snapshot in the version history of a tree. \end{enumerate} -I hoped to use the Git object formats exactly, but had to depart to introduce certain features useful in a distributed file system, namely (a) fast size lookups (aggregate byte sizes have been added to objects), (b) large file deduplication (adding a \texttt{list} object), and (c) embedding of \texttt{commits} into \texttt{trees}. However, IPFS File objects are close enough to Git that conversion between the two is possible. Also, a set of Git objects can be introduced to convert without losing any information (unix file permissions, etc). +I hoped to use the Git object formats exactly, but had to depart to introduce certain features useful in a distributed file system, namely (a) fast size lookups (aggregate byte sizes have been added to objects), (b) large file deduplication (adding a \texttt{list} object), and (c) embedding of \texttt{commits} into \texttt{trees}. However, IPFS File objects are close enough to Git that conversion between the two is possible. Also, a set of Git objects can be introduced to convert without losing any information (UNIX file permissions, etc). -Notation: File object formats below use JSON. Note that this structure is actually binary encoded using protobufs, though ipfs includes import/export to JSON. +Notation: File object formats below use JSON. Note that this structure is actually binary encoded using Protocol Buffers, though IPFS includes import/export to JSON. + +%% The schema of the examples below has changed and is obsolete. (ivilata) \subsubsection{File Object: \texttt{blob}} @@ -951,17 +953,19 @@ \subsubsection{Version control} The full power of the Git version control tools is available to IPFS users. The object model is compatible, though not the same. It is possible to (a) build a version of the Git tools modified to use the IPFS object graph, (b) build a mounted FUSE file system that mounts an IPFS \texttt{tree} as a Git repo, translating Git file system read/writes to the IPFS formats. +%% Does that really allow writing? (ivilata) + \subsubsection{File System Paths} -As we saw in the Merkle DAG section, IPFS objects can be traversed with a string path API. The IPFS File Objects are designed to make mounting IPFS onto a UNIX file system simpler. They restrict \texttt{trees} to have no data, in order to represent them as directories. And \texttt{commits} can either be represented as directories or hidden from the file system entirely. +As we saw in the Merkle DAG section, IPFS objects can be traversed with a string path API. The IPFS File Objects are designed to make mounting IPFS onto a UNIX file system simpler. They restrict \texttt{trees} to have no data, in order to represent them as directories. The \texttt{commits} can either be represented as directories or hidden from the file system entirely. \subsubsection{Splitting Files into Lists and Blob} One of the main challenges with versioning and distributing large files is finding the right way to split them into independent blocks. Rather than assume it can make the right decision for every type of file, IPFS offers the following alternatives: \begin{enumerate} - \item[(a)] Use Rabin Fingerprints \cite{RabinFingerprints} as in LBFS \cite{LBFS} to pick suitable block boundaries. + \item[(a)] Use Rabin fingerprints \cite{RabinFingerprints} as in LBFS \cite{LBFS} to pick suitable block boundaries. \item[(b)] Use the rsync \cite{rsync} rolling-checksum algorithm, to detect blocks that have changed between versions. \item[(c)] Allow users to specify block-splitting functions highly tuned for specific files. \end{enumerate} @@ -984,7 +988,7 @@ \subsubsection{Path Lookup Performance} would really be paths parting from the original tree, with slashes. \end{itemize} -For example, \texttt{flattened tree} for \texttt{ttt111} above: +For example, the \texttt{flattened tree} for \texttt{ttt111} in \Cref{fig:sample-object-graph}: \begin{quote} \begin{verbatim} From 18599c61e2446f1d56f2bd709f4ab84c27c6036b Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 13:53:05 +0100 Subject: [PATCH 27/36] ipfs-cap2pfs: protect abbreviations' capitals in new bibliography License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index 1de0a0a..ef08762 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -100,7 +100,7 @@ @book{RabinFingerprints @inproceedings{LBFS, title={A low-bandwidth network file system}, author={Muthitacharoen, Athicha and Chen, Benjie and Mazieres, David}, - booktitle={ACM SIGOPS Operating Systems Review}, + booktitle={{ACM} {SIGOPS} Operating Systems Review}, volume={35}, number={5}, pages={174--187}, From ff350283b64e31416e9e86c19d9f3bc738ecdae7 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 13:58:29 +0100 Subject: [PATCH 28/36] ipfs-cap2pfs: missing bibliography in IPNS section License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index ef08762..44a4fe8 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -114,6 +114,31 @@ @article{rsync year={1996} } +@inproceedings{Plan9, + title={Plan 9 from bell labs}, + author={Pike, Rob and Presotto, Dave and Thompson, Ken and Trickey, Howard and others}, + booktitle={Proceedings of the summer 1990 {UKUUG} Conference}, + pages={1--9}, + year={1990}, + organization={London, UK} +} + +@misc{Fossil, + title={Fossil, an archival file server}, + author={Quinlan, Sean and McKie, Jim and Cox, Russ}, + year={2003}, + publisher={Lucent Technologies Bell Labs, Unpublished memorandum (September 2003)} +} + +@inproceedings{Venti, + title={Venti: A New Approach to Archival Storage.}, + author={Quinlan, Sean and Dorward, Sean}, + booktitle={FAST}, + volume={2}, + pages={89--101}, + year={2002} +} + @inproceedings{baumgart07, title={{S/Kademlia}: A practicable approach towards secure key-based routing}, author={Baumgart, Ingmar and Mies, Sebastian}, From 32809c46ee14b91badb4785deb0b87de04dcdbff Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 14:40:25 +0100 Subject: [PATCH 29/36] ipfs-cap2pfs: minor corrections to IPNS section License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 9fbac6f..72cc111 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -1021,16 +1021,16 @@ \subsection{IPNS: Naming and Mutable State} It is worth stating why -- if mutable data is necessary in the end -- we worked hard to build up an \textit{immutable} Merkle DAG. Consider the properties of IPFS that fall out of the Merkle DAG: objects can be (a) retrieved via their hash, (b) integrity checked, (c) linked to others, and (d) cached indefinitely. In a sense: \begin{center} - Objects are \textbf{permanent} + Objects are \textbf{permanent}. \end{center} \noindent These are the critical properties of a high-performance distributed system, where data is expensive to move across network links. Object content addressing constructs a Web with (a) significant bandwidth optimizations, (b) untrusted content serving, (c) permanent links, and (d) the ability to make full permanent backups of any object and its references. -The Merkle DAG, immutable content-addressed objects, and Naming, mutable pointers to the Merkle DAG, instantiate a dichotomy present in many successful distributed systems. These include the Git Version Control System, with its immutable objects and mutable references; and Plan9 \cite{Plan9}, the distributed successor to UNIX, with its mutable Fossil \cite{Fossil} and immutable Venti \cite{Venti} file systems. LBFS \cite{LBFS} also uses mutable indices and immutable chunks. +The Merkle DAG (immutable content-addressed objects) and Naming (mutable pointers to the Merkle DAG) instantiate a dichotomy present in many successful distributed systems. These include the Git Version Control System, with its immutable objects and mutable references; and Plan9 \cite{Plan9}, the distributed successor to UNIX, with its mutable Fossil \cite{Fossil} and immutable Venti \cite{Venti} file systems. LBFS \cite{LBFS} also uses mutable indices and immutable chunks. \subsubsection{Self-Certified Names} -Using the naming scheme from SFS~\cite{mazieres98, mazieres00} gives us a way to construct self-certified names, in a cryptographically assigned global namespace, that are mutable. The IPFS scheme is as follows. +Using the naming scheme from SFS~\cite{mazieres98, mazieres00} gives us a way to construct self-certified names (in a cryptographically assigned global namespace) that are mutable. The IPFS scheme is as follows. \begin{enumerate} \item Recall that in IPFS: @@ -1051,7 +1051,7 @@ \subsubsection{Self-Certified Names} /ipns/XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm/ \end{verbatim} - \item When other users retrieve the object, they can check the signature matches the public key and NodeId. This verifies the authenticity of the Object published by the user, achieving mutable state retrival. + \item When other users retrieve the object, they can check the signature matches the public key and NodeId. This verifies the authenticity of the Object published by the user, achieving mutable state retrieval. \end{enumerate} @@ -1111,6 +1111,8 @@ \subsubsection{Human Friendly Names} looks up key \texttt{ipns} in its \texttt{DNS TXT} records. IPFS interprets the value as either an object hash or another IPNS path: +%% The specification used here is obsolete. (ivilata) + \begin{quote} \begin{verbatim} # this DNS TXT record From d5af90dd8fe4d82fabba4b857bb394eecc8cda43 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 14:41:37 +0100 Subject: [PATCH 30/36] ipfs-cap2pfs: more missing bibliography in IPNS section License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index 44a4fe8..d98574f 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -139,6 +139,13 @@ @inproceedings{Venti year={2002} } +@article{Proquint, + title={A Proposal for Proquints: Identifiers that are Readable, Spellable, and Pronounceable}, + author={Wilkerson, Daniel Shawcross}, + journal={arXiv preprint arXiv:0901.4016}, + year={2009} +} + @inproceedings{baumgart07, title={{S/Kademlia}: A practicable approach towards secure key-based routing}, author={Baumgart, Ingmar and Mies, Sebastian}, From 50ce790a2d151a4d62c11bb5b87be25faf1b0e12 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 14:42:47 +0100 Subject: [PATCH 31/36] ipfs-cap2pfs: protect abbreviations' capitals in new bibliography License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index d98574f..5e8214c 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -142,7 +142,7 @@ @inproceedings{Venti @article{Proquint, title={A Proposal for Proquints: Identifiers that are Readable, Spellable, and Pronounceable}, author={Wilkerson, Daniel Shawcross}, - journal={arXiv preprint arXiv:0901.4016}, + journal={{arXiv} preprint {arXiv}:0901.4016}, year={2009} } From 3dc9305ffab24c32d1cc56c779b1e3be40b04c19 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 17:53:02 +0100 Subject: [PATCH 32/36] ipfs-cap2pfs: minor corrections to usage section License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 72cc111..8193abc 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -1175,7 +1175,7 @@ \subsection{Using IPFS} \begin{enumerate} \item[(a)] an IPFS library to import in your own applications. - \item[(b)] commandline tools to manipulate objects directly. + \item[(b)] command line tools to manipulate objects directly. \item[(c)] mounted file systems, using FUSE \cite{FUSE} or as kernel modules. \end{enumerate} From bdaf3afb2d31e8eb6ea6586aa2efba89b92d203b Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 17:53:24 +0100 Subject: [PATCH 33/36] ipfs-cap2pfs: add bibliography for FUSE License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.bib | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bib b/ipfs-cap2pfs/ipfs-cap2pfs.bib index 5e8214c..4b165ce 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bib +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bib @@ -146,6 +146,12 @@ @article{Proquint year={2009} } +@article{FUSE, + title={{FUSE}: Filesystem in userspace}, + author={Szeredi, Miklos and others}, + url={http://fuse.sourceforge.net/} +} + @inproceedings{baumgart07, title={{S/Kademlia}: A practicable approach towards secure key-based routing}, author={Baumgart, Ingmar and Mies, Sebastian}, From 943e688a89cf072efb87249863d393300c9b3800 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 18:09:16 +0100 Subject: [PATCH 34/36] ipfs-cap2pfs: fix hop count for Kademlia example (fixes #9) Since 2**23 doesn't completely cover 10 million nodes, I went for 2**20 which covers 1 million nodes (as suggested by @RichardLitt). License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 8193abc..040e79e 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -63,7 +63,7 @@ \subsubsection{Kademlia DHT} \item Efficient lookup through massive networks: queries on average contact $ \ceil{log_2 (n)} $ nodes - (e.g. $20$ hops for a network of $10,000,000$ nodes). + (e.g. $20$ hops for a network of $1,000,000$ nodes). \item Low coordination overhead: it optimizes the number of control messages it sends to other nodes. From 74d6ce171f077875a49852ddfae2b4e5fa09a74c Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 18:09:46 +0100 Subject: [PATCH 35/36] ipfs-cap2pfs: comment out incomplete sentence (see #1) License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.tex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.tex b/ipfs-cap2pfs/ipfs-cap2pfs.tex index 040e79e..8033d04 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.tex +++ b/ipfs-cap2pfs/ipfs-cap2pfs.tex @@ -1078,7 +1078,8 @@ \subsubsection{Self-Certified Names} \end{itemize} -Note that when users publish this Object, it cannot be published in the same way +%% Incomplete (#1). (ivilata) +% Note that when users publish this Object, it cannot be published in the same way \subsubsection{Human Friendly Names} From 78d99d60ec15d3b251337945fdd4fc34f7913fb1 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Mon, 30 Nov 2015 18:10:25 +0100 Subject: [PATCH 36/36] ipfs-cap2pfs: rebuild PDF using ``make`` License: MIT Signed-off-by: Ivan Vilata-i-Balaguer --- ipfs-cap2pfs/ipfs-cap2pfs.aux | 4 +- ipfs-cap2pfs/ipfs-cap2pfs.bbl | 152 ++++++++++++++++++++++++-- ipfs-cap2pfs/ipfs-cap2pfs.blg | 44 +++----- ipfs-cap2pfs/ipfs-cap2pfs.log | 138 ++++++++--------------- ipfs-cap2pfs/ipfs-p2p-file-system.pdf | Bin 223613 -> 224933 bytes 5 files changed, 208 insertions(+), 130 deletions(-) diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.aux b/ipfs-cap2pfs/ipfs-cap2pfs.aux index 2f58bf0..e4d70fb 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.aux +++ b/ipfs-cap2pfs/ipfs-cap2pfs.aux @@ -28,7 +28,7 @@ \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.3}S/Kademlia DHT}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Block Exchanges - BitTorrent}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Version Control Systems - Git}{\thepage }} -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Self-Certified Filesystems - SFS}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Self-Certified File Systems - SFS}{\thepage }} \abx@aux@cite{WebRTC} \abx@aux@cite{LEDBAT} \abx@aux@cite{SCTP} @@ -89,7 +89,7 @@ \abx@aux@cite{Fossil} \abx@aux@cite{Venti} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.5}Version control}{\thepage }} -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.6}Filesystem Paths}{\thepage }} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.6}File System Paths}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.7}Splitting Files into Lists and Blob}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.8}Path Lookup Performance}{\thepage }} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}IPNS: Naming and Mutable State}{\thepage }} diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.bbl b/ipfs-cap2pfs/ipfs-cap2pfs.bbl index f7a9e5a..281171d 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.bbl +++ b/ipfs-cap2pfs/ipfs-cap2pfs.bbl @@ -300,6 +300,29 @@ \field{pages}{118\bibrangedash 125} \range{pages}{8} \endentry + \entry{LBFS}{inproceedings}{} + \name{author}{3}{}{% + {{hash=6272407b3a4585f7b6d2c0f34eb5ac1f}{Muthitacharoen}{M\bibinitperiod}{Athicha}{A\bibinitperiod}{}{}{}{}}% + {{hash=007aa4f458b854c3e9e7eaeeda29d4c9}{Chen}{C\bibinitperiod}{Benjie}{B\bibinitperiod}{}{}{}{}}% + {{hash=f74609e259322f9c7b6a2c775a7d8e29}{Mazieres}{M\bibinitperiod}{David}{D\bibinitperiod}{}{}{}{}}% + } + \list{organization}{1}{% + {ACM}% + } + \strng{namehash}{315059ade6996cc222f9604a03c6781e} + \strng{fullhash}{315059ade6996cc222f9604a03c6781e} + \field{sortinit}{M} + \field{sortinithash}{2684bec41e9697b92699b46491061da2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{{ACM} {SIGOPS} Operating Systems Review} + \field{number}{5} + \field{title}{A low-bandwidth network file system} + \field{volume}{35} + \field{year}{2001} + \field{pages}{174\bibrangedash 187} + \range{pages}{14} + \endentry \entry{WebRTC}{report}{} \name{author}{4}{}{% {{hash=f3a972f98579c8c7dc759d18c35d01c5}{Narayanan}{N\bibinitperiod}{Anant}{A\bibinitperiod}{}{}{}{}}% @@ -339,6 +362,82 @@ \verb https://github.com/maxogden/dat \endverb \endentry + \entry{Plan9}{inproceedings}{} + \true{moreauthor} + \name{author}{4}{}{% + {{hash=93ef763b27739841ef3b85d235621787}{Pike}{P\bibinitperiod}{Rob}{R\bibinitperiod}{}{}{}{}}% + {{hash=44dfdc5c8e5c79b79d40fbd262e7e68c}{Presotto}{P\bibinitperiod}{Dave}{D\bibinitperiod}{}{}{}{}}% + {{hash=0738a39ce7d754134211fbb089ce3a15}{Thompson}{T\bibinitperiod}{Ken}{K\bibinitperiod}{}{}{}{}}% + {{hash=f88da78392a92ceba5cd5813bc1ec9f5}{Trickey}{T\bibinitperiod}{Howard}{H\bibinitperiod}{}{}{}{}}% + } + \list{organization}{1}{% + {London, UK}% + } + \strng{namehash}{0cfd13b017b5c8f284237b9f7438a2a9} + \strng{fullhash}{f481ecb9ca9f9980815205634dd4c70c} + \field{sortinit}{P} + \field{sortinithash}{c0a4896d0e424f9ca4d7f14f2b3428e7} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{Proceedings of the summer 1990 {UKUUG} Conference} + \field{title}{Plan 9 from bell labs} + \field{year}{1990} + \field{pages}{1\bibrangedash 9} + \range{pages}{9} + \endentry + \entry{Venti}{inproceedings}{} + \name{author}{2}{}{% + {{hash=ff79e7464fb0da9976c23473a3019502}{Quinlan}{Q\bibinitperiod}{Sean}{S\bibinitperiod}{}{}{}{}}% + {{hash=f1a3c5013adb18dd6f9cedb4b9de94ef}{Dorward}{D\bibinitperiod}{Sean}{S\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{ef7329d2d0453101211a4b047e08500e} + \strng{fullhash}{ef7329d2d0453101211a4b047e08500e} + \field{sortinit}{Q} + \field{sortinithash}{15867262911a166ca2270ec58a0e3fe9} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{booktitle}{FAST} + \field{title}{Venti: A New Approach to Archival Storage.} + \field{volume}{2} + \field{year}{2002} + \field{pages}{89\bibrangedash 101} + \range{pages}{13} + \endentry + \entry{Fossil}{misc}{} + \name{author}{3}{}{% + {{hash=ff79e7464fb0da9976c23473a3019502}{Quinlan}{Q\bibinitperiod}{Sean}{S\bibinitperiod}{}{}{}{}}% + {{hash=47fc594399c11489838ccec2fe5ca538}{McKie}{M\bibinitperiod}{Jim}{J\bibinitperiod}{}{}{}{}}% + {{hash=d02ba631c0c7595e1f0ca78d980ee917}{Cox}{C\bibinitperiod}{Russ}{R\bibinitperiod}{}{}{}{}}% + } + \list{publisher}{1}{% + {Lucent Technologies Bell Labs, Unpublished memorandum (September 2003)}% + } + \strng{namehash}{250ee8d53647f0a3f04ced2f514cfdac} + \strng{fullhash}{250ee8d53647f0a3f04ced2f514cfdac} + \field{sortinit}{Q} + \field{sortinithash}{15867262911a166ca2270ec58a0e3fe9} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Fossil, an archival file server} + \field{year}{2003} + \endentry + \entry{RabinFingerprints}{book}{} + \true{moreauthor} + \name{author}{1}{}{% + {{hash=755f719073b9032722550536facb7dcd}{Rabin}{R\bibinitperiod}{Michael\bibnamedelima O.}{M\bibinitperiod\bibinitdelim O\bibinitperiod}{}{}{}{}}% + } + \list{publisher}{1}{% + {Center for Research in Computing Techn., Aiken Computation Laboratory, Univ.}% + } + \strng{namehash}{25dcd5e77aab10b302296a54ee1bd150} + \strng{fullhash}{25dcd5e77aab10b302296a54ee1bd150} + \field{sortinit}{R} + \field{sortinithash}{c7387613477035a752d935acfc3e3ea2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{Fingerprinting by random polynomials} + \field{year}{1981} + \endentry \entry{ICE}{article}{} \name{author}{2}{}{% {{hash=644f478601b58831ccd1039711f1eb6c}{Rosenberg}{R\bibinitperiod}{Jonathan}{J\bibinitperiod}{}{}{}{}}% @@ -387,6 +486,37 @@ \field{title}{Stream control transmission protocol ({SCTP}): a reference guide} \field{year}{2001} \endentry + \entry{FUSE}{article}{} + \true{moreauthor} + \name{author}{1}{}{% + {{hash=c72de6a5fa2a8fff2c3e56b97b395502}{Szeredi}{S\bibinitperiod}{Miklos}{M\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{b873c1e68a084ec851d5f43b4b44089c} + \strng{fullhash}{b873c1e68a084ec851d5f43b4b44089c} + \field{sortinit}{S} + \field{sortinithash}{fd1e7c5ab79596b13dbbb67f8d70fb5a} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{{FUSE}: Filesystem in userspace} + \verb{url} + \verb http://fuse.sourceforge.net/ + \endverb + \endentry + \entry{rsync}{article}{} + \true{moreauthor} + \name{author}{2}{}{% + {{hash=e03aa2792f85bde1bb795365e3bdc0b7}{Tridgell}{T\bibinitperiod}{Andrew}{A\bibinitperiod}{}{}{}{}}% + {{hash=19312cfae8512bb399698679913bf5d3}{Mackerras}{M\bibinitperiod}{Paul}{P\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{8d754fdcce8417ce89a679f9db372983} + \strng{fullhash}{f6d8013cabcdc0b555c4423509819584} + \field{sortinit}{T} + \field{sortinithash}{423d138a005a533b47e6475e39378bf2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{The rsync algorithm} + \field{year}{1996} + \endentry \entry{wang13}{inproceedings}{} \name{author}{2}{}{% {{hash=cce05cab2c437e9c128f853684ee3137}{Wang}{W\bibinitperiod}{Liang}{L\bibinitperiod}{}{}{}{}}% @@ -407,15 +537,21 @@ \field{pages}{1\bibrangedash 10} \range{pages}{10} \endentry + \entry{Proquint}{article}{} + \name{author}{1}{}{% + {{hash=34a3e014b99e3eeffd2528716c47b4b8}{Wilkerson}{W\bibinitperiod}{Daniel\bibnamedelima Shawcross}{D\bibinitperiod\bibinitdelim S\bibinitperiod}{}{}{}{}}% + } + \strng{namehash}{34a3e014b99e3eeffd2528716c47b4b8} + \strng{fullhash}{34a3e014b99e3eeffd2528716c47b4b8} + \field{sortinit}{W} + \field{sortinithash}{99e3ba1b3f78bb6f073e7fa7ac11636b} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{journaltitle}{{arXiv} preprint {arXiv}:0901.4016} + \field{title}{A Proposal for Proquints: Identifiers that are Readable, Spellable, and Pronounceable} + \field{year}{2009} + \endentry \endsortlist - \missing{Plan9} - \missing{LBFS} - \missing{FUSE} - \missing{rsync} - \missing{Fossil} - \missing{RabinFingerprints} - \missing{Proquint} - \missing{Venti} \endrefsection \endinput diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.blg b/ipfs-cap2pfs/ipfs-cap2pfs.blg index cbe7e0c..26a4f2e 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.blg +++ b/ipfs-cap2pfs/ipfs-cap2pfs.blg @@ -1,26 +1,18 @@ -[2] Config.pm:325> INFO - This is Biber 2.1 -[3] Config.pm:328> INFO - Logfile is 'ipfs-cap2pfs.blg' -[145] biber:276> INFO - === dj nov 26, 2015, 15:39:30 -[146] Biber.pm:334> INFO - Reading 'ipfs-cap2pfs.bcf' -[493] Utils.pm:146> WARN - Warning: Found biblatex control file version 2.8, expected version 2.7 -[498] Biber.pm:646> INFO - Found 28 citekeys in bib section 0 -[546] Biber.pm:2978> INFO - Processing section 0 -[593] Biber.pm:3116> INFO - Looking for bibtex format file 'ipfs-cap2pfs.bib' for section 0 -[598] bibtex.pm:1010> INFO - Decoding LaTeX character macros into UTF-8 -[605] bibtex.pm:884> INFO - Found BibTeX data source 'ipfs-cap2pfs.bib' -[729] Utils.pm:146> WARN - I didn't find a database entry for 'RabinFingerprints' (section 0) -[730] Utils.pm:146> WARN - I didn't find a database entry for 'LBFS' (section 0) -[730] Utils.pm:146> WARN - I didn't find a database entry for 'rsync' (section 0) -[731] Utils.pm:146> WARN - I didn't find a database entry for 'Plan9' (section 0) -[731] Utils.pm:146> WARN - I didn't find a database entry for 'Fossil' (section 0) -[731] Utils.pm:146> WARN - I didn't find a database entry for 'Venti' (section 0) -[732] Utils.pm:146> WARN - I didn't find a database entry for 'Proquint' (section 0) -[732] Utils.pm:146> WARN - I didn't find a database entry for 'FUSE' (section 0) -[1735] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized' -[1736] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable' -[1736] Biber.pm:2855> INFO - Sorting list 'nty' of type 'entry' with scheme 'nty' and locale 'en-US' -[1737] Biber.pm:2859> INFO - No sort tailoring available for locale 'en-US' -[1944] bbl.pm:505> INFO - Writing 'ipfs-cap2pfs.bbl' with encoding 'ascii' -[1957] Utils.pm:146> WARN - The entry 'mashtizadeh13' has characters which cannot be encoded in 'ascii'. Recoding problematic characters into macros. -[1962] bbl.pm:596> INFO - Output to ipfs-cap2pfs.bbl -[1963] Biber.pm:107> INFO - WARNINGS: 10 +[3] Config.pm:325> INFO - This is Biber 2.1 +[4] Config.pm:328> INFO - Logfile is 'ipfs-cap2pfs.blg' +[146] biber:276> INFO - === dl nov 30, 2015, 18:10:05 +[147] Biber.pm:334> INFO - Reading 'ipfs-cap2pfs.bcf' +[490] Utils.pm:146> WARN - Warning: Found biblatex control file version 2.8, expected version 2.7 +[496] Biber.pm:646> INFO - Found 28 citekeys in bib section 0 +[543] Biber.pm:2978> INFO - Processing section 0 +[590] Biber.pm:3116> INFO - Looking for bibtex format file 'ipfs-cap2pfs.bib' for section 0 +[596] bibtex.pm:1010> INFO - Decoding LaTeX character macros into UTF-8 +[603] bibtex.pm:884> INFO - Found BibTeX data source 'ipfs-cap2pfs.bib' +[2102] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized' +[2103] UCollate.pm:66> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable' +[2103] Biber.pm:2855> INFO - Sorting list 'nty' of type 'entry' with scheme 'nty' and locale 'en-US' +[2104] Biber.pm:2859> INFO - No sort tailoring available for locale 'en-US' +[2390] bbl.pm:505> INFO - Writing 'ipfs-cap2pfs.bbl' with encoding 'ascii' +[2403] Utils.pm:146> WARN - The entry 'mashtizadeh13' has characters which cannot be encoded in 'ascii'. Recoding problematic characters into macros. +[2411] bbl.pm:596> INFO - Output to ipfs-cap2pfs.bbl +[2412] Biber.pm:107> INFO - WARNINGS: 2 diff --git a/ipfs-cap2pfs/ipfs-cap2pfs.log b/ipfs-cap2pfs/ipfs-cap2pfs.log index 3dac9ce..fd34c73 100644 --- a/ipfs-cap2pfs/ipfs-cap2pfs.log +++ b/ipfs-cap2pfs/ipfs-cap2pfs.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex 2015.11.18) 26 NOV 2015 15:39 +This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex 2015.11.18) 30 NOV 2015 18:10 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -842,68 +842,12 @@ Package biblatex Info: Automatic encoding selection. Package biblatex Info: Trying to load bibliographic data... Package biblatex Info: ... file 'ipfs-cap2pfs.bbl' found. - (./ipfs-cap2pfs.bbl - -Package biblatex Warning: The following entry could not be found -(biblatex) in the database: -(biblatex) Plan9 -(biblatex) Please verify the spelling and rerun -(biblatex) LaTeX afterwards. - - -Package biblatex Warning: The following entry could not be found -(biblatex) in the database: -(biblatex) LBFS -(biblatex) Please verify the spelling and rerun -(biblatex) LaTeX afterwards. - - -Package biblatex Warning: The following entry could not be found -(biblatex) in the database: -(biblatex) FUSE -(biblatex) Please verify the spelling and rerun -(biblatex) LaTeX afterwards. - - -Package biblatex Warning: The following entry could not be found -(biblatex) in the database: -(biblatex) rsync -(biblatex) Please verify the spelling and rerun -(biblatex) LaTeX afterwards. - - -Package biblatex Warning: The following entry could not be found -(biblatex) in the database: -(biblatex) Fossil -(biblatex) Please verify the spelling and rerun -(biblatex) LaTeX afterwards. - - -Package biblatex Warning: The following entry could not be found -(biblatex) in the database: -(biblatex) RabinFingerprints -(biblatex) Please verify the spelling and rerun -(biblatex) LaTeX afterwards. - - -Package biblatex Warning: The following entry could not be found -(biblatex) in the database: -(biblatex) Proquint -(biblatex) Please verify the spelling and rerun -(biblatex) LaTeX afterwards. - - -Package biblatex Warning: The following entry could not be found -(biblatex) in the database: -(biblatex) Venti -(biblatex) Please verify the spelling and rerun -(biblatex) LaTeX afterwards. - -) + (./ipfs-cap2pfs.bbl) Package biblatex Info: Reference section=0 on input line 19. Package biblatex Info: Reference segment=0 on input line 19. LaTeX Font Info: Try loading font information for U+msa on input line 32. - (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) LaTeX Font Info: Try loading font information for U+msb on input line 32. @@ -1023,29 +967,35 @@ Overfull \hbox (13.58043pt too wide) in paragraph at lines 682--682 []\T1/aett/m/n/9 /ipfs/XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x/foo.txt[] [] + +Overfull \hbox (11.04955pt too wide) in paragraph at lines 769--770 +\T1/aer/m/n/9 this struc-ture is ac-tu-ally bi-nary en-coded us-ing Pro-to-col +Buffers, + [] + [7] -Overfull \hbox (1.43738pt too wide) in paragraph at lines 787--792 +Overfull \hbox (1.43738pt too wide) in paragraph at lines 789--794 \T1/aer/m/n/9 made up of sev-eral IPFS \T1/aett/m/n/9 blobs \T1/aer/m/n/9 con-c ate-nated to-gether. \T1/aett/m/n/9 lists [] -Overfull \hbox (18.29636pt too wide) in paragraph at lines 808--808 +Overfull \hbox (18.29636pt too wide) in paragraph at lines 810--810 [] \T1/aett/m/n/9 // lists have an array of object types as data[] [] -Overfull \hbox (27.72821pt too wide) in paragraph at lines 808--808 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 810--810 [] \T1/aett/m/n/9 { "hash": "XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x",[] [] -Overfull \hbox (27.72821pt too wide) in paragraph at lines 808--808 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 810--810 [] \T1/aett/m/n/9 { "hash": "XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5",[] [] -Overfull \hbox (27.72821pt too wide) in paragraph at lines 808--808 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 810--810 [] \T1/aett/m/n/9 { "hash": "XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z",[] [] @@ -1055,107 +1005,107 @@ Missing character: There is no ; in font nullfont! Missing character: There is no ; in font nullfont! Missing character: There is no ; in font nullfont! -Overfull \hbox (27.72821pt too wide) in paragraph at lines 914--914 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 916--916 [] \T1/aett/m/n/9 { "hash": "XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x",[] [] -Overfull \hbox (27.72821pt too wide) in paragraph at lines 914--914 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 916--916 [] \T1/aett/m/n/9 { "hash": "XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5",[] [] -Overfull \hbox (27.72821pt too wide) in paragraph at lines 914--914 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 916--916 [] \T1/aett/m/n/9 { "hash": "XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z",[] [] -Overfull \hbox (27.72821pt too wide) in paragraph at lines 939--939 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 941--941 [] \T1/aett/m/n/9 { "hash": "XLa1qMBKiSEEDhojb9FFZ4tEvLf7FEQdhdU",[] [] -Overfull \hbox (27.72821pt too wide) in paragraph at lines 939--939 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 941--941 [] \T1/aett/m/n/9 { "hash": "XLGw74KAy9junbh28x7ccWov9inu1Vo7pnX",[] [] [8] -Overfull \hbox (27.72821pt too wide) in paragraph at lines 939--939 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 941--941 [] \T1/aett/m/n/9 { "hash": "XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm",[] [] -Overfull \hbox (8.9342pt too wide) in paragraph at lines 981--985 +Overfull \hbox (8.9342pt too wide) in paragraph at lines 985--989 []\T1/aer/bx/n/9 flattened trees\T1/aer/m/n/9 : for any given \T1/aett/m/n/9 tr ee\T1/aer/m/n/9 , a spe-cial \T1/aett/m/n/9 flattened [] -Overfull \hbox (18.29636pt too wide) in paragraph at lines 1008--1008 +Overfull \hbox (18.29636pt too wide) in paragraph at lines 1012--1012 [] \T1/aett/m/n/9 ["tree", "blob", "tree", "list", "blob" "blob"],[] [] -Overfull \hbox (27.72821pt too wide) in paragraph at lines 1008--1008 +Overfull \hbox (27.72821pt too wide) in paragraph at lines 1012--1012 [] \T1/aett/m/n/9 "name": "ttt333-name/lll111-name/bbb222-name" },[] [] [9] -Overfull \hbox (23.01228pt too wide) in paragraph at lines 1071--1071 +Overfull \hbox (23.01228pt too wide) in paragraph at lines 1075--1075 []\T1/aett/m/n/9 /ipns/XLF2ipQ4jD3UdeX5xp1KBgeHRhemUtaA8Vm/docs/ipfs[] [] -Overfull \hbox (32.44414pt too wide) in paragraph at lines 1100--1100 +Overfull \hbox (32.44414pt too wide) in paragraph at lines 1105--1105 []\T1/aett/m/n/9 ipfs link //friends/bob /[] [] -Overfull \hbox (37.16006pt too wide) in paragraph at lines 1100--1100 +Overfull \hbox (37.16006pt too wide) in paragraph at lines 1105--1105 []\T1/aett/m/n/9 ipfs link /[] [] - -Overfull \hbox (3.25519pt too wide) in paragraph at lines 1154--1155 -[]\T1/aer/m/n/9 As a mounted global filesys-tem, un-der \T1/aett/m/n/9 /ipfs \T -1/aer/m/n/9 and \T1/aett/m/n/9 /ipns\T1/aer/m/n/9 . - [] - [10] -Overfull \hbox (10.76414pt too wide) in paragraph at lines 1194--1194 +Overfull \hbox (10.76414pt too wide) in paragraph at lines 1201--1201 []\T1/aer/m/n/9 J. Dean and S. Ghe-mawat. Leveldb--a fast and lightweight [] -Overfull \hbox (3.16586pt too wide) in paragraph at lines 1194--1194 +Overfull \hbox (3.16586pt too wide) in paragraph at lines 1201--1201 []\T1/aer/m/n/9 J. H. Howard, M. L. Kazar, S. G. Me-nees, D. A. Nichols, [] -Overfull \hbox (2.85959pt too wide) in paragraph at lines 1194--1194 +Overfull \hbox (2.85959pt too wide) in paragraph at lines 1201--1201 \T1/aer/m/n/9 M. Satya-narayanan, R. N. Side-botham, and M. J. West. [] -Overfull \hbox (13.38684pt too wide) in paragraph at lines 1194--1194 +Overfull \hbox (13.38684pt too wide) in paragraph at lines 1201--1201 \T1/aer/m/it/9 ACM trans-ac-tions on com-puter sys-tems (TOCS)\T1/aer/m/n/9 , 6 (1):51^^U [] -Overfull \hbox (4.84273pt too wide) in paragraph at lines 1194--1194 +Overfull \hbox (4.84273pt too wide) in paragraph at lines 1201--1201 \T1/aer/m/it/9 sym-po-sium on op-er-at-ing sys-tems prin-ci-ples\T1/aer/m/n/9 . ACM, 2013, [] + +Overfull \hbox (7.35242pt too wide) in paragraph at lines 1201--1201 +\T1/aer/m/it/9 er-at-ing sys-tems re-view\T1/aer/m/n/9 . Vol. 35. (5). ACM, 200 +1, pp. 174^^U + [] + [11] -Overfull \hbox (11.47125pt too wide) in paragraph at lines 1194--1194 +Overfull \hbox (11.47125pt too wide) in paragraph at lines 1201--1201 \T1/aer/m/n/9 Low ex-tra de-lay back-ground trans-port (LED-BAT). \T1/aer/m/it/ 9 Draft- [] -Overfull \hbox (2.89229pt too wide) in paragraph at lines 1194--1194 +Overfull \hbox (2.89229pt too wide) in paragraph at lines 1201--1201 \T1/aer/m/n/9 In \T1/aer/m/it/9 Peer-to-peer com-put-ing (P2P), 2013 IEEE thir- teenth [] @@ -1168,10 +1118,10 @@ Package logreq Info: Writing requests to 'ipfs-cap2pfs.run.xml'. ) Here is how much of TeX's memory you used: - 20917 strings out of 494965 - 406575 string characters out of 6181076 + 20924 strings out of 494965 + 406739 string characters out of 6181076 796944 words of memory out of 5000000 - 23806 multiletter control sequences out of 15000+600000 + 23813 multiletter control sequences out of 15000+600000 55009 words of font info for 77 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 55i,11n,54p,1276b,980s stack positions out of 5000i,500n,10000p,200000b,80000s @@ -1188,7 +1138,7 @@ fb> -Output written on ipfs-cap2pfs.pdf (12 pages, 223613 bytes). +Output written on ipfs-cap2pfs.pdf (12 pages, 224933 bytes). PDF statistics: 99 PDF objects out of 1000 (max. 8388607) 71 compressed objects within 1 object stream diff --git a/ipfs-cap2pfs/ipfs-p2p-file-system.pdf b/ipfs-cap2pfs/ipfs-p2p-file-system.pdf index 84d396d972afce184110b3955c1f82cd736ea517..cabd031323637805506b7d3acd30569807c88cda 100644 GIT binary patch delta 93348 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

Vc}L{rsypr1HdEIBDH@4MY;wgG6QsL0q8cN5#k< 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 delta 91996 zcmV(rK<>Y#-3|TH4Ui-PH#d`D>M4;=8h@M??S3<|4p0@U2&)zv07X&1eloUP3IN$Y zkOVR#_sEDZ7BE@uSIO%Ai{zQVuWw%b@m-#+(lV}9R;_M!t1^u%ovzBfi1S*lZnmpW z(a+cKK3=V}vWnL9=gs*vwx@CZYI~I?(Y9}gq20cux_?~dN!0dNX&w#T`DDwlvwv%P zc-I|TdiwY{jP3F2^UYsYX;sH*Rjt-(9oJb-Ds^T&!S8JWdS)r-zU#_wwx^GU@^mTh`M;vHf#d(^UagtaUMEWm7_NOmE5jPzW zP4>wQsQm%gS(?Q&YHbLpVbo;recw6kmY)^WG38Cw@+^Z-q1dgi^bGi|AQfN_uBd$2TU z02A3!rQHVD!uV=ksg%zgDSro*CkS4({avB9!@n+a_p!(3YRo= zetA;x(V9mcjl2k;|Lv;EqZSU%43q0Ta%YJ3-l*7C_7_MFTPpiP%tGV91lsmQH4Pmk zbkunBJ5AV#7O`hW(Nz(>211y}%~eG^+4n8o5F!|Ok4(i8=AN0m@_!vq&=lXw_1SmK zGkao936y9Y+SVh3y{TZmg!B|`7TIjbSid){lJ@GHp z;Ap*^-kw)Fdl%g8F@MW8x9V)g6O3e^*34sD{sA?>cORMoFCEUfEqE$lp_sO3#8oyt zkCrNq#G{5B7j$5*OpEX;J~^S8#azq~b{1xsnQ?CMikT7?c>O{6p($6z3pi(e55Frpt~O}4vr*$gWCS9h;Y;P?SGZ|^$Oca~a3g0MM^B<4BT=%YvTx9|?UBQ6 zQ?3&khrLa2cOV~$yYo!XFbRtLj99qgDWAL+4Zm;cPPX5mMSG$*+#7>6unf?LlLcY} zl$D!+$2+|8KfGS0z1_tMt{T*|-`Ddi%G_K|atUGdEcLfnr5YCpNDi3zu!9@FLG~VD zsk=u{z5>~aJ4L-X-0>SO04|d*C(_I`vb*B?IP<8TH-EuHJ1?q)%{w_`WrQZ{UX`k7 z*N8r(D+23Gt8kr}jB567%QtwS=3AML&=Bx2HFDKk?qXyzdoKr`OxrlcWM}7uf6S0J zK$vEkSrsR|%GB&$nj{7&ez^Jd$^e~T-v0f~&CkDln1Pw_WU#OSsCAwOP?H3N%4N$l zxzJE(6@PhqqSvEk5EPPF){Mf@M-(yUW#Ag#m)wDblf4X9NcrrN6LXnAdtu-&Jmf); zI<3Sz?q@C;K$t)dnUW$9J-CquVtw==7ql842fMU^iYA+ceOZ8`nLqcurj7?*FA0&x zDJ`??61$R}A>cWX%2P#n4fBH8jsa*tP@&`OmVe0t{EHR1qQfJIycjT8YLtzrTJJ0h z3k%`7k?GE^Wh>|3ZOol!1nwB)j-PljI#)O(UwEMZWF9N?^BG=K|NcYm5bTLrSw~B{ifEc+KEFMAUhR`!HX7p*uIr!a9)GH`cxI5Hq4m-BLmW4=4pg2PyK(y(dTW*!> z6K1>xBq%aok{R@YEAH&6_FVH$@9D@^I=f!(!ADl%Ivc1f(s zM`IcSfqLd~vbl3a^GMHBu+_nb(8InZrM0|R03aoDYl0jLmu+Tc7I6)1=QV-g0l_&Z zcz|+{<9UGh8s$sh3N=VPpgPGs*(@RZmAl~8!Xt4;Z!J}OGvU?0CQM-g)_;HC=*vo{ zFW7j&BHV+HorqPkpma7=8D3c^2|a4i<3`xt+5Wv48F(9!`&AzOS@`K;&e6msWB-!z zx*#9)Q~gdA0mKi~4L9|z1M_N`tJ`~i%dH!RI}u2{Lyy4)UbaRH(HejSW>$Km}1GS@fH@1b+_P+F_iQnzE9vBHA(;!@7r0L^e!utiSQNda3)EbutChhr1@My?g zLo^dG5jw3k@5(^Ws3%&|L|ZEI@4`q$XLQ1+im*G6emJuxYIr#E0DrBsBu;b{ZVD+v zaD=Tz`;9XDjp%Bnv%qlBsb#~B6Xv}P=e!6^7+6*r-SN&d6-dTr4hL)<(r)Gdqsx))Mnc0R^7!t__oPCexAE+g1a(ild679}CH52P+ z7#HnKJC!1{B5SZdAAj2A1G2RUvq!3EzuQe5{tHyG5k}xZyt!s$0*t%Yjvj3|ltjiT z1+jHwD3Pe+p*$oGuQ+)^bTfD730$7#b~~Q{L&y#j;R_|_9sLbr8GoRD+W_@csi)Zm zz|{nD!3Zt0=#5D7MgOyywK@^s{4Ko%mPv_|Ctvu(V3BF2cz-X^+k|w!m1%mxSMJ`j z5k?a{Xa((X3#`ZNWPPZn`C-Z3Z2d|`n~PV@v=bR)iaYV2h)x{QKUSfCY$Te%FIHPI zpOPBn(31*nHF({+$DQr|OnpjZsY3oU1yV7J&-yf#%e1g#$5SiRC2)Wu83`i{0~ZFo ztGzHMo|Gs>Sbuw-CDH$)V|ElLNCkityV(iwJb3+{-6K?g6;Bq=WsAr&FMYQQQBI8p zK02|F>zuuQY4pPbo4VFM2{N7ooW6GlC~=E23TV~8%l-hed2ajny~HIAi3Q+v=iGj7 z7yTSb?feR95*-+6;0qt+Zgi15F}P4PaUi5N+xia9r++8r!?s@ZAWw;(DZ+B+1pDYr z0PvOM84HUu^UpWu6P%g81Srub@g!8T@sE^!K!%}&!EhmmM=I>dKjug4204-g%uy=> z-EQKisZRuZcM#lO&wl3S2-B$2YJ2w5r*I)FaS^Z!tPI_F7JW+W;XoIWys|#IbGSC1 zKiu}}n}6lXIsBk%VJTQgv-h(ie!6+_?-!|gOjhYCS8-Wa2A5@Vt+UnU_~O&&WVJPQ zW*cH3BX;h;|#J`qQq)mil4on7d6Ak2QpwIum#`h-{*LIU&rtbes!IT=-PL;wR(ELqn&E)q@1<3haZ zI&)a;E4^Dc6pAhigw?@$8lu-es{0{azhxh#k|YzlE^wobawC{C@F;EqJojKOGq#`b zy0?sP)j1QmyhNjnj<5&M5juoG^x61ADL&1!XGG zk$-TeXW#coW{s*Y1?wOXdrNIPHg{ARs5MpLhTexM3d&rt<3%tVG<>e{obD(1jaIZ1 z>8i@ap6?`8pmYK2Wns%&w5+TYe2}KRX`>f2q)|}4mdQ+bsGJ%)-VC=(eo^P%W~W1` zD45R}1>WxkTGOkI`E6X8h^ovW$M%TZuz$D450?Wx1zHdH5#WZx-$IKFir5T+M>ME7 z`n-Th{lJyZ37eb0;uPGA(A|3RVWyor0>CaPGQt&p7mrvvbY|(y9t_R6s`D z3$C!TsS0cocpt_8!Xq9oWEm^swKG$T`LLojSF?hxTe!Ub=wJ~a$!H-X#86s@IuHSh z%`^MgQ0!&Q>V_Eg+rfen5}bgkfPcs$)>e%Fmy~bkvNM2eM=E;GZWRp&nS5Fi(C+u% z<>-Dac;bNC8Hh^JE{?A9yraM5_%MquoDwXRFOaD(mU-~p2&h!KkF@(|Wkg;}T8J-w zi$rpRuu7cLxtHIARn_kbR~WJf%W-*SZz%NVQaldi-t!VY$S*;OqKzbnPJgf0t@DzE z!XV4Sm}~kJMzFUzvv<{nnE=9$0;sc#Bq!kLQS#u>Ete->Y%VMG_f)p$f_aB#mYT%j z#6t5^tZLt;9mE7w(K%#G4{QaJ5K)>+C6u?}X`2qh+&rUjzDeHS;oi$BHB*{UE(TH9 zijx_6GqD&R(=J6B9Rp*a6o2fjjS!+(1MCn+TsxVMsdAyphMEzFiivf^qbls0x9+r* zc#!9>&fxEyWtlMA39l|c&u7Rqwg z=0N(KyJX`BW~r(8fBbM{6NDAXdc$LG_M+$7?JfF_0ry<&Jv&`4_;Ol(gxJOK0O{MGT+DjKzx@3U`&xHB= zZuEnB2cp_htd9K=G=F;?=9}rtIsycYSX3+moyV{@cPXog+-Q_0UOVMgR8u1d3Q-@> z6=$zCluq3pMJZt;c(fQ3h<73^3f5B)*r3g`4zQy1Roa5oT2dKj7g$;{Rt}Qyk|>C^ zW)hl09r&H&UgW;MqZh<6b!x?fFF~N5Y>cBDmW{|ocMb$w0)K>_Id2shx&nF!H2!vr zko1?{hsOI$Fii-{;*&AV90 zB!aH}U>3SE%e zcy#=q>gO^;g~Y!isrJ{`PmK#WP@_%dOD(_<{0Rs)9)G>4q?uEYR^6SJlqiOQ$+K>Z zJZ(?W4lh|tUfmo#QY!NdanVGJhPYB{5|{>K$%ny8>C4n9HQCwqd=A2l{7!2>p9%pY zmr4ePVMQr-KC^%UAW+)d3+<@=Y!q1v)Az_#i>KwTSLVz*|8rkRX~wm91J*+M6{p# zIRNT?U6bqT@+81IsRLA!8|?CyIRl;{OBYS$&-C6<0<p;%EMV@;~^5Yi1Sv^^$z1 zmj+)iQNcvSmKSbtENV}FrfDl+p|V*@nIPHTX_V6cm{i7Ef{?V_nXKv2XH9fGqUUfx zUw=?e8BvXM2KDVR_y&nwL88c1?#vx@5kX+d<}-@)fqpt}dFud!?a6ZjLebN>c{xE0 z{H5+Q0}M6Dw0&On3`-!fQNUc73}&-;eTZe9vpd51A{?^mg9IG^>%koSCEXIj3WC?` ztgbGz0F6a6^W7MvW%`+n{Jo>>E41P(4S!V_Slja#S6DLZwddhHum-R4tr)hW3q@Z- zEyDR5-=~{8Q^J$(RMGjk`qKH1F4?5^KTRVmHzCJjQgdj?25Amd>VLYulrayZ&moJa z{mc^-$yawvpI$G^FQs_b+Q8JQ%TTpJ8R4wzHm@#Iee5*M9=7x}gjK?M}td1+!J6QY*WIw+{m@q&#C9E&LaGruRU-kLWUkt{1YbALCGX5 zc_CZa%L&$H>BNnB9`0Gcl{RA;9)CN}dtX-3B)_*RwEZNvC7SRHNy+7e8jmAz%sXR^ z_V%mF?#=^LJoN0hDl_Ivkhb#2cX{pQC#X6uGDwiH_ytZpLl4o!GjfsJpmdy6LEC|x z3*JVce_`1T;s0v_cn|e9l=ym^qh*tSaZ$oQ)yP)stcdfXr0Hbx9pY>F2!E0O)x}@m z(-(<<|L}Ilp5Bu0`gDelf?G-~=kGyv8vL6D%#m=P9Mk8$-ASgm^s#7K$7Np2 zDW!Z&Z@Xc{T;3$QA5q8VNmumeX1JxNn=5nan=c@5H;Jl3 zU73~nsRn66>X30s^tJhXZ&}RtXKt<)5Xa?jRk}mzFDEe+%EQ zxhL$n$Chh+`_sTJe+JqZdBE;(rlxO~3=K1bTfl?%Cw@NO;3trXA9c69sbcZ)86W7q zJ?+wqH$}RDaq7IPk^E^?8W^~Q55oheQ4%FrFqb%9e%EZ;{jP&C(maNxU2_)!0~Jx4 zme55CeahUwQ>wSf2fL1@PV@PY!1omXe&**+R@dkvi7W1ie=XAGu3_@wI(1+1yArGs z)`22?r9a|ge?@}O;K(6g;fyW&FOsNA5}0feC3VV^#Ti9ms}HLj7XJ-Y{1hj}TKK_j zY?2e%k38E?!o+u6qm%2ExwljRb%qbkfb;5p#m?|(CB>522iKBTOQIN&^3(7YGD*7p zMS5!cu4UH2f47cw+>mvWBr38h0K16#Ef7A@oDT6o2sTw+lipUGSJGg*Mm$=fIw9rCqkjqq-~$YzMO}b6_@LK4{OpHo;FON`Q~NMnA=Q zJTYt*<(1K44-*~bQJ&Y@06Iw~Ru^>APIOX588D0;e?^Hd{6*VI^Ml7oXdPXxDibf$ zn5%DPx9{Z8L(z?jCHUSD1%Y%Gux1(3@W4_OsPq{L$xIO*f8^e&-N{W<7ItO-I=Rmt z+2F8GbdqFIm1d81lKY*|q%QU;q5U77vQ6>X3e8 zl~KYEe!o>W)BcRE6NH23(0 zl^UG4i$lq)V_{EQ6rMqn6+5Qvo{sp?2sgDNAv=}mt<}RU2}B+qg)ea0w<1saX>yF| zU}uVS5Z24)2=P~?Xg8?nIEeT_X;y>Q!>QCIe{6Toy1rLp+{=`q5s7Xmdqh2A%}0DV z^LLW!xRRT;?@7yUxo;A`2ic;PDj7@Q%^U?LIP<~X;J3`&X8hgi8t4#36F~I-sfg(Bx3YOVJR|@O zha(9MJ~XCs9DwX_n!>%%2+)Y(K49M%e*hE68l+EswUF<(*iR{8_0IoFCkr+6|X9f3D>O z7J$;vR`gOImDMUx*A4!gK}T(?fEoY&3*x(U`2oI`%&V&s#P~J$J+YEkcH>Zo!0CDY z9=?Bj%@1VwoLXOJK|Qo@3fklD^1JS?rl0ok)D#JqGE>Q)h10v5jSQb9i2z ztZ5tsB{e0c3QGTB4BKM@p-;o@f8Tj#Cs;4Yhq$uZ1P4SkQI2Y=!V@hJd*G(D3AGuM z*}e8zaowPrFJCGzib(9(fG{NQrQe1}Cm9?^`55uZF*ztc=}ASMfFn|4ktXr1FJ6mc z`QJF=52&11iiIxqGl5`gu85(?Eu6vPPh^ywQMd!s<-i2j-Z{n=8@nGce=}M|l%&Ze zY!wDiD`#PRV(m<2omCn~E>II>?Lh@)4y~V7iJsuch9jAWMZUb_%3Y_{)){SlR9rDL z?)ECN^Y3MetBExVp>BvsK%S&1r+Fo^3U!frR2N+l zOy|`_DBZK=I|XYe-{g4ys1!GO;_vOiCCx@UU;#F$=E5sG{#~z0%aW zO|0;8{mm+z3t*8ju&}6t;QW)Y^{mDB$_E5HmY%e1QaE3%C=UF0`1o3NADoY`;roy8 z`1?)In2Uj5=G(b>991S&J9cZ`G0F0O$gB{lp*n)?*_dP+Kc2*=gvEg@3uFfJ;W}cHIcJ?EXHB;Fz?2c9dljvfU0u4}6nxYcO zfhdrM;sa3BU@0(hI+3L^qA!02HQ0AZ<~#{pU|ce&Nuzcql!d4#Pb`*WWt*#7;Qcvs zkrg&s9uw=rho?&gpyzfEJ!56k?jSe$RupUL;dqq9Rpsl#f2^znR)t5>c6(K8En{M; z+3}W<)LZ4CT;8d3y@pe85`y;!k@+xExE<1YV||1ZC)k37zWZn$@hkuYyB!4T?y z3m~S!np#veX7Gjz2aH@tbP$@bM>nTd)b zcW!r>lJg!NMhvY!OL2Dg?bi8;sKf&<_&8XXW+Xz{M0s4#gQ_fX12^hIXa^U)7`a*! zd&IH9FRGjRGuNq*#3E^~vBRWr5~1t4j4oIK`sKt1xpRIL{_807tcw6%w}!FB#v%~bqQnd5-EF*}!*JsF zDZ)4JLEEY4r1SmZCYkexn}j_PL^S6+9Y=)49=?~8*;scBP;Tswxpci)w;Z`%CW5BF z$NOR_bS36WxW(iJzqC09t{Oy43thRmvP8iatuC~0r;vP^Mt?PGbXO zX$xm8O9K3VU@yH0mKwM>303ihKOS*d=&;NH|Jo1+LkPR;0GV;C&L0)~a&zsKsKk7L zOoAXVV-P4W_bmyWPR&DndD>Z3)XwS{L#TBiIS`N(C8^J%SpJAqe23q2hZ(R!8LvZ- zYib#-_aZRV%zuWVP>y52Blj4~QqjoJUhOk_=uUHHvaibu(Pdjvb%h5(JBhJE*`8ok z5K_~oNA9Jy$L^L3j?Qa=@!ZTTe^6M;FOOMu);I{lGDInIB-4i+1wETLEB+ta9oUp{ z1}T?2c4FH1??spYrfQkn>zT3@t7v)b4rd6z|@AJj3)Z16{{ z|A)nh$?|DtH(BAQW;ks{udu5Z=WmUXEVlr^CJz<%V0HFCj*iad+*T(P4@U|;Tz>rV_CzxlGhZ4O)ZNXG!W z=;LK~y1uGmyL-U%sBlk{Sv~Mgkfi{cmkRCu&~^Zmisc8RnQMh)t`%%l=RhVs;taow zF%V1Oj^5mBnny7T_-ZbIpCOZ$BQPzljhgS?kPk)r^UU%Kw7i!W=OTpty-wb_ZmKXd zvZ~cjCl+r^)UJzc|}CL|EMp4Cq8*DV`jvzRtE z$s?fl5q?~mDi3nR1}^e{)5tMh2MUezAXmA%yAj-W>Z!F*T|(V#W>q%R%2Y+5TXb}E znc`6G47j!F>6+Kq>x#$)8)SWD%fWhHMiss1+~*P=dToiCITxRVL5!(GuViY*$pyB2 zC!}j^HsFLvh5<4#tYbW;nt_8^b-Cf(Eb3TQ4-)X;p=*j7P$&tLqa`Q-50lI#90Fg} zljTxFb^g$3!vG=63<*?uUwp_ z<}OhrbzHU9aX;8FrUVNfB9rGo!lu4+PP5xZd&Qh4B|O)q(? ze$rHX;Rhd_D&1RsFg9U;;F8(yp_J5mzyEdxA1L0t}kWhJ#N-YWr4mPe-)$ zT#<&r7q!+Iso6H;8dMY3#D?y{(f)r@e*_U@_6@xJHU4`$aR;bCB~&f4sEX_PD?oVV zC|j(&R!6=vm>0``SdSJAHo;-B8D9@Gv3SYuM9|#Zlq#wrEjoty%+E2~XV^~e>6CaS zCJY1w7W&9C5)I$BVJxR{X3$&`#zxgA-}zE?wL4!V%l;7y>78Vu+gxZ>(;j5We=0Mv z|DvogC(DL722Vj{%Qq?`T50Jna*eXD3XqmI3CU%s$Qm* z^4EFS_JT~1DoX0nlrE5AT1RD;e?HN8`C*y`OktJ{`K{s0g|+Aelx%IvFz=scve?4D~NzF7CHS^nm zl?0p8?BYHuLQR$ilKh2@JNX>5=R-FY?RgpKZm8#7G83ERW!XH;Goz0BcCU$|t(III zhu>oZ8qI)ecQ>n7Aeg}Nh*Q4(5HH_!U=~f7e(&GBf12rsmYn$6(>%9M2ct?MU6Pse zGgptqq`l2VvoUOJf9#zUrL;_MgRqN$V(lI_CW}3j-Zz?Z>wCnn?gv0lx3h+z$j8RY zxD83QB~;HNG`+l-mY>`mjBKlw_b?w)?MehfAcP2s3cy?O(1vGhkE!YeElbX zeT?ig7lT$w7Qu`IqF(#x4)41LZq<=w05T<+HK7lUb>2^0SunPp+Gn+*OB%-)f3@+h z!Bee&6P`;*2KK@ITbXfpaus+~8oyE$`_e;cNr zpx+u}e{QvxTM6$R1AqU93$1N@*(u+5a)Upg(=cRasod-QjL)(nAE5lMR-nhUuw_^- zKk|?#0s0Oa*(|oQ(yJWShUpvc7nLxp63qLrcVZKkl}F~8@W|ofRq8G9p#r~f zf8fZVUmtkQ8PRKhb70wc=V*P_>=G88RPol^Zz}j-{uu0U|JYw4%VLK#xzXOc{EXFJ zVy%OFD-#v5QG6SC@hn64nt|nCXE%B7ayjI=;SX82`rX0Mp=fR2w)kTafLUJK%O8_J zB4a&ol?ku(Q(x}VqA;*Gb$5Z%{_326Fp-Se@1vJA82kdkX4W$rgw~0kjq}w_C$?WW z?A(P6>t456J<)>-9C-Wx0DUz3CzB>FXn!qBvThPZk(s&=jw%HL0}>GydIl6trSk9h zti22xB<0u-0A_mc(`P@Ykxnir>E!j3RDQoZfAZ{ASxmAlY0J_~&R3H%PwKXr)OC|& zrk$KGCqGT|{Xsknxw6&0{i1rJq?*< z21Yd8{mof6efJ8J884H6PocDJY04e0b|XU)?6BmL)}G3;GhX-iKS0encFyy1`W?2# zA3T;gjEhnP)Y;a7t11q>yC<=4gDjz?z+U-mfh zg{!G4KCbxDLy^cP)^t+ol#XtDEoiV_-MOvPYKy9z0=!{v9D4JADN^li21mqW-NS0B ztXt?Jxf8XZL)_z-FmN;Nc3gbm_JnEN9{c@#!*~_jgN4Z+M`#)KTRLUCNX70_RuWYTw2^Xoj=e7qNg7-}`9^8S^0&vY+e%`P6mvAK92JhlphU%#S zU_g_nA$?bs;61K?uCtpK#Gi8ug7&Rzy_pNjtq3QDe)xr-ZwZ+W0%tuR=swregu^9L zoW-C|lh7%8I5W!upmQQT{%n|i@D>kBw>w(Ckb?=xf%?-A?Fc@%_}Y$m6E@JzU@eg> zonA;Ek)`oWksS#(z?g&_`&|ec1B{KJ+F$ZfV*$=PKgj-n;P46)P#(2Wyt@&2EV;O| z*l&QX^4ngTC}NtT@sSH({}1_0M|-4U7_qQmvr1@NKC8`+<%NO%A}>r+Sr&;Kn;m4S zGbzPs`#%Eg(t^OS=kEH*`|o5Vf=#ER3a9#nUz_fd<&Gg3<@M2mjz&BZ8nTl?mxwdv zwLqI0D7@!?R0p6btLeX(`|wt==~@^iwA%1wikTa3FsSV4=fXZZSTBh2>D!|n<0uP7 zX2sRTfh&Y5;Uh7R1)k?sg!=cgLONi;Wz*(9IpFI-*F#jZ5;kPoBG@WV&SaG^L$zXL z=y;?PpuwuXV-`cWBrFChj8ziokXv&<1&w!;gUnrjdc=>E4V;H{5>*fmLK?u|5ZJ&E z&QI~E>vPI`iSIYFpKxrV>0{(Q3f#8MhqS&HX_+%C3}K}nkA(MQD5R)wo+ zQ|9m&fX=gPyB>=nw4{wvSc@BDa`IUpX=EataKsgM>bV0g9sr*c7~OF+4Xa8!J!~ia zVYM57)=*(P-^xR(*C_|2ZZswz+M1Rb`@8>nF(vJ@oWoxvHA zP^Yg>1=~n%Ey|>=bL~At2;|eP6`cI5tQ4v&f8q1uLVJ8x?CBP%`jV>v}Y9Za62W#t`A-k9n3=u`%-2zlJXhw@HX zE3{IE2ao%J12p;6mnEb&0~;aDUD>=WXe5lwnkCBG6Q8K_)a{gsz%XX?8(#q_YNt7W z9PqGjRe1$iQ0G$=i}XnP7pOfibkoBAE|o{kMY-6pY&d4HphJS$|%OW9Cn5d%lLux%Ktsqk2N zh|J%|)#mNq?Yl6Q*f)gdoyhJwZ2^rCpmWt4Ro{mWYVVkeRDS~u>4$T%#-Pk;zVy0w z9S5QWUpcqPJi_GcH$&z8aj0B;87ja0g)jpc-PN3N89^Aq=PJpv!k0jX>?QnvVQB;W zfsEU3!=)E&)bQzwd-wp8QhT1r4rGYb7}BKhiS&PPpdbN3v(3}?> zoPu&wrWatIJh5j#_g1Z-+73vkTF7ixdB7TFT;T?>=05Yu6Mt2jPyZ5X!kdjMS1pr3 z%*I8%uND~tY#0Hq-jGIsL2B}UM;z>q^=9jpao!ZG(0%rF@Ueag^RP0zS&M=>55+L; zqy&?kJT}D9mx@49JfSA8T`x!hVhN5TmK$aWqwa8BP6_7X-5J zUuw(X0-}mtnwYHd#e^ZymnJ3b==zVM*kZ-^2$OH|>opgM8jX(&dnkB+yzZc90=lJq zdiE0{sBn_?*7+4>F(Hq|*={UOcoG{mfQTJ5aQUtJ^3c@@c(hR*{3x8cDbwlSMS&+T zYR#gput*m=X{ch}UkEWq1%kz}9uYsw96}>DgCIF+Eg|`2HL4-Z63FZ;oyEq(T`A7; zBw~pQcNn;h?|{j~QMM(2AC>?zx^nf8j5TFK)sZ`G`0en&d>sB)Uxxo^Vy-v$m@}qG zvc|`HwAx}WqfSltbmU<-t%60pSlGs%g*_jXGGgMi&I2`EOT)gC(JySP6lhCOmnHd3 zR{I-krqx5B7tE-?&~U+>Z=J_|1o<2u)6$20l>tYgpP@tGu4WW}Oz71zS>35QfNi!2 zrz3WN2T~bp@@(adpeXP(idPRcGT}I~93Qm9!a3%Dl|fj$lgsj?DB93c7l#P>`AFZ; z01NJ9U^1iS4yxmbCr;d`taH-q+EaHsQK9X-Wx#(#NR-Z(bH|x|Xb-PrVcM9vxplkaBdZv?=2wyG+^jNxrSxdO=}O zwnsG(g(Yeow$(jO@S}rg271u*+6oKrR3C7<1gkorfe;&aiaYsBm!a#K#`J+Y*fR)b;GdJ*xG)o=B#HY5ms1ugrZ;XJxLcB$G;@Z#lkQ!g1AY_ zw9p7}rXk>Ew>zv4>uz{l@b_)R`<{B<_cZ1;^Y&rt*2#{#We+GY=-g+}X__>J&!^O}&nng0X8IF6 zXCG82%wi}5t%6tz7FfQu?ztcen6?SoxR}4#&3f$)%E%iFMB%j!S;L*uFm|(B?V?eI z+qHAQuuGR*xoTexsvKRZ3?g=mRy75i46E$qC&GS~P++K4-^r6@qegvOqqCVGoL3rF zkQHEm)@OO4j!{H`|KZ|MEGrti#!y)2tXlPH=V@(qgS3{&d)G@1BGBA%KXFHp{3tAy zsjKvo0hXtg3s)cbeX~~}4LmRjiiMgP#OqQCDIcsTb^heIv|vBH@EJc81$I^>d={9` z;!s?KJd3goK6~6(z03vn+d5aItyBSt_PEu5>OxKQ)bEG^8j}=R6{=we64@;O$hyr> zFh;8Six=`$B)al&HWm(y%<%9q)C?*9gHY<7CBVpGJtN*keFj-HsnC)!v$Q6VFguy@ zBGgE*yH@Lh19mPeRJs)2f!!jDS9RyooBW`QH)+xua}qx9d=_PA0^TcQ-8}#wivTZw z&!7DKB!kCvl4;IXR^%XZs>x#e+j}BrnU;(h5vAFe^NfMrwZ_60{?5Am&>9!3yDlisRP|JJlh&8^ zrc8_#_H;lNL&p-nOi~xs3!=fJK~0u_c=8&W{9ou_~(&$8Yt9MW^tjLqGLm`hV8 zMLwwj%gUm?7qylCJ_R9@$D{Y}NB$q}3OuJT5o`8Hc4=2}keQqbKvn;yQClE?w^8Wl z9G=%5BM%em05%Wkz!b(1R2EHg1(0=Hb}wbh-&Ajv1wXKlI3Q#neqb+3(zKadPke72SComa6}1C@HR*nuaP!{B zFoewhZvALtc3{%0h|zvH@cY7}?=TC*O9d{;Ddj@)*l`p$^@65Y8#6Ak+%p)TjzjC# zO;e3>$z_gC{at06k3y%%PL85ZD$@pP&+%CYIcd;l0PA>r@<#c|1MZP4c zdUdl~9M=2YkeqO_jfnI8e4LkArvW47|$U~49Zt5U^CbpFZd;XpCa6vBk z+9&O~WPQpg-GMu(D{Jf)ogEX3ry zc`?^#mQ;;V0@*%)#*9BseFWWJN01Esxko-t;TXSOu5oMPbJ*NCh;n2I_*I^lA-nr-og69Oe;SL&J`%zImjOKll6td6qldnB!zp8U&c~@qLTTCADWpW#e3B9MwBk zVik&^i;gW0Lpo&`ZFK}`6&YB`w><9SXF4)4jvJj+0u6J02lhjLXD?ZztTnk}?`L%N z+lBm$-zY)x~V-G;rY(_yRmnOZe4V7 z@B^Pkb}AbltE{{vW3IEuK#aBI;a4?(jzY30<9BsZw?^Z4M&fsGyTdJN z9s6juwc_lF+nc7yjsgZ8De-iwtxaLrjqg)++_LX3$J)Z?jz{P4$rZm``2#KW%E!`8 zsTzemdOFZ43Ov3HlsAoK(oG$bXcG@BP+EBFnIebK17We{j>n{k1<~!G#Mq1{x?MX@ z6TZKH2{IOXS%-$QLvplNP$CYJcwEFL0a6s$hTWn4isOYhXLw8_F$Ks{g^rNijJP+T zetlmqO`D``rn<)YS=#_PXawsTuf2&@@H}n`IA^QB&$28m|J?DbvevTHJDi){GwOZfU8(~7^vJ)UzPT4y8PV2**_gKslN9>ll2tbYZ*y;mPHxfm}riH>)Z zj6i39^^hw(WSp78`+Cl&oMs;Op!|LzBjY>uZv{zyUj%uf=|8*9*GWD-h#^&#q*WHh z5DDUM2IVKYvpy)uUxb!-PTgO;5h#?C((mF?X)qfu8H+n{x z+V|o2h4Gsm-i0`*!yA=Vc)yE5wP=&Z)G?@k!rrEPjpPOw3%y8MQ5mNxc6zb(quxe0 z-kp3-30&(nEa@!jMN#p^qHfSMZeCZAR2kevJE0uTk3w~#$9Txw|lhofsJ-hUME zE%Z@d5)!DF+!ggVs<#n1Zjv|cDX-(ZGcfw-A4c%)+vT!9%TYlY*1O9`dK&`;6UCp% zK76(YEoG}Ytt&6fllL6)!hV$^@Tr@BO9voIDhod+7+?EN1Lb95(~sn_=c#O>l}#u( z<%*vRo7ca0p=4pz{7fVF^~uPhci%aoImV%L06aj$zryxXatH^snYTtRD-4vD2W6NU zWXPUy%$?06!FTvM1;ZhFB`!FrI>?|KxMaTc4J*F3GO+()?rs*09FBRCwfFfOgS#;C ze~X)@@iOGIvCmPmvS}F?dPQ7mp>FkGg4FJ}4#zSn>M{g@D%YmS!@s65_h?ww%^^e+8=oQ8o1##7MIgLwL?Va;1wv#z1MZ#F+e8AK0@CmttPm zdTEJ@Mpv2S>a(q~xy?nGfQj|Iz}QV?J?BY|I*olfS(nyMx_0rt{t&TySDx0`?Yvx? zYbE~8i5qp8=JyJjsXxLm8fe%5g6ZO3+Lz}~{vUxNces^u{l_!yV2=^BezH`oF^eS@m40=bE3P|Eykir{=IchUVp$ z+p_4b`G46ic7+8^T=j{Yq5CB@?|I?@yJ6KEUPJ!~r|?J6E3>Q}oVRV8ykyMQs}YYl^CAXjfHHo%?N;|Yqrrn*%LdeG?)lv? z`QTZis#;G?*ua2HGJgSe4e{OK-1e)7bKBvt=>s)w@U8SW4fD(!mnL2m6nRnaWl>lu zZ<~0`!wu08o-cR{w^YQbr;o6JA;+3`+Zd`NXD)zb z&Yz_XXIZ%#XS#rQ-N;4aH^b@RY(ltkrV;SASx%9rz@Km7qW>#ibR74d*E!SG)H{i% z0()i|0j&KeA+zTPzo!wWz#f{&zW5EE4ODJlLQPA{Qv3zI!kI&{Cb_Z4n}nw^iEP1> z^c^m_JPTFnoPYV9<0*j)s}F=8d0Vv~A-9@t`MNDVad>d4vzHBD-^wsK;ULDX@EkQ9n0Za94}vP*g1CD}&-&1O z@h?2f$kp31$a#F?TQ`0eX|1uU8p#m<6?ccMjBJ_VbN_8?T30nW2Yg zp}MR{rwlaJw<4hY2(|8+TBqR(XB>nTV2;eXA4FJQ08`!g!L^Aur?zT0s9+N#(Y1y1 zy1JyP{+&7Jk`0zW^7EWg&6NZ7E+hF$!|M|5;(wPCv`cLg?NS3nPH6X_j9;u3i|?6) zq~K9Cd_eI<%C#n*TwBBueApCIqXByUxP>!L_hT&GKCT6=WM<_DG)( zTzsTgyhU|H_SmC39eB-4>hkeuvS&vgQGeDPk#;^8MXC3uNen%9>fKwa-l=^Gfi|K1 z)QZRGBYhi;v5b@U{XdwDu+sBkP|8$~UDQ|K26mgi%eo*~C@;c>WeLk`N zqOOWuA5pC{KRBU<}38e{y&~jrx#$HU!t-Ai#vGth78Gi~c z1zC=2OW`*EpD6hW`VE#_){(z(AIru6;ISUl9MyW;ii+J)r`tcuc`Cl|rZnYH;{)$ua<(>#ALS9Y<{U@tVQwH(Z}s=F82Tv|c+} zA8i(m&|pD#B^j(8iHG4pT(Ijgfn89scq-CuYU&id=}hffzbo7?MwN^AOgH6C6+ zZ0@M=gO_QZaS!_oZ^VB#;E4W88Ex>_OjlpG(EU<1B6+8gMa%udm4|M^Xo@`Wi97I{=~htC;XgIV7?{*f5pY zFk3;1tGLj;fcC!b=+L<@OTMSWKWLrd8qf&r(Fi1@vwULb(0ZX9$}J=GZ0ez(%vR&o z#9p%=vy&6WvmFTC#U5f@psT+Ptd$G?Ea+1O{pBB1w13}*$ln%SUS*#Gv)3JaG_cLf z=oiDdWIMK`+j1>dT8IYP7}2n0fbOS*YS(K!$!t4e`(CkqFe6EoX3T>B7T0|{P|PC$ zpQef8M8&|NUhGGM!3?O0>lOj++ZM*8uYq}Xcb-qSA@UXHK>rjsu7U^9F38_>+7FAU zIdDT+Wq*0Bw9#XbKGU!fIl}i&VoVCtfX=}ITFkhJJVVzFwOrHnGJ!Z-s^6mLa4iR1 zN_6CyPY)8_VnylQzj_s5=v%T@ZbD=qo3+a3sVAwMuTVFabr2qndnyw3{uuF6ccnv)EYFzyM@qA9j>K+oJD10M}c`Moa@@$ zMe~#I0{q2}g6ox|V9UCw%IKrTFx0VAVXLBTJL$@>72ZB;yQ1vswL&lZqmtZe+9|P2uwKi2`xv!(t z6N?`z!M_XPdBp=a3tsN)z@hwzpjPyE>#_wu$v0PC3J<|vtyK)45?w|~xf!^_c!-_V zqK_5&G2_1^Iy{U-9Mq{2X$DhnB7eDwq8eq%L?rX`JW}t2N}7Oj;tZ5^Dpp<8+iv^#VQqIbru zEo8S~`_qUip-42(AR%rCHaU5`SdXh9Big*7&SqlFQ8RKuU&Oy?EA;A0NKXbNka6#NVs zVx5Z_YYMyDlNk%mTIgYg+$qSK0yJlQk`HK1MxJ&q*eL!HVKYi>a%lD5(1gJvX--H) z^aFaFc2AG`khnOY%~vX^@_(3<9lnG3VE!>W!AV*IR&nB(ShHn+w4mL{#{Z27F_UW5 z{xpuxhvUk;0pYYXI8ZqnT#WU)>~;4lqOTjapX6Kt1gu>ISeL*l%%8zd{0nAL;yLg8 z30TC{WIDQPq1s#`Sh2ikdq-jkyO>O;qJQkYpb>2eSm%i@mN~($N`H-V7d-m+EKOaV zan+Wws0zY>121kPhBcxE)#}y#xg`c{$Q2r*d_#tD5*ECghG8upq$C{#;5j46nd6$J znw7qsTRTzBEIp>-RCGGI;MTTri{2JVr2`QY0Y*y>!Sy2Da%L{8O}F}*x`hl+wpwx8 z3--h!T)##X^8+K!(0?bz6>ut)OCLGQ^6A?n4%;NIIT_4pE*FSfFvLL0x{Bs75|W6$ z-g<5?S3lr;$xQM7{b34v>jT&5jLWL5A|kL!aw@Qm&p!wp%b}q|;E{^O#5A%uGw75n zMl1Nv-p~{ad>$xdOwm+bN~WXRe6-_r7}gf1XZOf{4rMr}cYg>ux#m>3BgyhL=`GyH zMBv0cG$uXN4gZdU!apGy2!oclE*y*XA_GV?)%Ss5^&H>YJ7NR1^2@;wd zhqq0P$@}M@L=!?m#KiiLO%g`F6cL1)9T$LtX#N#uzRj8WuMeK%Jh%G0UYCG| z{wiZ1EPqzfxEN!dwDD_>(bfpwA6px~>NFpj<|xwct1>2WgFSW;pGAN7lt4HJI<56C zwcIvH=7O3NnPt#4NHt3AnJUA_G*$s7F$&25?<;jCU0TaH(55DTUiOBOb4jK@t+d%!g6Ys|ouR+by)51zN zY{BD)xl!J(PsKko5e&wU${1<6UL>|f$>j?wV+B_Y^bC-eZ+|P_%)X;C6DgYPdgeu{ z9e=KFBlgbvG_1ClFU&@8Gq76j&IJ_;3TyvD-Gm031|Dq%rzVlJ~4C- z*TI$&iwc``bkG+uU1BR*X;d*&%J9TaNhp;E&cWj*+~ed|R?#hP6K`*q;6ez)v?>YC zcYbv;U#nf@Yhmo54#6LMnT-N-e zZNtYHPq~@q89!5!TRsKi{}OeCmIF`(6LfPa748|WRh7~1&CIs2%u#>XB+yzqotu#O zPb!2aHZZ&4lDXAo6yFnGXY-8Lc_;Ut%z+?UYlo=H5>(-gKc|Fr-3U~qrC8$kxn%ns z1jKZmDWEmVimI2{zd0B4H`0T>@PFzQJrr)!lBF}~BwR6?09w(wfj~Lp&-vms%wr~T z9^23dWU;3MelV?Evk$>X;&I^>JO8A z->q@{MWAPGiq6>dCI>X#OUzU&hP{SweN8l6Oq-aEAngTC%A z4iWpz_gtnloU*dhPXN5o?VMfxRZ{8OdLeOTsqo3~6?HfzZn4ucI@ng}_YGJxa_764 z8N=qqMO??ooi|y}Qk;$5UVUGsg!zT&#DNc5XJ&6Q@!hWSE|vJ}1lj-(HU7GsI|^7a z29)`#w$o{-UrCB*RkT%;h=0#N4~IqAD6^8v7S*p=Nv+dafq#1$Jmr9iq7Hxu-=O$u z$S_2Ni&3znNF!xKE1_v(Za)1fTsLD2jz4{ z=c(w5w(nzrV)>2Xk0C-X+0`Id{_y6-&o7Lhy*x9Xf>mL=_RREtNq?n1yV$*W`>s5@ z^o^bii>mF<9(_nuNlNboz7 z$VPC(rf`5V)V@2v=X<3TB1EN$Z=0fNnx}ZBE@~4#Gk+<9_K1a#!T8_=q+m??1-F73 z7h2YEK7L?A1)`ep8GrxNtko3W^u><~%ht$enbfUIu7mLpebHA|vPx~4nXW5Jf3$1W zaUO0jxnrZLYKpoI=k!x%Dpwf0q zePJrPM4ec%#}}mb%;vf?h% zoA8&wRBETLY;yGQFRY&-M_*VI1aXyuk)|y#bac6sP%Ux zWT~RzuKxoD_zH1ggMQ=+{95)}r!)FVOoWIINfvB-T7$!6m(l+X1LV66>Jd_9!MwAH1^_TACFBIg_w&V+p829a&jfnO|m; z9B?;(p7!VSERSb@kCTi_$!q~X+YS8s2tOOFx#TuIJYK<1!^I_bZ`%fbFMHRbUC21y z4*Pfbgrj+r;o}+~aWblTi*r&Vq-%L@>e=-ZcvY6Oo~QiB#W!bjTv&NFPvR&m5?)Q) zEb%?g@c!IXv!;b1>TI^7(O?{|?XWiWmw=6bXj*?xZnbWa!X3`}^ktEH{7g(7)l~)D zrpa%GUASBv`k%54q^6@f8Y0+|EQ@NR1N21Y$UJdWC8@T$l4;%(<&T`kM5fAh1mI;F zrrt)T|Dquc&=GI4{d>PW?)J2+P#7*44 zq~I;?WneyO8|guf^I&_R!>E8opb)Zhc46D)ww>^bJM*!i$2F-Z8Ppy&D;idZ(26=~ z8XI0=>$3)H?XIm@Byh`tBr|(+@MJhnSZDEOQTe%SQU4SCxyFFFN>s^KDQQ;t(>A2bu@`AORNhtgC`}E$m&p7pPs{B^1#Lml@}!=1 z2X6SN@iN{=(ynlbPY>zu&xi>H!O&JsRZ$BIsP@W#Qx;9vkL^U)SVbrT1gGtH{8Q3MZNpV3yU(f)-r42g zBWvY`3rivPC>rq!+0+LO*9SXCr6!b~eT}=|s!hj#FNN!T;`U>!vJ{C-V_9Un5}6h~ z2nNld8LRWEMtcMU853oR?DY5NRXl5eFG&I&mfJ%I8a$7m9}Zjin?xgj7HvckU07@| zw4YT}=7n0nwJgl;_{iv{h|;Rm9yijGM0(ediWhZeK-kAjb`Ewu&2)gJ1vIKx9-5Ml z%B4>wZi_K|8k#^CnE=UPk(X!KvXE$t`cBe3%3#`|EmRYd)}`H5d88AC)6^_31fy=f zwmNTJ*%M}U!@wj!qk;v0tS+4#!gJ?P0nYZNGb_cC-3O16L{vK1W>%Jo96UxPTu zR3US+5i4PGv2$qPxzRzSx94JiV8*u1+|$0YCX_?DK`Q}78c&(9GjJxy^PnoEYH}$;<^hus8n1Y z26kW>Vkc_U37rQ~QQH**0;j_gX4uxAjulrPt6^;pq)D9_dSD#@s0o?N{ zs>;%L5J+qqhWuzkzjdlf2QtlvRmWY~}n~J55-2(ThJshgh%l5j2!oZq=svlgCpFlUEFsaZOz|1A?K}8MX*pAhnubc&<@lFy3m-iV z5x@ani0g;Xle>s7br{hJFoxkVidjc+M&uPMd>f=1D?atG_Tr)qwB&N3YP>bMS+*E19-1t%sgMirC+F-odW z!X|lC#8xl}0d?I%J#cX}^YS!WVA2tLYtq~g3}EpjFo2al`oOa6d__ugFDeQYcvYOj zQX8JQ*Glb~^t6nb4LqCgj23yQ@rqnxEO2OhH%Hfht8XE`|2#MOJ%F^10g>8x%xfWR z<#Dtf*@iTMMcQ6F!7D5b0H=)^i`|H96V*x~)Woy(q2*VDV95F?3uK@m=VY@MT_~U^ zb7zWm@S43bK2+irtek_;34S-~Iik1|MWrT+j6w^Z}Y()N_QX zD4Agt7b$8R^>x6&n>r7Cozv)W1{hLL5)~wW%0P_fATZVj#&9%LtgR0GNUN6Ccy{P7 znXpvMUB=s~2ftbI%Y_Tc4$Rsxet{wJBo1P%;4^JxbHHcn4$LKN#fMay^t{al_>({4 z{FkKnR*F-};!!^bO}65w9lbz|x@f8}=1AarJ{5{;ZSbQ;$A@OIMx^6vGKeIUmtNz4 zaVZ1YE~c&6=K!o6EMq+>aYTxD8vrXTOqAr4*2mP<#EpcF<``fhM`xCPpSdEbjYgsF zjZGQZh_#IE&Hs@4uo^kf0Ly?z&JE#5(Z_*?O{4rA)*8pN@815_;5841h`(*x>#c;A zUz~%Tes&I^`qe!#8w1mXF&hF3FTTEi;D-PlWV7cQSRX=1ZM)rCOvp$9b=UVVsRuPu zX2T;hd#5Ob>eMyvIxoabZ>*m(9sX9!Ki9SlSh50iz@1_R@V=>Leem8|i|hf8tnlw; zs7PLI*K5PKdf*1VPE`_{9hm9e(T|{BBe(9x4yn&~@XAQibvmM!drAx)&Ky5kBlrYWZ6tqslR@N~23khsvnUBy>ah8O^*bsvL6e-(IU8Z<4=f~B5_*Qx2IgGyY z!SXI}Abh-R7%v+g$zAJ^f^NhN6V}$i(e|i;E_?ikAudGLWm$!~JJEgd;BgT^>Le;s z>lJ>*?opa@s2iRPIpE^DtyZm`YmIR2Eg?hPT}FAFx`-L+Yw)>B&o;SGwcK66TXHYp zuZ96}64GQ1t08W*^15+<8&TCVZLo)ObIKl&-slR0`7oT~j4X}f*n-)e0&KOSB7cgI zuf{Il^C-;|hg3p**~y5zCo*{vPF^}BO>9=Ab6oj1taWB{0QT2zC1LtU8D&%9BfS0x zxSVBSz{q@>)Lfhc;#ll3Hm6?fJdY*D*!ejMgmNkBI4Uw(l&8smP-Lx(}10FwVu!PzI&%fTr?}byVcm( z6_*7h;G@I*N4=3yhk-8l^MO5`u!5xOeH&z5`JoudhO!itg8M#A3SOw)INoS#%2IVP zqt3BCFO#TD%M&$!k!4e6G|gP1fZnb{YjuO^o*@gbW}pWW_Q5&ZRHxDFog@|sDMQE6 z$z9_l5PVK&&GES*9i`3 zF8t_o>jhKC6xv+-OrY42NkFQrAoR)J9RF;raE-*?jNenNvPRH?fetSE>=NtRz~vGE zp>Y%#!D^0$#ZMU9G{Yd5e^)UC8sCNcL3QHpEWD^4&L0AXslP+!rBRmEAw4|_kw(Yn zx#&ZukP?c2Zd%yPO}atoTh1cB`kmHZM`=Cqv)&2qsMNF#*&B%^+RbiCcze8~F=S3-NMJM9h+Mtl@u za}=O~Uieo)vU#-pekWe=Z+d;;g!NH!Tm*(B6c#H(zry1`&XWfY&;2}9R_I3GoiOZl z@)4E{K#Wh_TjADe#@Pum8ZyU`-q{;2E2IZ6Pqwko^g5jX-rYR02cV%qVH&Usc@Zki ztSAG2g^A@buz;yto|DH-$V)9sm+n>aU1!e;73zv$U(GqCtI)Uh&YyGGIBF$P=A!hn z4=JV;%7}*r(17Ga>i}+8>LO=lKExBIEEsazzz!xk zcIPan(AJIKH`e*78${8AE%)>&Y`MnEnjdive2)bj3U!yZ;%EF9MyZm=6OUsoZIUQ| z6f=AIU6PH5RyEmKtM8I$4_#t%LdN4{aZv9kVN(0++ z9GK#f*3}C{G;_G%50ANI_0{PoU9!G^-tfLkewuo8$<+E-y;z^8v!O3Lz<#QKqG@q2 z&#S`b4Q7Vb@gg`!wv3Mt6g?ywjPsK`qY5N~B z|CiFI5L#czJDl?end6O|nQPgVcS6t4vW8a1TnY_8N&iv~1eU*+@suAQm|clXQOiz?-!A-pN0HyMf$!H$<3JVT!glwVJ+5fgvol6PCh>HVdNjr^_-4E=Z6ESi5|KK zMhbm|px5@)^$h(#Y<*uA9ji0e1o>xZz#mDE9fTBnvj~64b?|Tg3}6d?wG#amm)%Ej zIK;Jv0QJ+JoFDyY3-(%!=Ba__nJ0;#1b>j9r@~wHAN=yiv0L)Q&y9&V=JRUgbAfqM z=TTCdvG@$&l93CtC!81&BB~mZphopLu1mqB@EgR~ezw?>$*Jpromlq6G!mNGTmM6% z$TI3-90bx*2i`KJ@VIP$o*+}CnjMBgvM(hT2Jd`(j#)f`J(nECECp~%(9eE-qX|XQ z!;61X@J%DVhv4(Rk$jAy1%1NtZ2$T>Mn^&-)(aPU%>Xg`LF+68)cAU@u29eA2YHWR zI*$=K3CdzAA4}-%2bboiDBNBP868&#Ks0yR16$@gHt`cSpcveL15!=k6k>&@!WQz~ zK(BhR<@dL4OCJ36@Z<{|jM=q2ueNjFD7H=XD0O9`H2Xi(Ryw(60cB=7B5w%85v3N! ztrXlT(r>%qOTO*hCjqkjAwZ^4W3Os1u4U_4kE4`3tGH}{;_peCO@$%<^Dy3ggi59G zHK8pQIL$8oMi}saHyP!%P}d7HUd!ySWp%w^k*@@cJd@SF5e6!jxDjf<7PwSBgx&uC zVd#G}u$;#4zX%%qLE68QT|UTIe-)Z*Z-?)^INU*Yvliw*6WS}O*PXwVx%R>jMV=qW z7#B&ldvsr5&hx0AfnBI6P{MgzSsmPh(919sK~=tWsyVlRqaMG2!Pi^8BfsW$jJl3q zuC0Czg>M($vs2S2K{{Em&8BmijO`ug;w=Z3PIK@4fDk6zK969`lKNnQG8eG)QZzZ+ivqE`wON;RdV;gl}rM<7IZ z=MPVhT_b&euDm?HEc|j0U%%Q+*wnFjLRFz8*a+a3t3;xDcWq(nB7oKX|oqOR+ z8@-)>$~W{Qx|jz(^!Wv(%3GUiJufSv2$Rm2ZFmuhpH^Ayg%A8sRM!ng}w z8ZZLgghFpWI`y*>59m)s?=kjhveaEpV0O+f{HRU-vk0}b|5PJPZ_QkKYnWVuMc;2V z0EP#?1hg1ruEJ<1|K0#A2U*SCbhfSp(#4rxMvdkB#hoUC*FiFJ$5l25y>bzHs1CBH z>&kvuTGw<%P!IoMNs#40Jvg7S_x^>Cc<}+S#G1N~fnlJ> zgM8ldr_28k<}MfRYyr`QZ^SqF0!bIlFMZh$MNF*WgRb8 zf5*G=^6%Hb|N2dqT+~rhmO0cdqcp89mPu+_OR4JbE|bOkH|Fb4m&?407rlABxm*_I z;-_|Po{#1;LRPX^ugvp-ikTv5wP-2hIIJ$yX7K^O+F@)rROYec`gc@pMad&14c)+y}{Wpt0Z4stIR+06o&hqOZ*Nd{TjaBe?mgF z*md0B{YWMDJocet83?`4)JwA!>o z_`W^C`t0b%Zn)aL+-*aicw`ChP<~7Eotga7|MNAeLW!MLw!Bz=jZ%a^ZDL<{txL6 zs47|fY(Ay=Bj7gJ(|dDWUxcV?mZHOyQOq!sCn? z?Ouj?VfcQO);_Q0L!6fte{yj1GxGASOmDdEs{vSkSi4Q0%dK#)ES2(Fos8;H6 z-kOtOyk=nvD7tppe~XJ4Nb{NAI+q+csP-VWys}wkSqwZgi^;Rv4h8x_9?3=4YJ54< z_lbBa9XLENW~2$Ta>Jjl6{|N*jIEw0EMZno&NFqzrS^EF1JiLUe+&(^b~*A`mWl^C zjF6lein1%uOc%;3rVBO9$T7JS>Wf8&;sq*LdnMF5FFJ7H&gC8Cw9p>zgkiF{hay977ub%!G$MDN zi7C=TaIXYbEwc>qe@bJiYqxe(*Ou?vfa+l@ONRf)0^e-GRTXlv*XBA+cQHsn$l zHJ+}6T}nZjhE|ItCPHYbMI7iJ_Ws0MvtnQcxti+D>xBADih|vNskphq=vvJ@n`W`v z@UTGAwxfcCIE}`Xe9brxil0#y3ZsTtZVIgikFb(b2pg%jLR9q zib&9T$TW5fe<D>Chxz5biyQxt6EyTQs|vQwGiOQNPfQQnB0vHsjq22y+g;X z-4F%XqC05*UjppQGBz4;<%6_;2Z4X~N`6WBuRHqnf3ux^xxRi8HDGFESQSO` zSTMzQ)I>_?RqPf}VFjfg>189lW<~F$JyQ!BZp1-J9iV?tX|LkNex-EQTVV-?Ef={n zYh++Rf>AwLM8m0q6snXrPSEwOs|j;xxt4&Lf6-Mx&_Ir=FNS-j0@i&s!=E%4Aifa@ z&p;MjL`0S#QnHvuIp*zohk!fUvRHQ{>7Le3HwPXGh2)ncy=d1@kXQobNga3@M0M+3 zpS&kWXgi0ANlMRm3pA3Zwk#V8DY^jZd{E+wg&~!*1~F1I ze^LDI8SZ3$lPmgR+mtE2L~1T7s|25BrU#yje?Ia8r+?DtiB;*59(OH`amSQ$L&-ma zo#5|R)Px)Y^SH4L2x*@82y&bh%ayFmCuXZW#NPlp0vVM#lTlz^y|U-D!-!0%vgZ>R zXZz8!&9szy@PMp6PGs7%R!IST!hi{cf0;DwPI~ibHm}uMGwZ}u%54@uomk!k)$Ns- z{RFBG%CKrd1>5xg7ZBzjt@U?q`~_>!4jb4j@@oyOuS+^{jkBLXmjxjZI`ueHFpNSv zt65BIuu(fteTPy4*02I@u=%_J0aoP}=1z(!QH5C(rei*@#()s>EZxaDNtT;2f75Qf zAjz62ORYpSG*_1K;xBhZjmtc47P4tTARCa}k-#l#l zlhQ7)NE-5ZyxEZv9!y*ZUh|&!bR(+P74cjp`tl^vN1s#d{w8ksg(Rc_m{UTKwiQeZ zbxCL|`ow+hY!kS6)e9C2wBz+we-+%2z%%O+FSZsy8&0=#D%<^uPAMeI@rLq5KP|mX zjA3D86PFdPFtd!su{F@d%&)17x#&~I5@>EqU?&Oz#WbpNM2Sh0IFy(%N+f7V;OKpK zICO{GPjgDW^N$M>XH94cEHz0*N-kQSlFHgUlbW@0lXVjPGpRk5*}PKTe+Lp-MllB@ z3(d&-B#jlJR{E~BDn3vJ6YV3M(i3S%$t-^QDigQP{2-*<+XC`)D8kX zh+0`YpHQU)ZG9HSO|^nFe~n6~FVA@?f=fb{FKGp}(+WU-8|ME$yaPBuwbL+m@t4vP zRYr@ivk)g_3$CeD3+^Dpb7vv`PW*5HSeh7cu_+xZlEBK2v$`}T72(zS31#6ot}Y_C zwOIW&+O7<}^{}7Cv+95aUM2ZuapXJ1KF#8_jKkyx?SQ%GIPff1e;djcMJX>86)B-~ zU`*&q3Mjp^#DlxE(`+96&({w6oHI-})r3dLPFWtYd!k~bNRa!JQiNS$8&iNr=^lJW z%v@OlLri&6PHJ)Ln0iCIZ3k_sZO16U;k|=h(IMQ8JgkcS#rFu6xr84kK%Srqoz*2c ztMTR0GqRfm-w$2cf5RR)r%fJZhG|&tX3io`gp?ATPRLQ0r$+J=PFcs}l^TXu6i4)8paC0SB=ig8j|g=6^8`C1FMAgGpwi;X}S#z|vO^bX`udcG@c z=GY4w{xtcUODM?cX4j2(Aa*~)R1*peNh(V&M)1wuB&-@if9CV1dQ|_*nslEd)le;4 z#?##jE8NUv{M0u(k@06jM&w8_pvaQgZBP7+%fc_`A?C~=UF5!T!ypY$^G9`Qv#eP4ugKwJcahc;ca++fP>dJ7w3n ztZgh3I>^vg(h$=qYbypz59mTMM@!SD6;{#J_RD~8|V#C;yrawIfN8O?rSg6CAWi^(VDOmyc zcR-H{`L$+3yey)s$S=ym2=82lbQYc-y@cq(e`4{WWp~4GhNlNW2Jzx{fQ;3{-P0M- zUY-~2XTe8BgBM+RM_~28b28gZ_p*E}f;PKe%H# zP)Uya?3`IilvZ^pY^5zRb{}U=CPeY1kDjNOjm~Gz!lwphR#9S3h&5oyCbkr>_*+@Zvwx zYk$6njWT<$T*T({D-ekGytdAs&lvb@+`Z~5z)YdY(eKE`)4n)%MTk)JmWzma^T9OJDc{by*>0rL41cVv(K7bcnH3(?G%C7Cfe>%fXlmq*$;Nu1EXNB4Iss(KwBf7-l9 zJ{N93#iBkz1W=Puc$R(24jOZ9Hc|%C-?L*lp^HPc^(#^xqx5a1ev3vK$>cfi~=@H&l`}N^h4t z2d4tV|K2n1H4Y@0#{dSQV1o4Q{h~%G6HO+*GzJfA-NMS%codM1rVF%_e4 z!8N=3Vx6n`i@~)}M%LL6T~CQ9nc=n*7$%4c&pB!Ec%5ch#i=!jG0zyOo9QTml%$82 z<WR_Lo>4`f0(?Ue_g(ec;bBWmsLHs+r z%Hp_4LKZV?-!&*VNsOuny4n_7tD+_=MJX&avv?a(iY5wa&7VH@x%VSHc2qd*L?Y{-4LBLxb+(>p zjRvT|H6?>8nnY@R11GnXSRV46 zqq)^HaxKxi{EG`8e|8rDJoXu_kL@!%dcyOKz2avY4IH8A93Moeo^FhlsfH8@)QY=db3 zgKNOCq;T9^Dnl z!SQ2J(P3Ime@2gkFdK1HnabPNQ#H|1*ko>z#Es7#nO_9nnP?%nbA#M@P=3!~AZ}Qe zU6Jtg?)pl2aFy75PILn)tsuCJosE!Bxz z_n=^#U0y5FM515X1HEb+Ji{VL=1qjhAVPu}1I8~)e+go~vFiYpNRr-)MIuqR^6}M1 z6v`s(y0Fc2t}$?bLHAtF*4+uC$sxuk`BdqX8q62l(jg^@XAcoBI+h`~i?Ozg0f{X- zp>E{ZPsc1l>5f+X66Ar#WL3apS&eWV7UuAK6N|3v5O)N_0 z^u89wY8ch@wF?iTaNL;Wkf}PhZpfCRW`0YNexHWV=S>>W_j{>2EqJkQlPRLI_( zse{YMBT)AvJ>?zpFsfzL?(tYI|43NogfmFlZ9nK}bd8Jne2VhgeUxO&oj|ZF8yxBd z$l6{bkO2AejH`R*9s7oEl)tgG9|yf#kj#QzCdC&Qc~@Mh2qnvP8F>CZ ze;AB^ct`XD2{@di+$Jiu=lz_N*S8OHjM0R_oYenU*Z|+k8B8iVt!v5mOm-E)(oO{H zz=_thq13kx{bS8(LJd&dS*FyVYe2#6c=g;h)hUO_+0D8gEl!-o_O<>$qX17pu)pjl z*C)Uh-G1~EEzo2oQt!n1=rP~GVE;(y&83kN-G8ptv18u^ICAsGIyu%rM8U>&5~zisDV`zzIt3K3;alTwdAT_)lB22#7cN$-QG6F9@!f- zFITfTh*s;gfa{uU@?Sv9ypGDk_bm?XgALU3??s|CGCzq29wRardv+dE`~)(ETSMlJj`SNTO$x^^_pk-Ccxs)%s`deM3}z-c(^YdG=3cQaX2Gz$3f)F)NcQe9WG~V5!1jm0=j)&MM;M zrWyf-z}H1oH`)Ae7J6kQU<>P1qnF>`UVruf_0jZ^lWCeMlTR)wf9+h`k{h=Xeb-k^ z`NgX$4LrCG;BuwPj$QW7n4wI(UsvdjOTZlG}+f?V!$?WE*XEtbQ^ zt^44h(ZI}b=$>~&_we3u>}K0mvFG=sFIPn5lXzt=+g%MGMgkXDf9L0s4Hq8C1wpRMWh z9pB?n_x2uSycfzph07(i{M7f7n!%R8&7EEPQvMPvEFhuirLTmY^rc;)qn|JXa1k8{ zowg2v>A7QOH2#x28A?h9aNUQx!*KS=eWlM9OXyeV;q0@ge_zkfx9?L+CBoLRL4j?) zfvD5Q)3hX5nLrfUlni#FYzUvJRIx(sTUx8qyVw+2Xtyf5`Q%{CnVv^5k@1Y(z4 z4d^t}(!?6)R2qrpjq{dWPRv9tw^Y)@g%|z-Impjov&OH_zptHPi;Df5Ds;Z7>@^3MQ;9Ik;{$%9(M; z^BUU}`*{sD83^3yS&^Xdtm76YwBj{}#C@nYe*mRv9A6L^;8{GoK7oHNb{Wki%-my@ zM^h8Cp1m$;g`F-U&o-gw<-$8NU^uBV3m@ft+PuN?o`$PBm+E|njci}w7jd@0*86~l zMM6z{fBpp-u#R3rs?s0#fX+E`?Il_WI4f-d79QF?-{ZI}SgrL<*e(pyMwc@%l39rZ zq=(E`)M}V|4P{2j)WC0~4AgLmaSuX2+gIeBf^+il5Uyg-jC-%17aep7i+LDXg)2$K zYe_TkB7*oF3#g#jWgdPk5i%BWys4=fafb4re-c>BSwXHjWp4e@&WoDsdAQD|AQYPg zxyR+4wHE7-7k(}G9Pw>S;Z5{T`HJAjUL^1@48=TrE9RDx%6Eo!R+N32Xm$|`0qd_4 z)^jSq-h}!z@>ptxba+jWZWnP)nz!_itJTbdgR^av0kyz$Xz4o?syJbIy@vU$>({?D zf1lAKX>s;hSjMn&B=Ku+jQ2bi#_CO^MXA)9I=rMh+qOw*01?zhoV31a1v+iQr+4+w zyf2Q-K=D(w`Ay*Vi~9nL<3NR~#LtTmD{L}V(K68G+DLR7$-wH*W3VMo3q!x8uhWGc zWe;+sI-Tf~>{jise37V?*&D9z`jCC$e=0e#c)6y8*KdND0-bn?s(ek$HaTR>+WHEC zbo1QfEML}urAXN9Lc1F`PvD&b5Qi&a7Y*Ie^<W{<~{Qi4tk5gaYr%^vZv<;#0L)xk&e_J@| z<{+Ub(Ehv6`YAQrH`={9RH*t#1OslZJ||N&RsEFGn#}zZ#lNp9DN^;Sums_ILX7yF zm@dhjE%o&=<>@-VN@+-dd_L2c=`VKZWmx zMh`A+;0F%MVi`l5kP$YMzW75Q!M}@@fI7-R1KW_(+`s$5QI1)#x*8qWe?17;jr&k@ zowiFp6nJyrY9HDTJQiD#J{VZg#{XHkyv#wHw*zIQE?!Qj?;JN|O4^8iUFbz7B+A$G zXAmnM+D#0V+c;`JKMCL)n*tz~xbdEV7kdH?Jid1CAz|+-b(>{3?5DYrc1$TZJ-1j< zS{yJ36tgy+k-%_SY5a;1e@((j+_+@jjE;~@;ORO>hzr^RaU<9O4OaB4B4RqdQF8FB z)GR^gMWwe&yCPusViWRbH0tYl?D<&Di(cPc{tZ_eWmBgu5>u8LZdBo zd;_^_Md#E5x%NKgr^QM5+IfL`pNbpu?gv#_O#+cwywSO<))N}WMSaeYPAUCI+jID= zLtU}-{6Nd^fBtmHf@9*&y=3~`lY6)g8#>-8X_y2~jYj(W#OJGf-*iy$VdqQV8$d6s zyYD(LW}_Pij^Dlrf^J~KxAb!NJ8;uUGisog7_740s=L?k2$vwlJBex#V-ohTRU8Bt z95%C7j9L~F!?=LL-8oi_!ahoul{D9mJ@l!Iq)8H;e-}FUg?_u0cYD~?1X|nCd0EI( z&8hJ_5J5{XDzgeeKkDv1_Rz-x?Ku>aXtLi0!+3Ir!xBn`#-1rDCD9hWf;5Ds#`ol5vx2(DvipH))@gf9&lewlM&w!~g5&4M83|IWi*$ zaDx@&f3mpZToxAyONc!N)m++2HZrZl02fl{m>oo5Od;k2XL>OBU_|PO4>-9-1(#W;EIhAF$Z~8L z*ky$>x@tsorZ9*uJ4>>pmv1&oqYcYSn2gQcWKbHY5+O@#qf$*qTEj-^fxyQxZbe9# ze_1daKpkTYbK@RH#!|6RO-Yf`gp$*0H7A4iS@~Nz#)^>*aqSp0`gzjlQ7U8wC5uI> zq+}KsEXh3;bjn&)oNS3J@0i7{z8Y#(9@fGDl`AEm8+ zS~^wy&n7HuaWuC9O9Q~&DG;@4&j5%^FjVCVMpfK8Sk>S*G4Mu(hP}aRC>0BZf16`V z+DY*}F+yEu!vCOrq5IS&2QOT>R1FW!lh#j=+;Gu>{1(){Iyd$V3jJVD_QmMT> z+#9q`Yt}sM$%fONB);UMoU~IfndG&bOyY9VkB(_MNKpwbXF^J=rhXCve+^~1byGj- zG~-s|bN9J79|IX_Do2@w6Hl4s6IYoV$@Ivb6|$&U?JJWVwXe)J7hPp^S_toY%cR;t zcj@qmay-#p>JefGoX&^bWh}Hq)4ieWv}V&?W&>_O(jp3~INFj=;>$b?MZlB?tPoZt zE#wtROL^i=(Oo83pEbeVerp0~A zNmLq7hZSttz4cyT0a-4!p#uRtTh|hRRaO=vtJpB&Elof(OYtN{%F&HQNzNhiQd(9r z;g}lD=tnqC4ZM3+K-w(rA^x)a%9pqRH~O9%Do*(6=3ZrYTsaLA+x|giAMnYv1^uo`w=uF6CB?G z4;V-$oCU8N(7hhDNx8QPufFtYfQ!}O>Q=QJmij^a#i4Xne*@#vN?i-D_jdhT?CuH* zR$vB6f-!te0Mgg%p_>-`HGn1+RF_aa)5bvn4iU}&SJ@VV8dxQ?$^b$vIXF>IQ)Sp_ z}I0x%jUDL^EJusp4Gqx1UD*?FIk!2;`;(e?`P=@$P1{d%IZ&f0y;0 z#rOzZUpxaBe|~MqlxI%{f2%{o9u; z=dY(2Gje|L|k^0)K()L+}`7f*C$Ppq-k|hRdtf7=H%k) z{{qjq(jQK4?HmtaAbcC&l^EVE{J{x&x0Tn5qppYT*^=gS`E)z z>9>;SXW5L`(zlm>2iee{q`ndaZ3T`vvfmrmI|1!isa}0Bt_uOMp@sch@O&t*f# z5PbhC2U*L(yAtSrk?nsg?K9aMB!(Ml^I!1%Ak%h&pC4uMt?Xkhc;9@2Lx0`MUhX}@ z8$Jlp+4L|Ig0niQ8Xbc3>L~816EGfi0;Nq+H^_OGS(B7id9qY#l4TXQ)Jd5Xr_eb~ z5eFH71K_5MvEOY^m#Rn?tKD`#oaV)1x8_lG=CQLfQ3@wlFpW%p!MJ7!eAWkRDAFAG zA~jnHb~f_#gthq$I!$V=O@A*w$jhQ!{Mzv$UaBTv3>_YTp+mfO+f&uh28>u)z@EU5 zW_~m5WvUhK(%P~hYB-wxy+2ip(QKbg(QkQ}y9n**cTcWtBIJF9~IqbsF|@!@UGHJAbYj0oN-C!K#0z zMJgj~iJovVX}F9PB9VYz3&{-~Hio_#AfnC<;HoYGMbP*SE_}yzSF+lFrkU;r=I*p9 zP+PdIr+qg&1r^ki5!lN1NX_2TFn!YaI5-wDU^r+u^7OE7RV}(@Y+(-8u0v#(6Y#O% zH5POOQRz;wgt#j!yMJBq>cNDc08TDI(>Z*gt?qD*uz9sk7tcl>e!cUy4Zd45JigM; zXg79!gqUXA^`6v}C9r{pn%oIk>a3>E^_t(k#p$d$avZ4ToFr*A*bDZSnhf1_XHSsX zC~QE7xO49-TTi&>4O|M)zRbHcm_EZDR~B>y8^NrAhPm=Y?0*f{n!W7>W3soZtSvOy zZ0PnxV08scp4Ki_ zkW7`Pe5uRE5C_*;q~l=Y*vaO?fh~YhTv)KV^|hhOwG`~ExTB#N{3y}6#pH@q)^50? z^>E2oNPW+66@Oo20pKX)T~xLq+#&R&0<0673J>>0{#}^4Qg0jZ)!$>@gCdGwcXQRJq^De3qBt48418u@@XKc*D|lc*yAR`^$64 z+#yEN#W(Q!{G612`aXzm0dT?==0&l%@G+mo8Gc^2>&BYpP0fflI{ zhw-(ZgPg)!uG(5@`uOos6^LF^usS}6xz@BylpPhoG;$l<$#Sv7#f}aRuG^b)LgFfI zo!F|l;lVL7>dZ;^F+Xcp<1GnazHpy{;WFKr^7 zz&s$Fw143J7FGELw}|a16eH?~R(9)_wNIU8M)qG?oM7WAPOz+HU^Y8z-N*s&qWZ$Q zDAsI!0&^%HWm!(5w*oU15q$@9ja*^4SCu;qyohO-B|wy06?5-dmt8~{DwSkK?F&OY zAI)XSzY^8t-jef~QOi|QrfPng2g8U*(lPg;9DhQJvV#NnJE}TR%Yl?3JTy%MUWgyx=|L4RC}>>}*;iqLY}Bppq(QYXcBtEre1mgmbh5de~3^5TQf+;Q46{ zVq||izMpmQOyDk+aA1BPTjt61(UYXgg2P|xsnjT^QUiyv8i)`upL-C%Q_6wH#}pT+ zT7U8O%@}ZIv=1Xfk!*RpiIH0o!88qP?5#0K-$GTRln%W)5vg)~)ir;HAb-P*5c~Pu zJk{YAL-TV(!&3h}F0U}li?SrEfz>s$e-dyva#m>>b!CqjywU->Gh2rRGY(-FRaYU1 zbrs4=8M5W+k$rq8>-~j`=7h04CO?Q;N`H|CWFb+n0ackS7nR_F+pwXyCrVm5O*!Nx zNENz_^Ah3jQ+`q=l@7Sij^|@OXHN(hZe9JAxAUzzv!&1hYgq$r&LC_@S4mtc$a8I2 z6)n>@y|B)b)CRxdJdXTJB5AN>u(P@^>Je4Z5Zzj1amIGDBnLu&)UuDGOqWSrW`BN9 zV*~?GU2nlP3vcQ~)%7uIY*On9AQ|e*EI3b%l2 z9_@PAi9BmUeZBGYb)3-`ev#wr;Oq(T^}{I`)gQp0E8)*C?$`Z(-*0c2HCuMgpZ%8f zQF!~dANNw&Zm;;|i#4d+kF#*aGk<=+HFlxZjqo+F7!~b&%gg}2Cnm~z&1m!t6&N94 zmRS}x)hutx($IX(?2eAiSuZ_T-13+%4Z|ri!<*81gKj!52)PdxiAwC%ZskxI!15;W zR$$AaXGK`Z5E_u^BaZOEO$_nPN_76rjnTe1}}JT4kJQ?xKTtgN(jTYqtbsl zdc3){o+D?Vta_vOiz$Yc*Fv(uAQqjRod^CT56{EBVHB#aocpQ{XchelO&y3W)0&)F zWF446J)cy~)2|t!sLMEg?|+EcT@z;-wjT5E8SL>X_OVeUAi}JwL&vS>!y`RDX#a9q z05|wi?1%!i`5&b1rBGx6+QGRywFt+(b0|9P8~eT#MpXJNU*Te`Tb72uq|WC?)io~o z;eOzWz>wR=WI&z6Yhi|Z#gn#f{@&?gS=}UA6Qc6lFFdsl^xPP@s((q+%ueyG1PP1{ zF%{yu4-Bc*qF&z{=P{D+9hcF`H;k+GJVdCPn@>w(w%esOB@P}FX??jHZ0WL6iOQJw zqXhI1!R5OSfv}=9VAA+Gj1MyV3JcOG@~S$iQ!ArMy?x*=5$xq4pehf2I4HYB*8Xu@ z8Z6%0h!o+*a1!oFRDW_~^^sFCa5hY*c~;=gFlPrL*h~%vF$*>g19M4%!t!p<| z*>Vr!z|AHS$Zl#kaWP{})ay9i;;cw261KR-O|ZqQ*#71X>t$;`Vq!oQxp)wePvMtQ zL<_JxgaxkT%w9imlNnZUe@3H3lNuH%_Au1-!JZtc^t`D!rhn0zZf<25_ITPwPW1PK zZ*o|3mC49}Z8*O$>=m~R{0zwlg}!Q0oQx4G>d|g@cewY=+itktf#tkibw@O$GBk3Z zvv_ypwiGHQu0|^?v#IZuEzh_$=~Y^TSVdhwrJB2b$OI}EKXlgU>0XD@i8P~fqLngy zq_qL|n`rC}ihoIE{nx>&(<2wJo$vF`cfmu|!MIXt7yW@^HYy+ZgTigqM98L#uP~r{ zamH;{9x-hlof~y8rV-t+quSbLwfJ;8K=hgKY+{-&YZnN3?Gr%hKxd!&gwG>mLA2}2 z+U&iw?Oiv20i&@nx}kOc%xH|jaU}qZkYgM~7-G(~OMk71M?1m30NJ1@so_@a8T@uD z;9Zl&7HMX-teCkeL`oY^$1OMCv__A3hzA$NLUazb?Id!`zF#SnIBw3sYc;`{OA_ zof~%;yhVYCQ}&m;#8vjeiYsW6)MK&oGO4VVkUIPq zp{a>=JND)n7RK{Z4Xv;1&N%15a{@**hjHzTH>dHVPaN%b)bzD(OiU7(tY=1aZ+}}a zgpE<_2+bEs=F-hR)eeCLox4F9q=+cXle7-_jd?QrL{oZHQTkELOPA%qdg9Y42~B?| z(11A#T)eD9ocH=yKKP^a zz6!Hl%UKHU+M|a%nbynee0dBP?|+{t`xoy->?K*&Jj+P;|NP*@QzdD(`A4L{J_g~u z>nF`5{)_CFc{1<$v53cr}kH@E${BF$QEoIG8R|XS2HC%P{@shGY~6j=ZfvmK2Gak2*teIIiU=Ps z_U%5V5gLE17gm2E-ZxNGDbIE|6NA_DfaYP&54IgWoy!E6XbevG8u_c`AM5N~dWjxO z=UvAzFHSOx2XOc9Z9LKVsDBSRaBw=?(Ik)BZ~~_r7J8CS>#|plJF=*oNd&7Y5v;J6 z6U^((Z-&mr#wM0xGftbee%0}ai)F`d>3cD-E={0*Bqw==fpNuYrGe|1Bi`iL=8F%C z-QfFaT6xsZE&%J?Wy03J&5oa)@ncxG`QROi$CGaJx{l>HqXQ~_Z-1q(?L~;%rc86R z+0?~WP&YZ<$np}f#Y06b#7lP_WTamFVC^wCvU8iQ#H7T8;V@k}=3}O2Tzeq0DL!LrVTbQL|oL9J03*%bD}>=suY;q`+)~8 zYh6NN(M;VmHnYHH>Xz&xmXvq;zCQ())^a!{5M zNbk;z)G0*(DoQJEObdFawQ_KgS~^8$ke((SsFX{E$JI!434UR<%?qAvZdR5_q3o{o z=60LI&N`+Bqo~jjJVn6Gfxxa5+im&XO0$08UO_}H%I{{EDu0lN^)CDL#-^{}qz_zgRjE!? zEYUn9j++;0nEXMVJZ_1n{EADB|6K^%Nzu`b<%PAeoeX^yfP5sJ7Yn9)48D6bxQCaJ zz7f}W&a5Ek++0aaiaRHfUDk~XmGJK)0R$R!@ciw5Oet@YT-$gG(J)8NDTcRY27-BM z(I_EKt$%a~!iBHv;H`vqke47iBNyewNb8kzd1K|24v8Dv>|;6d*W9+{5}QtAQcAq8 z-qj8-fQ+4OPVCXV`7luyPgIeCNO&+hU$;Ts3^wtNRm_S^PuV*b346!a?yZB)@+Ff= zg$*#H4(Hi;VM?xPR|YrZv1?RYPV91*c8R}(7Jr{bvUg4cn9>X+cYW}31Bliwoo;5pv)uAx z{C5Z0tkKE7YaYmtUgLKp9}9c+2as|QO%r+r4UjYm6)ne)>3vNXD zT1x!eSS)r@Id6|zQ_yG?B|}MHVIow%$$yWzp}_@VCOhi|i>QwNU2U+Bznd9vl=%HP zsF;A}tjQo%nvyNic(*=+CcG@#7){4B^gV=~Ip=`oD2~YcV>xZU>7iLvXt~T|)r+0y z>e-0?p|xJj|1pD#O&D9u);PC{sV<|!258N=WCC1HW67AO`1>J&QN7y#;jQPSTS+9`rn>_q?41ZBX+_lH4&Vk%%JOuv$f%uT%Jr1znajW2#;2D>_ zk&9vzhUZzRasdeM0n`zrGC(WG3UYYqx z@=YG>Sd&lPgp<1k*n-cryE=9p#w^W}GHuL+KOvB!`YP!g&EzlhdIIG9R)3p8Y+58) znLR?zS(>N8U5x@XlNhum0ISsd-_`IDS!l_bl&rf#)RqzTYWz6rvcODT->B)$-;|gk zWp4_(-?TAT%IYMo^i(By#APIW+4Jk&9nD*}xBWCsVZsneW^Vg+>+9v0V8erEn5yo| z#w5D&9ck(karn__=H}{J_GbH#^hT0*Z zGwN|B7jxpMFWlYH&gy-qL7&9B3l-@jgb_J4Gi zt7(&Tz$XJRIX9C~E+~K98`*N(*7ZGKp=lpV&X_RvC6i>vZsNv`$8l{rNt@(>A|VM8 zNyq>tS^4^&^)3J?OL3cN^8g9B>$zuNF2kd|5$zWclnD;@v$r?+JSIdQP+X`_gbTwgXszsN6+VnFfCafJv~wLG%z=YdSv-_l}$- zK^5jY{sgIhi^Bj1VGg4J8BrLddBg+G9VS3XI^5uTo)rcrq3i{+1~YG&%^oqo^h;jf z(*C}37v7KZKfv<>9+c_W8S@W#Qh0uW=Sz5yrf(hYz()U!*hhx5m=d}<6 zzqhi6^8SAlcuIJ_lfK6f=Ct&%xXQN3HC0TEt$ab$sA9v0hzw{*W*q{#CjyBybGw;n z*YY?JXqASk9d^s(RI~2%6IMKDl?!hd#4~y*mt&mm;*=>RipKIW!rsY%t<%0jCQ^L& z-0!Uy`a;&w9BRLy6W{X3QubT(C+mhqTrmArH3WZf@Hn0wTYV#AVLibB)*ER%93hU8x9!o zCiS9Sq*3Y(;Ub$`UWK+_wQ8-B)D@-j6d z^xD-VZfK0~vlRkmo?S|^SbA7GZ+Y;v8((v0zjs(p*6>8IYrx*{^u}OlLI(R=ol$R* zX;Tzl_@DS;*dy*!t&i`oTgR5F%Eu1G^KH+H42}T?JTFpJ%rrvS9tDEJj=q1FttXAU zXy3@F&9s>CFwl)p^9n(XX&*7)15=H2m%@NpGveLl^xWvOyG@I^GD zGzM<%u$^>z4g~I4|CZRH6DEHhgUk_luVz+!d2d4-ydMfMA92Y4nG=~T=E@)(fz*!8 zS~v*`_2a%c5bsZFQs-n3(xgvRf1wfxD`stk_yWlvmL#3{-_;*5&UmDFh&>OPVkbW4 zng=X3whc>_30$k^N%3r9G6mvLV{davleiFhSq5C$%QF0-W6L30{y%>J=k;5mQ2)m{ zNaVqNs)zfp3Gj1?2&+o{o+J#7BXX_IHwA^2Nh#s071!8WH0)STMKfU(L~*LSsuQ%8 zr#aw2C1FrnXZMhO0(H=`6-3y3UAty*25AoQTVu~|Oc~xdpWQU#`{Kuv|4B--w_XZ0 zpDU*JEyq=5PEJT#&ia3rhYYgF*tFVch|Er4&&^xSaN&nU9aAjsd0CQeY57$GE%m#@ zgn-@1J1INSlAN+g6ZUv0K?w5=Go-Nk>7L(~wsFY|*|a6JwZgTI2gd}8;t7i_XK40p zmUTl>#jU0>#dO{vMwaN?+}eR_JwemeCjBzX2xwgHrUcToVE2DRi2>g?Dz!WQmb3Nz zHSNIRGEQn0zXzs`ebFLSHyb&^X2Bx&usGYL_5uZ=@X>X*kxU~txPFF9vnpcV=-b67 zi)#!*icw8P`GlZIF?ky#St1GSpa|kQzyc!n_0<-`@EGEPXY(ur=e^#oF$Tw$mrG34 zk7YRz;usGT!zO<*ulc=3Bjlf!;-8{h^agQOGEU3TcvnPl3W+j~iOV%MfM$DV%>LDxl(Vg0d(jLFGT-EMmI zi!zT;)rtf)HswmIEj2AGvs$Ah8^?$4C6dHZ1W&i->1uJHy{oqz11LqN^D`akvq&Pi zUY*X6IfZt<;D%GjY`jIg{i0WsQjvsRS?lO3rNLB5WT+R6X=8~n*McxKL#N!=l3NZI zT87kzeA9nUd9x=A$!x52gd=8Eh)0xUiUMAhZjiS~0By?hE6d&F9GAI`z~Eif9flIX zc(o&O#;K>k7ss-QjpHxc`lW0QB)Dmu{Lv^2%N15cE6`<_h~1m2z_}y3@2;%TI^dN1 zdMr=CF-ni}ED5qy48f~8h9|7$(G-IsLu`3OOfo+^g-*IWhvwygtlw2_4^#e37$U+s8^V00SNkhGt5g5w` zQ^J38>?G}CpsWpq;nOeml%XmKVrOxZ_S~bz6R{hco-#gMjph90-mxA$j0SKn_=G=N zS%O6PiW3*qAQ8V?MJm}_y%N7^F(FY_pLcuf_zaA@aqR%jeUW7zK|k8 zoR}g3yq?T$x(q&_n$Ia0(~G7iHlQZ0`7cKxaen1eU^$d)c`Q40GS}6h8rKb=)-6w* z)Xs;uk`sb+R>hHr&95Y6yEhic=>KT+)dq$SpXEL%TTXMx$5G2gVSE<~b@|@n%u#&P?U1p}Pq=o4ec(51KVMj#l4syJzvy zq(k81I;c2iqb@$JAet&J3NeiA$mHO^`51972TdfLiXbeK2b9kvzo?2)bWzM2<0_4} zh|?gdOiJrZ$>zUd-aVF#;qg>f3qoOYxr)6mvcV*T=-KCyiG-h_Ctc*eD^`DZTx(a4 zpeQ_#06xbd9HX(Sf+9-BStRi*5Sxv6CrIvdNK&Dlx@Z>pH69t}O^(Kwji7HBEey-j zAMb3Gp3*Xz8mp`hQjI=4r_9odPFa80M6$v-an!3;f&xeOg2^raG|K))v(F!#wWg&4 z*$|&U-J#1BP^IFvy(*=uUS5BDxkkEmEDO5;W2?5Y>V9EY_|GKe?_BEsH29z*PbFUL z=4m!--(5AkJ*#hN*|k@@RlUS37p&jc^==PtcNpUpx^Q-1-F_@m!3F1{6jFe+%SAD2 z^zxt;maM5+GlqPzF9qT6?X^0sgyBGOM{tA_yrSA&YYDm}j5VsXDKUSAX*fR)JQP`) z+aWtAEY_WBH(4E531=YNZf(f5NR!Ib2{_7)kH)bOj(8=Nc}fj9kW%N5Q+HddILH%I z0ipScq!!@lNitcANTVPDUXe*Z+f;LmmtU)7L{TR(^E)WAOHogVop*vW70SR$VLmN&BhZb&&t(cZ5JU zno*|5)8f4YrsLu}Ub?I2-C37TJ!9=9kspA)Z{(yHbKQv9QL150@t;x`d@p0)Nk6K+ zf8ASGVfLMs(VO$O+t<5hcP8I;cipV&`|6}Oq>`@nrYR|r#AbhU@!eh#yK>U#Ns8%R z`rn(&-I{WTSuD*wZcq_}UdkBa?=G-k6bkCWW-Zzg#&|yEL2cBV+{RwB=x+KZE=-b$ z>Ic-q*>}3GO4lCIVU>GOKZQ|3C~2G(fe_SM8%T)0=Sg9&@;X1UTV z8msNlDHc*xub)Ti2mscdioEy2wjl)O_)ZD&zEJ9>!Dm245hO{EZHu&Ne zP~h`>tWVUFSs1K?zkV^kQ2X&oq_@s}o6bt|(t03g#{P>-b0~{(>ZsA}fmnS?xHWog zov5}pxq2Is4kODGL$kyF*|DE{a8B8ZDv?wAa$!~1@~(gE&j0>33BG=r;_m{g3`>WO z>T``_5|mP(eA^qX_x#nfH+LvJrx@u)rDe)dFZ|~svztPo%Mc~2IsC647}cvx5l`w@ z5=`Q_CAaL%1z3F1q80a<9CU6B4Jw|xt6j&Y%)F|n(HK)|@M}_9&M&3({TKC4_O?RY znhJ5m1*?B?uGy3=R$eiQeg|i3KKjc!gBty*4^>L~tHF&qUn8KAD~i&mZgltuRHDTT z*5W0xleJ13Gp~8f8DIUkqPO98NtSQw!FA9_%tu#l1-hF`IOItX#Z!rx(?dyzEXb1l zz@6{G+CiD$k>r_JI|N&^%@nkIiA_?e#|IHAA;{*_o9n7}UfTnab$ zj>ojza9@ARu>gIXO3lLPvm^;ezq5=h?*}lgUK-b&;Yu?co7;oG9I`*P;VU~kr&#Ln z5X&e{b6z{65R$c=8%5 zy6G&PgdfP_f*=pF8+9mke@0MX+SDK$zQUUeeb!LU7}?0Nlxws#>nQ z!roe(#LJVs_9mRh?Xb_Q9;fp#H5IjOn}6NK z&XUqZHFN|oQITfcI)BEl^f$UX=y@}p!5}zh&n5qilZ>VdFx?}z>hX2WE2hcu>zv{L zfxC)x?6zu}d$EECJFV72kcFik5slw35z5G^7+HrvB zWyclasnde%s0co@$wRyBWh-TS#f_w+BpHJY=nPWIW zbubL!3@x`CBX8YU4{NF)V2vq==b0jAM8FB((r#RGsbIFZ7;MtW=c0WSH0qf{5-B7M zw2)=3*En~jjpf3_&ZUQI*ni|+aER)eSFV3Z8TAj=n3+rw7+>L>U^+D4Ydwk{m;A`} z_COoq@Uk0NcL>EtANl=i)AGxT7_JC_%;X^>VHn)T2VAgX-bN39FHM{g1|*XY;nZAAod~^FRDbqJCKSY9r&WP% z{?=s7vvz>GBE}=st6vRJX=Heh?g{@!c5^;p zS@1iN39f|M;bFJ)_J2`k;r2pSKytX14OzPW9;YIjx1=tK07eDpPSL}YU{7$BU9yRz zJQ=7!vet_y)@pef{^p*Tw`VRm&|9&D;Hz%1@=!Zm-pdkK-s~HvZ(N|bp8UJP(fiIr zo1w%7tQ@Q}iDF|$m$?{QV^-H9QB{jUjB14AXQ}0B4S#lzoqtYuEd*?el$v%}5*l#L zGK!(2fYq*@BC&OhTW|*y^$Zzwox`Xw{>+#tOA2_VQ7s*0(G)raJURavSDD9?lV8t& z{W3Ovd@EsiP=Cd-zkt*ekWM7tl@US#E31vK4qtLjz!j2A^?rKqy)H$6@K?AHHUzbs zD}G+G#A7@Z9Rn(ItN6le=QW@4e(G{U#i;2J^olnV1fZZT;Y_Ieh^#>ntYx%n)+)Ji zMO`DaYQ->s@)(JZo}`1>IU{*437i`H>Y!ol78U$1P=DzX&yw2mNMv=)imD8lTb5Kj zPs?&|6j_$vRo*AHN9CyYbD3-;zUuMd`-Qa$x}FCJZ~#HBTIM}e+dEY{-a%vD#U81# zo^*OvyGLTmSoT|N9Htp4RR#v_eLDg-BTEg7P^*S=6FWU@^hULuvuWb&(R<+$Rc6KJ zQWUL`g?}t@-8r8kn7}MJQU4`+UU8|Qb>gwy#YU(XhRRBBn{&r^32$@gViH|fYMi<#6h->{g`V?L*MHP8#J8nqM^TB+$M8`$4_s_Hj?-V- zx$et%kv$0bE)Yn}&ih^VqsRlGfRc0F!FH>%k|?`DT{Exc6jV^-O!IsPH>q$)%PGiY zwdO!9rl9{>9TC89RU^2RJ;@ypg_d(xTZ|aqbIVEx*s`m}<$)=lS<%3Cio8q2{~oEe z$bZ>@?is+dc@^GDjI5wlDnc%;#kPLIwM*4opPmGv0ox8Lh)0%2ZiPPT;)yCDQt6!? z*5YK>IH!UvUr)634DT^8`c@ADyb@Xp*tIJrjhECr>w^Riktgv$T^Tuxm9tenrv;OX z3npCd*zXs@p3LNWpv7!mH@)g@qdna?TlX{DX;1lFgiuB;vN*8Ca<#=?Pk%x39{%$2 z(-iEnuOE(&-ku(RJU@G$O%@tgR?AD1G{i5|)c|cklD|f5fsX5}?Ubt5KvW2*Bj;l? zSEM#W(=YTO(?DKKf)u$~2BP_$LHqId%B4+3pA}vDEs&DLs%Cj=NW} zrv zu@aPoD+y|~v0FScZ5!TL=n;2A1=bx)3da)CgWLVIvcWo*V_2|M<9@E*;@bHOE9X!q zhPqq~ylO3my;5c(e|l)Xd}=|yVrObkk!$Db)u=RXwQ_J_+{)DIb(3SA%34q-1FodU zCoX;|CAqU&Iet!KDHe4%{H=fVDW)&QDn>OTX49}yX*QUR+VMC%ZfcqbXaewP#J_~! zFM)@JriLhzrUdbL!G;GFuwCA(apxP;SUs45Yz7YfS`{IjPBcRFuYD6Zopdgmx>)*= zYn;v6gl^X(UlVO(6*_LEUOqhl}k7k z=JwAJYK025FUKdxUyeT>9-pzF@qC(8lTSyV0*9`3?3yBtK%F=!;vz~+$$foku3*N{ zthrk>UC?kK7qh5Xvg<5p~|YoSap5NE~EnQL~c z+uljRF7B-rL*^93AgF&iKhT0`=N91>Ug&$}LeEuHl*O*Sppk@j69#o>2JL25Vd}}e zy;SFNJ|VZ{Vyn7ymP@D*`Si?&+{H4*>UQJ%mpo0)h!npY%L}RUC{Ar&$Y*dHZ1UsEvt>b zt{7;6{Zio-L&DT4%re zS0Tmj{G|tE#eczXBzO*jJIb?)s3J~sM-}EtssLiMe$jKCbK5${SHzCqH>xb1qeu>c zs24{*yg`|dDw%(Y%ESgy{u!HMWE=A+chQrPxmXvsW))R}`>OE4G*#hiB?yq1I?C%j zI7Su89g<6((x&FL_3&xfW???5x>{}2`s5Z2V%-=UmkdPJ?{zQaThEpvz`|0?V1LRa zDsr1PwQUJ+MzX8&D63NidnMtjG}yzWvip1^6x|CFy^?=DsZEro17`CQxwzp62ax$k zr4g4}h1t5ck>dHM!TLUE;ewN{cVjhTjuH}})HKY*yb?dWdGCqN$6&t7P(5RuYxg*n z8et>*v0&sqM(L;xqzHe(%O1 z#+rP0d!wSeqO_Qe>dSYo{GH~O1WtZ&wscO7-O9pNq!pAbDK9*1=uw5m2o_ay z=&yW|TMFkM75RH*Eo@I!==OZo?Yvc=?B*Wh@v(neG5AVi)5*Av#vd0j)jY2$x{7f3 zEcbFIKH!^V{(++4RkRFBerspxj}bspgD`Y6<(1A1%-@tIToFO+JXpy1En=`xj?RVDqcFdiPBkWPE?Z zC&`{`^%1#b^G0LKH_p->qoG@k+C9D`oF9a88W*nK$z1MSJ4Wpi3_yt&2~Oj! zb7)_y?H7f|xhG$7FCQyMk4Cr@Msnzs${e^AXw#IMMIjd71Bcbe0)B!lxox(}Fz%*l z>^v4LZBPV90PT;Yec-2PXuM9Uj+%ej-V<1>qez*L=B)S*{4^aTMg-n?@$PIr!`da@ z`B}^W=!I|S`_SiXB#hGi%qywms4R1(QB3QO&aLl@>*{0JtCg)6mbiN_PQI271}w{) z+I#oP;iQg}BzC`ZyaTxp*A>M{TWvk~RkVammIX#}Z0MNM3{oHZxX^^HB zJt6B8^^-c8j9Hnzm85sr8GC=ph+OX|@7~yONs&5bmTW2B8I+KXs_mv1v_Q8lH&257*)vSI(lQ%)0Cgza^>pM!0$8*m%w9y~Yjtgc8O|z0*46GsL7@lvpetNSas|1g9b_lO_-rQCH?5df( z<{pJM?WlU!-P>DOWiZ=3pL~tvN!kAt)M8~G${InQxP&@vH{cuy>FN8OrG4jVtCFF{Z!fzI1!9&(g|ULpr|_)K zS;xMn;Go`gfl@L@)kP;AgfTAW_Ndd3D#|4^sXUrRDVXLV(JJAh-$JP{7Aa{pt{0)I z9FJd9nPqWQ$0MGbB;H4uiQ(s*ow-;!|s7RUyB9^WQ z3=}=r9fx9MptX0`Y@c0b!->AXdY@nWe<+oq;&8{f8z^Fky{aIncy*SKVLm1%o?*MU zSn%moiWX#fu04O;mo9>3+*{#`(Yw_1;;h%2erU#e-@y5a9@+E zd<2J%kD|TwxW}YIf6JF9xF~BaCq@Rt^4nNZ;`lk;%6Z|krj?C=u&30Y`PDFY&A6Nf z6Xr<40H2sWjSyt0GN!c|=89sn#6I#Wz|bmOcyW)LD4kqdA5rG=n()&v zai%$!Tk(IPqPqy8nS4(fVP))4EkI_)VF;W_CtI}D3kIpLt8Nrdd_~q#MB1vSs_G3> z$xhIHr?i24NwyoI;G&Ak%%@0D0LBlH;F@shi~!tVhzjL$>MBaKaF`)CBKP)~oJ53@s97EzbfmD7cqG0Et%Zp1In zS(~DD!3333#O#_6FKPgIcxzvy3w|6vb2+n_slp_mYVxNldGJnIRD3UFVWSE0SRg@8 zd`Dx8Vk@;iH-e?GvN69ux-fUHKaB*wOa!zXC}f5*AH3jo?s53SdLgN5SIe=A^}q=- z>gIn>>ZnZ05gbgP)XvI!fI6gNcUyTkhxGsc}~s;hg6GJ9%6Op%Y$64wM5?KA7cfSQwti=NsW19)_-S$LY+qC0|( z{hV#+lU3$b$Cb?0_ifFOZtCELiNU3+jbwkyL5-KzN#7kAp?rdb5yZQ%9(^4(E^RPc z=WXw7$o)(Js(u&(N&a38q%LeOVqLnMl<;0@90uM4MHIeS5&iV}j6a*LCh9mLrJ5xD zCyk0cq#Ft_jvL6hWWBLi#ePbw=3m^~AWN&4190Any$)N&1AmTwbautu=oy(o*qMJ# zmRi{m7_Q0j;W4hI?%1cCv{t$I)LfL0wddE_pR5yjW;Egzrf$gGOV zVZ_h(qz&Eq*IdkwJLH-~k_ciJ+~_Fb?DT)tOeO7FC?PNY#{c#JaGP!Jg^k89;9gks^P%I+ z?1*obeoc9%^iH1q_BLQ`)#Qj+(v`-#Y@-+aK_cVc3x+}2P;(p28mh~vEUW)Q&c}FM z;;H112k#fjGaXI#VE^kEc^|F|%f4dLEy=!F&X;iYPDLxDFQhi#X&(y}>c4*%c{xhu zV11f>xg{peqoN)oy<#8fiRjD0+WvIyVr5d8a`piKHw*gK|Jk(+y`NacD&wsy@ICse zy-bT+K;sR=kYjjZOacmC_Wy<#-2gYPJ=e>P=ckUQNs!LL&v*IWdz^E+~JER!ei+HW0r1SMUhVm^2B#eRFIj z^&=fO)=WF&=0M4itVSk16qVHNpYMLV07b>pOb-x&-Nin?T`2OFUgUi`iGKQin4X+{ zOk%GLt2|G=>B7sBu&7F}D9SL_l{bCz9@S&)$Eu+9)&DxZ87_N|K~+`iCiH_OPt_L^ zXlZ|KOylcH&HO+Y$`GMjLLgB!?HgK8a=ZxTduuw!G5E3MYo?K+o^?QE-qX*D)^}f* zq?*lM!ffLdK#Eq+QUTocbQ0>K@ParB(>#`l!0w^sjg*w7nruLTjTx;q%z*Mt>qWxp zMexrki--v4E+_Ou=lEP$wR~RTZOi(R4(D@*U(pkydXX`R7ZmsJr$9)Q+LVXJ5`->I)2f0{V=8e^a^1tC019oXeyHnwg zaIUjlecpL+yR{gF8*B3eIBRUB!=qrmYXu^KMnnB=YsDvAG;6jmUY-+wd#}>XdOGZ6+H=hF_C3QoCa7@`@-}Yu&9P2PE zE9aX7nnPLSLK*=rPO`Af^8-k$jv?&}id^X7`(T^Ua9h+awZs_%gpR*ifE0g;`oj)5 zb122JE<>FTDSqfV$DA-|e4((SMD3C#d^dZdRP{qq8l>@MW&3txt)ey@$}x!mROw&yOxhQj9MGnHVjizWkg`PwXQI*50x@asV*)B zl(n=h)Wws%!2z{4y8*4=G3tL9Gi&o^gA)xucbME+avt4OW0>4;_g;l(UrWy}g?-s_ z^S|}fi8bYGgkD*e1i&X z&Oy#OkF~X9goKPQWQ)GGLwCkQzxyc~l$577K_}ej= z$i4pA#s=fPSVVM0x1CAMzP|hK)AR;6ntE@V+6O<$i_sJrck5i@Vu^N_p8XDus<6nj zQH!EYuG#6y`-YIn1~RhqN-Y-35!`=|j_G6H$@JtupD22YlU(p86EZM0HwrIIWo~D5 zXfhx%G&MFjm+>G276UjiG?P&-Cx4B%1yCK^)~=1aYZ7b`+}$NOL4&))!eQa=?(Xgy zEV#Qn1c%`61lP;n=X@voeE(l{Z&3yP%pvm~J;&&7$cW_>=>&~H20$^8wF4a!JtH?j zSVl;V3&6<8LeI#^j6g=FWaeNA{P!{fnF`R(-V9{T{SOCWJD|S9`1YXHVgWF*b2D*pGcp3085z0$#}Q=54G__HGBX0m&;ukv)fm6* z&A{O7>`bq3Wls;XGvTMA1%Ei3IhXFx_cwewIGXz@OzehM)8v*SA@0$Y@C8Po0Y=GAPa+dy=11;d+_Xfa3&-9;k z|Bn7Ek(u@1!TN@VAS)YvYgaRC6M(UqB@pmUOq$-o#eo)}Z*BCKqkq1oJ?K4N-$~!h zQs3a+;cw;o05L&%fc|@d|1Qto(9X=p!JgjU%<``i8U9N1ewRh9jf6o~RzPb9dxXFA ziI~{|4c~9OE5pA|*1{U(Z0-JUFgCL`GXARwBS#wsWot8AN1%krzg^y!5dN&00385q zjEsyN>>L1~Edc0ZXn)G^S9&E^8{pqYroWcoEAVu;0oeeI--`fxni&J%{~);A>pKAf z4t9<}PxpTs{+ke(m;gp*h7JG&poy6^!k_H#%Ru9Q@%!Q1nYjQo8Q*)43BdT*&wsA8 z-`mRwWNqpC$Nlf~Wsv-;uBs$O^RJ5kV-perxd7bh*f;@n%ztc*0463bHUP)_h39{# zk<&N(w+zNVu@ctCAOP3D)V|-Q|55Dp?*^d!_i#`F{yUc}=)G%!0Lnj2uEog4X!!n% z>HoRa{|@>8>+rv_{NI}Ve+v?Gw6y%&O!>F{|6|s-GP893x5InWIy$@$fDGt;46OgR zt19qcLn{QbG=KWvHVFs)_c0K(HnIHAO*FF?GjjnN$(cDAn*OU-{0iVSU=aF48~_I4 zKg0=O5cxw~00zr9bpuk@6pU-%sT~#Pwd0{vUeZ-QW+s?{4@XdLI@BLy+bBvHZ`< zU#G)h^nVY0uM+qVd>3f^2j2x6TmHlP&L;oBcg3dvz<0@J|G;<6=KsKV(H8%}cV+*~ z{4U$-4>G-r{G*xeJ=FTWkN#nQR}K0Pvc3m{{>%Jch0Q0STE{~8BF zM?1Us_rc$ftM^&?AO8F00|dGN4H1^+L54g5=05`3?yCjyoauHa_-4s=Ra268TaJYH-)RD3NUo54FJ$#QHRIZ@>DFz=oF#9eCp%T~sM=6B`ys@SCv zpUYiP9tHMH|X*kqHeSS}JCDe89-5e-4VpXos-6+-K|xep1;FDHVq&dxUfobYMdOV0>TnSY%| zQ;Tid&lb~POo%^Yz7`EOwXk-X3G=N>ho_F1!e2$6IGeXFpOn4G991coe0g431uWrl z65LzF)~iZS&2&&>1k72vVikG+SQTT5orBa=h0LLP$Q)z+af_XxsuRzv&J_3cfj2Un zEvJj!{nNLS!$Qa$deG+uv4!N1mVf$Y1caf)v$AQ)Jn;+_!TvC23B4ykG(-$(Hv4AN zYT^ROoreOLJM}Xh*e;yt-*E7(p>8L>zrWYyMR zgqX>-k>Lu}3bxeDx^FtI)j*+g97s^oVzj6O`rdmV7<`bZ5#;&F;D2rikG3WGh8de_ zeg6i&yOp8yQ{3XtME+!)Q9Yf)TS8HUNAUYhFH7t(7m|-@$Qjg^wIWFL1Pm-(gAqw( zUo5sYH)r^ysI>un^CTNdp$Q^ob$1}il9)4?y+DiIW(tf%lA?`{I_O&Cw@3Z=9X8Z# z(@f@0>ZJhDs!{AuD1U;i_^J(G@*h0<*Jn{DHspj0VFn*uQiwiL0DKa@PsLzEvLZO) z^)NOl2T({t#*%<+Gq5mcLpu)o-qgurfF^rTk6=phU$Lw`DRHL7ckGX*v0P3?kXnn{82?oR{k#=rlL5u2 zQvzwKmxsj}!SpV&i4@kH!7ZR=lR<}8myj^4jp*k`;nb{7ul;60j)-21treTb*U&lz zQ%F<;DOmi-oPX#KMU2_kQM2gw@^%twdpzpiBI&G-YtVGuSvE`e3vDW$Ov|q1uh>_- zBeLfbvkcf~2rC>%p$F~1P##F4V;iLFnFu*!4rhKdU5Z`^)KV!`=?Sgh8efr0iL##DCNb0YzZ%+Gmw`N2(cFQ7QuU z2!Hy@4Wu4?lD4LqfwHKy5X)B&%>o2`UmWJN$@tD0R>v6(EhetW5U??4Z>NgFB>I() z|59{XEUk@1!Dy(_`pLL-uV3~fRFUX_o3S(%%LulM32rp=E(;ZcO|_^x<}z8ctXg_j z!Vkf-`+wYK0abbVgCPv$t`4=gH&Q!fBMyjAS~qg37!*Bw2MTh>{i0&!yv><(iyGyZ$d0qZ8spr`RuhI<3YHdYz8q?&}5^e(kB3uIlfdsbr2djb*9G4`v9j7Faoky1`rjI9|#b z{Gh^l!w5e1z}RR1D-S%GpIa}&H$_8xTPlr@{%B~1M`@s}b$f|WEp-zHcsMk+n*Vt0`q9iF6FCY zI0^?gahzfn;S5`UqeNEvIDQLwi=vY_BM%?;lCe*80fT{sQ0kYf&skH-Pki*Xq>4pGN4R3WXX4$579pZ>x9M}Is@ z+HK^x_{s?B$Zf>DV8L9|gx3Mx=PkUUvgkSmOB3*sTXhK2$TVF2*@2j3%$m;jHZw9z zc--e(s{Cdvy$pqkdy%8rV9alNo}gDU&=(DC)vmFE zXiTcp#BQtdEW9#Ees*k|xJc)@-bKq8gPiFXF_Az)bm1!fjA!RO+>dLD5L~W+A5l3H zhLhL0?j>a!ogb=jq%(5b%gWj@zG)xIA(M?Y9~WgYFFkd7FmMyznUcM8fqz3ZfI+t8 z^v!lji6#J)90}3lWC=pkqPc0c>Ds==wbGh4ab7A;o6X_M?Z|7_P2!9(%i6f5Gopg; zE3K+2`}hfmL>Mkmh6K@co0HI{CO0PQN*V66GbX(%G=vKGhmoAYjP2lWhKMn6Bp=e_ z*3ik0efD%tKw`16Z!Vak>3_uw>o*pbh$DnU{?)0x8z}6~uBOSFq^-t17mhy)vuyou zeaUp^g{{L7wdVVW%ARd9Hb}~x?qxEo=gN#e&MY&dt{~&~n|wmTD@`<4Skj<%$!O@C zvYQa&l#Ae{6!X8<`_=6QJE+>Z&tP=aC~Q4HnCy@;Avbo5hu_uf9e-HcZai`MdFNv} zg|&2qFmMP)l8uYpHEbmSi2JCMKKgCvwI1*1Q>#SFAfr}x)A}bJxssNln{phfjp)~( z;sr*(YXz7`N>X#?pK~#PN7Mv|ST>D~sWL#0*l7g9L`P@;)bg?^dO>)#OB0ErA+hiw zqz0@q3R`7|0qfW5_+zLtP|DYi_Kflw8cd$+57dVgG-=>Ch!Op)>m**Fof~I3VJ^$y zM`R*v#3*2&8A^Bb*y-AW>Wy-_TB}qY7S`QY^`QAte#oUIQh$*?A7(rAYp)-;w^hO4 z>q<)AYkK5YpX;B;ph)gdl?n4&Jw&$vvP(p6;q@+HeHOdocdjCK!vixL1D!cAT#+}Q zfH+T6X(ErCLacM?f&F`l_PxBGaG1u#sy)8!b+D2akk%iJMEb>3kV^a1{k88A>r$cA<-i$CS|dUHEYUlYr-r*Sk1 zc!yGn{`!4|LYo3sziS*|GcDNJLZojw4SF_gPkQz)jjGq;_BtgjN~sp{VUeISzXNA+h&a{r3G1^ zmWTa|4*_3}rJTaz@R)g@1mmTBjO6KRD+4HYA{n~8Pg@xDHtJ7hK_>~$hoWHPgSlVU zNC_*A8h>c-T+hK-p6ADND22tzB1Opp5CJH)6{XleaYH`c@**!gz%QRRZeojPfXruC zoAjS!3>nKC)(ZMh`RG#w#(138B`{tV%>QJbUjH-s zbW3J?6z3c~?CSlKJlwqoT7PHs*4&v;x%w$zqJMqXcNY^(39rUAW|l~Vxe_X_Qd~5oEY@aG;I{29XRMlc4&qUgO1DT0IIUN{KffVsX24TPNV ztPnSmJfi=(+uW!EDh|=nB zNu~7d8(tx)cAi&fyu!*t&qz71P=9ESv^1lGU+$?ErMRGS%Rhz})AW&jX$lS6;6)Dz!{?FrK?GMnl@_x#EiU#O?3JO?31pzq$)e#%HO zBVW0vx~TI#$f2xfuY?~jyo8?XQZ^3y!)>aY6P+f~n}r6qPDBG)*ghTl4=5q89&Oc z8a&*hdBhgo80b{^$zge6NefA`#ahMtt%GXWm39Jcj*kaw%s1Y&q%~ynlITVb7tzUx zBR!A2e}_u1*Tv4O9<5%OzPZ?8Y%YUxs7^na)@&*4pQUXoPIcR)dk><12hzf-mXxsSsbW;^FcGr1BGaG=fil?yE-vX&yB{Fj z@v+jp<7$|b;i~gEY=6b8%|`N-Dlro4%X=?k%;UG*5+H3Z*2L`$^iI5mthEv0VcOXq zi+84bM8l%w{Co1LXEXNcj0qvWBtuMapy#r|SyX_SJ#3siEW3aw>2mNHW(zSb64%Gc z$1t~f)8lc@_CX(@`ainyC>l>F>4|_R)`ZUim+;UTxMfIaWq*;q%P$u9g)?Uc9|gMA z>}HqZhZlRNt$k;7eF#VDE@k>o>NLMjY_G!78MBf&fvv1c(}`q{^JP#T!)%8Lg6MrhiR4Ke={9WP%RaD9KHS-v5;xJE zZ<;~DFFQ3DAAexleO$~TD|-9QptBzcw~RpbNMwUUZA6hSqHDEV!z&qHCs~ctb}MWU z*-Ww0tY2a^+jaDc|4T1dUC#GxoTs3HrSFSMa6Y~JwQ9xJ(*mb@lr(Qi|AsUvwKVBrSNgmg`voeSnEfvHP2bW2V7XrpV})!rpl z0mC9eo*6KT=|7?G5y8@8j}|VpkA?4fkRNc*Q-8u>t-CU`6p$VJakTntrZHD8{AT%} z$A-9VxcBSX=!Q6Rd8Sr?7vC(Hd(B?nx}C%+<^oPKnDf*tXb@^ymNFytA10(Jd-tPx zmPqR8Ex!(#QpUfPLi9-k{8x}@FboU&B5XIyXQ$j&FAFLdNx2xNCZd}WsRC6rP{;En zTYuM+vP`-4^YV<)vqfJo!AuN8GBH8i4}c8aYp@wA-sFy8Y&!ng%s76__O%&dua5da z2dLLq6b5}#aZs*6AJpX5Y8K7)z_#G`crFP;<=0PV#NYFuJmY7Nl0F>~R%9jFNT9We zf38tbo*lb7-lSTrmlUY{HTUM&G8J?fyMLpX4Hc$7Syloke247_DR~~Nd|<_yO3fJ< zmy^yf1cl&W!IaQYC@`MWfTj+a1O3CND*BY8er>SYR7k4dos$Qy=+qxOM zOJmW9yC=nPj83A;(WyGN;0$ zy)yRxL|3Kw$EN(@ys$MoY-t)~kD>MVq))BGG;nlT&lNrGQ=%}?y7ka*?EK1jRmgZ0 z;WCWBMpis}i@(pGX2&{Qh}Qbye2Yk@A&N=*bs$7z-H801+F5%ZqKSs90-sDHCc^~` z*HkjJEGkqrpm{-r)Vps@*?*BK>XY2mNScml%ERn%bP92}qWPBWFHr?2&XHt~%Au76 zTM|*2jw=d|(2tnYGPTCPJ0@y{Tl_8t$0ZxbHa1}~3?M_z(eXmNF{JqlgGTV=ng>E@ z_wF*=kYA%pvZXIE_7AKM3Kksm7hV7Y)?UPcS&c|KaNw(P=YYN?%6}l4&k_Mu_5!zc zy$HY1RW%8;WNZd(mXK4K*2`XR7#qCbjeIiP2KO*l#1;*q*vFyww`Qi(Q*Q%HM_6j(@q+V%y%{cICISs0&Zu=B1hddxu7G} z@Tkhx4qxcvrO7x^Ld)Psp09*cz`NRH6?#bzC-QN^yx1TjqP*DyYbzR4Saz`=SIq!- zfS$(F-m3aHS${VSu$5^6rpHwNmP)E(H~z83LHUhx$WaDoxS|Fp;YSn3w>lMm@A54x;;| zJ&+tC_wh7t2V%#3>ojeD&$zL$_5&q;|$o856RO^E}t~0&=S`W z_w|4FmRj~$6sGgi?Zeg=7z%(RcaF)7={j$$dSR+z5snLM?5=aMBI&N8onJm;edNfl z&L`cc(`0kISV}4jgoKPV6^9wVS zIDbA3rKToR&y;fiJu%3jbfIF~OadY>`1c{|S$AS(&~{VPC_6W6IieHZ-pyFRN}_wH z|2N&^r-y!_2HTdAkx{_`0F*ZJ*yN-r(Jmyl*)YbYCKh^9{??#nQ8nX?7hat^I(m$O zj14K_g?aMx+qp2Q`auv)XKkvvH3m*}71CU!n1R%gpQLvJcUPN%!gAjxuYVx> znyci-iN_fhn27D=MC2H`=zPDm>a1b0V!-etS5!R}who5XpF6|@EdsLRT+TucXowmE zXGxQV*2db2sin2ayboN#i-OVG@F|f=VV6uQu`&zD`!-%s(Rq4txw_{@AB2@IFnY9K zB@lL+=wS_2h;#65bPxVKlw}%PG=FXdW;=&Ej)8_UucFZ#Vu1}sGR}wWI98(@GMts= zK@!hu0MB-r23`a2Ys$`XVSS7!`IQ$o6#^^=_XH@5i*s?vQZ4>0GB>-C&of}mBziS? z9)Z&o9)__eD1clyozcDviJ#*$5@v)FIIT6<;xI!H>c;_(a=rHdXE`Og`@{R_c z(ohA>hSuhjhaY{L2VMF2dJ2*zE-y&F)Q7n0s3Ju1GhVyO{Iq-0V-;$XLkbNzg(A?8 z#{%nCudX|;tpWq=+5zTG*lzwla>}B0l3cois;#=Xem542NXdppxpeFco9f`QgP9bi z6xj*7jf^2gHxHv_+)zcjH-AH-RR}ejQaGgEm#G?YqWeKcFGfYk-8{dQ60nyg-pSKE(L;j=}rWgV((tBYEU~o9k{Ts za|Pxs>385D$$g9&1~F$gBT{xHt2_F+jwTDb8-F>zZq#(I$8$s*H-Dj%wmZ=*gzzxK zE>g|-a#BMz9^N;5pORl7KV=L5v?#WW(2r|$uHm-lIxLq;i zoN2vRKWR}yAz;FsB0HFG6&=xt))gOQhlBgoyX$eWe})1S_J0yQ3D4X$VRlcp&a@#2 zfoFg(`IcsEOPk$hJb6!l0}WJ={!-CFTQG$-U6?uLcBpuCoT8HU%7Nh0(TFDId6o*^ zB!SiDH*OCPOSnZN$%G!zESvib5~%U`iTgRR$K{B2;JObOgN-?hYpf!Q%PrF>#)~ix zqH1bsrL$) zB?N{gb4`abx~7@rm&x_RTJr^|des|S2q^I>TTEKnx7O^(keUn06jGI#&!IPUp5PY0 zasG4oT!;^cq>lpBazIi&_34f;iU~bwQm4@eB%!?D<9}MJu|R{xe9elE8uN%wfUH+U zE0(c1hhqF%rm|psDi;*RYutxBVs#oDwbX9nYjkry050DTzDt_AFXecp8uey~fNjD4 zY;5@%L2xEavVQN3IRrlThw}8;q?sQ=cgZb);S2#Nn2ukYxy?^ci7*0aP~lh=LU!9h z*kS6o&41awMi;~1;gIQLy?S@T{K2*?Au{k}7jxn48;d)Z;LrU6gcshzi?N{uxT-!*%&AE zm2FUqWZaNpJp&(pZ~u%4$rAvxIfez!qd@dW)_+%zw>3TH(!*Mqi5IpBz!WfhCfLoF zxBh5MV(dCL+bY~z4V7|M+lqS=@!eKWTF^0_5y0VYIu)m zI7uu81kVUei+z(neU(|ElPvsf`4KQI!vb#))tVFXmdpM_7mWe6B?j*>X1s>vgHBGI z@vj*8h4HBDr-|3(s1E@}-esHnOfMg^ZhxA50B^OnQCw5$t2tnszY2WI9v55ZmVR`8 zpryPaJQx#}pln4r6q;r2g$Kh%%z(X@06I`!$AkF<-u6;QuDpwC~KRI-OH zwbm3zD3Hl=-*Gn&)$?~iLuR%*&VM2f`ayg<^uuNF#~49FU~xbq2kvk2Hi9pC_1Acf z_>BU@A!IdQN4vhi>3^3ZLz|GD6~HO8ZA~d5ad1U@ zp26rs7u^Eu^ZX&!i*)ELy^i*>rhe&^SYj1LwPW#_-7>aq^#g+m|7MRqRe#({ha@s2 zvUNnj)a59v_HW5D)t=i>ohb`GIoi|#KSE5*47D~j1RUDVbc)Zk1)3y$x}zpcA?@lq zC*))j60q2Qu_k78P%|AMvawV#QWiMyD)DM^?x6Cwyd5&sH^t~X5|g|amn!Kx0-or^ z(3@&4s(4}TszmrsYyhg<@qBrX)__$NLhw$ zi^5J-)^^4&9O@zLFXh=*OnEOLmH^o3NK4`!wxe~lf~(e?!y>~Sld4wd)%417!LNdY zKcU)TW^x&#S0CUXmJoyq#U)wvzfz@o5RQB}d{_g7T3eRu6bN3Ocz=KWm>D*2FGz!m z#|BgL8QFiG&&dxD*YWUFw}dv~Fu6Mxvpj`lj>8+vwRnb3?<({rI$Bq4artwHi2Ry? z&dnI=@SQF^A@?1s@zyKxRY;+{cke#5e`>{&aNtt|o@ zK_FGZ6-<@8ephIcR)3lUgTPHoMoqS<7t1f2-&JHbAhU@Mz9X!19T`MK8rAqEW;^KZ zuOD2b?Hr|`a_wSrKZcR;GE6wf^gl_v&04JgUU!LpCbEbIC6>X%Tt3^RlLgJT#U!~{ zi*@r(D)wVq$`s)3_SpEftNOav%Rx?XAPvJez@FdSTm|a4j(=lL$==$oAetOH(w$Ih zX=9%8>5OM*MMB+REW_?BQ~JkNb>kci#ajCJek2PDHA&97C~>B- z704LwcCXTyYXs^*fQtmOaJjC}eoO^O=+Sng2Xo3?Eq`@0N1(XUCo0LF37bqob#wLE zSG=6ZwJQG%(L#rqAb35}md7Mgjf*44`*wT8o)s&s;sLk@74aP!HjCdl6uxSbi9zjb zSLN=7<<|OWONCuJB01NR)FBCdf}RquZhe6B~v%2~_bp zZv}jX#(%Gss3mo01sH_=g|QepamB+x@)R{@FK0DeO0Zt_q%V3YIRp1Ucuw0)^mUw$ zI${^7r%K3%Xvx{R4j8w?Sunt8EJu5#ikT2Wd7qA;Lbmv~`IO9rhxNuISFX6~HI%-11?g{JvKVe0uFfM3HpB5;?i^NA=B-RLMP( zX2#ACW!o0Yy&MyYQFA#yJK9g(zDVqJB}K%mQ}{@-pR^-Xsxe)m`>~zbAy0{0B#O2F zP=9j>HO-2g$^p|(<7B6HfWT?8F>7ZqCsf#}!TW2Vw)1r`(hJRSn=GMdFhu#Xowvf$ z00t!a%NZs5sreRrWHb_=2cX*uXy+xh-dvU zkW<3sENG{n61y_-4#1Umq~lRkivYG> zqUSEg+MbcOVN#7b6q%{H^SUy#?Ix^}ijQj-c%pz@rz!^Knp@;UdTrYb2BYmg3V(K~ zDHgt_x{_dz1k#(2%HPhDVmaXF6F18ZjoO|g3)(#l;aBz+ zK>Z{r;QXS7vZMqzX@xhaZ@&X!v|D&>Ns2=jeOx;=%ovAGaaTB44o4y(xSVG|F{*XwR5nLc;PC;qo%YmUnBV2uR+%zDwGbz zLWx7b&&iWQ21lZX!jFm4kr1-F&dX6p7UIsCxKxv(FX*cI%v04NP?Q?dWUqxpaK`ET z5nkZ2emO+W&NbTH`%4CWluoHy`B!HF6cpNx;uozIP&T9{uO( z!C9!^{r3HeFa+4s_T0%&`JrE2F!Ei=^vEgAlp%Bl;@&Ptp};q(aOn1Iis!3f$$O-^ zW{SP;EFSW33gSIM*Zq(4CNixUa=oQCT$(sp)A6--QTVRfmaLjKW6SJi)$MZbLJ z_CkMzI7fy5I=H!<2|){NPB0!GBU8;qh@}Y1A&27@K$9#shFF9?RkqG_6AQeF5R~3K zFB_lc@{!v|s=zs07?EmP=rdxs~dLhWdR%+NmufK0NoP^{2UK^#>z>Z=$_ zGTVI+h{4m15>p6j%e>9ypBsO2R+m)n$URE4>onY;`^_Ny36`ERFtiR=sqXZ=Q=vM> zW!L?ohOoa8w8u0i$0P*N^=-;mkO8(~CB=<$n?TY02JI`o55nWCAwjpMhhLaL7~0uI z(H|6zk3@6o!UP8Ko%FvoJ#9~HdfsUS8EreV{n~aM`)mcXOe5yNQmcQ9gT*92kE>b2 zf+(WYU@lA-H55l5`>lblD_Ak@wj!y2x1Rm0ns*H2UTyy~51OHcj9CVdO$;kW7gF_> z$(#Yw*N;dG6X)|?8se+MZq99`fX}llIS?-&PVjd#^RchRFSxeRJTUfSXGDCxnKvX= z?`oWKUI!+!oR~79XSaXKxEzxx#pHYb)?BkLRsr7)!_#WzSFwIP!k&bz8N!9Vc&(I` zl(-4uaq5j%sRg(7g_<#~p&GCH{xnn?iv(v3UB=l8%tpb8dB!NTUfwzslf*|Z0mKqj zKS1yU;rbL2AuqzweMv3*MBm<|hi^yT0Jj#^!N)RM6clZdP6dB&x8%@f6e|bsCV$8> zmvlp4LJjQmO3yWURoIk?;4DiyRx!w-#$B9hP1uwNA#v5<0dGuaS6aa?m|gxMbH1xS$O z*R>Dm94d@6&yxJ0V^1MQu%BRj%;&vKv|kTpe21 zd~}C;Rh9U}WjSO|tN47NnS{UI6!zfU>ReCY373D9G?8{759`u8Ki)+Qrsy|axNO=t zA8hV@-Z%5XV{P1(K;UV)BV1c95qL zl+^_cd`>I1w`IzNx$&UjRo%BtUT71`g%XjX-d{h zH|hW<&GJ`& zd~E+{MUoc7oU2_r=}*=c{1k3Ay=Sq;O|`j@#E(Ix1bo`JXeQX#ulwFQ9^5;V^^Zf@ z4rw8(b%pJ}yL9^aKR1hvczt#BZU%?j;JQAy!p+j)Ot2p7!K&GPI#3Cx&=;ZLcqxA> zL`hz$R$G-=ZfxV$uQPV6;?FcCS#%-E`(akC^i|nhhJhs$*In&eYep@9k((=YcW82k z=U4y0T>;C}vOvKJYd+-K4)mLP_L>H603wG_Sk43_zXipQ=*R28-2i=u=IoD>7`4e? zU1T1E?MK`V+pr{fwy47lIWv|mbfbUf(#(oADiD^UaJ&N1JVSG%V8EnjW`q>=MO(X@ z^cJKU$uX^N)>Ro-ir}e)68v5oo^<(zj2nS(Ddg7CzE}uJFxSfQdj5#m=1gqUrSDnR-hswam;*zkYW1mQW@Z*mQfEE7Sb862Bcwt;wk_eaIwkf3o5u;>q2 z$LjHH*&hDPEf_&8TMA`5E&_t9x$*NF;lj}8o_uN1o2!{-xU(6k5Qn{!HMd@l0LTMp z2*@|&ctzQKd=B)}R#L0`Sj-Yg(E)Tr^s9Da_NM#m1!AyW>Rw)U^GJUQ758Dgp5a@{ zXBKx{GKtw}$Bc#A-%P@l({AbR9kh9}(WCyXDjP2N>jF2;_>;u#r?O8EXovzaY&tNy zm_1lA&I!>)+!b2L!|MW!_t%&*u%J~6qY3RhD%UFJl^hzqN6ayBNwbv&-Stt!aazK4 z-bngi=-7@~*DX-~+8uvsd2v*y2bbUAWe)iGo3%bSTP4Cx&La2C`G&|VF2Jf(%}FCm z7AB=Snm!Wc338KZOuO+9*&*IGGjtdd(s_C9{S36BIJ%gyb1jEmUI%=yB~mgVj^zlL zZ3rJIN{VG!ui7LnD0QWBQ^~rG|AeK(b>-(Ro*v+_3J*#J+DU)fZn%AT=BKtmZ|kr3 zIgH;GpZCW~FjvEXz*M|n+|++Yyd3v} zEuop4)E09@88frOw+ZKh{HhYqMr)8Y9+B(&f&r2PWEBhJHZkutj?8S_wcHTxTG zyNCgX{go*Gy_a)R^Eo<2(FCgqN*FxL&BGV4p6;T%9y3jlMIt&*QDhDsOx-zhOxMM) z*B;trSfzjC33Pr&FmI8Dl#P~J5+oN$#o~sIu+Rra^g7USm9)<#R% z63-P(Z$vJ3BMPW3@hAlzaF5d5l;`r(yCxpSnRkCB^wjFCU~y{r=IFqLmsCn3mB5A; zRr^7_hPmW%`VkSsh9ADoD+-9UD7J`JmX=9kW-oAWHD`y<`!&y0B}Zn~Ubm!`)9MjT z2nH;LnvYaGkXZ$w77UJq)oLzZK`NUM9QigOAUcNPK00xT(U+TloCjBXJiXCbMp%6s z?>m3de)Tfi6d*XK-55u#a&N3W8@b+y!2Yf^#@&cnU`}=|0dvow^*nlu^ZpjZb(lB* z$`2-4&}}XeH8H|)DO@@!CZ~JRi%G77DFIJZpJ`J0A^@oC9JCjW}U!ogMlX$ z+WJdF6FXylsfnz4S*o{t-j9^5w4Pgq4?(kF?i7!@fv*Z5kJSr#bvJEjo1kFXSkXN6 zrRU2?toF9YrS#e^g0!S1r{?H%kv~W}Jt`JxFJAYm|0em;t9w2?pEaOII9ND;wkdyS zR`l)sQ?Tqr1qXg3V7M&bD1kNbIY}}BIf`rxZJn5e;1%8Bfdz)gzd3s?k*ANY5aC>8 zK}B=Lo#Y-nmFXLIkU|q?()NJ=?+5vh1;bO6u9MWPzjx}yzRi-zbPL*IY0lk800S;9jw(K|kWa|7p??hM_CvVyOK>$`cVG`BV9pA^Iv zAMjsn#Gyfkm&Uu8;%5r~J*6RKtg%w~;&Ju6KVeP(>&QaM(9?J3d!n*_pJ;!LXl&V3 zpW(a8?S4f)JUaamQYn^Wb1QO9LI&v{b-!mk_%@hdJ%{_%I|;Ty;dVydn$0GYXsK4 zO^Mdr74uIyVJ`2yzHMy>V$6S`QoETuj^ROafw4PV*EDt0b@Ra1MW(=E-sO{;e@7f_ zsaw-CBd2K1k|tYpG%TO@NBicXG?^QToN=ciY!b=j8e9K>TMopHKFxXK-)Wk4r1ZoTd$@m!vxb7sDNU2w zB)>y%i9rfwFKJc%$bLOar#kRJi7dDJ!K`I7WMARHHV3XWU}w*YryP!Np1_vhk|ccI zQN*4D%$Xr*pg)Cg#8`BX;WCu?naiAOjTyH#IjmlTj`we~h&QbYI&wylb7RBYR+3SZ7W_q%oO_y4WE*V5X~>H~d_KIRx}krFB>(+V2f8Un>^ZJcNs z=@_^G!m=uooB##}W;zB2CRkEZ6>}#m;J?kVq-sD1M{`>nu73mwI{*!wK5QZeP9Jfy zf3`LNDQ7DHBQt=Jjf;_;i-7^a#K6G$KY_LmTmTUR7jt8PEFD0~)&}SZODb$@=k8!` zYUcED%>O(BD2ylpjGUb8H2+Em2wDRj%#93e0I~*7W`XV<50lz@&v2N$3*;4i@dIRk6p-^%DZy#X-N zG5&|{-`Rf=ncMs;*}%xi*4oa%#@*b;6kuX*1q8^8$fX3G_Z2CfBnce za4|5qGBErI_*dly05L&DfWe2rf6H?;axk}Za-?%KxB5#W{a-X6T^6-57Phsv2HH3| z!v0mCh`9sM=%elK^nc&1rH!qtjpx6CiMfrj$zLLjo$csVZOrYRfs!Ks4*4*_{;`;RxW0O)39M*kPRe~P;u@Lx{Gzsw&Byglt~?EoepB7olJCcuw>u%3z z{ogbS2Il`RgW*rEq>YI!fb;KaKic#^6}$X<04V;w9F&0n=907hm|7r!;?Iz4Gq5rk zef%)~KacvqQvUxY{4bXO+mQe7g2bGytp4Su_?Q3x<2JB1w{rh?z{k)!JAEvGtnJ4d z*!=HMb>QDiD+@F>ceeiDe_lx^gO5cJv@!h{W?DuTItG@%?dFbR=59b^1#>4Ov%g2? zZ@cPWt7c_x15~heH2>?}@{z^B@V|T?`(5OkA*Y_y8UaC0rYe>woV@@fDet{025mWf7rjSm5uddc>Xf| zjo1M6LVplDfL{0y;sDT#{6U-mdeQ$Nb_M{w*dN3Qpcnsxm;v;Xf6xb~>>u>ODfb6` zaLWG&aeQzp{6QZq%6||GfL`Sf`ruUm590hl27l1U35I{r#|cLNL98D>BU`JF*8h)% zh2<}cwe_F;zwU(IfA}BpLmTi9!$-gVo{B#KOaOY5KkzSP{wMw~XzT3okMIv&rvHE+ z1(^LQ=i_qB-0jSOHvfqDu$lh@eyFwl2mFv^^$+-=*ZL1+{Lu0bs*jfuz3rdFK4L$< zRsV2*6l?d#{gG?;@x8FI0-F4h%fk3?tHXbFf#stwb{`vVfBTQlF@8w5tEb4+fe$@zm zai!g#WMV-Wf4qsfgI3=Y#dbMV3=rn|eaoC5xg_{w{vh)A7Ro78$$PV<1_pzr?xt5- zBp1eVLkEP3;VzBWGz#z2siTZD(}8q%_g8&p8)H+9%NC_!*E@kZN=zF2>-~kyV{sm` zma4}}vr8!QrZYNt(8=gXC@c;RW_Zw`PQlF1Dxq4zf4TWCNfO5!fywg(Jh9{7X#-+i71;P7v&*?=nyLQjdDsaHRF80du5#y`osp-zWm^I)eNu3?0Xn`H8u+ zB=@FoByRSiC6$cfhl9e=$!}U+*#R%e+Z}DW28Uk&-iepd1ZW-jm=;%QWibzf>j<&D z-&Ir*f0j_aLT@2D`lxl!PiW@%2WR$dff_1osG-uagjd}z+^tbyXZHTs;XK&&vJXQ0%0tjPbbhF zfAX&SecbwUL~vLdX-RxpM|*mlSzn z_~oqQtlSin^CbL2QTZ}W0=9a}T-EjBaSUj2eRzXl08A_MJ@eFLkDYzfn3UwBC66kR?IsPTbJo6rFyuANW`Avu=`g^pFf2r)Qy7!O?I4)y9sIG{Rse{|kt z^;c0}2(DmO?qwR*It@}{&k(kU&S28C=^Ga)?Ajn+u{{w9%}%t|e~->w@ZYs??RtT^ zB-uzXew91{hS)I}JM}T5jaSxn?4w;S+{rA{%FKg`2+_w7RBCrA$)-zv#^2jnroyom ztWP<9w}vTSzatSic|u$1T!rKXe-$Pw(Q6>lY4N28V1XRt34c^x4I#=lhaqb;vzPBUZ=3f0GmW&OqpI z*x{kLp2xy>-6c^ngu1-hHdW7QMqJ%tA6e}6%18^B0gfp`$wptnboT(zIPPOioh5FoDAofjriZj@~uViFonTEabbYb`!<=TQQtU zCfylH8XavZW(m!bky;U+Y1_NE8?&!TedN;BBpVXsc_))0E4*G}e>@1WX(N}AL|UZT z=t1Ci@a0X_gkuR;CYGp2;TTObxPyrr8LrYW*cE#Re-Vt<>J6&}5FZ&ZP1{fN2<15U$uPyk%g+HhYRl)l3xbl2Nw`H^ zwJk1_x2)z0$d#AEQ?Q2qDvj<7r` zS?Z%!C&zrE7QNNe--b4J#W|ikd74@);DNH$=5Xa(_2|yte{WLm*3t@GMhhW#HvK-t z^a#h}{SjNzgKv$|Kgk8c^~JtqMA9fUiVYjnYxhuDYO`P>h`RDs`aBIwQivb)lZLdq z^5th-n-NHsA5XLQ4~g=pewOzjQ!w#{87*6Ami?_?ZSmH^rT%#KBlHlGY0Gzzg(kr) zV?nKz*Z2~ie@gDRb3Q8(iDEM27xZArrkqhWaD}t$?piroT46H2l3iI1bhyL(ae}pm zDS8RhZ9=}Oqr32W-5552Tz=I8xoa?l{@PWh&e@T-PAIEJbJ@nxR1gOHLm`Qtu*hghk9bqmSY8j>96sdGB5T&OOl!@ z`CbtFBp_nFe>i?fZsnF;M42BG4>A=uk>cLvSA0dw zjt+j;Sg;uG|3+P;TQGgT(ux#NGg$KT$@5Twgx5N~SB3TZ#>v}rDizIBV?BKngZ7@ad4 z@_h;pS}Q`+UEW34!hwr~HUK5DZv{>+(9mC!HS9eKT2(s{f*DE}r(4(Ln~-e}g%)>Z zWgDr7q$N`{W*iFK&Ba|7kFb0rt80Q%f0`5|=0S}J>gx+fkcbdoNRN`@(y5PfLbeI} zu3SMcrc=@hE!z}vO9M8Ucwj#5WFT2{imUV@(>?NM3g>1fcZoKx$13@f*8w#UU8xl4 zH1Mce?e>@qABi8RTC-85{5gnXkD~30ZQQpgCU6FyfQP$-wZ&12whQa{?4!&rf7uzj zlxxncrNd)9Veeey!Tx7-k&BsNi%f*0w?UtQ=mP4L2<3_cywL2tJ_qA6Klsub@E%j6NeT%-;-GMkUb66_%&qNEG#gCUF+=Mab5vtUJ;l;zo#l{08qgNs& zI!@iIThZ6x+AOn&Wk)9|lJ?3!e{Z_CX3KL1*%~q*QJrokb7X10l%L(@)}2ds;;^Yg zi<$6aJN;;;`*c(Ib!Obv7_(?sWxC(!E4RngIb2-(nmUaur5s^p1fe#_1s?+zyC7M3 z6rGRnAX>y^?wvVtn3$}FN6I6;&pep1v8!viDmewdpG9;U)P%oN4#<;_f4v`A{`#yC z*iWMlj&k$6N@oAla^68m60IWDWDLmG*&KI%GKfqBd2W_|lxepp1au=mwR3=(0sfDr zy1u&FW{_*0g1t*6WwB^CrSHhtKF+USQ~2Al-JpvC29q^{5@#ql1Q*LvhoI2-yl` zh`}5VxgYRn@K!FxUf9`24U6y~eXSAHs=gp#&$83Fp!OYPB8p0if3$7Q2!Uc%+5P4j zliO{+2NQpDBG_d}bFN0@)VU@+FnzDE9D5Thmc@p*XfNPznkCV65W#43HW^mksTaoE zf9cUty{|UZWa}@|zu0`4Hg~o**y3AqniKz9NqtazEdZS$Ml(IDvmO*020dH@$4PSP zw*Zq}X_FpGd&4q$f78;dmA?`plPC3E<2RhSJARz*S+NP*XjCQlc_lq-haJwS(izn~GdeVs1UG-)~k$WQorB5!(!OzI*R&K8GqHj=AYYfO>e8Z9;Z>ET)e zw5`9vf0uWs#DZw?$d|ZUlqg3;&Xc;g3+@SIUQNwbHg1&Xf1-*S&wLtib6Gzl-K3U9 z5<0)h)ho4d*VWfJL>%q+gv^B1vTogiywIPK)dzU!8cInl@21}bMtLHirj8!k+*PmS zDr?$lI#GCi6%XOcSiN{2C!SmXJREc}dT?Dsw}E7*(q$H4_edbi5}Ivg8dNAQB$xMD$EJCor6WqGz#@iudf45QX_S#PeE)vgpN6(y0M+4l_{K9hSmOB;KtIQOqnAX2z}ei1&?o#+GFo zf6i0&nq^EQx}8#bjyf%)sE-fF1TA2)WHoc+CdGZ(M>ov{G8@KHe{UY)&8w3jxJpP$ zngJJ*!(#46Kjik?DQ(;q>?z9_=_fk-3Pq%AM`^k(q*E~*MId0M;YK}O-s(V{b2&Z) zQ*n3!coJRr!19!?`FvF#4(kZ36u1!if1@f%_xfyG%oo{&I~n9xLj57GtKhqEF;eA!z2Nsk)Sg5I(P+xOFC*ezlNO=A<`->_L7?e|2)~ zEKbj=Z;HlI`zK4)I8~PfB|IQR9048(5J#5M(*lAzua_&>p>0he3_N}dY{T~u-5F;A z5?up|c+rk&BcxvZ29U&2QEEJw(1gN!x#=XCW1jg%CMx7iQ>od;4{MHasaZ{f0wHo4 z&OLCcszSRe{p8)B&RVD(w%wU=Lvt-=^3zlKr{#$fce}GWx<#+>7I`le>mnie#ey?6`O18loy(aAK~T^Ul$P4&OfX1RruAj7+A6Ji7?2>Ih4?a zlY2>8_nVjuw7Y7@)|*nL-)nOCc$`?We#&Pm;?hKaUJG_qhvt>BiU zrn&;`jea{VlBBq6#6Gqukz>S&P(h1XEhg_Whv(tBGr|qHFE0}!!{OfpAd`^OR|;Tc zC3Ucp)~Z6l8Z0FERgV%faG@I0*h}K^COL0phqTY0%3^A~H9( z)(;o*2sNE$a_(j)p|Xk$KIVYzHRoEW?l-*=ii%jDF03h;Q;U15IpM?rnprJYkHn82 z6hk!}9+OWV6y3#Je^fyi8c(p~F${yzo1jU2DG3Z|ie-}IEX~T4n@d*2<9l=X4dmM9G(seMMfW1JjrbYs?XY#vDEgHI5*aNGbSj$Rfm|?zf_8*gqzS^!cL?X4 zWi8)F2rhZjt|j(pFuy1^bMk6x+#j zbn_9^BCy`r2jgF*GlAp%eU4~E@b86&PY&rs38zgI1_*4{KRe;am9wTqlk2L?VOR^B z@|8?VNq5_-c+t0|D9pML+S5C4|ibj}j;6*2vlV7k!eTcc?y zT6K6SXJ9IsRHDW*jIMu=-6SkdZs>V@DTI5&e>W4_etPU?v@5TzEUS(F->9IeQio@$ zQ>|bT7*>ZK;KdMl#9Qx+aHoqh;F=)xytrb)j_j69JqE#EN}xYJ%{$I|EguXTfi2qK zfbH-bGu?~M1`dR#OAC4s7B#xkUX@|M3I`@P(ps3~E-TeAHffZ5gIA{H$#ONH^iv*e ze=eY}sc_OrjV-gHfXlg{)lRgt?ubD zlKqM*CeP+~CRq$ud+rsCtyaXq-4Rpjvtw8mMTmc8f95|?XR;te zQ5Jr7l^iJa_y&{Hm(Q4mWL~MjBBSYq>ZYbhx z)vw|qk~qa&48bkbW5peGHFF}tIuERiwxP`5d0}Od0aImKt~E74{ym(|{(eJspgWBs zUX!mlGb*ZR2Ck=IRPc5XGdAEbawoCk!t0k#{f2};-!Zu*PIvsye zS~3BdzQk>?TlYUJnqoFU2uJ~F(jg&5h)q$G| z4LKP(iWxY@UTUg(e@|M)Gc2~9m&mYFXnQHZ7(!lj)&gqRN(8OEE7G+CEQf@wmiHU!{yqOE-bEYYUc@h zAQyk9hE?ZQeeeS5JzSaS{+1&mAiS!d28!<6SS`^DcT++qbv9{=nI(DMG@xiGcW4}9 z9-wMh5s2hJe>eVoS6eCIc9(m4UVX#v`P>vJ2mU4A_-2YgJegowG#)SJQ02R1_PIl_ zlL(dc;*k|(`QgEkado*@(XOMYmIp&vY;OOS*p5J-{^u^Rg7Eh|@9%Dv8a`KUUAP1l z^E9GD(M%a^wpKw|I9#=9Y_SJqIl=TbY*o*>rC-3ve+Cc~_mJ=h-x$IbB0E}oB02pC z4c2AT^b$FnrRSl~(4?b!jyy$n0ZNEu@oq#p_pXCjET1V#%e@eK5S8BxnygBe@BGzstzor5S5cjnX+J9-oL9+D}$tL=?H0w}$)pO5zOfZbh zHMn__5X_;l{v~czRe^QTD4P3-LR?H6bEa)L2O8R^B{AzU>GLV!12tz6UNer{-8g~k zP#NffFXimLz-q`n2sOB|3Q)0zsP*Q|&0SKFe^JHxjmwM%1?sHJFe}nb`V)p=wW)=z z2(;R>iW&(-9jyDe9>wqC10X23@&3xvql74nq;J-3FcK0q&mEcovjYa1nNxOd!a2ondxRa1iZ7%VuSkY+lra)j9p9diS|-}4=B78&liS=I!*RZpXRnl*DIhkRN6n}5 z?k{t2zPZY!362QmZ=hm~H0;xpQf@nN4VV8o1lcdmDj{`2iaoaRE^7J2QArF|e}ZW& z+9q#wZx8|66^`$u>V`ckF}im z!6-x2c=dTd?`z6#6TPYDHfo-%Oqo6-JU}mG6B~B@V^Cf;7;m`hGz}vCctH9K#@Rxr zN=RZ2oHukwjI?|gXsUgBudI-%e^K9UwHfHu5H;#ekAHR7`nbf4vZ}5;y8iPXGaavz z5CCjoCusUiuzPTtQW)q*%|kL8XbK57@f)p?lFMe$VVIwarK`I`N%$UvzJz76l9yo4 z;Uv=29@yeI<>HlyU%p2T`+fk)`e+7FiX){MKsS&D{yrD_!l3xQdmVB6f9HZNnw#gh z*2)Gy!yFV*)(&e~TAlA){AEw=1xwXZWQW}X10=yQscne)3b$ad#jU!;2n0+~3GQHg zGLbGn7_RkMw??zmh=2(I9En0&(dMF!bN zrJ*d{nw~6@J(-{O)vYtNe|g7e`h2;TFRHwVOp-G$vW5{;HK@L}%o&>ue-_MV8<1e0 zlPPPP-_XizMjzhV%63>I+V$H;rlTrsgc5$Rj&;q*HN6?eg<{AUDLfXm=$2^K(!-Z0 zC-|1|$a-(n2;Ke*CLl*?UM2}{Uq%!#Bx;pX@93Mhb=qys&^Ns^o%&u21_bl78 zd8e4^FmK41J4=Gl?9AfMX(PT0g_+Fv{DL{~zo(#ah_w=+c4(5f;G;O;Ru~id#-ma_ zldC_TcA@m$%cVCNf75gz)w1x@#I_e|#j|qVphV_+8qSR_uI1%${P(cAlE$8&4Qer4 zU-0$?^D%Dwjh?cylE>-Ugk`;g6InHOrvs?WeY_I;2i*;4Q%tH5QOx|V9n$=p&eBF( z1FkJ<7epVx`YxaS7vHf(;O@hoLlP50E?CrAP|QKINSEW4f3UjmWEvbE34#TrhivwR z5AG_}0W-4+Ih$P@b+1Gdk9O^GfonntF@PHfyrxuj@Ff4=(}xSB+(8JIwgV4k?7hFG z1#4Fe35?-1>yjE_@<&x*jE_4*D&Kl{(ah^dLcqs%xGgX9OmVuV(Ax1&&3=RQ2B2J4 zKUeQt0b@hQe+zs2gy_?q`3S0sVT1Lie5h{ixP3x7@@*7Ak4BM!sJA;F@wf#S*+;=s zrFVu?V)rLm78FMtfy@4Q_gB8{?$)x~Lj9)YpHxUnxZ=O+aq(HV$_mY*?!#k*oE{bV zzU)zV`@nZHev*Qm(}%SH^YQyIcB@VdrB_+O;fBm0tN9t z*y8GzsiY*bv;}BLYy1$Vw3t`PWM`4c<)ecF6-}%KI6DDRw5+|VcOtWvzP*gO#|NEZ zt~gamSZ3lP)?V)DW^TV+1>JAn2Gtc(V%Ocne-Ugr;)AIyLnQiQi#8;clNwam!fZ}gOzm*4jSyK_I*y0gUr~RC43Rg!b6^xJ$|8Vsn_3Jj zcrFmpghNc7&3)I-4`%`Q>>w=N413T9e=Y>~d!|DNrH_(M*c&A@a0XUjnfjr1CZqD_4`%>8>ANk+XyR(KWv|s^3hb_a__ue>{#Z za<;#t83?gO<0X%K`f1@sPmSOom?t%sg`9bg@Z z%-MInabXZ+;JuZ1pziw^9jsln2tuo_2ibRws6(Q>q^QIp(S$B0m@xSTa2#L|n+%Yv7vt zspb35@Joi@+`dFAB+u@Y8qs*>ibKS$k32aLS$FUd4j}K%5@W|N6`zDz zQBbqX#ateT`+^O2Iep=3=)iwVjPSv?J{Q_FnG_t|`>$a+tkdJ;%Y7GvNEmzJ`Zin4 zex!7O+q6_3e|8WZ^;hft(WCRk#kgtju zneT|!dmDOqP1adSS@PW>p2(_v1sa~ka9Hxw^U66e1W^}iN$b|<>iYoKl=zABXTp?) z9~J9vo2c`YgWDrdFHc<@bACQgVxMD1m#^;8mSd~Ff4r7yqlyHVeS+(Ex7GZi)k};d z#A<@}kRK#0mCH5{hhfm)ybGd3SQ%8|3Q4)z;Dj43+KIA!yLhdMT5)^+0 zIB#2T^{Be0C%xnfZdEVp*7+X1pi;6ME6zaE5VAlHX=Bk^-pGG+sK#DoLWxn- zxS>M@1`!=$gdpJu-vR5=7`*Q=F^04lb(|PoW26{-D2eTkl=$xXAk*Bd?E;F?%*^2@ zISMn@XIs8(drQqz0o!%!g!6M4h?dE&L*PnV?OF!ckL}`b!E}Wvy&yRIrLh) z6Gf4u|Nd);DInv_wOzL&0P=)e3EUI&{a{M6LQ<{G^XTEcYys3=TwqWN;W0(^CdTs{ z1I;{wT7aR&uf;Elq}~OJUWa!+lc#)pf2Et#sJt7aL{Dp_8GA}d%P!(VBI&0c=B>DWU4mEN%IU+3VFfVuw^@iCVv9Pf86mY zwph2W3-Glv(Lf4Gbd}fV55&6=SIV7JKn<-czA96gN>3#EXgmPg-gv!HdouQj3a?89 z=C&swJ=bD4^lif$4;nCNzs@$K`opuc+gg`pgR)2CGuHCp9dOnj%v)7E?Y|(Tnn-}E zIS2rTQ>T^%F;K8d%ZS4QMy@cje@yHQIyPKG9DmFW9DSLpU5dNab%_ub{ViW7g@v6{ zcOFn0Mq}HyZJUj4+cv-0b{aOeZJS?%#MCZ7)zwtly|{89;`( zA$tm~c09Fws~qpX*u$aOTYU0w#(!S zfX0Vg;E+!ot$3^&!fFa?p`tA3d_E6r*#X(;)P@^uvf+~U6kd4pEI73beyUTR+%mzn z@wRO+@0V&EXzevmLVoo7YJ+m0tyq!s?)m>lUO$V<1=NW;w(lnqax?-F{yKW&eNfEa znBkafAnzyH<-pUAJulBQVT9hL7C)-&Lo~~wg$cZgC9u;f%`KG3=}SxIQ_-D!< z@iCh%ad6W(aK;c(+3V89SdLYW!RCr>FxciLitK6V^a)90onzN6INs)&K4tBXB2?}^ zB+@~J0?a=`{NYRDBt)8yxB^k3<-fdLsiG_o$`|)I-zsy@0Bl!ZAz#ZI$4tEHJ>-aw z@%y?0H9|fucX@@ln@92yf7}D@Cv6(K3wqdTJZIgm2Ao3_4BpPEj9*e%D0JCH`KgbR zowHKI^UM5rQk1pJ$*#O~VfQayo9na|ztq<}0A0t59!U9Q_J|4l3aiTGE_NQ#V@tmz z3*1u9mV_#V!9hzyB>MtYU49Vs8*>ZrYOo3aqnuHElop+6<};`s-@v*RGM*0kxqFSu zM%k1wqiwrI*~*RPOg{pN>7VB?_W65I)FE3O+-0!Kmf2&={kn>JI$TI!-G*|w_MpzA z0UmqFJ>cfg3tYS+gni+MUHDZi|5zWTgu~V+RJu$5_+!Zm8VMasm(}wry3qVQ^RwA-V~Ysey;Yg z9xA_?Z$_H>_m(sh3__>Oe@o0eQ4-|p0YDr?{ku}y%%sx0+Cx5ay`l$@{*C*Nr}mY_ zj+N8VSIkw5#?=^D6yQmmD<4 z={{;AGb7<*k~MIODaY`fIe1QBJ(L^3Ac(RSL0y=-4t}0(-k&xrYm7eP;CJgf?`2Az z>mqY+1^{-zwBAPjID{^id)2;e0Z*}NtDjLw!Nt@sJ1OxEN;#8q4j_)s5NXAxX>){N zG&usE$lwey!?71H9MO~?o)+LQv`#NuLk15JD`r!;8KOr~KQh)<`0pS#jd&wAL19=H zCynMai_dc*a_6oc5ahh+x!db^Y9@oEjmI9N%-2y(W-3s444*+QHHR7q0iM6|JM?bJ zxdJnEnD~xFo;U4k2rvq;HLfL!Hx_56G4iH;_TbG@&xVMtxeImM{m8JV?rarl4b9TQ zd(|u%IM~q8rfGKq z`+j*fn3aCcrIc}?@n6);1MrmdBcqESy{;>PVG;AsZ#IGPZZb?3Xl%-eXrE?WX=~A& zMR1xw30N0CtvkQoPZgPL_m`QZab*2UWY|^irQpKvtcsvGG%6?W+RC7M9&6@-KBVw2X?HjBcVxYCerp#MT2&0O}NF^(h7orzxnELlG2>xyw$FpXX{1deB@Ov#p#6VPS|F#o1A$q1U)iVI(uakx6UU|W$(3s{ zj@OsY=a6MHUz@W;721C(36wrseAj^`fwbbv%>TaLe4%J8@kuHEz)jNH8D1lemsr)j zX8eoQ%Y0wq!Q>Gh0GhI)9q%M3qSg}ujHft^v>>$m71k!Ixvk32Wrb(qT4c?4w|FjO zNtI<;;)RjPifk8Sic-XpTUkhF!PPb^%&Ye#Nh_Ti{&%U~CnrHr9M|0pNv*R5tZMhU zNEu*mrB8LWhW%qsa;V(s2hMw{SFwdfyq79GT*ixTXX|V@09Bvt`h8a^b@y_>>W>KG zXe{%g2HJ_emAi$K9@T&dM3#d+wV5RK0ENRV%UNV`x*^{VTxQRm6vQtbKWw>%karB8 zqz!YTJ{t5F|I<-Pn$*QXgjSWkFcW79T51hX?|MJ>EF~9q+{QTWl#I;s18m7n{<#9_ zI3IcGkL5c8Kyg{v*@S)fy*)m;5K*{Z2fx-)W?Fq{!T4muZC_xZ{wQX zf4LnNSd{Fg3S1M&9wUxmqD~ZS&6*0Uv1$O>)1S~aZWqu(8PW8b-wCOIW zq*JkSJ7La)B2-yAE!hiP#MoXt5W@^iiJ+a-&~1} zQU$!kdgQS1I-@i3a(T=4S`>&b@qogj!k8y@HpTgbH1C}BWsOM8Bhroc_9yTv1N~2k zG>UY<MdSTxD=U#H&7mp{-64VmZx@-O$Q59>_K2WM?e_4)^np= zHpZyb*E0__xfp(7DF3=fqwdEX^2G4gzPACu#{<67fVy5r<4QHyfL+D2=5fn~PEvB> zTzf5~SxU5?u^%Pvll{`Nau$;rhj}XWFRUD58oo>X-tU%wHulUt0JHyS#+T$ptu(H> zk2npjiqh@D5pS?HDN-@P*Nd0bc#X6khs*UR`1HIneMdwf7rHo9WvWvpkNUHtuooiW z41%wolYo-m6IjdsCyUcRNMd*`I@Vif;m2nvl>H?9sIv4+Dg2X_(t zqDYCKcE*gr4yZ#Esitgc^@)ksiNIC@1gx1jux+0Z&}^!m&2M=<9WE zse#54#?&Nn+?5iF?H++`pG8P7*zOPEes*OI!vb2nZbL=xk6mb+C)Sfuh)($PabRvrqu^7GvDdCs0hh2G@fYx7Y*`Y)b`=(Si=?Heb zFUM|+kXGFod9-H}wm;`PR#z+mdjds`W2&S&G!h*Hmdq&L0aD(zf5La)x*O^}U8p6} z&FBmyllA!Do#@!iv*5ZPE7AJlt#1N-`d07vXPhY1yq{AIkHXJGd>Yp(AYLq+LT~e; zZ}}OuwS=QN9mlY)b`pr%p9IOxTh$@^QQJ*p!(U%;>F#Z5zA3lk{7ksxJGyr_Z5eEjC83 zgi1s76C-8Wu+gB*N9Ah%AnU<~@*#1PtU|h@JeS_7md?LK($+|Fcb>%kn1SCTnpT7L zV*pcnul&(fQ|A@W83nXL%_)U#Ocz!~s|nKS7s(^QB#OS!XDvt(FA40jIpid!41|p^ z_zdFJ^P#F4*X+JOCoSbb(r0?s=b;vYK}R2AziiB9)z6pH`WW7y$*AB8=DR3X%|P36 z=M+q&x%K6uu{>gx^Nmo-u(IP;5EM%$bJtSSZ;nJ8jaFg+0M!LEK=@*bjRxDsLH~fX zkGywdh!1sz_cB3@n_|OGY3vn5Gi>5=^d>PHi@2;;fc5B`)F5o==85%s;)QEz?U)6k z*SplpDqYdf z795hR%zgrsNoi3v0nIU9ts!_fHQZ522twt<{ zHzLH9%+XQ?(2vHm{?a?h_i%-Tzm{zYNN>Hx2bx(cJ<483mlFZ8JDz1CKI`3d$wQ=D zyQN`(5ZO-Q;`)%W2JWA{I3(SXJn4RM^63bjlR>&~ofQ~6Qps25kCJxD z`R;%W3Hk6ALZjmjgzY@+skzY(_Y%j^fUIZ;j`aHtl+ZA=?B4UnGB#fLFynh;=2m5^ z^`~++m8e!bB{BStvUM`1`OCf&kSC$G9jNjF%O{gzGu z&^coBa)@o&Dy$TragCJ_@Y$##oNDjO5Sgtq{Nm?7%`}sV43%SqAm33`?}7L-iCArN zJ5T!iS9wQti;przv!>3;y<2MBeG*fN{#B#!s`v*Q~zjPsvORk1hyMR^~ zzy$p^8K59J*~vzJJ(s<6WHbw0ACeQGh-#&@7QT5T#L*6Uli;1ME&}6EKED!IL?mPR z)~yG#5Ys%qwq6g4Fm?FQFRVswRUrhAvscvW!WrUAoAyc+^aSyWkr65*p`J&mL_Ju2 ztafPO@tRLlObW5!o)j7GUF?PNAp34DQ1|us^T@&-t<7cTj;8X(-9ZLK{*yRB^FWvu zLPO>C5ciR&V1OKlmcs@*sm6M!2g1XejJUr1Ja08ob+}P@ORGk0!Mv|Cj&(pfU5}WM z_U(lo{5tX3#cvzAE8Gjcj?vitADh!cS3_pNC1W&e{9V+L8&6dK0T=I(RU7aDYu@IZ z@lLB10h5h%T-|aDA&MrAm=`vHl(oOyL+4C69pX%MK<26RWE67uZIz;Ft_{n!;lfdz zzo>J46leoHv^ER#QOXYWgVm|GSu@_+(j9;5Q^V za}6nfAlj5}8$U^Y7mz#N=V4Q{48ksv0DV)o519>@baqKUGcV%zS;zrky}&qmWk%N_ zMdRTqFGjiY;}U{L^(NXC7@0IpE0|8(@;%}yGE%vFJbib4fhp<^!_h-j)KY@*=k(ld zt|DneTxo3m{Ia{P{EU<4o9>fmA*cJhNDh$@nDj~O#=f3hoQ^ju)#>?TI#T=tn&HJj zD;ZgL<{OqCeCeYMb?^p&(6@?FL8kytA6y@(6fH;U7ap+IA(B9saC^ri2Fok zgcdHDKKZ`7Ze^*;U_FLfAJZ7H2+vnlSsfouRlA81VxkxTjHsS+K#Gf+L8x>t#j4^m zpX6!!3+%sjD_U4#nEqFb+0HNFg8?_s>9rVvpxZkboSWcMC&%Ju@$el0V+Y5N^`iC=LFN%YaSqxzK*NiNH zZDZ?uOt=PI=UU2Fk0YR=waa`iy!mqci;Feod5~6r~dZF-`Rg%WYTd1QVKxzKJa;u}A|M zd^Q*H)P&TBKlZ7+i}4GJ`(EoYF3lXxh6uW;`)|jZOi2L|5fD{p7xhal!bIQf)pz<$ z$wPd8K?CbQm@Ckv^t&(ZM-k&Dy4G3nmhYYv7AZNYM+OpP->a_X>Q{NBSQm!R&>2Z+ z=)`^IU*Axm-~ndR@ZkAxa;{s5{2)cKpoq>Ipop?K1QT2jhe7-O%9CLfWMtqq+?1$r z`bhcxF|L4=jft3&jz}YmsE1Nz?8?+N!s?->)gCgXNZ1Z`d@Eszv`TaCY<%`ELgM*G zjiJi?Sd7<*LU{+gf$ty?2x!_LHdrUFA+;TFYMpn4>j-A1Vi)Gp_kYewPfVEogHjzd zlhy9SdkTc)qJ$I^TG4xNi9-Y=L?3{AS;7o_1||SXWK9~L%w(UsI&bMPX*n4Py<+kt ziPehdfFveCUw`!se{(d`PqHFo@vFYW4%3W#rHlqkhG3Zrn7epwusE?90k2PhVZ{-Q z_9%nU_J~Dt{d#CK6W3b4%6dFGJjRs=%(rGuJq$w&f(Akfa|WZXe-uUVBy4Zmxf#J- zd<`pW!`Gr20P&0brTy`ge^r8{`@3XQLAm6ZeQ-F$B&oPqTdQZ}&(mZTJ#{xJ{*teL zyR$8r$vq4k7b_<_FFSYUnm#!G|6U*Z;EwUnfje7veL38#*HhSR2}2ws3Mvajlav|bh4UyR9PmA>}Of7Au`h~ z@$xp73dXXmRsw4IknzttOU_1YwCN^zzVxNg>nt{5=DNeyq*-H=1dnd=zE)YmUn&4! zO9(Zv5uD+)mS9}O2R&_MN zAoGhXO-;5eC2{c3*H+CykhW7C3h>`?5$}paJuJ$pSdg5y zqU_jN$YSi+xTmI2hE2u;-t{`S#=ijV3=)Ld&kV9z7-d0n)@clU!5yr$C1?!V71oi% zh5Mk>D5%oZ(5RrTg)U)pKue|wC)gm z9TS4LZdi1rMdril#N5vWonZ^#qrvn0{$PhQX1VZY6YRhv(%KE^2nHTM*!sfe7EX`v z94jFm5Boss4@Q9QKuZ1@j*J7`=yIg{UV&+e89>gR&;fOpJlsXLD9LQKp#@)Z&JJG+ ze>TsPd}JDoAy+%OJyBM75P_d{lML*?iPEG=k(JvLILC8|;FJLAP(;LA;bepN2=7$N zViQ$`<0vm)gQjQdf=vXK-U@r^g-jrcpNns8T#N-ZdwJ4Y;BeZmVTl2?T`$&m!z)@g z=D5l+e>GAnk!vXDydX#Gf{MOTMaxN)jX>z4T1U?7cxo7kdKdQ>?})IKY@Cp(o^iEj zr-oSeBiFW1o?BI(>Y(bAwoktiL;bJ^yl#YMrodQ)?Li-*LWBr>iw>Td5a_j7qQ4>J zb)PbHiY8hlL++poz_o-0@N+gUULj9UO2)q^ zxc|=o#1KUMD{pbFHixdD)^E76k>)ceHf$e@7)735Nx4Q8H^8RDNbt`X+^~eN;49UE zk7;W?ptnm+YYhcoTFxgREEj^nACBV8=RGmoD#ApC4OxncgW9H##e|7C`&0R>QVl3< zqDQ8tYt<|HVRH_+98{0&QF{|=&B%2wteRz<)blZ46#mO<90oB@%AWE))eYOKUXJz$ z<{wT+4A>A|B-!r*yOxT=0{cWV9M0rG4Zstq6REaFq<~7zM08#C3GVy-=eKvFJW8@a zY_;HQp&;6ZPn?J<4T7|t5}h_qs%)Io9nqAlBJm`VE%OB+L$eB6u0g`Cccr5$Zd_&3 zk_MAOP8?N{q+DThh}+Yf+dB?A;W*BQ5!m%8y0~80sH$v#JMw~&O1|kv>;2r- zQ^-^L^pah(d+l~iQp5RH^_e9(N|yhdCE}7jMUxy|S%Mgy>0Z)}3sY>(EMoC1FeOGl z?2E|ip8${thxOfTD`{R;5o~UMQ*m!SfvFk0ht3}$%W=AIoU|aiPf`HvO=tm8MlGlL z0U~o7-(92-O*TwfOA+5L>bBHsarCok;NKpRh~DBX$<+hpge4Vb03PY=)`PE)F4CY9 zS$*|U3{>vKg*ockJ!&Z=Kw@6Fi+Rw5YuV(pL02)z&S*x7?H3{C(kJGp0SSkhBj34? zbHW>7!1GVAF@Yj<-|@Jx>!DrEf#@5q`17LBQvIb~fehAWeSIZyo8IcKSjXTR&GM-@v2TVaBC1b8pZ9sDC2-a+vI4<@B0H6tsQowy1NS>X*M zt6}Id(VBhbHRm6PR@DF84%Ut>d`z} z>Ju_=W@9P7VeBfKkN?gSW9TWzovCQzNe{|EN`v@=aZ-3qPEro4!qdWyKu8C32K`#sdO4X>R z?%ialv5pfNS5;A0Pay_kZO(C}^fF`K!jGM5RlIKXIfvCpOJ#??iR7hmF8Oa%PC^-g zWg6Uvq(lMduL;y@tJ4&sXee&N^yg2PP9itex(z!@n$GSljA?BzQks8YH(gHR2~^X5 z1?k)YNKu5#>76m&E_ZmHi5@6`P#2w)dnL*sR^KYt9s6+IoSiZ3oKY)a#Rp%LY&(f@ zpX*vFTaoL|uftlP0k$HFSp`3V!xbMa0BxgHDs3BNzAe_l!B+`t86~Mti_OGWPHlMe*{M**u6De~Lkw+FV=!ZRM?m34DZ{eio4Q2%20 z6>;+b9yqac@8v&{_`)ijA4i?}5vKK#R*>+DD||x!Mf`|rckdJAlfzcKgwkSspP_mZ+}HpFbS7c|UTfz2{&=5L z#avv_e1UxW7RNgU^^-5Lg0qs`6V>ft;uYqi7+_XEDSnyYt*t}&OZ-A9a}-)>)EVoTEm zC4r1XOMd@yMTZ3d8ht{A$nky+w-OHnYE5nz`$_1O>FVj!y~|v!e&z@>1m_n31hoEu z&136OmKUFnJne1Xw~vRR!P9uZr2-~=jFHCg#ltY8cx-lg`QG!`rQ|wQ z%vauOCMlUSoxhkRb5c7m_HpZVhz%diUs{|Fs3i6nRy#rfpNIW3JCcFHaXT#LQ7W5L zkBbygk;raF!{754#d~SQj36|(hMahb&ZjnNN<0Q}OxVpCllY?t(#!=t8}ATQ#80F2 z4j19}Ljj}oE^_O_cBcvIfSsvv1EK;nBQ0;;=0`3FgN|DlfEH8>es*-Z^J_e+A$lWgsWNsyhYQL($3gDfdKo%6bj91E}0~< zZjl6ErH?vi!-Fi}fLh7EZhXh9kYTB_*T0b`PQ=2@!Rz&NSOFq?fmuQ{*taN_9-wLV z;FKF8XMIt0g zLI-d5^)uQX65H z%0jhulK$lGhSyh$@HWk_%VX`@wKZQ3c>oSz ztfki^;FodLzy96pD*^zt#WPx;+V99fLb}T^nMsV6h+Tzo+kvU?;j55*vku0q^ir&4 zN8kNqv5$P+OVSLCNf|rdo|-FjD{%8VD#2ip3ajV}xHIR-)cL8rnL(ggNu?)sQF_Y% z()GZzlH4oCp%R1TNUQ6})b*gfgxU*`WnXR{%Iyrjd~y?$euA5Cv6*a>OBkQEcy^TH z*R4@id?ZckUI8Tn)VKRAoNc_dF2~UObJS5kbvPs28nlaFSho$W7>>R8DPNXt$xHM4 z*&RJHrVZEsvU=ft1oIM`)tY4m=zW{IgGCDl^fOi>0%YaNAL%9X`b<|^-1}HIO&s%% zS#5~SfV72Kk1x)pfuWN0gy2Br0ss_zrc12{m-fIEiI_ z(nBxsbw?||#|LzG6?8D_6m2U63_?t~Hrhi41G14q^Yj_%N=C+eFY3os8)72^)@W4) zCZ|N5vC^?bZw0w*VjE*rkTnS%KxgBp1i6c^gOxG|`U$tEV@#4YDbu_?e5~gF*UFsd zqLcvSmvP|M1NFlSQaL@sWL)z2@V!HnWX>spK_o%l>?{j zwZBe$vh=(r?*0BZ_4s6WKs7^NqVCZtnol)s*MUK`OjjgwHEmaB)iTEx&U?->Lcrw| n9dp|VS3oDiTPocb2uV3jbf&)}I1xNM3l9q%C8ea26x@FRzV{sT